aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShai Barack <shayba@google.com>2015-04-06 18:31:40 -0700
committerShai Barack <shayba@google.com>2015-04-06 18:31:40 -0700
commit47a4bc047d6d8f358d33f1fcb2b5c32ce7a844f7 (patch)
tree216e8b2c7fcc693592fd3767ff8f191ccf95798d
parent12366d0e125392b49c742d0c13c321b2202dbdd4 (diff)
downloadleveldb-47a4bc047d6d8f358d33f1fcb2b5c32ce7a844f7.tar.gz
Reorganize external/leveldb
Change-Id: I63075880dc5a62eff5c67c1e7d4f1e0149f6e745
-rw-r--r--Android.mk25
-rw-r--r--db/fault_injection_test.cc542
-rw-r--r--leveldb-1.18/.gitignore (renamed from leveldb-master/.gitignore)0
-rw-r--r--leveldb-1.18/AUTHORS (renamed from AUTHORS)0
-rw-r--r--leveldb-1.18/CONTRIBUTING.md (renamed from CONTRIBUTING.md)0
-rw-r--r--leveldb-1.18/LICENSE (renamed from LICENSE)0
-rw-r--r--leveldb-1.18/Makefile (renamed from Makefile)4
-rw-r--r--leveldb-1.18/NEWS (renamed from NEWS)0
-rw-r--r--leveldb-1.18/README51
-rw-r--r--leveldb-1.18/README.md (renamed from README.md)0
-rw-r--r--leveldb-1.18/TODO (renamed from TODO)0
-rwxr-xr-xleveldb-1.18/build_detect_platform (renamed from build_detect_platform)0
-rw-r--r--leveldb-1.18/db/autocompact_test.cc (renamed from db/autocompact_test.cc)0
-rw-r--r--leveldb-1.18/db/builder.cc (renamed from db/builder.cc)0
-rw-r--r--leveldb-1.18/db/builder.h (renamed from db/builder.h)0
-rw-r--r--leveldb-1.18/db/c.cc (renamed from db/c.cc)0
-rw-r--r--leveldb-1.18/db/c_test.c (renamed from db/c_test.c)0
-rw-r--r--leveldb-1.18/db/corruption_test.cc (renamed from db/corruption_test.cc)0
-rw-r--r--leveldb-1.18/db/db_bench.cc (renamed from db/db_bench.cc)15
-rw-r--r--leveldb-1.18/db/db_impl.cc (renamed from db/db_impl.cc)0
-rw-r--r--leveldb-1.18/db/db_impl.h (renamed from db/db_impl.h)0
-rw-r--r--leveldb-1.18/db/db_iter.cc (renamed from db/db_iter.cc)0
-rw-r--r--leveldb-1.18/db/db_iter.h (renamed from db/db_iter.h)0
-rw-r--r--leveldb-1.18/db/db_test.cc (renamed from db/db_test.cc)0
-rw-r--r--leveldb-1.18/db/dbformat.cc (renamed from db/dbformat.cc)0
-rw-r--r--leveldb-1.18/db/dbformat.h (renamed from db/dbformat.h)0
-rw-r--r--leveldb-1.18/db/dbformat_test.cc (renamed from db/dbformat_test.cc)0
-rw-r--r--leveldb-1.18/db/dumpfile.cc (renamed from db/dumpfile.cc)0
-rw-r--r--leveldb-1.18/db/filename.cc (renamed from db/filename.cc)0
-rw-r--r--leveldb-1.18/db/filename.h (renamed from db/filename.h)0
-rw-r--r--leveldb-1.18/db/filename_test.cc (renamed from db/filename_test.cc)0
-rw-r--r--leveldb-1.18/db/leveldb_main.cc (renamed from db/leveldb_main.cc)0
-rw-r--r--leveldb-1.18/db/log_format.h (renamed from db/log_format.h)0
-rw-r--r--leveldb-1.18/db/log_reader.cc (renamed from db/log_reader.cc)0
-rw-r--r--leveldb-1.18/db/log_reader.h (renamed from db/log_reader.h)0
-rw-r--r--leveldb-1.18/db/log_test.cc (renamed from db/log_test.cc)0
-rw-r--r--leveldb-1.18/db/log_writer.cc (renamed from db/log_writer.cc)0
-rw-r--r--leveldb-1.18/db/log_writer.h (renamed from db/log_writer.h)0
-rw-r--r--leveldb-1.18/db/memtable.cc (renamed from db/memtable.cc)0
-rw-r--r--leveldb-1.18/db/memtable.h (renamed from db/memtable.h)0
-rw-r--r--leveldb-1.18/db/repair.cc (renamed from db/repair.cc)0
-rw-r--r--leveldb-1.18/db/skiplist.h (renamed from db/skiplist.h)8
-rw-r--r--leveldb-1.18/db/skiplist_test.cc (renamed from db/skiplist_test.cc)0
-rw-r--r--leveldb-1.18/db/snapshot.h (renamed from db/snapshot.h)1
-rw-r--r--leveldb-1.18/db/table_cache.cc (renamed from db/table_cache.cc)0
-rw-r--r--leveldb-1.18/db/table_cache.h (renamed from db/table_cache.h)0
-rw-r--r--leveldb-1.18/db/version_edit.cc (renamed from db/version_edit.cc)0
-rw-r--r--leveldb-1.18/db/version_edit.h (renamed from db/version_edit.h)0
-rw-r--r--leveldb-1.18/db/version_edit_test.cc (renamed from db/version_edit_test.cc)0
-rw-r--r--leveldb-1.18/db/version_set.cc (renamed from db/version_set.cc)0
-rw-r--r--leveldb-1.18/db/version_set.h (renamed from db/version_set.h)0
-rw-r--r--leveldb-1.18/db/version_set_test.cc (renamed from db/version_set_test.cc)0
-rw-r--r--leveldb-1.18/db/write_batch.cc (renamed from db/write_batch.cc)0
-rw-r--r--leveldb-1.18/db/write_batch_internal.h (renamed from db/write_batch_internal.h)1
-rw-r--r--leveldb-1.18/db/write_batch_test.cc (renamed from db/write_batch_test.cc)0
-rw-r--r--leveldb-1.18/doc/bench/db_bench_sqlite3.cc (renamed from doc/bench/db_bench_sqlite3.cc)0
-rw-r--r--leveldb-1.18/doc/bench/db_bench_tree_db.cc (renamed from doc/bench/db_bench_tree_db.cc)0
-rw-r--r--leveldb-1.18/doc/benchmark.html (renamed from doc/benchmark.html)0
-rw-r--r--leveldb-1.18/doc/doc.css (renamed from doc/doc.css)0
-rw-r--r--leveldb-1.18/doc/impl.html (renamed from doc/impl.html)0
-rw-r--r--leveldb-1.18/doc/index.html (renamed from doc/index.html)0
-rw-r--r--leveldb-1.18/doc/log_format.txt (renamed from doc/log_format.txt)0
-rw-r--r--leveldb-1.18/doc/table_format.txt (renamed from doc/table_format.txt)0
-rw-r--r--leveldb-1.18/helpers/memenv/memenv.cc (renamed from helpers/memenv/memenv.cc)0
-rw-r--r--leveldb-1.18/helpers/memenv/memenv.h (renamed from helpers/memenv/memenv.h)0
-rw-r--r--leveldb-1.18/helpers/memenv/memenv_test.cc (renamed from helpers/memenv/memenv_test.cc)0
-rw-r--r--leveldb-1.18/include/leveldb/c.h (renamed from include/leveldb/c.h)0
-rw-r--r--leveldb-1.18/include/leveldb/cache.h (renamed from include/leveldb/cache.h)0
-rw-r--r--leveldb-1.18/include/leveldb/comparator.h (renamed from include/leveldb/comparator.h)0
-rw-r--r--leveldb-1.18/include/leveldb/db.h (renamed from include/leveldb/db.h)0
-rw-r--r--leveldb-1.18/include/leveldb/dumpfile.h (renamed from include/leveldb/dumpfile.h)0
-rw-r--r--leveldb-1.18/include/leveldb/env.h (renamed from include/leveldb/env.h)0
-rw-r--r--leveldb-1.18/include/leveldb/filter_policy.h (renamed from include/leveldb/filter_policy.h)0
-rw-r--r--leveldb-1.18/include/leveldb/iterator.h (renamed from include/leveldb/iterator.h)2
-rw-r--r--leveldb-1.18/include/leveldb/options.h (renamed from include/leveldb/options.h)0
-rw-r--r--leveldb-1.18/include/leveldb/slice.h (renamed from include/leveldb/slice.h)0
-rw-r--r--leveldb-1.18/include/leveldb/status.h (renamed from include/leveldb/status.h)0
-rw-r--r--leveldb-1.18/include/leveldb/table.h (renamed from include/leveldb/table.h)0
-rw-r--r--leveldb-1.18/include/leveldb/table_builder.h (renamed from include/leveldb/table_builder.h)0
-rw-r--r--leveldb-1.18/include/leveldb/write_batch.h (renamed from include/leveldb/write_batch.h)0
-rw-r--r--leveldb-1.18/issues/issue178_test.cc (renamed from issues/issue178_test.cc)0
-rw-r--r--leveldb-1.18/issues/issue200_test.cc (renamed from issues/issue200_test.cc)0
-rw-r--r--leveldb-1.18/port/README (renamed from port/README)0
-rw-r--r--leveldb-1.18/port/atomic_pointer.h (renamed from port/atomic_pointer.h)19
-rw-r--r--leveldb-1.18/port/port.h (renamed from port/port.h)0
-rw-r--r--leveldb-1.18/port/port_example.h (renamed from port/port_example.h)0
-rw-r--r--leveldb-1.18/port/port_posix.cc (renamed from port/port_posix.cc)0
-rw-r--r--leveldb-1.18/port/port_posix.h (renamed from port/port_posix.h)0
-rw-r--r--leveldb-1.18/port/thread_annotations.h (renamed from port/thread_annotations.h)0
-rw-r--r--leveldb-1.18/port/win/stdint.h (renamed from port/win/stdint.h)0
-rw-r--r--leveldb-1.18/table/block.cc (renamed from table/block.cc)0
-rw-r--r--leveldb-1.18/table/block.h (renamed from table/block.h)0
-rw-r--r--leveldb-1.18/table/block_builder.cc (renamed from table/block_builder.cc)0
-rw-r--r--leveldb-1.18/table/block_builder.h (renamed from table/block_builder.h)0
-rw-r--r--leveldb-1.18/table/filter_block.cc (renamed from table/filter_block.cc)0
-rw-r--r--leveldb-1.18/table/filter_block.h (renamed from table/filter_block.h)0
-rw-r--r--leveldb-1.18/table/filter_block_test.cc (renamed from table/filter_block_test.cc)0
-rw-r--r--leveldb-1.18/table/format.cc (renamed from table/format.cc)0
-rw-r--r--leveldb-1.18/table/format.h (renamed from table/format.h)0
-rw-r--r--leveldb-1.18/table/iterator.cc (renamed from table/iterator.cc)0
-rw-r--r--leveldb-1.18/table/iterator_wrapper.h (renamed from table/iterator_wrapper.h)3
-rw-r--r--leveldb-1.18/table/merger.cc (renamed from table/merger.cc)0
-rw-r--r--leveldb-1.18/table/merger.h (renamed from table/merger.h)0
-rw-r--r--leveldb-1.18/table/table.cc (renamed from table/table.cc)0
-rw-r--r--leveldb-1.18/table/table_builder.cc (renamed from table/table_builder.cc)0
-rw-r--r--leveldb-1.18/table/table_test.cc (renamed from table/table_test.cc)0
-rw-r--r--leveldb-1.18/table/two_level_iterator.cc (renamed from table/two_level_iterator.cc)0
-rw-r--r--leveldb-1.18/table/two_level_iterator.h (renamed from table/two_level_iterator.h)0
-rw-r--r--leveldb-1.18/util/arena.cc (renamed from util/arena.cc)0
-rw-r--r--leveldb-1.18/util/arena.h (renamed from util/arena.h)0
-rw-r--r--leveldb-1.18/util/arena_test.cc (renamed from util/arena_test.cc)0
-rw-r--r--leveldb-1.18/util/bloom.cc (renamed from util/bloom.cc)0
-rw-r--r--leveldb-1.18/util/bloom_test.cc (renamed from util/bloom_test.cc)0
-rw-r--r--leveldb-1.18/util/cache.cc (renamed from util/cache.cc)0
-rw-r--r--leveldb-1.18/util/cache_test.cc (renamed from util/cache_test.cc)0
-rw-r--r--leveldb-1.18/util/coding.cc (renamed from util/coding.cc)0
-rw-r--r--leveldb-1.18/util/coding.h (renamed from util/coding.h)0
-rw-r--r--leveldb-1.18/util/coding_test.cc (renamed from util/coding_test.cc)0
-rw-r--r--leveldb-1.18/util/comparator.cc (renamed from util/comparator.cc)0
-rw-r--r--leveldb-1.18/util/crc32c.cc (renamed from util/crc32c.cc)0
-rw-r--r--leveldb-1.18/util/crc32c.h (renamed from util/crc32c.h)0
-rw-r--r--leveldb-1.18/util/crc32c_test.cc (renamed from util/crc32c_test.cc)0
-rw-r--r--leveldb-1.18/util/env.cc (renamed from util/env.cc)0
-rw-r--r--leveldb-1.18/util/env_posix.cc (renamed from util/env_posix.cc)0
-rw-r--r--leveldb-1.18/util/env_test.cc (renamed from util/env_test.cc)0
-rw-r--r--leveldb-1.18/util/filter_policy.cc (renamed from util/filter_policy.cc)0
-rw-r--r--leveldb-1.18/util/hash.cc (renamed from util/hash.cc)0
-rw-r--r--leveldb-1.18/util/hash.h (renamed from util/hash.h)0
-rw-r--r--leveldb-1.18/util/hash_test.cc (renamed from util/hash_test.cc)0
-rw-r--r--leveldb-1.18/util/histogram.cc (renamed from util/histogram.cc)0
-rw-r--r--leveldb-1.18/util/histogram.h (renamed from util/histogram.h)0
-rw-r--r--leveldb-1.18/util/logging.cc (renamed from util/logging.cc)0
-rw-r--r--leveldb-1.18/util/logging.h (renamed from util/logging.h)0
-rw-r--r--leveldb-1.18/util/mutexlock.h (renamed from util/mutexlock.h)0
-rw-r--r--leveldb-1.18/util/options.cc (renamed from util/options.cc)0
-rw-r--r--leveldb-1.18/util/posix_logger.h (renamed from util/posix_logger.h)0
-rw-r--r--leveldb-1.18/util/random.h (renamed from util/random.h)0
-rw-r--r--leveldb-1.18/util/status.cc (renamed from util/status.cc)0
-rw-r--r--leveldb-1.18/util/testharness.cc (renamed from util/testharness.cc)0
-rw-r--r--leveldb-1.18/util/testharness.h (renamed from util/testharness.h)0
-rw-r--r--leveldb-1.18/util/testutil.cc (renamed from util/testutil.cc)0
-rw-r--r--leveldb-1.18/util/testutil.h (renamed from util/testutil.h)0
-rw-r--r--snappy-1.1.0/AUTHORS1
-rw-r--r--snappy-1.1.0/COPYING28
-rw-r--r--snappy-1.1.0/ChangeLog1618
-rw-r--r--snappy-1.1.0/INSTALL370
-rw-r--r--snappy-1.1.0/Makefile.am23
-rw-r--r--snappy-1.1.0/Makefile.in956
-rw-r--r--snappy-1.1.0/NEWS104
-rw-r--r--snappy-1.1.0/README135
-rw-r--r--snappy-1.1.0/aclocal.m49738
-rwxr-xr-xsnappy-1.1.0/autogen.sh7
-rwxr-xr-xsnappy-1.1.0/config.guess1530
-rw-r--r--snappy-1.1.0/config.h.in128
-rwxr-xr-xsnappy-1.1.0/config.sub1773
-rwxr-xr-xsnappy-1.1.0/configure18767
-rw-r--r--snappy-1.1.0/configure.ac126
-rwxr-xr-xsnappy-1.1.0/depcomp688
-rw-r--r--snappy-1.1.0/format_description.txt110
-rw-r--r--snappy-1.1.0/framing_format.txt124
-rwxr-xr-xsnappy-1.1.0/install-sh527
-rw-r--r--snappy-1.1.0/ltmain.sh9661
-rw-r--r--snappy-1.1.0/m4/gtest.m474
-rwxr-xr-xsnappy-1.1.0/missing331
-rw-r--r--snappy-1.1.0/snappy-c.cc90
-rw-r--r--snappy-1.1.0/snappy-c.h138
-rw-r--r--snappy-1.1.0/snappy-internal.h150
-rw-r--r--snappy-1.1.0/snappy-sinksource.cc71
-rw-r--r--snappy-1.1.0/snappy-sinksource.h137
-rw-r--r--snappy-1.1.0/snappy-stubs-internal.cc42
-rw-r--r--snappy-1.1.0/snappy-stubs-internal.h491
-rw-r--r--snappy-1.1.0/snappy-stubs-public.h85
-rw-r--r--snappy-1.1.0/snappy-stubs-public.h.in85
-rw-r--r--snappy-1.1.0/snappy-test.cc602
-rw-r--r--snappy-1.1.0/snappy-test.h584
-rw-r--r--snappy-1.1.0/snappy.cc1119
-rw-r--r--snappy-1.1.0/snappy.h163
-rw-r--r--snappy-1.1.0/snappy_unittest.cc1157
-rw-r--r--snappy-1.1.0/testdata/alice29.txt3609
-rw-r--r--snappy-1.1.0/testdata/asyoulik.txt4122
-rw-r--r--snappy-1.1.0/testdata/baddata1.snappybin0 -> 27512 bytes
-rw-r--r--snappy-1.1.0/testdata/baddata2.snappybin0 -> 27483 bytes
-rw-r--r--snappy-1.1.0/testdata/baddata3.snappybin0 -> 28384 bytes
-rw-r--r--snappy-1.1.0/testdata/cp.html645
-rw-r--r--snappy-1.1.0/testdata/fields.c431
-rw-r--r--snappy-1.1.0/testdata/geo.protodatabin0 -> 118588 bytes
-rw-r--r--snappy-1.1.0/testdata/grammar.lsp94
-rw-r--r--snappy-1.1.0/testdata/house.jpgbin0 -> 126958 bytes
-rw-r--r--snappy-1.1.0/testdata/html1
-rw-r--r--snappy-1.1.0/testdata/html_x_41
-rw-r--r--snappy-1.1.0/testdata/kennedy.xlsbin0 -> 1029744 bytes
-rw-r--r--snappy-1.1.0/testdata/kppkn.gtbbin0 -> 184320 bytes
-rw-r--r--snappy-1.1.0/testdata/lcet10.txt7519
-rw-r--r--snappy-1.1.0/testdata/mapreduce-osdi-1.pdfbin0 -> 94330 bytes
-rw-r--r--snappy-1.1.0/testdata/plrabn12.txt10699
-rw-r--r--snappy-1.1.0/testdata/ptt5bin0 -> 513216 bytes
-rw-r--r--snappy-1.1.0/testdata/sumbin0 -> 38240 bytes
-rw-r--r--snappy-1.1.0/testdata/urls.10K10000
-rw-r--r--snappy-1.1.0/testdata/xargs.1112
199 files changed, 89043 insertions, 594 deletions
diff --git a/Android.mk b/Android.mk
index 25fa094..7513cfa 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,23 +1,20 @@
-# Copyright 2013 Google, Inc.
-
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-LOCAL_MODULE := leveldb_static
-LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE := leveldb
+LOCAL_CFLAGS := -D_REENTRANT -DOS_ANDROID -DLEVELDB_PLATFORM_POSIX -DNDEBUG -DSNAPPY
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_C_INCLUDES := $(LOCAL_PATH)/leveldb-1.18 $(LOCAL_PATH)/leveldb-1.18/include $(LOCAL_PATH)/snappy-1.1.0
+LOCAL_SRC_FILES := leveldb-1.18/db/builder.cc leveldb-1.18/db/c.cc leveldb-1.18/db/db_impl.cc leveldb-1.18/db/db_iter.cc leveldb-1.18/db/dbformat.cc leveldb-1.18/db/filename.cc leveldb-1.18/db/log_reader.cc leveldb-1.18/db/log_writer.cc leveldb-1.18/db/memtable.cc leveldb-1.18/db/repair.cc leveldb-1.18/db/table_cache.cc leveldb-1.18/db/version_edit.cc leveldb-1.18/db/version_set.cc leveldb-1.18/db/write_batch.cc leveldb-1.18/table/block.cc leveldb-1.18/table/block_builder.cc leveldb-1.18/table/filter_block.cc leveldb-1.18/table/format.cc leveldb-1.18/table/iterator.cc leveldb-1.18/table/merger.cc leveldb-1.18/table/table.cc leveldb-1.18/table/table_builder.cc leveldb-1.18/table/two_level_iterator.cc leveldb-1.18/util/arena.cc leveldb-1.18/util/bloom.cc leveldb-1.18/util/cache.cc leveldb-1.18/util/coding.cc leveldb-1.18/util/comparator.cc leveldb-1.18/util/crc32c.cc leveldb-1.18/util/env.cc leveldb-1.18/util/env_posix.cc leveldb-1.18/util/filter_policy.cc leveldb-1.18/util/hash.cc leveldb-1.18/util/histogram.cc leveldb-1.18/util/logging.cc leveldb-1.18/util/options.cc leveldb-1.18/util/status.cc leveldb-1.18/port/port_posix.cc
+LOCAL_STATIC_LIBRARIES += snappy
-LOCAL_SDK_VERSION := 9
+include $(BUILD_STATIC_LIBRARY)
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/include
-LOCAL_SRC_FILES := \
- $(call all-c-files-under, db) \
- $(call all-c-files-under, doc) \
- $(call all-c-files-under, helpers) \
- $(call all-c-files-under, issues) \
- $(call all-c-files-under, port) \
- $(call all-c-files-under, table) \
- $(call all-c-files-under, util)
+include $(CLEAR_VARS)
+LOCAL_MODULE := snappy
+LOCAL_CPP_EXTENSION := .cc
+LOCAL_SRC_FILES := snappy-1.1.0/snappy.cc snappy-1.1.0/snappy-sinksource.cc
include $(BUILD_STATIC_LIBRARY)
diff --git a/db/fault_injection_test.cc b/db/fault_injection_test.cc
deleted file mode 100644
index 8e3e603..0000000
--- a/db/fault_injection_test.cc
+++ /dev/null
@@ -1,542 +0,0 @@
-// Copyright 2014 The LevelDB Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file. See the AUTHORS file for names of contributors.
-
-// This test uses a custom Env to keep track of the state of a filesystem as of
-// the last "sync". It then checks for data loss errors by purposely dropping
-// file data (or entire files) not protected by a "sync".
-
-#include "leveldb/db.h"
-
-#include <map>
-#include <set>
-#include "db/db_impl.h"
-#include "db/filename.h"
-#include "db/log_format.h"
-#include "db/version_set.h"
-#include "leveldb/cache.h"
-#include "leveldb/env.h"
-#include "leveldb/table.h"
-#include "leveldb/write_batch.h"
-#include "util/logging.h"
-#include "util/mutexlock.h"
-#include "util/testharness.h"
-#include "util/testutil.h"
-
-namespace leveldb {
-
-static const int kValueSize = 1000;
-static const int kMaxNumValues = 2000;
-static const size_t kNumIterations = 3;
-
-class FaultInjectionTestEnv;
-
-namespace {
-
-// Assume a filename, and not a directory name like "/foo/bar/"
-static std::string GetDirName(const std::string filename) {
- size_t found = filename.find_last_of("/\\");
- if (found == std::string::npos) {
- return "";
- } else {
- return filename.substr(0, found);
- }
-}
-
-Status SyncDir(const std::string& dir) {
- // As this is a test it isn't required to *actually* sync this directory.
- return Status::OK();
-}
-
-// A basic file truncation function suitable for this test.
-Status Truncate(const std::string& filename, uint64_t length) {
- leveldb::Env* env = leveldb::Env::Default();
-
- SequentialFile* orig_file;
- Status s = env->NewSequentialFile(filename, &orig_file);
- if (!s.ok())
- return s;
-
- char* scratch = new char[length];
- leveldb::Slice result;
- s = orig_file->Read(length, &result, scratch);
- delete orig_file;
- if (s.ok()) {
- std::string tmp_name = GetDirName(filename) + "/truncate.tmp";
- WritableFile* tmp_file;
- s = env->NewWritableFile(tmp_name, &tmp_file);
- if (s.ok()) {
- s = tmp_file->Append(result);
- delete tmp_file;
- if (s.ok()) {
- s = env->RenameFile(tmp_name, filename);
- } else {
- env->DeleteFile(tmp_name);
- }
- }
- }
-
- delete[] scratch;
-
- return s;
-}
-
-struct FileState {
- std::string filename_;
- ssize_t pos_;
- ssize_t pos_at_last_sync_;
- ssize_t pos_at_last_flush_;
-
- FileState(const std::string& filename)
- : filename_(filename),
- pos_(-1),
- pos_at_last_sync_(-1),
- pos_at_last_flush_(-1) { }
-
- FileState() : pos_(-1), pos_at_last_sync_(-1), pos_at_last_flush_(-1) {}
-
- bool IsFullySynced() const { return pos_ <= 0 || pos_ == pos_at_last_sync_; }
-
- Status DropUnsyncedData() const;
-};
-
-} // anonymous namespace
-
-// A wrapper around WritableFile which informs another Env whenever this file
-// is written to or sync'ed.
-class TestWritableFile : public WritableFile {
- public:
- TestWritableFile(const std::string& fname,
- WritableFile* f,
- FaultInjectionTestEnv* env);
- virtual ~TestWritableFile();
- virtual Status Append(const Slice& data);
- virtual Status Close();
- virtual Status Flush();
- virtual Status Sync();
-
- private:
- FileState state_;
- WritableFile* target_;
- bool writable_file_opened_;
- FaultInjectionTestEnv* env_;
-
- Status SyncParent();
-};
-
-class FaultInjectionTestEnv : public EnvWrapper {
- public:
- FaultInjectionTestEnv() : EnvWrapper(Env::Default()), filesystem_active_(true) {}
- virtual ~FaultInjectionTestEnv() { }
- virtual Status NewWritableFile(const std::string& fname,
- WritableFile** result);
- virtual Status DeleteFile(const std::string& f);
- virtual Status RenameFile(const std::string& s, const std::string& t);
-
- void WritableFileClosed(const FileState& state);
- Status DropUnsyncedFileData();
- Status DeleteFilesCreatedAfterLastDirSync();
- void DirWasSynced();
- bool IsFileCreatedSinceLastDirSync(const std::string& filename);
- void ResetState();
- void UntrackFile(const std::string& f);
- // Setting the filesystem to inactive is the test equivalent to simulating a
- // system reset. Setting to inactive will freeze our saved filesystem state so
- // that it will stop being recorded. It can then be reset back to the state at
- // the time of the reset.
- bool IsFilesystemActive() const { return filesystem_active_; }
- void SetFilesystemActive(bool active) { filesystem_active_ = active; }
-
- private:
- port::Mutex mutex_;
- std::map<std::string, FileState> db_file_state_;
- std::set<std::string> new_files_since_last_dir_sync_;
- bool filesystem_active_; // Record flushes, syncs, writes
-};
-
-TestWritableFile::TestWritableFile(const std::string& fname,
- WritableFile* f,
- FaultInjectionTestEnv* env)
- : state_(fname),
- target_(f),
- writable_file_opened_(true),
- env_(env) {
- assert(f != NULL);
- state_.pos_ = 0;
-}
-
-TestWritableFile::~TestWritableFile() {
- if (writable_file_opened_) {
- Close();
- }
- delete target_;
-}
-
-Status TestWritableFile::Append(const Slice& data) {
- Status s = target_->Append(data);
- if (s.ok() && env_->IsFilesystemActive()) {
- state_.pos_ += data.size();
- }
- return s;
-}
-
-Status TestWritableFile::Close() {
- writable_file_opened_ = false;
- Status s = target_->Close();
- if (s.ok()) {
- env_->WritableFileClosed(state_);
- }
- return s;
-}
-
-Status TestWritableFile::Flush() {
- Status s = target_->Flush();
- if (s.ok() && env_->IsFilesystemActive()) {
- state_.pos_at_last_flush_ = state_.pos_;
- }
- return s;
-}
-
-Status TestWritableFile::SyncParent() {
- Status s = SyncDir(GetDirName(state_.filename_));
- if (s.ok()) {
- env_->DirWasSynced();
- }
- return s;
-}
-
-Status TestWritableFile::Sync() {
- if (!env_->IsFilesystemActive()) {
- return Status::OK();
- }
- // Ensure new files referred to by the manifest are in the filesystem.
- Status s = target_->Sync();
- if (s.ok()) {
- state_.pos_at_last_sync_ = state_.pos_;
- }
- if (env_->IsFileCreatedSinceLastDirSync(state_.filename_)) {
- Status ps = SyncParent();
- if (s.ok() && !ps.ok()) {
- s = ps;
- }
- }
- return s;
-}
-
-Status FaultInjectionTestEnv::NewWritableFile(const std::string& fname,
- WritableFile** result) {
- WritableFile* actual_writable_file;
- Status s = target()->NewWritableFile(fname, &actual_writable_file);
- if (s.ok()) {
- *result = new TestWritableFile(fname, actual_writable_file, this);
- // WritableFile doesn't append to files, so if the same file is opened again
- // then it will be truncated - so forget our saved state.
- UntrackFile(fname);
- MutexLock l(&mutex_);
- new_files_since_last_dir_sync_.insert(fname);
- }
- return s;
-}
-
-Status FaultInjectionTestEnv::DropUnsyncedFileData() {
- Status s;
- MutexLock l(&mutex_);
- for (std::map<std::string, FileState>::const_iterator it =
- db_file_state_.begin();
- s.ok() && it != db_file_state_.end(); ++it) {
- const FileState& state = it->second;
- if (!state.IsFullySynced()) {
- s = state.DropUnsyncedData();
- }
- }
- return s;
-}
-
-void FaultInjectionTestEnv::DirWasSynced() {
- MutexLock l(&mutex_);
- new_files_since_last_dir_sync_.clear();
-}
-
-bool FaultInjectionTestEnv::IsFileCreatedSinceLastDirSync(
- const std::string& filename) {
- MutexLock l(&mutex_);
- return new_files_since_last_dir_sync_.find(filename) !=
- new_files_since_last_dir_sync_.end();
-}
-
-void FaultInjectionTestEnv::UntrackFile(const std::string& f) {
- MutexLock l(&mutex_);
- db_file_state_.erase(f);
- new_files_since_last_dir_sync_.erase(f);
-}
-
-Status FaultInjectionTestEnv::DeleteFile(const std::string& f) {
- Status s = EnvWrapper::DeleteFile(f);
- ASSERT_OK(s);
- if (s.ok()) {
- UntrackFile(f);
- }
- return s;
-}
-
-Status FaultInjectionTestEnv::RenameFile(const std::string& s,
- const std::string& t) {
- Status ret = EnvWrapper::RenameFile(s, t);
-
- if (ret.ok()) {
- MutexLock l(&mutex_);
- if (db_file_state_.find(s) != db_file_state_.end()) {
- db_file_state_[t] = db_file_state_[s];
- db_file_state_.erase(s);
- }
-
- if (new_files_since_last_dir_sync_.erase(s) != 0) {
- assert(new_files_since_last_dir_sync_.find(t) ==
- new_files_since_last_dir_sync_.end());
- new_files_since_last_dir_sync_.insert(t);
- }
- }
-
- return ret;
-}
-
-void FaultInjectionTestEnv::ResetState() {
- MutexLock l(&mutex_);
- db_file_state_.clear();
- new_files_since_last_dir_sync_.clear();
- SetFilesystemActive(true);
-}
-
-Status FaultInjectionTestEnv::DeleteFilesCreatedAfterLastDirSync() {
- // Because DeleteFile access this container make a copy to avoid deadlock
- mutex_.Lock();
- std::set<std::string> new_files(new_files_since_last_dir_sync_.begin(),
- new_files_since_last_dir_sync_.end());
- mutex_.Unlock();
- Status s;
- std::set<std::string>::const_iterator it;
- for (it = new_files.begin(); s.ok() && it != new_files.end(); ++it) {
- s = DeleteFile(*it);
- }
- return s;
-}
-
-void FaultInjectionTestEnv::WritableFileClosed(const FileState& state) {
- MutexLock l(&mutex_);
- db_file_state_[state.filename_] = state;
-}
-
-Status FileState::DropUnsyncedData() const {
- ssize_t sync_pos = pos_at_last_sync_ == -1 ? 0 : pos_at_last_sync_;
- return Truncate(filename_, sync_pos);
-}
-
-class FaultInjectionTest {
- public:
- enum ExpectedVerifResult { VAL_EXPECT_NO_ERROR, VAL_EXPECT_ERROR };
- enum ResetMethod { RESET_DROP_UNSYNCED_DATA, RESET_DELETE_UNSYNCED_FILES };
-
- FaultInjectionTestEnv* env_;
- std::string dbname_;
- Cache* tiny_cache_;
- Options options_;
- DB* db_;
-
- FaultInjectionTest() : env_(NULL), tiny_cache_(NULL), db_(NULL) { NewDB(); }
-
- ~FaultInjectionTest() { ASSERT_OK(TearDown()); }
-
- Status NewDB() {
- assert(db_ == NULL);
- assert(tiny_cache_ == NULL);
- assert(env_ == NULL);
-
- env_ = new FaultInjectionTestEnv();
-
- options_ = Options();
- options_.env = env_;
- options_.paranoid_checks = true;
-
- tiny_cache_ = NewLRUCache(100);
- options_.block_cache = tiny_cache_;
- dbname_ = test::TmpDir() + "/fault_test";
-
- options_.create_if_missing = true;
- Status s = OpenDB();
- options_.create_if_missing = false;
- return s;
- }
-
- Status SetUp() {
- Status s = TearDown();
- if (s.ok()) {
- s = NewDB();
- }
- return s;
- }
-
- Status TearDown() {
- CloseDB();
-
- Status s = DestroyDB(dbname_, Options());
-
- delete tiny_cache_;
- tiny_cache_ = NULL;
-
- delete env_;
- env_ = NULL;
-
- return s;
- }
-
- void Build(int start_idx, int num_vals) {
- std::string key_space, value_space;
- WriteBatch batch;
- for (int i = start_idx; i < start_idx + num_vals; i++) {
- Slice key = Key(i, &key_space);
- batch.Clear();
- batch.Put(key, Value(i, &value_space));
- WriteOptions options;
- ASSERT_OK(db_->Write(options, &batch));
- }
- }
-
- Status ReadValue(int i, std::string* val) const {
- std::string key_space, value_space;
- Slice key = Key(i, &key_space);
- Value(i, &value_space);
- ReadOptions options;
- return db_->Get(options, key, val);
- }
-
- Status Verify(int start_idx, int num_vals,
- ExpectedVerifResult expected) const {
- std::string val;
- std::string value_space;
- Status s;
- for (int i = start_idx; i < start_idx + num_vals && s.ok(); i++) {
- Value(i, &value_space);
- s = ReadValue(i, &val);
- if (expected == VAL_EXPECT_NO_ERROR) {
- if (s.ok()) {
- ASSERT_EQ(value_space, val);
- }
- } else if (s.ok()) {
- fprintf(stderr, "Expected an error at %d, but was OK\n", i);
- s = Status::IOError(dbname_, "Expected value error:");
- } else {
- s = Status::OK(); // An expected error
- }
- }
- return s;
- }
-
- // Return the ith key
- Slice Key(int i, std::string* storage) const {
- char buf[100];
- snprintf(buf, sizeof(buf), "%016d", i);
- storage->assign(buf, strlen(buf));
- return Slice(*storage);
- }
-
- // Return the value to associate with the specified key
- Slice Value(int k, std::string* storage) const {
- Random r(k);
- return test::RandomString(&r, kValueSize, storage);
- }
-
- Status OpenDB() {
- delete db_;
- db_ = NULL;
- env_->ResetState();
- return DB::Open(options_, dbname_, &db_);
- }
-
- void CloseDB() {
- delete db_;
- db_ = NULL;
- }
-
- void DeleteAllData() {
- Iterator* iter = db_->NewIterator(ReadOptions());
- WriteOptions options;
- for (iter->SeekToFirst(); iter->Valid(); iter->Next()) {
- ASSERT_OK(db_->Delete(WriteOptions(), iter->key()));
- }
-
- delete iter;
- }
-
- void ResetDBState(ResetMethod reset_method) {
- switch (reset_method) {
- case RESET_DROP_UNSYNCED_DATA:
- ASSERT_OK(env_->DropUnsyncedFileData());
- break;
- case RESET_DELETE_UNSYNCED_FILES:
- ASSERT_OK(env_->DeleteFilesCreatedAfterLastDirSync());
- break;
- default:
- assert(false);
- }
- }
-
- void PartialCompactTestPreFault(int num_pre_sync, int num_post_sync) {
- DeleteAllData();
- Build(0, num_pre_sync);
- db_->CompactRange(NULL, NULL);
- Build(num_pre_sync, num_post_sync);
- }
-
- void PartialCompactTestReopenWithFault(ResetMethod reset_method,
- int num_pre_sync,
- int num_post_sync) {
- env_->SetFilesystemActive(false);
- CloseDB();
- ResetDBState(reset_method);
- ASSERT_OK(OpenDB());
- ASSERT_OK(Verify(0, num_pre_sync, FaultInjectionTest::VAL_EXPECT_NO_ERROR));
- ASSERT_OK(Verify(num_pre_sync, num_post_sync, FaultInjectionTest::VAL_EXPECT_ERROR));
- }
-
- void NoWriteTestPreFault() {
- }
-
- void NoWriteTestReopenWithFault(ResetMethod reset_method) {
- CloseDB();
- ResetDBState(reset_method);
- ASSERT_OK(OpenDB());
- }
-};
-
-TEST(FaultInjectionTest, FaultTest) {
- Random rnd(0);
- ASSERT_OK(SetUp());
- for (size_t idx = 0; idx < kNumIterations; idx++) {
- int num_pre_sync = rnd.Uniform(kMaxNumValues);
- int num_post_sync = rnd.Uniform(kMaxNumValues);
-
- PartialCompactTestPreFault(num_pre_sync, num_post_sync);
- PartialCompactTestReopenWithFault(RESET_DROP_UNSYNCED_DATA,
- num_pre_sync,
- num_post_sync);
-
- NoWriteTestPreFault();
- NoWriteTestReopenWithFault(RESET_DROP_UNSYNCED_DATA);
-
- PartialCompactTestPreFault(num_pre_sync, num_post_sync);
- // No new files created so we expect all values since no files will be
- // dropped.
- PartialCompactTestReopenWithFault(RESET_DELETE_UNSYNCED_FILES,
- num_pre_sync + num_post_sync,
- 0);
-
- NoWriteTestPreFault();
- NoWriteTestReopenWithFault(RESET_DELETE_UNSYNCED_FILES);
- }
-}
-
-} // namespace leveldb
-
-int main(int argc, char** argv) {
- return leveldb::test::RunAllTests();
-}
diff --git a/leveldb-master/.gitignore b/leveldb-1.18/.gitignore
index 0630251..0630251 100644
--- a/leveldb-master/.gitignore
+++ b/leveldb-1.18/.gitignore
diff --git a/AUTHORS b/leveldb-1.18/AUTHORS
index 2439d7a..2439d7a 100644
--- a/AUTHORS
+++ b/leveldb-1.18/AUTHORS
diff --git a/CONTRIBUTING.md b/leveldb-1.18/CONTRIBUTING.md
index cd600ff..cd600ff 100644
--- a/CONTRIBUTING.md
+++ b/leveldb-1.18/CONTRIBUTING.md
diff --git a/LICENSE b/leveldb-1.18/LICENSE
index 8e80208..8e80208 100644
--- a/LICENSE
+++ b/leveldb-1.18/LICENSE
diff --git a/Makefile b/leveldb-1.18/Makefile
index 24f214a..2bd2cad 100644
--- a/Makefile
+++ b/leveldb-1.18/Makefile
@@ -49,7 +49,6 @@ TESTS = \
db_test \
dbformat_test \
env_test \
- fault_injection_test \
filename_test \
filter_block_test \
hash_test \
@@ -156,9 +155,6 @@ dbformat_test: db/dbformat_test.o $(LIBOBJECTS) $(TESTHARNESS)
env_test: util/env_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) util/env_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
-fault_injection_test: db/fault_injection_test.o $(LIBOBJECTS) $(TESTHARNESS)
- $(CXX) $(LDFLAGS) db/fault_injection_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
-
filename_test: db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS)
$(CXX) $(LDFLAGS) db/filename_test.o $(LIBOBJECTS) $(TESTHARNESS) -o $@ $(LIBS)
diff --git a/NEWS b/leveldb-1.18/NEWS
index 3fd9924..3fd9924 100644
--- a/NEWS
+++ b/leveldb-1.18/NEWS
diff --git a/leveldb-1.18/README b/leveldb-1.18/README
new file mode 100644
index 0000000..3618ade
--- /dev/null
+++ b/leveldb-1.18/README
@@ -0,0 +1,51 @@
+leveldb: A key-value store
+Authors: Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)
+
+The code under this directory implements a system for maintaining a
+persistent key/value store.
+
+See doc/index.html for more explanation.
+See doc/impl.html for a brief overview of the implementation.
+
+The public interface is in include/*.h. Callers should not include or
+rely on the details of any other header files in this package. Those
+internal APIs may be changed without warning.
+
+Guide to header files:
+
+include/db.h
+ Main interface to the DB: Start here
+
+include/options.h
+ Control over the behavior of an entire database, and also
+ control over the behavior of individual reads and writes.
+
+include/comparator.h
+ Abstraction for user-specified comparison function. If you want
+ just bytewise comparison of keys, you can use the default comparator,
+ but clients can write their own comparator implementations if they
+ want custom ordering (e.g. to handle different character
+ encodings, etc.)
+
+include/iterator.h
+ Interface for iterating over data. You can get an iterator
+ from a DB object.
+
+include/write_batch.h
+ Interface for atomically applying multiple updates to a database.
+
+include/slice.h
+ A simple module for maintaining a pointer and a length into some
+ other byte array.
+
+include/status.h
+ Status is returned from many of the public interfaces and is used
+ to report success and various kinds of errors.
+
+include/env.h
+ Abstraction of the OS environment. A posix implementation of
+ this interface is in util/env_posix.cc
+
+include/table.h
+include/table_builder.h
+ Lower-level modules that most clients probably won't use directly
diff --git a/README.md b/leveldb-1.18/README.md
index 480affb..480affb 100644
--- a/README.md
+++ b/leveldb-1.18/README.md
diff --git a/TODO b/leveldb-1.18/TODO
index e603c07..e603c07 100644
--- a/TODO
+++ b/leveldb-1.18/TODO
diff --git a/build_detect_platform b/leveldb-1.18/build_detect_platform
index bb76c4f..bb76c4f 100755
--- a/build_detect_platform
+++ b/leveldb-1.18/build_detect_platform
diff --git a/db/autocompact_test.cc b/leveldb-1.18/db/autocompact_test.cc
index d20a236..d20a236 100644
--- a/db/autocompact_test.cc
+++ b/leveldb-1.18/db/autocompact_test.cc
diff --git a/db/builder.cc b/leveldb-1.18/db/builder.cc
index f419882..f419882 100644
--- a/db/builder.cc
+++ b/leveldb-1.18/db/builder.cc
diff --git a/db/builder.h b/leveldb-1.18/db/builder.h
index 62431fc..62431fc 100644
--- a/db/builder.h
+++ b/leveldb-1.18/db/builder.h
diff --git a/db/c.cc b/leveldb-1.18/db/c.cc
index 08ff0ad..08ff0ad 100644
--- a/db/c.cc
+++ b/leveldb-1.18/db/c.cc
diff --git a/db/c_test.c b/leveldb-1.18/db/c_test.c
index 7cd5ee0..7cd5ee0 100644
--- a/db/c_test.c
+++ b/leveldb-1.18/db/c_test.c
diff --git a/db/corruption_test.cc b/leveldb-1.18/db/corruption_test.cc
index 96afc68..96afc68 100644
--- a/db/corruption_test.cc
+++ b/leveldb-1.18/db/corruption_test.cc
diff --git a/db/db_bench.cc b/leveldb-1.18/db/db_bench.cc
index e5975bd..705a170 100644
--- a/db/db_bench.cc
+++ b/leveldb-1.18/db/db_bench.cc
@@ -33,7 +33,6 @@
// readmissing -- read N missing keys in random order
// readhot -- read N times in random order from 1% section of DB
// seekrandom -- N random seeks
-// open -- cost of opening a DB
// crc32c -- repeated crc32c of 4K of data
// acquireload -- load N*1000 times
// Meta operations:
@@ -443,11 +442,7 @@ class Benchmark {
bool fresh_db = false;
int num_threads = FLAGS_threads;
- if (name == Slice("open")) {
- method = &Benchmark::OpenBench;
- num_ /= 10000;
- if (num_ < 1) num_ = 1;
- } else if (name == Slice("fillseq")) {
+ if (name == Slice("fillseq")) {
fresh_db = true;
method = &Benchmark::WriteSeq;
} else if (name == Slice("fillbatch")) {
@@ -707,14 +702,6 @@ class Benchmark {
}
}
- void OpenBench(ThreadState* thread) {
- for (int i = 0; i < num_; i++) {
- delete db_;
- Open();
- thread->stats.FinishedSingleOp();
- }
- }
-
void WriteSeq(ThreadState* thread) {
DoWrite(thread, true);
}
diff --git a/db/db_impl.cc b/leveldb-1.18/db/db_impl.cc
index 49b9595..49b9595 100644
--- a/db/db_impl.cc
+++ b/leveldb-1.18/db/db_impl.cc
diff --git a/db/db_impl.h b/leveldb-1.18/db/db_impl.h
index cfc9981..cfc9981 100644
--- a/db/db_impl.h
+++ b/leveldb-1.18/db/db_impl.h
diff --git a/db/db_iter.cc b/leveldb-1.18/db/db_iter.cc
index 3b2035e..3b2035e 100644
--- a/db/db_iter.cc
+++ b/leveldb-1.18/db/db_iter.cc
diff --git a/db/db_iter.h b/leveldb-1.18/db/db_iter.h
index 04927e9..04927e9 100644
--- a/db/db_iter.h
+++ b/leveldb-1.18/db/db_iter.h
diff --git a/db/db_test.cc b/leveldb-1.18/db/db_test.cc
index 0fed913..0fed913 100644
--- a/db/db_test.cc
+++ b/leveldb-1.18/db/db_test.cc
diff --git a/db/dbformat.cc b/leveldb-1.18/db/dbformat.cc
index 20a7ca4..20a7ca4 100644
--- a/db/dbformat.cc
+++ b/leveldb-1.18/db/dbformat.cc
diff --git a/db/dbformat.h b/leveldb-1.18/db/dbformat.h
index ea897b1..ea897b1 100644
--- a/db/dbformat.h
+++ b/leveldb-1.18/db/dbformat.h
diff --git a/db/dbformat_test.cc b/leveldb-1.18/db/dbformat_test.cc
index 5d82f5d..5d82f5d 100644
--- a/db/dbformat_test.cc
+++ b/leveldb-1.18/db/dbformat_test.cc
diff --git a/db/dumpfile.cc b/leveldb-1.18/db/dumpfile.cc
index 61c47c2..61c47c2 100644
--- a/db/dumpfile.cc
+++ b/leveldb-1.18/db/dumpfile.cc
diff --git a/db/filename.cc b/leveldb-1.18/db/filename.cc
index da32946..da32946 100644
--- a/db/filename.cc
+++ b/leveldb-1.18/db/filename.cc
diff --git a/db/filename.h b/leveldb-1.18/db/filename.h
index 87a7526..87a7526 100644
--- a/db/filename.h
+++ b/leveldb-1.18/db/filename.h
diff --git a/db/filename_test.cc b/leveldb-1.18/db/filename_test.cc
index a32556d..a32556d 100644
--- a/db/filename_test.cc
+++ b/leveldb-1.18/db/filename_test.cc
diff --git a/db/leveldb_main.cc b/leveldb-1.18/db/leveldb_main.cc
index 9f4b7dd..9f4b7dd 100644
--- a/db/leveldb_main.cc
+++ b/leveldb-1.18/db/leveldb_main.cc
diff --git a/db/log_format.h b/leveldb-1.18/db/log_format.h
index a8c06ef..a8c06ef 100644
--- a/db/log_format.h
+++ b/leveldb-1.18/db/log_format.h
diff --git a/db/log_reader.cc b/leveldb-1.18/db/log_reader.cc
index e44b66c..e44b66c 100644
--- a/db/log_reader.cc
+++ b/leveldb-1.18/db/log_reader.cc
diff --git a/db/log_reader.h b/leveldb-1.18/db/log_reader.h
index 6aff791..6aff791 100644
--- a/db/log_reader.h
+++ b/leveldb-1.18/db/log_reader.h
diff --git a/db/log_test.cc b/leveldb-1.18/db/log_test.cc
index dcf0562..dcf0562 100644
--- a/db/log_test.cc
+++ b/leveldb-1.18/db/log_test.cc
diff --git a/db/log_writer.cc b/leveldb-1.18/db/log_writer.cc
index 2da99ac..2da99ac 100644
--- a/db/log_writer.cc
+++ b/leveldb-1.18/db/log_writer.cc
diff --git a/db/log_writer.h b/leveldb-1.18/db/log_writer.h
index a3a954d..a3a954d 100644
--- a/db/log_writer.h
+++ b/leveldb-1.18/db/log_writer.h
diff --git a/db/memtable.cc b/leveldb-1.18/db/memtable.cc
index bfec0a7..bfec0a7 100644
--- a/db/memtable.cc
+++ b/leveldb-1.18/db/memtable.cc
diff --git a/db/memtable.h b/leveldb-1.18/db/memtable.h
index 92e90bb..92e90bb 100644
--- a/db/memtable.h
+++ b/leveldb-1.18/db/memtable.h
diff --git a/db/repair.cc b/leveldb-1.18/db/repair.cc
index 4cd4bb0..4cd4bb0 100644
--- a/db/repair.cc
+++ b/leveldb-1.18/db/repair.cc
diff --git a/db/skiplist.h b/leveldb-1.18/db/skiplist.h
index 8bd7776..ed8b092 100644
--- a/db/skiplist.h
+++ b/leveldb-1.18/db/skiplist.h
@@ -1,10 +1,10 @@
-// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file. See the AUTHORS file for names of contributors.
-
#ifndef STORAGE_LEVELDB_DB_SKIPLIST_H_
#define STORAGE_LEVELDB_DB_SKIPLIST_H_
+// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file. See the AUTHORS file for names of contributors.
+//
// Thread safety
// -------------
//
diff --git a/db/skiplist_test.cc b/leveldb-1.18/db/skiplist_test.cc
index c78f4b4..c78f4b4 100644
--- a/db/skiplist_test.cc
+++ b/leveldb-1.18/db/skiplist_test.cc
diff --git a/db/snapshot.h b/leveldb-1.18/db/snapshot.h
index 6ed413c..e7f8fd2 100644
--- a/db/snapshot.h
+++ b/leveldb-1.18/db/snapshot.h
@@ -5,7 +5,6 @@
#ifndef STORAGE_LEVELDB_DB_SNAPSHOT_H_
#define STORAGE_LEVELDB_DB_SNAPSHOT_H_
-#include "db/dbformat.h"
#include "leveldb/db.h"
namespace leveldb {
diff --git a/db/table_cache.cc b/leveldb-1.18/db/table_cache.cc
index e3d82cd..e3d82cd 100644
--- a/db/table_cache.cc
+++ b/leveldb-1.18/db/table_cache.cc
diff --git a/db/table_cache.h b/leveldb-1.18/db/table_cache.h
index 8cf4aaf..8cf4aaf 100644
--- a/db/table_cache.h
+++ b/leveldb-1.18/db/table_cache.h
diff --git a/db/version_edit.cc b/leveldb-1.18/db/version_edit.cc
index f10a2d5..f10a2d5 100644
--- a/db/version_edit.cc
+++ b/leveldb-1.18/db/version_edit.cc
diff --git a/db/version_edit.h b/leveldb-1.18/db/version_edit.h
index eaef77b..eaef77b 100644
--- a/db/version_edit.h
+++ b/leveldb-1.18/db/version_edit.h
diff --git a/db/version_edit_test.cc b/leveldb-1.18/db/version_edit_test.cc
index 280310b..280310b 100644
--- a/db/version_edit_test.cc
+++ b/leveldb-1.18/db/version_edit_test.cc
diff --git a/db/version_set.cc b/leveldb-1.18/db/version_set.cc
index aa83df5..aa83df5 100644
--- a/db/version_set.cc
+++ b/leveldb-1.18/db/version_set.cc
diff --git a/db/version_set.h b/leveldb-1.18/db/version_set.h
index 8dc14b8..8dc14b8 100644
--- a/db/version_set.h
+++ b/leveldb-1.18/db/version_set.h
diff --git a/db/version_set_test.cc b/leveldb-1.18/db/version_set_test.cc
index 501e34d..501e34d 100644
--- a/db/version_set_test.cc
+++ b/leveldb-1.18/db/version_set_test.cc
diff --git a/db/write_batch.cc b/leveldb-1.18/db/write_batch.cc
index 33f4a42..33f4a42 100644
--- a/db/write_batch.cc
+++ b/leveldb-1.18/db/write_batch.cc
diff --git a/db/write_batch_internal.h b/leveldb-1.18/db/write_batch_internal.h
index 9448ef7..310a3c8 100644
--- a/db/write_batch_internal.h
+++ b/leveldb-1.18/db/write_batch_internal.h
@@ -5,7 +5,6 @@
#ifndef STORAGE_LEVELDB_DB_WRITE_BATCH_INTERNAL_H_
#define STORAGE_LEVELDB_DB_WRITE_BATCH_INTERNAL_H_
-#include "db/dbformat.h"
#include "leveldb/write_batch.h"
namespace leveldb {
diff --git a/db/write_batch_test.cc b/leveldb-1.18/db/write_batch_test.cc
index 9064e3d..9064e3d 100644
--- a/db/write_batch_test.cc
+++ b/leveldb-1.18/db/write_batch_test.cc
diff --git a/doc/bench/db_bench_sqlite3.cc b/leveldb-1.18/doc/bench/db_bench_sqlite3.cc
index e63aaa8..e63aaa8 100644
--- a/doc/bench/db_bench_sqlite3.cc
+++ b/leveldb-1.18/doc/bench/db_bench_sqlite3.cc
diff --git a/doc/bench/db_bench_tree_db.cc b/leveldb-1.18/doc/bench/db_bench_tree_db.cc
index 4ca381f..4ca381f 100644
--- a/doc/bench/db_bench_tree_db.cc
+++ b/leveldb-1.18/doc/bench/db_bench_tree_db.cc
diff --git a/doc/benchmark.html b/leveldb-1.18/doc/benchmark.html
index c463977..c463977 100644
--- a/doc/benchmark.html
+++ b/leveldb-1.18/doc/benchmark.html
diff --git a/doc/doc.css b/leveldb-1.18/doc/doc.css
index 700c564..700c564 100644
--- a/doc/doc.css
+++ b/leveldb-1.18/doc/doc.css
diff --git a/doc/impl.html b/leveldb-1.18/doc/impl.html
index 6a468be..6a468be 100644
--- a/doc/impl.html
+++ b/leveldb-1.18/doc/impl.html
diff --git a/doc/index.html b/leveldb-1.18/doc/index.html
index 3ed0ed9..3ed0ed9 100644
--- a/doc/index.html
+++ b/leveldb-1.18/doc/index.html
diff --git a/doc/log_format.txt b/leveldb-1.18/doc/log_format.txt
index 4cca5ef..4cca5ef 100644
--- a/doc/log_format.txt
+++ b/leveldb-1.18/doc/log_format.txt
diff --git a/doc/table_format.txt b/leveldb-1.18/doc/table_format.txt
index ca8f9b4..ca8f9b4 100644
--- a/doc/table_format.txt
+++ b/leveldb-1.18/doc/table_format.txt
diff --git a/helpers/memenv/memenv.cc b/leveldb-1.18/helpers/memenv/memenv.cc
index 43ef2e0..43ef2e0 100644
--- a/helpers/memenv/memenv.cc
+++ b/leveldb-1.18/helpers/memenv/memenv.cc
diff --git a/helpers/memenv/memenv.h b/leveldb-1.18/helpers/memenv/memenv.h
index 03b88de..03b88de 100644
--- a/helpers/memenv/memenv.h
+++ b/leveldb-1.18/helpers/memenv/memenv.h
diff --git a/helpers/memenv/memenv_test.cc b/leveldb-1.18/helpers/memenv/memenv_test.cc
index a44310f..a44310f 100644
--- a/helpers/memenv/memenv_test.cc
+++ b/leveldb-1.18/helpers/memenv/memenv_test.cc
diff --git a/include/leveldb/c.h b/leveldb-1.18/include/leveldb/c.h
index 1048fe3..1048fe3 100644
--- a/include/leveldb/c.h
+++ b/leveldb-1.18/include/leveldb/c.h
diff --git a/include/leveldb/cache.h b/leveldb-1.18/include/leveldb/cache.h
index 1a201e5..1a201e5 100644
--- a/include/leveldb/cache.h
+++ b/leveldb-1.18/include/leveldb/cache.h
diff --git a/include/leveldb/comparator.h b/leveldb-1.18/include/leveldb/comparator.h
index 556b984..556b984 100644
--- a/include/leveldb/comparator.h
+++ b/leveldb-1.18/include/leveldb/comparator.h
diff --git a/include/leveldb/db.h b/leveldb-1.18/include/leveldb/db.h
index 4c169bf..4c169bf 100644
--- a/include/leveldb/db.h
+++ b/leveldb-1.18/include/leveldb/db.h
diff --git a/include/leveldb/dumpfile.h b/leveldb-1.18/include/leveldb/dumpfile.h
index 3f97fda..3f97fda 100644
--- a/include/leveldb/dumpfile.h
+++ b/leveldb-1.18/include/leveldb/dumpfile.h
diff --git a/include/leveldb/env.h b/leveldb-1.18/include/leveldb/env.h
index f709514..f709514 100644
--- a/include/leveldb/env.h
+++ b/leveldb-1.18/include/leveldb/env.h
diff --git a/include/leveldb/filter_policy.h b/leveldb-1.18/include/leveldb/filter_policy.h
index 1fba080..1fba080 100644
--- a/include/leveldb/filter_policy.h
+++ b/leveldb-1.18/include/leveldb/filter_policy.h
diff --git a/include/leveldb/iterator.h b/leveldb-1.18/include/leveldb/iterator.h
index da631ed..76aced0 100644
--- a/include/leveldb/iterator.h
+++ b/leveldb-1.18/include/leveldb/iterator.h
@@ -37,7 +37,7 @@ class Iterator {
// Valid() after this call iff the source is not empty.
virtual void SeekToLast() = 0;
- // Position at the first key in the source that is at or past target.
+ // Position at the first key in the source that at or past target
// The iterator is Valid() after this call iff the source contains
// an entry that comes at or past target.
virtual void Seek(const Slice& target) = 0;
diff --git a/include/leveldb/options.h b/leveldb-1.18/include/leveldb/options.h
index 7c9b973..7c9b973 100644
--- a/include/leveldb/options.h
+++ b/leveldb-1.18/include/leveldb/options.h
diff --git a/include/leveldb/slice.h b/leveldb-1.18/include/leveldb/slice.h
index bc36798..bc36798 100644
--- a/include/leveldb/slice.h
+++ b/leveldb-1.18/include/leveldb/slice.h
diff --git a/include/leveldb/status.h b/leveldb-1.18/include/leveldb/status.h
index 11dbd4b..11dbd4b 100644
--- a/include/leveldb/status.h
+++ b/leveldb-1.18/include/leveldb/status.h
diff --git a/include/leveldb/table.h b/leveldb-1.18/include/leveldb/table.h
index a9746c3..a9746c3 100644
--- a/include/leveldb/table.h
+++ b/leveldb-1.18/include/leveldb/table.h
diff --git a/include/leveldb/table_builder.h b/leveldb-1.18/include/leveldb/table_builder.h
index 5fd1dc7..5fd1dc7 100644
--- a/include/leveldb/table_builder.h
+++ b/leveldb-1.18/include/leveldb/table_builder.h
diff --git a/include/leveldb/write_batch.h b/leveldb-1.18/include/leveldb/write_batch.h
index ee9aab6..ee9aab6 100644
--- a/include/leveldb/write_batch.h
+++ b/leveldb-1.18/include/leveldb/write_batch.h
diff --git a/issues/issue178_test.cc b/leveldb-1.18/issues/issue178_test.cc
index 1b1cf8b..1b1cf8b 100644
--- a/issues/issue178_test.cc
+++ b/leveldb-1.18/issues/issue178_test.cc
diff --git a/issues/issue200_test.cc b/leveldb-1.18/issues/issue200_test.cc
index 1cec79f..1cec79f 100644
--- a/issues/issue200_test.cc
+++ b/leveldb-1.18/issues/issue200_test.cc
diff --git a/port/README b/leveldb-1.18/port/README
index 422563e..422563e 100644
--- a/port/README
+++ b/leveldb-1.18/port/README
diff --git a/port/atomic_pointer.h b/leveldb-1.18/port/atomic_pointer.h
index 0f6f05e..073dbf4 100644
--- a/port/atomic_pointer.h
+++ b/leveldb-1.18/port/atomic_pointer.h
@@ -35,10 +35,10 @@
#define ARCH_CPU_X86_FAMILY 1
#elif defined(__ARMEL__)
#define ARCH_CPU_ARM_FAMILY 1
-#elif defined(__aarch64__)
-#define ARCH_CPU_ARM64_FAMILY 1
#elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__)
#define ARCH_CPU_PPC_FAMILY 1
+#elif defined(__mips__)
+#define ARCH_CPU_MIPS_FAMILY 1
#endif
namespace leveldb {
@@ -94,13 +94,6 @@ inline void MemoryBarrier() {
}
#define LEVELDB_HAVE_MEMORY_BARRIER
-// ARM64
-#elif defined(ARCH_CPU_ARM64_FAMILY)
-inline void MemoryBarrier() {
- asm volatile("dmb sy" : : : "memory");
-}
-#define LEVELDB_HAVE_MEMORY_BARRIER
-
// PPC
#elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__)
inline void MemoryBarrier() {
@@ -110,6 +103,13 @@ inline void MemoryBarrier() {
}
#define LEVELDB_HAVE_MEMORY_BARRIER
+// MIPS
+#elif defined(ARCH_CPU_MIPS_FAMILY) && defined(__GNUC__)
+inline void MemoryBarrier() {
+ __asm__ __volatile__("sync" : : : "memory");
+}
+#define LEVELDB_HAVE_MEMORY_BARRIER
+
#endif
// AtomicPointer built using platform-specific MemoryBarrier()
@@ -224,7 +224,6 @@ class AtomicPointer {
#undef LEVELDB_HAVE_MEMORY_BARRIER
#undef ARCH_CPU_X86_FAMILY
#undef ARCH_CPU_ARM_FAMILY
-#undef ARCH_CPU_ARM64_FAMILY
#undef ARCH_CPU_PPC_FAMILY
} // namespace port
diff --git a/port/port.h b/leveldb-1.18/port/port.h
index e667db4..e667db4 100644
--- a/port/port.h
+++ b/leveldb-1.18/port/port.h
diff --git a/port/port_example.h b/leveldb-1.18/port/port_example.h
index ab9e489..ab9e489 100644
--- a/port/port_example.h
+++ b/leveldb-1.18/port/port_example.h
diff --git a/port/port_posix.cc b/leveldb-1.18/port/port_posix.cc
index 5ba127a..5ba127a 100644
--- a/port/port_posix.cc
+++ b/leveldb-1.18/port/port_posix.cc
diff --git a/port/port_posix.h b/leveldb-1.18/port/port_posix.h
index 89fc222..89fc222 100644
--- a/port/port_posix.h
+++ b/leveldb-1.18/port/port_posix.h
diff --git a/port/thread_annotations.h b/leveldb-1.18/port/thread_annotations.h
index 9470ef5..9470ef5 100644
--- a/port/thread_annotations.h
+++ b/leveldb-1.18/port/thread_annotations.h
diff --git a/port/win/stdint.h b/leveldb-1.18/port/win/stdint.h
index 39edd0d..39edd0d 100644
--- a/port/win/stdint.h
+++ b/leveldb-1.18/port/win/stdint.h
diff --git a/table/block.cc b/leveldb-1.18/table/block.cc
index 43e402c..43e402c 100644
--- a/table/block.cc
+++ b/leveldb-1.18/table/block.cc
diff --git a/table/block.h b/leveldb-1.18/table/block.h
index 2493eb9..2493eb9 100644
--- a/table/block.h
+++ b/leveldb-1.18/table/block.h
diff --git a/table/block_builder.cc b/leveldb-1.18/table/block_builder.cc
index db660cd..db660cd 100644
--- a/table/block_builder.cc
+++ b/leveldb-1.18/table/block_builder.cc
diff --git a/table/block_builder.h b/leveldb-1.18/table/block_builder.h
index 4fbcb33..4fbcb33 100644
--- a/table/block_builder.h
+++ b/leveldb-1.18/table/block_builder.h
diff --git a/table/filter_block.cc b/leveldb-1.18/table/filter_block.cc
index 203e15c..203e15c 100644
--- a/table/filter_block.cc
+++ b/leveldb-1.18/table/filter_block.cc
diff --git a/table/filter_block.h b/leveldb-1.18/table/filter_block.h
index c67d010..c67d010 100644
--- a/table/filter_block.h
+++ b/leveldb-1.18/table/filter_block.h
diff --git a/table/filter_block_test.cc b/leveldb-1.18/table/filter_block_test.cc
index 8c4a474..8c4a474 100644
--- a/table/filter_block_test.cc
+++ b/leveldb-1.18/table/filter_block_test.cc
diff --git a/table/format.cc b/leveldb-1.18/table/format.cc
index aa63144..aa63144 100644
--- a/table/format.cc
+++ b/leveldb-1.18/table/format.cc
diff --git a/table/format.h b/leveldb-1.18/table/format.h
index 6c0b80c..6c0b80c 100644
--- a/table/format.h
+++ b/leveldb-1.18/table/format.h
diff --git a/table/iterator.cc b/leveldb-1.18/table/iterator.cc
index 3d1c87f..3d1c87f 100644
--- a/table/iterator.cc
+++ b/leveldb-1.18/table/iterator.cc
diff --git a/table/iterator_wrapper.h b/leveldb-1.18/table/iterator_wrapper.h
index f410c3f..9e16b3d 100644
--- a/table/iterator_wrapper.h
+++ b/leveldb-1.18/table/iterator_wrapper.h
@@ -5,9 +5,6 @@
#ifndef STORAGE_LEVELDB_TABLE_ITERATOR_WRAPPER_H_
#define STORAGE_LEVELDB_TABLE_ITERATOR_WRAPPER_H_
-#include "leveldb/iterator.h"
-#include "leveldb/slice.h"
-
namespace leveldb {
// A internal wrapper class with an interface similar to Iterator that
diff --git a/table/merger.cc b/leveldb-1.18/table/merger.cc
index 2dde4dc..2dde4dc 100644
--- a/table/merger.cc
+++ b/leveldb-1.18/table/merger.cc
diff --git a/table/merger.h b/leveldb-1.18/table/merger.h
index 91ddd80..91ddd80 100644
--- a/table/merger.h
+++ b/leveldb-1.18/table/merger.h
diff --git a/table/table.cc b/leveldb-1.18/table/table.cc
index dff8a82..dff8a82 100644
--- a/table/table.cc
+++ b/leveldb-1.18/table/table.cc
diff --git a/table/table_builder.cc b/leveldb-1.18/table/table_builder.cc
index 62002c8..62002c8 100644
--- a/table/table_builder.cc
+++ b/leveldb-1.18/table/table_builder.cc
diff --git a/table/table_test.cc b/leveldb-1.18/table/table_test.cc
index c723bf8..c723bf8 100644
--- a/table/table_test.cc
+++ b/leveldb-1.18/table/table_test.cc
diff --git a/table/two_level_iterator.cc b/leveldb-1.18/table/two_level_iterator.cc
index 7822eba..7822eba 100644
--- a/table/two_level_iterator.cc
+++ b/leveldb-1.18/table/two_level_iterator.cc
diff --git a/table/two_level_iterator.h b/leveldb-1.18/table/two_level_iterator.h
index 629ca34..629ca34 100644
--- a/table/two_level_iterator.h
+++ b/leveldb-1.18/table/two_level_iterator.h
diff --git a/util/arena.cc b/leveldb-1.18/util/arena.cc
index 9367f71..9367f71 100644
--- a/util/arena.cc
+++ b/leveldb-1.18/util/arena.cc
diff --git a/util/arena.h b/leveldb-1.18/util/arena.h
index 73bbf1c..73bbf1c 100644
--- a/util/arena.h
+++ b/leveldb-1.18/util/arena.h
diff --git a/util/arena_test.cc b/leveldb-1.18/util/arena_test.cc
index 58e870e..58e870e 100644
--- a/util/arena_test.cc
+++ b/leveldb-1.18/util/arena_test.cc
diff --git a/util/bloom.cc b/leveldb-1.18/util/bloom.cc
index a27a2ac..a27a2ac 100644
--- a/util/bloom.cc
+++ b/leveldb-1.18/util/bloom.cc
diff --git a/util/bloom_test.cc b/leveldb-1.18/util/bloom_test.cc
index 77fb1b3..77fb1b3 100644
--- a/util/bloom_test.cc
+++ b/leveldb-1.18/util/bloom_test.cc
diff --git a/util/cache.cc b/leveldb-1.18/util/cache.cc
index 8b197bc..8b197bc 100644
--- a/util/cache.cc
+++ b/leveldb-1.18/util/cache.cc
diff --git a/util/cache_test.cc b/leveldb-1.18/util/cache_test.cc
index 4371671..4371671 100644
--- a/util/cache_test.cc
+++ b/leveldb-1.18/util/cache_test.cc
diff --git a/util/coding.cc b/leveldb-1.18/util/coding.cc
index 21e3186..21e3186 100644
--- a/util/coding.cc
+++ b/leveldb-1.18/util/coding.cc
diff --git a/util/coding.h b/leveldb-1.18/util/coding.h
index 3993c4a..3993c4a 100644
--- a/util/coding.h
+++ b/leveldb-1.18/util/coding.h
diff --git a/util/coding_test.cc b/leveldb-1.18/util/coding_test.cc
index 521541e..521541e 100644
--- a/util/coding_test.cc
+++ b/leveldb-1.18/util/coding_test.cc
diff --git a/util/comparator.cc b/leveldb-1.18/util/comparator.cc
index 4b7b572..4b7b572 100644
--- a/util/comparator.cc
+++ b/leveldb-1.18/util/comparator.cc
diff --git a/util/crc32c.cc b/leveldb-1.18/util/crc32c.cc
index 6db9e77..6db9e77 100644
--- a/util/crc32c.cc
+++ b/leveldb-1.18/util/crc32c.cc
diff --git a/util/crc32c.h b/leveldb-1.18/util/crc32c.h
index 1d7e5c0..1d7e5c0 100644
--- a/util/crc32c.h
+++ b/leveldb-1.18/util/crc32c.h
diff --git a/util/crc32c_test.cc b/leveldb-1.18/util/crc32c_test.cc
index 4b957ee..4b957ee 100644
--- a/util/crc32c_test.cc
+++ b/leveldb-1.18/util/crc32c_test.cc
diff --git a/util/env.cc b/leveldb-1.18/util/env.cc
index c2600e9..c2600e9 100644
--- a/util/env.cc
+++ b/leveldb-1.18/util/env.cc
diff --git a/util/env_posix.cc b/leveldb-1.18/util/env_posix.cc
index ad56131..ad56131 100644
--- a/util/env_posix.cc
+++ b/leveldb-1.18/util/env_posix.cc
diff --git a/util/env_test.cc b/leveldb-1.18/util/env_test.cc
index b72cb44..b72cb44 100644
--- a/util/env_test.cc
+++ b/leveldb-1.18/util/env_test.cc
diff --git a/util/filter_policy.cc b/leveldb-1.18/util/filter_policy.cc
index 7b045c8..7b045c8 100644
--- a/util/filter_policy.cc
+++ b/leveldb-1.18/util/filter_policy.cc
diff --git a/util/hash.cc b/leveldb-1.18/util/hash.cc
index ed439ce..ed439ce 100644
--- a/util/hash.cc
+++ b/leveldb-1.18/util/hash.cc
diff --git a/util/hash.h b/leveldb-1.18/util/hash.h
index 8889d56..8889d56 100644
--- a/util/hash.h
+++ b/leveldb-1.18/util/hash.h
diff --git a/util/hash_test.cc b/leveldb-1.18/util/hash_test.cc
index eaa1c92..eaa1c92 100644
--- a/util/hash_test.cc
+++ b/leveldb-1.18/util/hash_test.cc
diff --git a/util/histogram.cc b/leveldb-1.18/util/histogram.cc
index bb95f58..bb95f58 100644
--- a/util/histogram.cc
+++ b/leveldb-1.18/util/histogram.cc
diff --git a/util/histogram.h b/leveldb-1.18/util/histogram.h
index 1ef9f3c..1ef9f3c 100644
--- a/util/histogram.h
+++ b/leveldb-1.18/util/histogram.h
diff --git a/util/logging.cc b/leveldb-1.18/util/logging.cc
index ca6b324..ca6b324 100644
--- a/util/logging.cc
+++ b/leveldb-1.18/util/logging.cc
diff --git a/util/logging.h b/leveldb-1.18/util/logging.h
index 1b450d2..1b450d2 100644
--- a/util/logging.h
+++ b/leveldb-1.18/util/logging.h
diff --git a/util/mutexlock.h b/leveldb-1.18/util/mutexlock.h
index 1ff5a9e..1ff5a9e 100644
--- a/util/mutexlock.h
+++ b/leveldb-1.18/util/mutexlock.h
diff --git a/util/options.cc b/leveldb-1.18/util/options.cc
index 76af5b9..76af5b9 100644
--- a/util/options.cc
+++ b/leveldb-1.18/util/options.cc
diff --git a/util/posix_logger.h b/leveldb-1.18/util/posix_logger.h
index 9741b1a..9741b1a 100644
--- a/util/posix_logger.h
+++ b/leveldb-1.18/util/posix_logger.h
diff --git a/util/random.h b/leveldb-1.18/util/random.h
index ddd51b1..ddd51b1 100644
--- a/util/random.h
+++ b/leveldb-1.18/util/random.h
diff --git a/util/status.cc b/leveldb-1.18/util/status.cc
index a44f35b..a44f35b 100644
--- a/util/status.cc
+++ b/leveldb-1.18/util/status.cc
diff --git a/util/testharness.cc b/leveldb-1.18/util/testharness.cc
index 402fab3..402fab3 100644
--- a/util/testharness.cc
+++ b/leveldb-1.18/util/testharness.cc
diff --git a/util/testharness.h b/leveldb-1.18/util/testharness.h
index da4fe68..da4fe68 100644
--- a/util/testharness.h
+++ b/leveldb-1.18/util/testharness.h
diff --git a/util/testutil.cc b/leveldb-1.18/util/testutil.cc
index bee56bf..bee56bf 100644
--- a/util/testutil.cc
+++ b/leveldb-1.18/util/testutil.cc
diff --git a/util/testutil.h b/leveldb-1.18/util/testutil.h
index adad3fc..adad3fc 100644
--- a/util/testutil.h
+++ b/leveldb-1.18/util/testutil.h
diff --git a/snappy-1.1.0/AUTHORS b/snappy-1.1.0/AUTHORS
new file mode 100644
index 0000000..4858b37
--- /dev/null
+++ b/snappy-1.1.0/AUTHORS
@@ -0,0 +1 @@
+opensource@google.com
diff --git a/snappy-1.1.0/COPYING b/snappy-1.1.0/COPYING
new file mode 100644
index 0000000..8d6bd9f
--- /dev/null
+++ b/snappy-1.1.0/COPYING
@@ -0,0 +1,28 @@
+Copyright 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/snappy-1.1.0/ChangeLog b/snappy-1.1.0/ChangeLog
new file mode 100644
index 0000000..10aa968
--- /dev/null
+++ b/snappy-1.1.0/ChangeLog
@@ -0,0 +1,1618 @@
+------------------------------------------------------------------------
+r72 | snappy.mirrorbot@gmail.com | 2013-02-05 15:30:05 +0100 (Tue, 05 Feb 2013) | 9 lines
+
+Make ./snappy_unittest pass without "srcdir" being defined.
+
+Previously, snappy_unittests would read from an absolute path /testdata/..;
+convert it to use a relative path instead.
+
+Patch from Marc-Antonie Ruel.
+
+R=maruel
+
+------------------------------------------------------------------------
+r71 | snappy.mirrorbot@gmail.com | 2013-01-18 13:16:36 +0100 (Fri, 18 Jan 2013) | 287 lines
+
+Increase the Zippy block size from 32 kB to 64 kB, winning ~3% density
+while being effectively performance neutral.
+
+The longer story about density is that we win 3-6% density on the benchmarks
+where this has any effect at all; many of the benchmarks (cp, c, lsp, man)
+are smaller than 32 kB and thus will have no effect. Binary data also seems
+to win little or nothing; of course, the already-compressed data wins nothing.
+The protobuf benchmark wins as much as ~18% depending on architecture,
+but I wouldn't be too sure that this is representative of protobuf data in
+general.
+
+As of performance, we lose a tiny amount since we get more tags (e.g., a long
+literal might be broken up into literal-copy-literal), but we win it back with
+less clearing of the hash table, and more opportunities to skip incompressible
+data (e.g. in the jpg benchmark). Decompression seems to get ever so slightly
+slower, again due to more tags. The total net change is about as close to zero
+as we can get, so the end effect seems to be simply more density and no
+real performance change.
+
+The comment about not changing kBlockSize, scary as it is, is not really
+relevant, since we're never going to have a block-level decompressor without
+explicitly marked blocks. Replace it with something more appropriate.
+
+This affects the framing format, but it's okay to change it since it basically
+has no users yet.
+
+
+Density (note that cp, c, lsp and man are all smaller than 32 kB):
+
+ Benchmark Description Base (%) New (%) Improvement
+ --------------------------------------------------------------
+ ZFlat/0 html 22.57 22.31 +5.6%
+ ZFlat/1 urls 50.89 47.77 +6.5%
+ ZFlat/2 jpg 99.88 99.87 +0.0%
+ ZFlat/3 pdf 82.13 82.07 +0.1%
+ ZFlat/4 html4 23.55 22.51 +4.6%
+ ZFlat/5 cp 48.12 48.12 +0.0%
+ ZFlat/6 c 42.40 42.40 +0.0%
+ ZFlat/7 lsp 48.37 48.37 +0.0%
+ ZFlat/8 xls 41.34 41.23 +0.3%
+ ZFlat/9 txt1 59.81 57.87 +3.4%
+ ZFlat/10 txt2 64.07 61.93 +3.5%
+ ZFlat/11 txt3 57.11 54.92 +4.0%
+ ZFlat/12 txt4 68.35 66.22 +3.2%
+ ZFlat/13 bin 18.21 18.11 +0.6%
+ ZFlat/14 sum 51.88 48.96 +6.0%
+ ZFlat/15 man 59.36 59.36 +0.0%
+ ZFlat/16 pb 23.15 19.64 +17.9%
+ ZFlat/17 gaviota 38.27 37.72 +1.5%
+ Geometric mean 45.51 44.15 +3.1%
+
+
+Microbenchmarks (64-bit, opt):
+
+Westmere 2.8 GHz:
+
+ Benchmark Base (ns) New (ns) Improvement
+ -------------------------------------------------------------------------------------------------
+ BM_UFlat/0 75342 75027 1.3GB/s html +0.4%
+ BM_UFlat/1 723767 744269 899.6MB/s urls -2.8%
+ BM_UFlat/2 10072 10072 11.7GB/s jpg +0.0%
+ BM_UFlat/3 30747 30388 2.9GB/s pdf +1.2%
+ BM_UFlat/4 307353 306063 1.2GB/s html4 +0.4%
+ BM_UFlat/5 28593 28743 816.3MB/s cp -0.5%
+ BM_UFlat/6 12958 12998 818.1MB/s c -0.3%
+ BM_UFlat/7 3700 3792 935.8MB/s lsp -2.4%
+ BM_UFlat/8 999685 999905 982.1MB/s xls -0.0%
+ BM_UFlat/9 232954 230079 630.4MB/s txt1 +1.2%
+ BM_UFlat/10 200785 201468 592.6MB/s txt2 -0.3%
+ BM_UFlat/11 617267 610968 666.1MB/s txt3 +1.0%
+ BM_UFlat/12 821595 822475 558.7MB/s txt4 -0.1%
+ BM_UFlat/13 377097 377632 1.3GB/s bin -0.1%
+ BM_UFlat/14 45476 45260 805.8MB/s sum +0.5%
+ BM_UFlat/15 4985 5003 805.7MB/s man -0.4%
+ BM_UFlat/16 80813 77494 1.4GB/s pb +4.3%
+ BM_UFlat/17 251792 241553 727.7MB/s gaviota +4.2%
+ BM_UValidate/0 40343 40354 2.4GB/s html -0.0%
+ BM_UValidate/1 426890 451574 1.4GB/s urls -5.5%
+ BM_UValidate/2 187 179 661.9GB/s jpg +4.5%
+ BM_UValidate/3 13783 13827 6.4GB/s pdf -0.3%
+ BM_UValidate/4 162393 163335 2.3GB/s html4 -0.6%
+ BM_UDataBuffer/0 93756 93302 1046.7MB/s html +0.5%
+ BM_UDataBuffer/1 886714 916292 730.7MB/s urls -3.2%
+ BM_UDataBuffer/2 15861 16401 7.2GB/s jpg -3.3%
+ BM_UDataBuffer/3 38934 39224 2.2GB/s pdf -0.7%
+ BM_UDataBuffer/4 381008 379428 1029.5MB/s html4 +0.4%
+ BM_UCord/0 92528 91098 1072.0MB/s html +1.6%
+ BM_UCord/1 858421 885287 756.3MB/s urls -3.0%
+ BM_UCord/2 13140 13464 8.8GB/s jpg -2.4%
+ BM_UCord/3 39012 37773 2.3GB/s pdf +3.3%
+ BM_UCord/4 376869 371267 1052.1MB/s html4 +1.5%
+ BM_UCordString/0 75810 75303 1.3GB/s html +0.7%
+ BM_UCordString/1 735290 753841 888.2MB/s urls -2.5%
+ BM_UCordString/2 11945 13113 9.0GB/s jpg -8.9%
+ BM_UCordString/3 33901 32562 2.7GB/s pdf +4.1%
+ BM_UCordString/4 310985 309390 1.2GB/s html4 +0.5%
+ BM_UCordValidate/0 40952 40450 2.4GB/s html +1.2%
+ BM_UCordValidate/1 433842 456531 1.4GB/s urls -5.0%
+ BM_UCordValidate/2 1179 1173 100.8GB/s jpg +0.5%
+ BM_UCordValidate/3 14481 14392 6.1GB/s pdf +0.6%
+ BM_UCordValidate/4 164364 164151 2.3GB/s html4 +0.1%
+ BM_ZFlat/0 160610 156601 623.6MB/s html (22.31 %) +2.6%
+ BM_ZFlat/1 1995238 1993582 335.9MB/s urls (47.77 %) +0.1%
+ BM_ZFlat/2 30133 24983 4.7GB/s jpg (99.87 %) +20.6%
+ BM_ZFlat/3 74453 73128 1.2GB/s pdf (82.07 %) +1.8%
+ BM_ZFlat/4 647674 633729 616.4MB/s html4 (22.51 %) +2.2%
+ BM_ZFlat/5 76259 76090 308.4MB/s cp (48.12 %) +0.2%
+ BM_ZFlat/6 31106 31084 342.1MB/s c (42.40 %) +0.1%
+ BM_ZFlat/7 10507 10443 339.8MB/s lsp (48.37 %) +0.6%
+ BM_ZFlat/8 1811047 1793325 547.6MB/s xls (41.23 %) +1.0%
+ BM_ZFlat/9 597903 581793 249.3MB/s txt1 (57.87 %) +2.8%
+ BM_ZFlat/10 525320 514522 232.0MB/s txt2 (61.93 %) +2.1%
+ BM_ZFlat/11 1596591 1551636 262.3MB/s txt3 (54.92 %) +2.9%
+ BM_ZFlat/12 2134523 2094033 219.5MB/s txt4 (66.22 %) +1.9%
+ BM_ZFlat/13 593024 587869 832.6MB/s bin (18.11 %) +0.9%
+ BM_ZFlat/14 114746 110666 329.5MB/s sum (48.96 %) +3.7%
+ BM_ZFlat/15 14376 14485 278.3MB/s man (59.36 %) -0.8%
+ BM_ZFlat/16 167908 150070 753.6MB/s pb (19.64 %) +11.9%
+ BM_ZFlat/17 460228 442253 397.5MB/s gaviota (37.72 %) +4.1%
+ BM_ZCord/0 164896 160241 609.4MB/s html +2.9%
+ BM_ZCord/1 2070239 2043492 327.7MB/s urls +1.3%
+ BM_ZCord/2 54402 47002 2.5GB/s jpg +15.7%
+ BM_ZCord/3 85871 83832 1073.1MB/s pdf +2.4%
+ BM_ZCord/4 664078 648825 602.0MB/s html4 +2.4%
+ BM_ZDataBuffer/0 174874 172549 566.0MB/s html +1.3%
+ BM_ZDataBuffer/1 2134410 2139173 313.0MB/s urls -0.2%
+ BM_ZDataBuffer/2 71911 69551 1.7GB/s jpg +3.4%
+ BM_ZDataBuffer/3 98236 99727 902.1MB/s pdf -1.5%
+ BM_ZDataBuffer/4 710776 699104 558.8MB/s html4 +1.7%
+ Sum of all benchmarks 27358908 27200688 +0.6%
+
+
+Sandy Bridge 2.6 GHz:
+
+ Benchmark Base (ns) New (ns) Improvement
+ -------------------------------------------------------------------------------------------------
+ BM_UFlat/0 49356 49018 1.9GB/s html +0.7%
+ BM_UFlat/1 516764 531955 1.2GB/s urls -2.9%
+ BM_UFlat/2 6982 7304 16.2GB/s jpg -4.4%
+ BM_UFlat/3 15285 15598 5.6GB/s pdf -2.0%
+ BM_UFlat/4 206557 206669 1.8GB/s html4 -0.1%
+ BM_UFlat/5 13681 13567 1.7GB/s cp +0.8%
+ BM_UFlat/6 6571 6592 1.6GB/s c -0.3%
+ BM_UFlat/7 2008 1994 1.7GB/s lsp +0.7%
+ BM_UFlat/8 775700 773286 1.2GB/s xls +0.3%
+ BM_UFlat/9 165578 164480 881.8MB/s txt1 +0.7%
+ BM_UFlat/10 143707 144139 828.2MB/s txt2 -0.3%
+ BM_UFlat/11 443026 436281 932.8MB/s txt3 +1.5%
+ BM_UFlat/12 603129 595856 771.2MB/s txt4 +1.2%
+ BM_UFlat/13 271682 270450 1.8GB/s bin +0.5%
+ BM_UFlat/14 26200 25666 1.4GB/s sum +2.1%
+ BM_UFlat/15 2620 2608 1.5GB/s man +0.5%
+ BM_UFlat/16 48908 47756 2.3GB/s pb +2.4%
+ BM_UFlat/17 174638 170346 1031.9MB/s gaviota +2.5%
+ BM_UValidate/0 31922 31898 3.0GB/s html +0.1%
+ BM_UValidate/1 341265 363554 1.8GB/s urls -6.1%
+ BM_UValidate/2 160 151 782.8GB/s jpg +6.0%
+ BM_UValidate/3 10402 10380 8.5GB/s pdf +0.2%
+ BM_UValidate/4 129490 130587 2.9GB/s html4 -0.8%
+ BM_UDataBuffer/0 59383 58736 1.6GB/s html +1.1%
+ BM_UDataBuffer/1 619222 637786 1049.8MB/s urls -2.9%
+ BM_UDataBuffer/2 10775 11941 9.9GB/s jpg -9.8%
+ BM_UDataBuffer/3 18002 17930 4.9GB/s pdf +0.4%
+ BM_UDataBuffer/4 259182 259306 1.5GB/s html4 -0.0%
+ BM_UCord/0 59379 57814 1.6GB/s html +2.7%
+ BM_UCord/1 598456 615162 1088.4MB/s urls -2.7%
+ BM_UCord/2 8519 8628 13.7GB/s jpg -1.3%
+ BM_UCord/3 18123 17537 5.0GB/s pdf +3.3%
+ BM_UCord/4 252375 252331 1.5GB/s html4 +0.0%
+ BM_UCordString/0 49494 49790 1.9GB/s html -0.6%
+ BM_UCordString/1 524659 541803 1.2GB/s urls -3.2%
+ BM_UCordString/2 8206 8354 14.2GB/s jpg -1.8%
+ BM_UCordString/3 17235 16537 5.3GB/s pdf +4.2%
+ BM_UCordString/4 210188 211072 1.8GB/s html4 -0.4%
+ BM_UCordValidate/0 31956 31587 3.0GB/s html +1.2%
+ BM_UCordValidate/1 340828 362141 1.8GB/s urls -5.9%
+ BM_UCordValidate/2 783 744 158.9GB/s jpg +5.2%
+ BM_UCordValidate/3 10543 10462 8.4GB/s pdf +0.8%
+ BM_UCordValidate/4 130150 129789 2.9GB/s html4 +0.3%
+ BM_ZFlat/0 113873 111200 878.2MB/s html (22.31 %) +2.4%
+ BM_ZFlat/1 1473023 1489858 449.4MB/s urls (47.77 %) -1.1%
+ BM_ZFlat/2 23569 19486 6.1GB/s jpg (99.87 %) +21.0%
+ BM_ZFlat/3 49178 48046 1.8GB/s pdf (82.07 %) +2.4%
+ BM_ZFlat/4 475063 469394 832.2MB/s html4 (22.51 %) +1.2%
+ BM_ZFlat/5 46910 46816 501.2MB/s cp (48.12 %) +0.2%
+ BM_ZFlat/6 16883 16916 628.6MB/s c (42.40 %) -0.2%
+ BM_ZFlat/7 5381 5447 651.5MB/s lsp (48.37 %) -1.2%
+ BM_ZFlat/8 1466870 1473861 666.3MB/s xls (41.23 %) -0.5%
+ BM_ZFlat/9 468006 464101 312.5MB/s txt1 (57.87 %) +0.8%
+ BM_ZFlat/10 408157 408957 291.9MB/s txt2 (61.93 %) -0.2%
+ BM_ZFlat/11 1253348 1232910 330.1MB/s txt3 (54.92 %) +1.7%
+ BM_ZFlat/12 1702373 1702977 269.8MB/s txt4 (66.22 %) -0.0%
+ BM_ZFlat/13 439792 438557 1116.0MB/s bin (18.11 %) +0.3%
+ BM_ZFlat/14 80766 78851 462.5MB/s sum (48.96 %) +2.4%
+ BM_ZFlat/15 7420 7542 534.5MB/s man (59.36 %) -1.6%
+ BM_ZFlat/16 112043 100126 1.1GB/s pb (19.64 %) +11.9%
+ BM_ZFlat/17 368877 357703 491.4MB/s gaviota (37.72 %) +3.1%
+ BM_ZCord/0 116402 113564 859.9MB/s html +2.5%
+ BM_ZCord/1 1507156 1519911 440.5MB/s urls -0.8%
+ BM_ZCord/2 39860 33686 3.5GB/s jpg +18.3%
+ BM_ZCord/3 56211 54694 1.6GB/s pdf +2.8%
+ BM_ZCord/4 485594 479212 815.1MB/s html4 +1.3%
+ BM_ZDataBuffer/0 123185 121572 803.3MB/s html +1.3%
+ BM_ZDataBuffer/1 1569111 1589380 421.3MB/s urls -1.3%
+ BM_ZDataBuffer/2 53143 49556 2.4GB/s jpg +7.2%
+ BM_ZDataBuffer/3 65725 66826 1.3GB/s pdf -1.6%
+ BM_ZDataBuffer/4 517871 514750 758.9MB/s html4 +0.6%
+ Sum of all benchmarks 20258879 20315484 -0.3%
+
+
+AMD Instanbul 2.4 GHz:
+
+ Benchmark Base (ns) New (ns) Improvement
+ -------------------------------------------------------------------------------------------------
+ BM_UFlat/0 97120 96585 1011.1MB/s html +0.6%
+ BM_UFlat/1 917473 948016 706.3MB/s urls -3.2%
+ BM_UFlat/2 21496 23938 4.9GB/s jpg -10.2%
+ BM_UFlat/3 44751 45639 1.9GB/s pdf -1.9%
+ BM_UFlat/4 391950 391413 998.0MB/s html4 +0.1%
+ BM_UFlat/5 37366 37201 630.7MB/s cp +0.4%
+ BM_UFlat/6 18350 18318 580.5MB/s c +0.2%
+ BM_UFlat/7 5672 5661 626.9MB/s lsp +0.2%
+ BM_UFlat/8 1533390 1529441 642.1MB/s xls +0.3%
+ BM_UFlat/9 335477 336553 431.0MB/s txt1 -0.3%
+ BM_UFlat/10 285140 292080 408.7MB/s txt2 -2.4%
+ BM_UFlat/11 888507 894758 454.9MB/s txt3 -0.7%
+ BM_UFlat/12 1187643 1210928 379.5MB/s txt4 -1.9%
+ BM_UFlat/13 493717 507447 964.5MB/s bin -2.7%
+ BM_UFlat/14 61740 60870 599.1MB/s sum +1.4%
+ BM_UFlat/15 7211 7187 560.9MB/s man +0.3%
+ BM_UFlat/16 97435 93100 1.2GB/s pb +4.7%
+ BM_UFlat/17 362662 356395 493.2MB/s gaviota +1.8%
+ BM_UValidate/0 47475 47118 2.0GB/s html +0.8%
+ BM_UValidate/1 501304 529741 1.2GB/s urls -5.4%
+ BM_UValidate/2 276 243 486.2GB/s jpg +13.6%
+ BM_UValidate/3 16361 16261 5.4GB/s pdf +0.6%
+ BM_UValidate/4 190741 190353 2.0GB/s html4 +0.2%
+ BM_UDataBuffer/0 111080 109771 889.6MB/s html +1.2%
+ BM_UDataBuffer/1 1051035 1085999 616.5MB/s urls -3.2%
+ BM_UDataBuffer/2 25801 25463 4.6GB/s jpg +1.3%
+ BM_UDataBuffer/3 50493 49946 1.8GB/s pdf +1.1%
+ BM_UDataBuffer/4 447258 444138 879.5MB/s html4 +0.7%
+ BM_UCord/0 109350 107909 905.0MB/s html +1.3%
+ BM_UCord/1 1023396 1054964 634.7MB/s urls -3.0%
+ BM_UCord/2 25292 24371 4.9GB/s jpg +3.8%
+ BM_UCord/3 48955 49736 1.8GB/s pdf -1.6%
+ BM_UCord/4 440452 437331 893.2MB/s html4 +0.7%
+ BM_UCordString/0 98511 98031 996.2MB/s html +0.5%
+ BM_UCordString/1 933230 963495 694.9MB/s urls -3.1%
+ BM_UCordString/2 23311 24076 4.9GB/s jpg -3.2%
+ BM_UCordString/3 45568 46196 1.9GB/s pdf -1.4%
+ BM_UCordString/4 397791 396934 984.1MB/s html4 +0.2%
+ BM_UCordValidate/0 47537 46921 2.0GB/s html +1.3%
+ BM_UCordValidate/1 505071 532716 1.2GB/s urls -5.2%
+ BM_UCordValidate/2 1663 1621 72.9GB/s jpg +2.6%
+ BM_UCordValidate/3 16890 16926 5.2GB/s pdf -0.2%
+ BM_UCordValidate/4 192365 191984 2.0GB/s html4 +0.2%
+ BM_ZFlat/0 184708 179103 545.3MB/s html (22.31 %) +3.1%
+ BM_ZFlat/1 2293864 2302950 290.7MB/s urls (47.77 %) -0.4%
+ BM_ZFlat/2 52852 47618 2.5GB/s jpg (99.87 %) +11.0%
+ BM_ZFlat/3 100766 96179 935.3MB/s pdf (82.07 %) +4.8%
+ BM_ZFlat/4 741220 727977 536.6MB/s html4 (22.51 %) +1.8%
+ BM_ZFlat/5 85402 85418 274.7MB/s cp (48.12 %) -0.0%
+ BM_ZFlat/6 36558 36494 291.4MB/s c (42.40 %) +0.2%
+ BM_ZFlat/7 12706 12507 283.7MB/s lsp (48.37 %) +1.6%
+ BM_ZFlat/8 2336823 2335688 420.5MB/s xls (41.23 %) +0.0%
+ BM_ZFlat/9 701804 681153 212.9MB/s txt1 (57.87 %) +3.0%
+ BM_ZFlat/10 606700 597194 199.9MB/s txt2 (61.93 %) +1.6%
+ BM_ZFlat/11 1852283 1803238 225.7MB/s txt3 (54.92 %) +2.7%
+ BM_ZFlat/12 2475527 2443354 188.1MB/s txt4 (66.22 %) +1.3%
+ BM_ZFlat/13 694497 696654 702.6MB/s bin (18.11 %) -0.3%
+ BM_ZFlat/14 136929 129855 280.8MB/s sum (48.96 %) +5.4%
+ BM_ZFlat/15 17172 17124 235.4MB/s man (59.36 %) +0.3%
+ BM_ZFlat/16 190364 171763 658.4MB/s pb (19.64 %) +10.8%
+ BM_ZFlat/17 567285 555190 316.6MB/s gaviota (37.72 %) +2.2%
+ BM_ZCord/0 193490 187031 522.1MB/s html +3.5%
+ BM_ZCord/1 2427537 2415315 277.2MB/s urls +0.5%
+ BM_ZCord/2 85378 81412 1.5GB/s jpg +4.9%
+ BM_ZCord/3 121898 119419 753.3MB/s pdf +2.1%
+ BM_ZCord/4 779564 762961 512.0MB/s html4 +2.2%
+ BM_ZDataBuffer/0 213820 207272 471.1MB/s html +3.2%
+ BM_ZDataBuffer/1 2589010 2586495 258.9MB/s urls +0.1%
+ BM_ZDataBuffer/2 121871 118885 1018.4MB/s jpg +2.5%
+ BM_ZDataBuffer/3 145382 145986 616.2MB/s pdf -0.4%
+ BM_ZDataBuffer/4 868117 852754 458.1MB/s html4 +1.8%
+ Sum of all benchmarks 33771833 33744763 +0.1%
+
+------------------------------------------------------------------------
+r70 | snappy.mirrorbot@gmail.com | 2013-01-06 20:21:26 +0100 (Sun, 06 Jan 2013) | 6 lines
+
+Adjust the Snappy open-source distribution for the changes in Google's
+internal file API.
+
+R=sanjay
+
+
+------------------------------------------------------------------------
+r69 | snappy.mirrorbot@gmail.com | 2013-01-04 12:54:20 +0100 (Fri, 04 Jan 2013) | 15 lines
+
+Change a few ORs to additions where they don't matter. This helps the compiler
+use the LEA instruction more efficiently, since e.g. a + (b << 2) can be encoded
+as one instruction. Even more importantly, it can constant-fold the
+COPY_* enums together with the shifted negative constants, which also saves
+some instructions. (We don't need it for LITERAL, since it happens to be 0.)
+
+I am unsure why the compiler couldn't do this itself, but the theory is that
+it cannot prove that len-1 and len-4 cannot underflow/wrap, and thus can't
+do the optimization safely.
+
+The gains are small but measurable; 0.5-1.0% over the BM_Z* benchmarks
+(measured on Westmere, Sandy Bridge and Istanbul).
+
+R=sanjay
+
+------------------------------------------------------------------------
+r68 | snappy.mirrorbot@gmail.com | 2012-10-08 13:37:16 +0200 (Mon, 08 Oct 2012) | 5 lines
+
+Stop giving -Werror to automake, due to an incompatibility between current
+versions of libtool and automake on non-GNU platforms (e.g. Mac OS X).
+
+R=sanjay
+
+------------------------------------------------------------------------
+r67 | snappy.mirrorbot@gmail.com | 2012-08-17 15:54:47 +0200 (Fri, 17 Aug 2012) | 5 lines
+
+Fix public issue 66: Document GetUncompressedLength better, in particular that
+it leaves the source in a state that's not appropriate for RawUncompress.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r66 | snappy.mirrorbot@gmail.com | 2012-07-31 13:44:44 +0200 (Tue, 31 Jul 2012) | 5 lines
+
+Fix public issue 64: Check for <sys/time.h> at configure time,
+since MSVC seemingly does not have it.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r65 | snappy.mirrorbot@gmail.com | 2012-07-04 11:34:48 +0200 (Wed, 04 Jul 2012) | 10 lines
+
+Handle the case where gettimeofday() goes backwards or returns the same value
+twice; it could cause division by zero in the unit test framework.
+(We already had one fix for this in place, but it was incomplete.)
+
+This could in theory happen on any system, since there are few guarantees
+about gettimeofday(), but seems to only happen in practice on GNU/Hurd, where
+gettimeofday() is cached and only updated ever so often.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r64 | snappy.mirrorbot@gmail.com | 2012-07-04 11:28:33 +0200 (Wed, 04 Jul 2012) | 6 lines
+
+Mark ARMv4 as not supporting unaligned accesses (not just ARMv5 and ARMv6);
+apparently Debian still targets these by default, giving us segfaults on
+armel.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r63 | snappy.mirrorbot@gmail.com | 2012-05-22 11:46:05 +0200 (Tue, 22 May 2012) | 5 lines
+
+Fix public bug #62: Remove an extraneous comma at the end of an enum list,
+causing compile errors when embedded in Mozilla on OpenBSD.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r62 | snappy.mirrorbot@gmail.com | 2012-05-22 11:32:50 +0200 (Tue, 22 May 2012) | 8 lines
+
+Snappy library no longer depends on iostream.
+
+Achieved by moving logging macro definitions to a test-only
+header file, and by changing non-test code to use assert,
+fprintf, and abort instead of LOG/CHECK macros.
+
+R=sesse
+
+------------------------------------------------------------------------
+r61 | snappy.mirrorbot@gmail.com | 2012-02-24 16:46:37 +0100 (Fri, 24 Feb 2012) | 4 lines
+
+Release Snappy 1.0.5.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r60 | snappy.mirrorbot@gmail.com | 2012-02-23 18:00:36 +0100 (Thu, 23 Feb 2012) | 57 lines
+
+For 32-bit platforms, do not try to accelerate multiple neighboring
+32-bit loads with a 64-bit load during compression (it's not a win).
+
+The main target for this optimization is ARM, but 32-bit x86 gets
+a small gain, too, although there is noise in the microbenchmarks.
+It's a no-op for 64-bit x86. It does not affect decompression.
+
+Microbenchmark results on a Cortex-A9 1GHz, using g++ 4.6.2 (from
+Ubuntu/Linaro), -O2 -DNDEBUG -Wa,-march=armv7a -mtune=cortex-a9
+-mthumb-interwork, minimum 1000 iterations:
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ ---------------------------------------------------
+ BM_ZFlat/0 1158277 1160000 1000 84.2MB/s html (23.57 %) [ +4.3%]
+ BM_ZFlat/1 14861782 14860000 1000 45.1MB/s urls (50.89 %) [ +1.1%]
+ BM_ZFlat/2 393595 390000 1000 310.5MB/s jpg (99.88 %) [ +0.0%]
+ BM_ZFlat/3 650583 650000 1000 138.4MB/s pdf (82.13 %) [ +3.1%]
+ BM_ZFlat/4 4661480 4660000 1000 83.8MB/s html4 (23.55 %) [ +4.3%]
+ BM_ZFlat/5 491973 490000 1000 47.9MB/s cp (48.12 %) [ +2.0%]
+ BM_ZFlat/6 193575 192678 1038 55.2MB/s c (42.40 %) [ +9.0%]
+ BM_ZFlat/7 62343 62754 3187 56.5MB/s lsp (48.37 %) [ +2.6%]
+ BM_ZFlat/8 17708468 17710000 1000 55.5MB/s xls (41.34 %) [ -0.3%]
+ BM_ZFlat/9 3755345 3760000 1000 38.6MB/s txt1 (59.81 %) [ +8.2%]
+ BM_ZFlat/10 3324217 3320000 1000 36.0MB/s txt2 (64.07 %) [ +4.2%]
+ BM_ZFlat/11 10139932 10140000 1000 40.1MB/s txt3 (57.11 %) [ +6.4%]
+ BM_ZFlat/12 13532109 13530000 1000 34.0MB/s txt4 (68.35 %) [ +5.0%]
+ BM_ZFlat/13 4690847 4690000 1000 104.4MB/s bin (18.21 %) [ +4.1%]
+ BM_ZFlat/14 830682 830000 1000 43.9MB/s sum (51.88 %) [ +1.2%]
+ BM_ZFlat/15 84784 85011 2235 47.4MB/s man (59.36 %) [ +1.1%]
+ BM_ZFlat/16 1293254 1290000 1000 87.7MB/s pb (23.15 %) [ +2.3%]
+ BM_ZFlat/17 2775155 2780000 1000 63.2MB/s gaviota (38.27 %) [+12.2%]
+
+Core i7 in 32-bit mode (only one run and 100 iterations, though, so noisy):
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ ---------------------------------------------------
+ BM_ZFlat/0 227582 223464 3043 437.0MB/s html (23.57 %) [ +7.4%]
+ BM_ZFlat/1 2982430 2918455 233 229.4MB/s urls (50.89 %) [ +2.9%]
+ BM_ZFlat/2 46967 46658 15217 2.5GB/s jpg (99.88 %) [ +0.0%]
+ BM_ZFlat/3 115298 114864 5833 783.2MB/s pdf (82.13 %) [ +1.5%]
+ BM_ZFlat/4 913440 899743 778 434.2MB/s html4 (23.55 %) [ +0.3%]
+ BM_ZFlat/5 110302 108571 7000 216.1MB/s cp (48.12 %) [ +0.0%]
+ BM_ZFlat/6 44409 43372 15909 245.2MB/s c (42.40 %) [ +0.8%]
+ BM_ZFlat/7 15713 15643 46667 226.9MB/s lsp (48.37 %) [ +2.7%]
+ BM_ZFlat/8 2625539 2602230 269 377.4MB/s xls (41.34 %) [ +1.4%]
+ BM_ZFlat/9 808884 811429 875 178.8MB/s txt1 (59.81 %) [ -3.9%]
+ BM_ZFlat/10 709532 700000 1000 170.5MB/s txt2 (64.07 %) [ +0.0%]
+ BM_ZFlat/11 2177682 2162162 333 188.2MB/s txt3 (57.11 %) [ -1.4%]
+ BM_ZFlat/12 2849640 2840000 250 161.8MB/s txt4 (68.35 %) [ -1.4%]
+ BM_ZFlat/13 849760 835476 778 585.8MB/s bin (18.21 %) [ +1.2%]
+ BM_ZFlat/14 165940 164571 4375 221.6MB/s sum (51.88 %) [ +1.4%]
+ BM_ZFlat/15 20939 20571 35000 196.0MB/s man (59.36 %) [ +2.1%]
+ BM_ZFlat/16 239209 236544 2917 478.1MB/s pb (23.15 %) [ +4.2%]
+ BM_ZFlat/17 616206 610000 1000 288.2MB/s gaviota (38.27 %) [ -1.6%]
+
+R=sanjay
+
+------------------------------------------------------------------------
+r59 | snappy.mirrorbot@gmail.com | 2012-02-21 18:02:17 +0100 (Tue, 21 Feb 2012) | 107 lines
+
+Enable the use of unaligned loads and stores for ARM-based architectures
+where they are available (ARMv7 and higher). This gives a significant
+speed boost on ARM, both for compression and decompression.
+It should not affect x86 at all.
+
+There are more changes possible to speed up ARM, but it might not be
+that easy to do without hurting x86 or making the code uglier.
+Also, we de not try to use NEON yet.
+
+Microbenchmark results on a Cortex-A9 1GHz, using g++ 4.6.2 (from Ubuntu/Linaro),
+-O2 -DNDEBUG -Wa,-march=armv7a -mtune=cortex-a9 -mthumb-interwork:
+
+Benchmark Time(ns) CPU(ns) Iterations
+---------------------------------------------------
+BM_UFlat/0 524806 529100 378 184.6MB/s html [+33.6%]
+BM_UFlat/1 5139790 5200000 100 128.8MB/s urls [+28.8%]
+BM_UFlat/2 86540 84166 1901 1.4GB/s jpg [ +0.6%]
+BM_UFlat/3 215351 210176 904 428.0MB/s pdf [+29.8%]
+BM_UFlat/4 2144490 2100000 100 186.0MB/s html4 [+33.3%]
+BM_UFlat/5 194482 190000 1000 123.5MB/s cp [+36.2%]
+BM_UFlat/6 91843 90175 2107 117.9MB/s c [+38.6%]
+BM_UFlat/7 28535 28426 6684 124.8MB/s lsp [+34.7%]
+BM_UFlat/8 9206600 9200000 100 106.7MB/s xls [+42.4%]
+BM_UFlat/9 1865273 1886792 106 76.9MB/s txt1 [+32.5%]
+BM_UFlat/10 1576809 1587301 126 75.2MB/s txt2 [+32.3%]
+BM_UFlat/11 4968450 4900000 100 83.1MB/s txt3 [+32.7%]
+BM_UFlat/12 6673970 6700000 100 68.6MB/s txt4 [+32.8%]
+BM_UFlat/13 2391470 2400000 100 203.9MB/s bin [+29.2%]
+BM_UFlat/14 334601 344827 522 105.8MB/s sum [+30.6%]
+BM_UFlat/15 37404 38080 5252 105.9MB/s man [+33.8%]
+BM_UFlat/16 535470 540540 370 209.2MB/s pb [+31.2%]
+BM_UFlat/17 1875245 1886792 106 93.2MB/s gaviota [+37.8%]
+BM_UValidate/0 178425 179533 1114 543.9MB/s html [ +2.7%]
+BM_UValidate/1 2100450 2000000 100 334.8MB/s urls [ +5.0%]
+BM_UValidate/2 1039 1044 172413 113.3GB/s jpg [ +3.4%]
+BM_UValidate/3 59423 59470 3363 1.5GB/s pdf [ +7.8%]
+BM_UValidate/4 760716 766283 261 509.8MB/s html4 [ +6.5%]
+BM_ZFlat/0 1204632 1204819 166 81.1MB/s html (23.57 %) [+32.8%]
+BM_ZFlat/1 15656190 15600000 100 42.9MB/s urls (50.89 %) [+27.6%]
+BM_ZFlat/2 403336 410677 487 294.8MB/s jpg (99.88 %) [+16.5%]
+BM_ZFlat/3 664073 671140 298 134.0MB/s pdf (82.13 %) [+28.4%]
+BM_ZFlat/4 4961940 4900000 100 79.7MB/s html4 (23.55 %) [+30.6%]
+BM_ZFlat/5 500664 501253 399 46.8MB/s cp (48.12 %) [+33.4%]
+BM_ZFlat/6 217276 215982 926 49.2MB/s c (42.40 %) [+25.0%]
+BM_ZFlat/7 64122 65487 3054 54.2MB/s lsp (48.37 %) [+36.1%]
+BM_ZFlat/8 18045730 18000000 100 54.6MB/s xls (41.34 %) [+34.4%]
+BM_ZFlat/9 4051530 4000000 100 36.3MB/s txt1 (59.81 %) [+25.0%]
+BM_ZFlat/10 3451800 3500000 100 34.1MB/s txt2 (64.07 %) [+25.7%]
+BM_ZFlat/11 11052340 11100000 100 36.7MB/s txt3 (57.11 %) [+24.3%]
+BM_ZFlat/12 14538690 14600000 100 31.5MB/s txt4 (68.35 %) [+24.7%]
+BM_ZFlat/13 5041850 5000000 100 97.9MB/s bin (18.21 %) [+32.0%]
+BM_ZFlat/14 908840 909090 220 40.1MB/s sum (51.88 %) [+22.2%]
+BM_ZFlat/15 86921 86206 1972 46.8MB/s man (59.36 %) [+42.2%]
+BM_ZFlat/16 1312315 1315789 152 86.0MB/s pb (23.15 %) [+34.5%]
+BM_ZFlat/17 3173120 3200000 100 54.9MB/s gaviota (38.27%) [+28.1%]
+
+
+The move from 64-bit to 32-bit operations for the copies also affected 32-bit x86;
+positive on the decompression side, and slightly negative on the compression side
+(unless that is noise; I only ran once):
+
+Benchmark Time(ns) CPU(ns) Iterations
+-----------------------------------------------------
+BM_UFlat/0 86279 86140 7778 1.1GB/s html [ +7.5%]
+BM_UFlat/1 839265 822622 778 813.9MB/s urls [ +9.4%]
+BM_UFlat/2 9180 9143 87500 12.9GB/s jpg [ +1.2%]
+BM_UFlat/3 35080 35000 20000 2.5GB/s pdf [+10.1%]
+BM_UFlat/4 350318 345000 2000 1.1GB/s html4 [ +7.0%]
+BM_UFlat/5 33808 33472 21212 701.0MB/s cp [ +9.0%]
+BM_UFlat/6 15201 15214 46667 698.9MB/s c [+14.9%]
+BM_UFlat/7 4652 4651 159091 762.9MB/s lsp [ +7.5%]
+BM_UFlat/8 1285551 1282528 538 765.7MB/s xls [+10.7%]
+BM_UFlat/9 282510 281690 2414 514.9MB/s txt1 [+13.6%]
+BM_UFlat/10 243494 239286 2800 498.9MB/s txt2 [+14.4%]
+BM_UFlat/11 743625 740000 1000 550.0MB/s txt3 [+14.3%]
+BM_UFlat/12 999441 989717 778 464.3MB/s txt4 [+16.1%]
+BM_UFlat/13 412402 410076 1707 1.2GB/s bin [ +7.3%]
+BM_UFlat/14 54876 54000 10000 675.3MB/s sum [+13.0%]
+BM_UFlat/15 6146 6100 100000 660.8MB/s man [+14.8%]
+BM_UFlat/16 90496 90286 8750 1.2GB/s pb [ +4.0%]
+BM_UFlat/17 292650 292000 2500 602.0MB/s gaviota [+18.1%]
+BM_UValidate/0 49620 49699 14286 1.9GB/s html [ +0.0%]
+BM_UValidate/1 501371 500000 1000 1.3GB/s urls [ +0.0%]
+BM_UValidate/2 232 227 3043478 521.5GB/s jpg [ +1.3%]
+BM_UValidate/3 17250 17143 43750 5.1GB/s pdf [ -1.3%]
+BM_UValidate/4 198643 200000 3500 1.9GB/s html4 [ -0.9%]
+BM_ZFlat/0 227128 229415 3182 425.7MB/s html (23.57 %) [ -1.4%]
+BM_ZFlat/1 2970089 2960000 250 226.2MB/s urls (50.89 %) [ -1.9%]
+BM_ZFlat/2 45683 44999 15556 2.6GB/s jpg (99.88 %) [ +2.2%]
+BM_ZFlat/3 114661 113136 6364 795.1MB/s pdf (82.13 %) [ -1.5%]
+BM_ZFlat/4 919702 914286 875 427.2MB/s html4 (23.55%) [ -1.3%]
+BM_ZFlat/5 108189 108422 6364 216.4MB/s cp (48.12 %) [ -1.2%]
+BM_ZFlat/6 44525 44000 15909 241.7MB/s c (42.40 %) [ -2.9%]
+BM_ZFlat/7 15973 15857 46667 223.8MB/s lsp (48.37 %) [ +0.0%]
+BM_ZFlat/8 2677888 2639405 269 372.1MB/s xls (41.34 %) [ -1.4%]
+BM_ZFlat/9 800715 780000 1000 186.0MB/s txt1 (59.81 %) [ -0.4%]
+BM_ZFlat/10 700089 700000 1000 170.5MB/s txt2 (64.07 %) [ -2.9%]
+BM_ZFlat/11 2159356 2138365 318 190.3MB/s txt3 (57.11 %) [ -0.3%]
+BM_ZFlat/12 2796143 2779923 259 165.3MB/s txt4 (68.35 %) [ -1.4%]
+BM_ZFlat/13 856458 835476 778 585.8MB/s bin (18.21 %) [ -0.1%]
+BM_ZFlat/14 166908 166857 4375 218.6MB/s sum (51.88 %) [ -1.4%]
+BM_ZFlat/15 21181 20857 35000 193.3MB/s man (59.36 %) [ -0.8%]
+BM_ZFlat/16 244009 239973 2917 471.3MB/s pb (23.15 %) [ -1.4%]
+BM_ZFlat/17 596362 590000 1000 297.9MB/s gaviota (38.27%) [ +0.0%]
+
+R=sanjay
+
+------------------------------------------------------------------------
+r58 | snappy.mirrorbot@gmail.com | 2012-02-11 23:11:22 +0100 (Sat, 11 Feb 2012) | 9 lines
+
+Lower the size allocated in the "corrupted input" unit test from 256 MB
+to 2 MB. This fixes issues with running the unit test on platforms with
+little RAM (e.g. some ARM boards).
+
+Also, reactivate the 2 MB test for 64-bit platforms; there's no good
+reason why it shouldn't be.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r57 | snappy.mirrorbot@gmail.com | 2012-01-08 18:55:48 +0100 (Sun, 08 Jan 2012) | 2 lines
+
+Minor refactoring to accomodate changes in Google's internal code tree.
+
+------------------------------------------------------------------------
+r56 | snappy.mirrorbot@gmail.com | 2012-01-04 14:10:46 +0100 (Wed, 04 Jan 2012) | 19 lines
+
+Fix public issue r57: Fix most warnings with -Wall, mostly signed/unsigned
+warnings. There are still some in the unit test, but the main .cc file should
+be clean. We haven't enabled -Wall for the default build, since the unit test
+is still not clean.
+
+This also fixes a real bug in the open-source implementation of
+ReadFileToStringOrDie(); it would not detect errors correctly.
+
+I had to go through some pains to avoid performance loss as the types
+were changed; I think there might still be some with 32-bit if and only if LFS
+is enabled (ie., size_t is 64-bit), but for regular 32-bit and 64-bit I can't
+see any losses, and I've diffed the generated GCC assembler between the old and
+new code without seeing any significant choices. If anything, it's ever so
+slightly faster.
+
+This may or may not enable compression of very large blocks (>2^32 bytes)
+when size_t is 64-bit, but I haven't checked, and it is still not a supported
+case.
+
+------------------------------------------------------------------------
+r55 | snappy.mirrorbot@gmail.com | 2012-01-04 11:46:39 +0100 (Wed, 04 Jan 2012) | 6 lines
+
+Add a framing format description. We do not have any implementation of this at
+the current point, but there seems to be enough of a general interest in the
+topic (cf. public bug #34).
+
+R=csilvers,sanjay
+
+------------------------------------------------------------------------
+r54 | snappy.mirrorbot@gmail.com | 2011-12-05 22:27:26 +0100 (Mon, 05 Dec 2011) | 81 lines
+
+Speed up decompression by moving the refill check to the end of the loop.
+
+This seems to work because in most of the branches, the compiler can evaluate
+“ip_limit_ - ip” in a more efficient way than reloading ip_limit_ from memory
+(either by already having the entire expression in a register, or reconstructing
+it from “avail”, or something else). Memory loads, even from L1, are seemingly
+costly in the big picture at the current decompression speeds.
+
+Microbenchmarks (64-bit, opt mode):
+
+Westmere (Intel Core i7):
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ --------------------------------------------
+ BM_UFlat/0 74492 74491 187894 1.3GB/s html [ +5.9%]
+ BM_UFlat/1 712268 712263 19644 940.0MB/s urls [ +3.8%]
+ BM_UFlat/2 10591 10590 1000000 11.2GB/s jpg [ -6.8%]
+ BM_UFlat/3 29643 29643 469915 3.0GB/s pdf [ +7.9%]
+ BM_UFlat/4 304669 304667 45930 1.3GB/s html4 [ +4.8%]
+ BM_UFlat/5 28508 28507 490077 823.1MB/s cp [ +4.0%]
+ BM_UFlat/6 12415 12415 1000000 856.5MB/s c [ +8.6%]
+ BM_UFlat/7 3415 3415 4084723 1039.0MB/s lsp [+18.0%]
+ BM_UFlat/8 979569 979563 14261 1002.5MB/s xls [ +5.8%]
+ BM_UFlat/9 230150 230148 60934 630.2MB/s txt1 [ +5.2%]
+ BM_UFlat/10 197167 197166 71135 605.5MB/s txt2 [ +4.7%]
+ BM_UFlat/11 607394 607390 23041 670.1MB/s txt3 [ +5.6%]
+ BM_UFlat/12 808502 808496 17316 568.4MB/s txt4 [ +5.0%]
+ BM_UFlat/13 372791 372788 37564 1.3GB/s bin [ +3.3%]
+ BM_UFlat/14 44541 44541 313969 818.8MB/s sum [ +5.7%]
+ BM_UFlat/15 4833 4833 2898697 834.1MB/s man [ +4.8%]
+ BM_UFlat/16 79855 79855 175356 1.4GB/s pb [ +4.8%]
+ BM_UFlat/17 245845 245843 56838 715.0MB/s gaviota [ +5.8%]
+
+Clovertown (Intel Core 2):
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ --------------------------------------------
+ BM_UFlat/0 107911 107890 100000 905.1MB/s html [ +2.2%]
+ BM_UFlat/1 1011237 1011041 10000 662.3MB/s urls [ +2.5%]
+ BM_UFlat/2 26775 26770 523089 4.4GB/s jpg [ +0.0%]
+ BM_UFlat/3 48103 48095 290618 1.8GB/s pdf [ +3.4%]
+ BM_UFlat/4 437724 437644 31937 892.6MB/s html4 [ +2.1%]
+ BM_UFlat/5 39607 39600 358284 592.5MB/s cp [ +2.4%]
+ BM_UFlat/6 18227 18224 768191 583.5MB/s c [ +2.7%]
+ BM_UFlat/7 5171 5170 2709437 686.4MB/s lsp [ +3.9%]
+ BM_UFlat/8 1560291 1559989 8970 629.5MB/s xls [ +3.6%]
+ BM_UFlat/9 335401 335343 41731 432.5MB/s txt1 [ +3.0%]
+ BM_UFlat/10 287014 286963 48758 416.0MB/s txt2 [ +2.8%]
+ BM_UFlat/11 888522 888356 15752 458.1MB/s txt3 [ +2.9%]
+ BM_UFlat/12 1186600 1186378 10000 387.3MB/s txt4 [ +3.1%]
+ BM_UFlat/13 572295 572188 24468 855.4MB/s bin [ +2.1%]
+ BM_UFlat/14 64060 64049 218401 569.4MB/s sum [ +4.1%]
+ BM_UFlat/15 7264 7263 1916168 555.0MB/s man [ +1.4%]
+ BM_UFlat/16 108853 108836 100000 1039.1MB/s pb [ +1.7%]
+ BM_UFlat/17 364289 364223 38419 482.6MB/s gaviota [ +4.9%]
+
+Barcelona (AMD Opteron):
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ --------------------------------------------
+ BM_UFlat/0 103900 103871 100000 940.2MB/s html [ +8.3%]
+ BM_UFlat/1 1000435 1000107 10000 669.5MB/s urls [ +6.6%]
+ BM_UFlat/2 24659 24652 567362 4.8GB/s jpg [ +0.1%]
+ BM_UFlat/3 48206 48193 291121 1.8GB/s pdf [ +5.0%]
+ BM_UFlat/4 421980 421850 33174 926.0MB/s html4 [ +7.3%]
+ BM_UFlat/5 40368 40357 346994 581.4MB/s cp [ +8.7%]
+ BM_UFlat/6 19836 19830 708695 536.2MB/s c [ +8.0%]
+ BM_UFlat/7 6100 6098 2292774 581.9MB/s lsp [ +9.0%]
+ BM_UFlat/8 1693093 1692514 8261 580.2MB/s xls [ +8.0%]
+ BM_UFlat/9 365991 365886 38225 396.4MB/s txt1 [ +7.1%]
+ BM_UFlat/10 311330 311238 44950 383.6MB/s txt2 [ +7.6%]
+ BM_UFlat/11 975037 974737 14376 417.5MB/s txt3 [ +6.9%]
+ BM_UFlat/12 1303558 1303175 10000 352.6MB/s txt4 [ +7.3%]
+ BM_UFlat/13 517448 517290 27144 946.2MB/s bin [ +5.5%]
+ BM_UFlat/14 66537 66518 210352 548.3MB/s sum [ +7.5%]
+ BM_UFlat/15 7976 7974 1760383 505.6MB/s man [ +5.6%]
+ BM_UFlat/16 103121 103092 100000 1097.0MB/s pb [ +8.7%]
+ BM_UFlat/17 391431 391314 35733 449.2MB/s gaviota [ +6.5%]
+
+R=sanjay
+
+------------------------------------------------------------------------
+r53 | snappy.mirrorbot@gmail.com | 2011-11-23 12:14:17 +0100 (Wed, 23 Nov 2011) | 88 lines
+
+Speed up decompression by making the fast path for literals faster.
+
+We do the fast-path step as soon as possible; in fact, as soon as we know the
+literal length. Since we usually hit the fast path, we can then skip the checks
+for long literals and available input space (beyond what the fast path check
+already does).
+
+Note that this changes the decompression Writer API; however, it does not
+change the ABI, since writers are always templatized and as such never
+cross compilation units. The new API is slightly more general, in that it
+doesn't hard-code the value 16. Note that we also take care to check
+for len <= 16 first, since the other two checks almost always succeed
+(so we don't want to waste time checking for them until we have to).
+
+The improvements are most marked on Nehalem, but are generally positive
+on other platforms as well. All microbenchmarks are 64-bit, opt.
+
+Clovertown (Core 2):
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ --------------------------------------------
+ BM_UFlat/0 110226 110224 100000 886.0MB/s html [ +1.5%]
+ BM_UFlat/1 1036523 1036508 10000 646.0MB/s urls [ -0.8%]
+ BM_UFlat/2 26775 26775 522570 4.4GB/s jpg [ +0.0%]
+ BM_UFlat/3 49738 49737 280974 1.8GB/s pdf [ +0.3%]
+ BM_UFlat/4 446790 446792 31334 874.3MB/s html4 [ +0.8%]
+ BM_UFlat/5 40561 40562 350424 578.5MB/s cp [ +1.3%]
+ BM_UFlat/6 18722 18722 746903 568.0MB/s c [ +1.4%]
+ BM_UFlat/7 5373 5373 2608632 660.5MB/s lsp [ +8.3%]
+ BM_UFlat/8 1615716 1615718 8670 607.8MB/s xls [ +2.0%]
+ BM_UFlat/9 345278 345281 40481 420.1MB/s txt1 [ +1.4%]
+ BM_UFlat/10 294855 294855 47452 404.9MB/s txt2 [ +1.6%]
+ BM_UFlat/11 914263 914263 15316 445.2MB/s txt3 [ +1.1%]
+ BM_UFlat/12 1222694 1222691 10000 375.8MB/s txt4 [ +1.4%]
+ BM_UFlat/13 584495 584489 23954 837.4MB/s bin [ -0.6%]
+ BM_UFlat/14 66662 66662 210123 547.1MB/s sum [ +1.2%]
+ BM_UFlat/15 7368 7368 1881856 547.1MB/s man [ +4.0%]
+ BM_UFlat/16 110727 110726 100000 1021.4MB/s pb [ +2.3%]
+ BM_UFlat/17 382138 382141 36616 460.0MB/s gaviota [ -0.7%]
+
+Westmere (Core i7):
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ --------------------------------------------
+ BM_UFlat/0 78861 78853 177703 1.2GB/s html [ +2.1%]
+ BM_UFlat/1 739560 739491 18912 905.4MB/s urls [ +3.4%]
+ BM_UFlat/2 9867 9866 1419014 12.0GB/s jpg [ +3.4%]
+ BM_UFlat/3 31989 31986 438385 2.7GB/s pdf [ +0.2%]
+ BM_UFlat/4 319406 319380 43771 1.2GB/s html4 [ +1.9%]
+ BM_UFlat/5 29639 29636 472862 791.7MB/s cp [ +5.2%]
+ BM_UFlat/6 13478 13477 1000000 789.0MB/s c [ +2.3%]
+ BM_UFlat/7 4030 4029 3475364 880.7MB/s lsp [ +8.7%]
+ BM_UFlat/8 1036585 1036492 10000 947.5MB/s xls [ +6.9%]
+ BM_UFlat/9 242127 242105 57838 599.1MB/s txt1 [ +3.0%]
+ BM_UFlat/10 206499 206480 67595 578.2MB/s txt2 [ +3.4%]
+ BM_UFlat/11 641635 641570 21811 634.4MB/s txt3 [ +2.4%]
+ BM_UFlat/12 848847 848769 16443 541.4MB/s txt4 [ +3.1%]
+ BM_UFlat/13 384968 384938 36366 1.2GB/s bin [ +0.3%]
+ BM_UFlat/14 47106 47101 297770 774.3MB/s sum [ +4.4%]
+ BM_UFlat/15 5063 5063 2772202 796.2MB/s man [ +7.7%]
+ BM_UFlat/16 83663 83656 167697 1.3GB/s pb [ +1.8%]
+ BM_UFlat/17 260224 260198 53823 675.6MB/s gaviota [ -0.5%]
+
+Barcelona (Opteron):
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ --------------------------------------------
+ BM_UFlat/0 112490 112457 100000 868.4MB/s html [ -0.4%]
+ BM_UFlat/1 1066719 1066339 10000 627.9MB/s urls [ +1.0%]
+ BM_UFlat/2 24679 24672 563802 4.8GB/s jpg [ +0.7%]
+ BM_UFlat/3 50603 50589 277285 1.7GB/s pdf [ +2.6%]
+ BM_UFlat/4 452982 452849 30900 862.6MB/s html4 [ -0.2%]
+ BM_UFlat/5 43860 43848 319554 535.1MB/s cp [ +1.2%]
+ BM_UFlat/6 21419 21413 653573 496.6MB/s c [ +1.0%]
+ BM_UFlat/7 6646 6645 2105405 534.1MB/s lsp [ +0.3%]
+ BM_UFlat/8 1828487 1827886 7658 537.3MB/s xls [ +2.6%]
+ BM_UFlat/9 391824 391714 35708 370.3MB/s txt1 [ +2.2%]
+ BM_UFlat/10 334913 334816 41885 356.6MB/s txt2 [ +1.7%]
+ BM_UFlat/11 1042062 1041674 10000 390.7MB/s txt3 [ +1.1%]
+ BM_UFlat/12 1398902 1398456 10000 328.6MB/s txt4 [ +1.7%]
+ BM_UFlat/13 545706 545530 25669 897.2MB/s bin [ -0.4%]
+ BM_UFlat/14 71512 71505 196035 510.0MB/s sum [ +1.4%]
+ BM_UFlat/15 8422 8421 1665036 478.7MB/s man [ +2.6%]
+ BM_UFlat/16 112053 112048 100000 1009.3MB/s pb [ -0.4%]
+ BM_UFlat/17 416723 416713 33612 421.8MB/s gaviota [ -2.0%]
+
+R=sanjay
+
+------------------------------------------------------------------------
+r52 | snappy.mirrorbot@gmail.com | 2011-11-08 15:46:39 +0100 (Tue, 08 Nov 2011) | 5 lines
+
+Fix public issue #53: Update the README to the API we actually open-sourced
+with.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r51 | snappy.mirrorbot@gmail.com | 2011-10-05 14:27:12 +0200 (Wed, 05 Oct 2011) | 5 lines
+
+In the format description, use a clearer example to emphasize that varints are
+stored in little-endian. Patch from Christian von Roques.
+
+R=csilvers
+
+------------------------------------------------------------------------
+r50 | snappy.mirrorbot@gmail.com | 2011-09-15 21:34:06 +0200 (Thu, 15 Sep 2011) | 4 lines
+
+Release Snappy 1.0.4.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r49 | snappy.mirrorbot@gmail.com | 2011-09-15 11:50:05 +0200 (Thu, 15 Sep 2011) | 5 lines
+
+Fix public issue #50: Include generic byteswap macros.
+Also include Solaris 10 and FreeBSD versions.
+
+R=csilvers
+
+------------------------------------------------------------------------
+r48 | snappy.mirrorbot@gmail.com | 2011-08-10 20:57:27 +0200 (Wed, 10 Aug 2011) | 5 lines
+
+Partially fix public issue 50: Remove an extra comma from the end of some
+enum declarations, as it seems the Sun compiler does not like it.
+
+Based on patch by Travis Vitek.
+
+------------------------------------------------------------------------
+r47 | snappy.mirrorbot@gmail.com | 2011-08-10 20:44:16 +0200 (Wed, 10 Aug 2011) | 4 lines
+
+Use the right #ifdef test for sys/mman.h.
+
+Based on patch by Travis Vitek.
+
+------------------------------------------------------------------------
+r46 | snappy.mirrorbot@gmail.com | 2011-08-10 03:22:09 +0200 (Wed, 10 Aug 2011) | 6 lines
+
+Fix public issue #47: Small comment cleanups in the unit test.
+
+Originally based on a patch by Patrick Pelletier.
+
+R=sanjay
+
+------------------------------------------------------------------------
+r45 | snappy.mirrorbot@gmail.com | 2011-08-10 03:14:43 +0200 (Wed, 10 Aug 2011) | 8 lines
+
+Fix public issue #46: Format description said "3-byte offset"
+instead of "4-byte offset" for the longest copies.
+
+Also fix an inconsistency in the heading for section 2.2.3.
+Both patches by Patrick Pelletier.
+
+R=csilvers
+
+------------------------------------------------------------------------
+r44 | snappy.mirrorbot@gmail.com | 2011-06-28 13:40:25 +0200 (Tue, 28 Jun 2011) | 8 lines
+
+Fix public issue #44: Make the definition and declaration of CompressFragment
+identical, even regarding cv-qualifiers.
+
+This is required to work around a bug in the Solaris Studio C++ compiler
+(it does not properly disregard cv-qualifiers when doing name mangling).
+
+R=sanjay
+
+------------------------------------------------------------------------
+r43 | snappy.mirrorbot@gmail.com | 2011-06-04 12:19:05 +0200 (Sat, 04 Jun 2011) | 7 lines
+
+Correct an inaccuracy in the Snappy format description.
+(I stumbled into this when changing the way we decompress literals.)
+
+R=csilvers
+
+Revision created by MOE tool push_codebase.
+
+------------------------------------------------------------------------
+r42 | snappy.mirrorbot@gmail.com | 2011-06-03 22:53:06 +0200 (Fri, 03 Jun 2011) | 50 lines
+
+Speed up decompression by removing a fast-path attempt.
+
+Whenever we try to enter a copy fast-path, there is a certain cost in checking
+that all the preconditions are in place, but it's normally offset by the fact
+that we can usually take the cheaper path. However, in a certain path we've
+already established that "avail < literal_length", which usually means that
+either the available space is small, or the literal is big. Both will disqualify
+us from taking the fast path, and thus we take the hit from the precondition
+checking without gaining much from having a fast path. Thus, simply don't try
+the fast path in this situation -- we're already on a slow path anyway
+(one where we need to refill more data from the reader).
+
+I'm a bit surprised at how much this gained; it could be that this path is
+more common than I thought, or that the simpler structure somehow makes the
+compiler happier. I haven't looked at the assembler, but it's a win across
+the board on both Core 2, Core i7 and Opteron, at least for the cases we
+typically care about. The gains seem to be the largest on Core i7, though.
+Results from my Core i7 workstation:
+
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ ---------------------------------------------------
+ BM_UFlat/0 73337 73091 190996 1.3GB/s html [ +1.7%]
+ BM_UFlat/1 696379 693501 20173 965.5MB/s urls [ +2.7%]
+ BM_UFlat/2 9765 9734 1472135 12.1GB/s jpg [ +0.7%]
+ BM_UFlat/3 29720 29621 472973 3.0GB/s pdf [ +1.8%]
+ BM_UFlat/4 294636 293834 47782 1.3GB/s html4 [ +2.3%]
+ BM_UFlat/5 28399 28320 494700 828.5MB/s cp [ +3.5%]
+ BM_UFlat/6 12795 12760 1000000 833.3MB/s c [ +1.2%]
+ BM_UFlat/7 3984 3973 3526448 893.2MB/s lsp [ +5.7%]
+ BM_UFlat/8 991996 989322 14141 992.6MB/s xls [ +3.3%]
+ BM_UFlat/9 228620 227835 61404 636.6MB/s txt1 [ +4.0%]
+ BM_UFlat/10 197114 196494 72165 607.5MB/s txt2 [ +3.5%]
+ BM_UFlat/11 605240 603437 23217 674.4MB/s txt3 [ +3.7%]
+ BM_UFlat/12 804157 802016 17456 573.0MB/s txt4 [ +3.9%]
+ BM_UFlat/13 347860 346998 40346 1.4GB/s bin [ +1.2%]
+ BM_UFlat/14 44684 44559 315315 818.4MB/s sum [ +2.3%]
+ BM_UFlat/15 5120 5106 2739726 789.4MB/s man [ +3.3%]
+ BM_UFlat/16 76591 76355 183486 1.4GB/s pb [ +2.8%]
+ BM_UFlat/17 238564 237828 58824 739.1MB/s gaviota [ +1.6%]
+ BM_UValidate/0 42194 42060 333333 2.3GB/s html [ -0.1%]
+ BM_UValidate/1 433182 432005 32407 1.5GB/s urls [ -0.1%]
+ BM_UValidate/2 197 196 71428571 603.3GB/s jpg [ +0.5%]
+ BM_UValidate/3 14494 14462 972222 6.1GB/s pdf [ +0.5%]
+ BM_UValidate/4 168444 167836 83832 2.3GB/s html4 [ +0.1%]
+
+R=jeff
+
+Revision created by MOE tool push_codebase.
+
+------------------------------------------------------------------------
+r41 | snappy.mirrorbot@gmail.com | 2011-06-03 22:47:14 +0200 (Fri, 03 Jun 2011) | 43 lines
+
+Speed up decompression by not needing a lookup table for literal items.
+
+Looking up into and decoding the values from char_table has long shown up as a
+hotspot in the decompressor. While it turns out that it's hard to make a more
+efficient decoder for the copy ops, the literals are simple enough that we can
+decode them without needing a table lookup. (This means that 1/4 of the table
+is now unused, although that in itself doesn't buy us anything.)
+
+The gains are small, but definitely present; some tests win as much as 10%,
+but 1-4% is more typical. These results are from Core i7, in 64-bit mode;
+Core 2 and Opteron show similar results. (I've run with more iterations
+than unusual to make sure the smaller gains don't drown entirely in noise.)
+
+ Benchmark Time(ns) CPU(ns) Iterations
+ ---------------------------------------------------
+ BM_UFlat/0 74665 74428 182055 1.3GB/s html [ +3.1%]
+ BM_UFlat/1 714106 711997 19663 940.4MB/s urls [ +4.4%]
+ BM_UFlat/2 9820 9789 1427115 12.1GB/s jpg [ -1.2%]
+ BM_UFlat/3 30461 30380 465116 2.9GB/s pdf [ +0.8%]
+ BM_UFlat/4 301445 300568 46512 1.3GB/s html4 [ +2.2%]
+ BM_UFlat/5 29338 29263 479452 801.8MB/s cp [ +1.6%]
+ BM_UFlat/6 13004 12970 1000000 819.9MB/s c [ +2.1%]
+ BM_UFlat/7 4180 4168 3349282 851.4MB/s lsp [ +1.3%]
+ BM_UFlat/8 1026149 1024000 10000 959.0MB/s xls [+10.7%]
+ BM_UFlat/9 237441 236830 59072 612.4MB/s txt1 [ +0.3%]
+ BM_UFlat/10 203966 203298 69307 587.2MB/s txt2 [ +0.8%]
+ BM_UFlat/11 627230 625000 22400 651.2MB/s txt3 [ +0.7%]
+ BM_UFlat/12 836188 833979 16787 551.0MB/s txt4 [ +1.3%]
+ BM_UFlat/13 351904 350750 39886 1.4GB/s bin [ +3.8%]
+ BM_UFlat/14 45685 45562 308370 800.4MB/s sum [ +5.9%]
+ BM_UFlat/15 5286 5270 2656546 764.9MB/s man [ +1.5%]
+ BM_UFlat/16 78774 78544 178117 1.4GB/s pb [ +4.3%]
+ BM_UFlat/17 242270 241345 58091 728.3MB/s gaviota [ +1.2%]
+ BM_UValidate/0 42149 42000 333333 2.3GB/s html [ -3.0%]
+ BM_UValidate/1 432741 431303 32483 1.5GB/s urls [ +7.8%]
+ BM_UValidate/2 198 197 71428571 600.7GB/s jpg [+16.8%]
+ BM_UValidate/3 14560 14521 965517 6.1GB/s pdf [ -4.1%]
+ BM_UValidate/4 169065 168671 83832 2.3GB/s html4 [ -2.9%]
+
+R=jeff
+
+Revision created by MOE tool push_codebase.
+
+------------------------------------------------------------------------
+r40 | snappy.mirrorbot@gmail.com | 2011-06-03 00:57:41 +0200 (Fri, 03 Jun 2011) | 2 lines
+
+Release Snappy 1.0.3.
+
+------------------------------------------------------------------------
+r39 | snappy.mirrorbot@gmail.com | 2011-06-02 20:06:54 +0200 (Thu, 02 Jun 2011) | 11 lines
+
+Remove an unneeded goto in the decompressor; it turns out that the
+state of ip_ after decompression (or attempted decompresion) is
+completely irrelevant, so we don't need the trailer.
+
+Performance is, as expected, mostly flat -- there's a curious ~3-5%
+loss in the "lsp" test, but that test case is so short it is hard to say
+anything definitive about why (most likely, it's some sort of
+unrelated effect).
+
+R=jeff
+
+------------------------------------------------------------------------
+r38 | snappy.mirrorbot@gmail.com | 2011-06-02 19:59:40 +0200 (Thu, 02 Jun 2011) | 52 lines
+
+Speed up decompression by caching ip_.
+
+It is seemingly hard for the compiler to understand that ip_, the current input
+pointer into the compressed data stream, can not alias on anything else, and
+thus using it directly will incur memory traffic as it cannot be kept in a
+register. The code already knew about this and cached it into a local
+variable, but since Step() only decoded one tag, it had to move ip_ back into
+place between every tag. This seems to have cost us a significant amount of
+performance, so changing Step() into a function that decodes as much as it can
+before it saves ip_ back and returns. (Note that Step() was already inlined,
+so it is not the manual inlining that buys the performance here.)
+
+The wins are about 3-6% for Core 2, 6-13% on Core i7 and 5-12% on Opteron
+(for plain array-to-array decompression, in 64-bit opt mode).
+
+There is a tiny difference in the behavior here; if an invalid literal is
+encountered (ie., the writer refuses the Append() operation), ip_ will now
+point to the byte past the tag byte, instead of where the literal was
+originally thought to end. However, we don't use ip_ for anything after
+DecompressAllTags() has returned, so this should not change external behavior
+in any way.
+
+Microbenchmark results for Core i7, 64-bit (Opteron results are similar):
+
+Benchmark Time(ns) CPU(ns) Iterations
+---------------------------------------------------
+BM_UFlat/0 79134 79110 8835 1.2GB/s html [ +6.2%]
+BM_UFlat/1 786126 786096 891 851.8MB/s urls [+10.0%]
+BM_UFlat/2 9948 9948 69125 11.9GB/s jpg [ -1.3%]
+BM_UFlat/3 31999 31998 21898 2.7GB/s pdf [ +6.5%]
+BM_UFlat/4 318909 318829 2204 1.2GB/s html4 [ +6.5%]
+BM_UFlat/5 31384 31390 22363 747.5MB/s cp [ +9.2%]
+BM_UFlat/6 14037 14034 49858 757.7MB/s c [+10.6%]
+BM_UFlat/7 4612 4612 151395 769.5MB/s lsp [ +9.5%]
+BM_UFlat/8 1203174 1203007 582 816.3MB/s xls [+19.3%]
+BM_UFlat/9 253869 253955 2757 571.1MB/s txt1 [+11.4%]
+BM_UFlat/10 219292 219290 3194 544.4MB/s txt2 [+12.1%]
+BM_UFlat/11 672135 672131 1000 605.5MB/s txt3 [+11.2%]
+BM_UFlat/12 902512 902492 776 509.2MB/s txt4 [+12.5%]
+BM_UFlat/13 372110 371998 1881 1.3GB/s bin [ +5.8%]
+BM_UFlat/14 50407 50407 10000 723.5MB/s sum [+13.5%]
+BM_UFlat/15 5699 5701 100000 707.2MB/s man [+12.4%]
+BM_UFlat/16 83448 83424 8383 1.3GB/s pb [ +5.7%]
+BM_UFlat/17 256958 256963 2723 684.1MB/s gaviota [ +7.9%]
+BM_UValidate/0 42795 42796 16351 2.2GB/s html [+25.8%]
+BM_UValidate/1 490672 490622 1427 1.3GB/s urls [+22.7%]
+BM_UValidate/2 237 237 2950297 499.0GB/s jpg [+24.9%]
+BM_UValidate/3 14610 14611 47901 6.0GB/s pdf [+26.8%]
+BM_UValidate/4 171973 171990 4071 2.2GB/s html4 [+25.7%]
+
+
+
+------------------------------------------------------------------------
+r37 | snappy.mirrorbot@gmail.com | 2011-05-17 10:48:25 +0200 (Tue, 17 May 2011) | 10 lines
+
+
+Fix the numbering of the headlines in the Snappy format description.
+
+R=csilvers
+DELTA=4 (0 added, 0 deleted, 4 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1906
+
+------------------------------------------------------------------------
+r36 | snappy.mirrorbot@gmail.com | 2011-05-16 10:59:18 +0200 (Mon, 16 May 2011) | 12 lines
+
+
+Fix public issue #32: Add compressed format documentation for Snappy.
+This text is new, but an earlier version from Zeev Tarantov was used
+as reference.
+
+R=csilvers
+DELTA=112 (111 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1867
+
+------------------------------------------------------------------------
+r35 | snappy.mirrorbot@gmail.com | 2011-05-09 23:29:02 +0200 (Mon, 09 May 2011) | 12 lines
+
+
+Fix public issue #39: Pick out the median runs based on CPU time,
+not real time. Also, use nth_element instead of sort, since we
+only need one element.
+
+R=csilvers
+DELTA=5 (3 added, 0 deleted, 2 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1799
+
+------------------------------------------------------------------------
+r34 | snappy.mirrorbot@gmail.com | 2011-05-09 23:28:45 +0200 (Mon, 09 May 2011) | 19 lines
+
+
+Fix public issue #38: Make the microbenchmark framework handle
+properly cases where gettimeofday() can stand return the same
+result twice (as sometimes on GNU/Hurd) or go backwards
+(as when the user adjusts the clock). We avoid a division-by-zero,
+and put a lower bound on the number of iterations -- the same
+amount as we use to calibrate.
+
+We should probably use CLOCK_MONOTONIC for platforms that support
+it, to be robust against clock adjustments; we already use Windows'
+monotonic timers. However, that's for a later changelist.
+
+R=csilvers
+DELTA=7 (5 added, 0 deleted, 2 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1798
+
+------------------------------------------------------------------------
+r33 | snappy.mirrorbot@gmail.com | 2011-05-04 01:22:52 +0200 (Wed, 04 May 2011) | 11 lines
+
+
+Fix public issue #37: Only link snappy_unittest against -lz and other autodetected
+libraries, not libsnappy.so (which doesn't need any such dependency).
+
+R=csilvers
+DELTA=20 (14 added, 0 deleted, 6 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1710
+
+------------------------------------------------------------------------
+r32 | snappy.mirrorbot@gmail.com | 2011-05-04 01:22:33 +0200 (Wed, 04 May 2011) | 11 lines
+
+
+Release Snappy 1.0.2, to get the license change and various other fixes into
+a release.
+
+R=csilvers
+DELTA=239 (236 added, 0 deleted, 3 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1709
+
+------------------------------------------------------------------------
+r31 | snappy.mirrorbot@gmail.com | 2011-04-26 14:34:55 +0200 (Tue, 26 Apr 2011) | 15 lines
+
+
+Fix public issue #30: Stop using gettimeofday() altogether on Win32,
+as MSVC doesn't include it. Replace with QueryPerformanceCounter(),
+which is monotonic and probably reasonably high-resolution.
+(Some machines have traditionally had bugs in QPC, but they should
+be relatively rare these days, and there's really no much better
+alternative that I know of.)
+
+R=csilvers
+DELTA=74 (55 added, 19 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1556
+
+------------------------------------------------------------------------
+r30 | snappy.mirrorbot@gmail.com | 2011-04-26 14:34:37 +0200 (Tue, 26 Apr 2011) | 11 lines
+
+
+Fix public issue #31: Don't reset PATH in autogen.sh; instead, do the trickery
+we need for our own build system internally.
+
+R=csilvers
+DELTA=16 (13 added, 1 deleted, 2 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1555
+
+------------------------------------------------------------------------
+r29 | snappy.mirrorbot@gmail.com | 2011-04-16 00:55:56 +0200 (Sat, 16 Apr 2011) | 12 lines
+
+
+When including <windows.h>, define WIN32_LEAN_AND_MEAN first,
+so we won't pull in macro definitions of things like min() and max(),
+which can conflict with <algorithm>.
+
+R=csilvers
+DELTA=1 (1 added, 0 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1485
+
+------------------------------------------------------------------------
+r28 | snappy.mirrorbot@gmail.com | 2011-04-11 11:07:01 +0200 (Mon, 11 Apr 2011) | 15 lines
+
+
+Fix public issue #29: Write CPU timing code for Windows, based on GetProcessTimes()
+instead of getursage().
+
+I thought I'd already committed this patch, so that the 1.0.1 release already
+would have a Windows-compatible snappy_unittest, but I'd seemingly deleted it
+instead, so this is a reconstruction.
+
+R=csilvers
+DELTA=43 (39 added, 3 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1295
+
+------------------------------------------------------------------------
+r27 | snappy.mirrorbot@gmail.com | 2011-04-08 11:51:53 +0200 (Fri, 08 Apr 2011) | 22 lines
+
+
+Include C bindings of Snappy, contributed by Martin Gieseking.
+
+I've made a few changes since Martin's version; mostly style nits, but also
+a semantic change -- most functions that return bool in the C++ version now
+return an enum, to better match typical C (and zlib) semantics.
+
+I've kept the copyright notice, since Martin is obviously the author here;
+he has signed the contributor license agreement, though, so this should not
+hinder Google's use in the future.
+
+We'll need to update the libtool version number to match the added interface,
+but as of http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+I'm going to wait until public release.
+
+R=csilvers
+DELTA=238 (233 added, 0 deleted, 5 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1294
+
+------------------------------------------------------------------------
+r26 | snappy.mirrorbot@gmail.com | 2011-04-07 18:36:43 +0200 (Thu, 07 Apr 2011) | 13 lines
+
+
+Replace geo.protodata with a newer version.
+
+The data compresses/decompresses slightly faster than the old data, and has
+similar density.
+
+R=lookingbill
+DELTA=1 (0 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1288
+
+------------------------------------------------------------------------
+r25 | snappy.mirrorbot@gmail.com | 2011-03-30 22:27:53 +0200 (Wed, 30 Mar 2011) | 12 lines
+
+
+Fix public issue #27: Add HAVE_CONFIG_H tests around the config.h
+inclusion in snappy-stubs-internal.h, which eases compiling outside the
+automake/autoconf framework.
+
+R=csilvers
+DELTA=5 (4 added, 1 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1152
+
+------------------------------------------------------------------------
+r24 | snappy.mirrorbot@gmail.com | 2011-03-30 22:27:39 +0200 (Wed, 30 Mar 2011) | 13 lines
+
+
+Fix public issue #26: Take memory allocation and reallocation entirely out of the
+Measure() loop. This gives all algorithms a small speed boost, except Snappy which
+already didn't do reallocation (so the measurements were slightly biased in its
+favor).
+
+R=csilvers
+DELTA=92 (69 added, 9 deleted, 14 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1151
+
+------------------------------------------------------------------------
+r23 | snappy.mirrorbot@gmail.com | 2011-03-30 22:25:09 +0200 (Wed, 30 Mar 2011) | 18 lines
+
+
+Renamed "namespace zippy" to "namespace snappy" to reduce
+the differences from the opensource code. Will make it easier
+in the future to mix-and-match third-party code that uses
+snappy with google code.
+
+Currently, csearch shows that the only external user of
+"namespace zippy" is some bigtable code that accesses
+a TEST variable, which is temporarily kept in the zippy
+namespace.
+
+R=sesse
+DELTA=123 (18 added, 3 deleted, 102 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1150
+
+------------------------------------------------------------------------
+r22 | snappy.mirrorbot@gmail.com | 2011-03-29 00:17:04 +0200 (Tue, 29 Mar 2011) | 11 lines
+
+
+Put back the final few lines of what was truncated during the
+license header change.
+
+R=csilvers
+DELTA=5 (4 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1094
+
+------------------------------------------------------------------------
+r21 | snappy.mirrorbot@gmail.com | 2011-03-26 03:34:34 +0100 (Sat, 26 Mar 2011) | 20 lines
+
+
+Change on 2011-03-25 19:18:00-07:00 by sesse
+
+ Replace the Apache 2.0 license header by the BSD-type license header;
+ somehow a lot of the files were missed in the last round.
+
+ R=dannyb,csilvers
+ DELTA=147 (74 added, 2 deleted, 71 changed)
+
+Change on 2011-03-25 19:25:07-07:00 by sesse
+
+ Unbreak the build; the relicensing removed a bit too much (only comments
+ were intended, but I also accidentially removed some of the top lines of
+ the actual source).
+
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1072
+
+------------------------------------------------------------------------
+r20 | snappy.mirrorbot@gmail.com | 2011-03-25 17:14:41 +0100 (Fri, 25 Mar 2011) | 10 lines
+
+
+Change Snappy from the Apache 2.0 to a BSD-type license.
+
+R=dannyb
+DELTA=328 (80 added, 184 deleted, 64 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1061
+
+------------------------------------------------------------------------
+r19 | snappy.mirrorbot@gmail.com | 2011-03-25 01:39:01 +0100 (Fri, 25 Mar 2011) | 11 lines
+
+
+Release Snappy 1.0.1, to soup up all the various small changes
+that have been made since release.
+
+R=csilvers
+DELTA=266 (260 added, 0 deleted, 6 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1057
+
+------------------------------------------------------------------------
+r18 | snappy.mirrorbot@gmail.com | 2011-03-24 20:15:54 +0100 (Thu, 24 Mar 2011) | 11 lines
+
+
+Fix a microbenchmark crash on mingw32; seemingly %lld is not universally
+supported on Windows, and %I64d is recommended instead.
+
+R=csilvers
+DELTA=6 (5 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1034
+
+------------------------------------------------------------------------
+r17 | snappy.mirrorbot@gmail.com | 2011-03-24 20:15:27 +0100 (Thu, 24 Mar 2011) | 13 lines
+
+
+Fix public issue #19: Fix unit test when Google Test is installed but the
+gflags package isn't (Google Test is not properly initialized).
+
+Patch by Martin Gieseking.
+
+R=csilvers
+DELTA=2 (1 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1033
+
+------------------------------------------------------------------------
+r16 | snappy.mirrorbot@gmail.com | 2011-03-24 20:13:57 +0100 (Thu, 24 Mar 2011) | 15 lines
+
+
+Make the unit test work on systems without mmap(). This is required for,
+among others, Windows support. For Windows in specific, we could have used
+CreateFileMapping/MapViewOfFile, but this should at least get us a bit closer
+to compiling, and is of course also relevant for embedded systems with no MMU.
+
+(Part 2/2)
+
+R=csilvers
+DELTA=15 (12 added, 3 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1032
+
+------------------------------------------------------------------------
+r15 | snappy.mirrorbot@gmail.com | 2011-03-24 20:12:27 +0100 (Thu, 24 Mar 2011) | 15 lines
+
+
+Make the unit test work on systems without mmap(). This is required for,
+among others, Windows support. For Windows in specific, we could have used
+CreateFileMapping/MapViewOfFile, but this should at least get us a bit closer
+to compiling, and is of course also relevant for embedded systems with no MMU.
+
+(Part 1/2)
+
+R=csilvers
+DELTA=9 (8 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1031
+
+------------------------------------------------------------------------
+r14 | snappy.mirrorbot@gmail.com | 2011-03-24 00:17:36 +0100 (Thu, 24 Mar 2011) | 14 lines
+
+
+Fix public issue #12: Don't keep autogenerated auto* files in Subversion;
+it causes problems with others sending patches etc..
+
+We can't get this 100% hermetic anyhow, due to files like lt~obsolete.m4,
+so we can just as well go cleanly in the other direction.
+
+R=csilvers
+DELTA=21038 (0 added, 21036 deleted, 2 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=1012
+
+------------------------------------------------------------------------
+r13 | snappy.mirrorbot@gmail.com | 2011-03-23 18:50:49 +0100 (Wed, 23 Mar 2011) | 11 lines
+
+
+Fix public issue tracker bug #3: Call AC_SUBST([LIBTOOL_DEPS]), or the rule
+to rebuild libtool in Makefile.am won't work.
+
+R=csilvers
+DELTA=1 (1 added, 0 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=997
+
+------------------------------------------------------------------------
+r12 | snappy.mirrorbot@gmail.com | 2011-03-23 12:16:39 +0100 (Wed, 23 Mar 2011) | 11 lines
+
+
+Fix public issue #10: Don't add GTEST_CPPFLAGS to snappy_unittest_CXXFLAGS;
+it's not needed (CPPFLAGS are always included when compiling).
+
+R=csilvers
+DELTA=1 (0 added, 1 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=994
+
+------------------------------------------------------------------------
+r11 | snappy.mirrorbot@gmail.com | 2011-03-23 12:16:18 +0100 (Wed, 23 Mar 2011) | 11 lines
+
+
+Fix public issue #9: Add -Wall -Werror to automake flags.
+(This concerns automake itself, not the C++ compiler.)
+
+R=csilvers
+DELTA=4 (3 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=993
+
+------------------------------------------------------------------------
+r10 | snappy.mirrorbot@gmail.com | 2011-03-23 12:13:37 +0100 (Wed, 23 Mar 2011) | 10 lines
+
+
+Fix a typo in the Snappy README file.
+
+R=csilvers
+DELTA=1 (0 added, 0 deleted, 1 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=992
+
+------------------------------------------------------------------------
+r9 | snappy.mirrorbot@gmail.com | 2011-03-23 12:13:13 +0100 (Wed, 23 Mar 2011) | 11 lines
+
+
+Fix public issue #6: Add a --with-gflags for disabling gflags autodetection
+and using a manually given setting (use/don't use) instead.
+
+R=csilvers
+DELTA=16 (13 added, 0 deleted, 3 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=991
+
+------------------------------------------------------------------------
+r8 | snappy.mirrorbot@gmail.com | 2011-03-23 12:12:44 +0100 (Wed, 23 Mar 2011) | 12 lines
+
+
+Fix public issue #5: Replace the EXTRA_LIBSNAPPY_LDFLAGS setup with something
+slightly more standard, that also doesn't leak libtool command-line into
+configure.ac.
+
+R=csilvers
+DELTA=7 (0 added, 4 deleted, 3 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=990
+
+------------------------------------------------------------------------
+r7 | snappy.mirrorbot@gmail.com | 2011-03-23 12:12:22 +0100 (Wed, 23 Mar 2011) | 10 lines
+
+
+Fix public issue #4: Properly quote all macro arguments in configure.ac.
+
+R=csilvers
+DELTA=16 (0 added, 0 deleted, 16 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=989
+
+------------------------------------------------------------------------
+r6 | snappy.mirrorbot@gmail.com | 2011-03-23 12:11:54 +0100 (Wed, 23 Mar 2011) | 11 lines
+
+
+Fix public issue #7: Don't use internal variables named ac_*, as those belong
+to autoconf's namespace.
+
+R=csilvers
+DELTA=6 (0 added, 0 deleted, 6 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=988
+
+------------------------------------------------------------------------
+r5 | snappy.mirrorbot@gmail.com | 2011-03-23 12:11:09 +0100 (Wed, 23 Mar 2011) | 10 lines
+
+
+Add missing licensing headers to a few files. (Part 2/2.)
+
+R=csilvers
+DELTA=12 (12 added, 0 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=987
+
+------------------------------------------------------------------------
+r4 | snappy.mirrorbot@gmail.com | 2011-03-23 12:10:39 +0100 (Wed, 23 Mar 2011) | 10 lines
+
+
+Add mising licensing headers to a few files. (Part 1/2.)
+
+R=csilvers
+DELTA=24 (24 added, 0 deleted, 0 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=986
+
+------------------------------------------------------------------------
+r3 | snappy.mirrorbot@gmail.com | 2011-03-23 12:10:04 +0100 (Wed, 23 Mar 2011) | 11 lines
+
+
+Use the correct license file for the Apache 2.0 license;
+spotted by Florian Weimer.
+
+R=csilvers
+DELTA=202 (174 added, 0 deleted, 28 changed)
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=985
+
+------------------------------------------------------------------------
+r2 | snappy.mirrorbot@gmail.com | 2011-03-18 18:14:15 +0100 (Fri, 18 Mar 2011) | 6 lines
+
+
+
+
+Revision created by MOE tool push_codebase.
+MOE_MIGRATION=
+
+------------------------------------------------------------------------
+r1 | sesse@google.com | 2011-03-18 18:13:52 +0100 (Fri, 18 Mar 2011) | 2 lines
+
+Create trunk directory.
+
+------------------------------------------------------------------------
diff --git a/snappy-1.1.0/INSTALL b/snappy-1.1.0/INSTALL
new file mode 100644
index 0000000..a1e89e1
--- /dev/null
+++ b/snappy-1.1.0/INSTALL
@@ -0,0 +1,370 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
diff --git a/snappy-1.1.0/Makefile.am b/snappy-1.1.0/Makefile.am
new file mode 100644
index 0000000..f17b2e3
--- /dev/null
+++ b/snappy-1.1.0/Makefile.am
@@ -0,0 +1,23 @@
+ACLOCAL_AMFLAGS = -I m4
+
+# Library.
+lib_LTLIBRARIES = libsnappy.la
+libsnappy_la_SOURCES = snappy.cc snappy-sinksource.cc snappy-stubs-internal.cc snappy-c.cc
+libsnappy_la_LDFLAGS = -version-info $(SNAPPY_LTVERSION)
+
+include_HEADERS = snappy.h snappy-sinksource.h snappy-stubs-public.h snappy-c.h
+noinst_HEADERS = snappy-internal.h snappy-stubs-internal.h snappy-test.h
+
+# Unit tests and benchmarks.
+snappy_unittest_CPPFLAGS = $(gflags_CFLAGS) $(GTEST_CPPFLAGS)
+snappy_unittest_SOURCES = snappy_unittest.cc snappy-test.cc
+snappy_unittest_LDFLAGS = $(GTEST_LDFLAGS)
+snappy_unittest_LDADD = libsnappy.la $(UNITTEST_LIBS) $(gflags_LIBS) $(GTEST_LIBS)
+TESTS = snappy_unittest
+noinst_PROGRAMS = $(TESTS)
+
+EXTRA_DIST = autogen.sh testdata/alice29.txt testdata/asyoulik.txt testdata/baddata1.snappy testdata/baddata2.snappy testdata/baddata3.snappy testdata/cp.html testdata/fields.c testdata/geo.protodata testdata/grammar.lsp testdata/house.jpg testdata/html testdata/html_x_4 testdata/kennedy.xls testdata/kppkn.gtb testdata/lcet10.txt testdata/mapreduce-osdi-1.pdf testdata/plrabn12.txt testdata/ptt5 testdata/sum testdata/urls.10K testdata/xargs.1
+dist_doc_DATA = ChangeLog COPYING INSTALL NEWS README format_description.txt framing_format.txt
+
+libtool: $(LIBTOOL_DEPS)
+ $(SHELL) ./config.status --recheck
diff --git a/snappy-1.1.0/Makefile.in b/snappy-1.1.0/Makefile.in
new file mode 100644
index 0000000..62726d8
--- /dev/null
+++ b/snappy-1.1.0/Makefile.in
@@ -0,0 +1,956 @@
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+TESTS = snappy_unittest$(EXEEXT)
+noinst_PROGRAMS = $(am__EXEEXT_1)
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \
+ $(include_HEADERS) $(noinst_HEADERS) $(srcdir)/Makefile.am \
+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/snappy-stubs-public.h.in $(top_srcdir)/configure \
+ AUTHORS COPYING ChangeLog INSTALL NEWS config.guess config.sub \
+ depcomp install-sh ltmain.sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gtest.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = snappy-stubs-public.h
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" \
+ "$(DESTDIR)$(includedir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libsnappy_la_LIBADD =
+am_libsnappy_la_OBJECTS = snappy.lo snappy-sinksource.lo \
+ snappy-stubs-internal.lo snappy-c.lo
+libsnappy_la_OBJECTS = $(am_libsnappy_la_OBJECTS)
+libsnappy_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(libsnappy_la_LDFLAGS) $(LDFLAGS) -o $@
+am__EXEEXT_1 = snappy_unittest$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+am_snappy_unittest_OBJECTS = \
+ snappy_unittest-snappy_unittest.$(OBJEXT) \
+ snappy_unittest-snappy-test.$(OBJEXT)
+snappy_unittest_OBJECTS = $(am_snappy_unittest_OBJECTS)
+am__DEPENDENCIES_1 =
+snappy_unittest_DEPENDENCIES = libsnappy.la $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+snappy_unittest_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+ $(CXXFLAGS) $(snappy_unittest_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libsnappy_la_SOURCES) $(snappy_unittest_SOURCES)
+DIST_SOURCES = $(libsnappy_la_SOURCES) $(snappy_unittest_SOURCES)
+DATA = $(dist_doc_DATA)
+HEADERS = $(include_HEADERS) $(noinst_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+GTEST_CONFIG = @GTEST_CONFIG@
+GTEST_CPPFLAGS = @GTEST_CPPFLAGS@
+GTEST_CXXFLAGS = @GTEST_CXXFLAGS@
+GTEST_LDFLAGS = @GTEST_LDFLAGS@
+GTEST_LIBS = @GTEST_LIBS@
+GTEST_VERSION = @GTEST_VERSION@
+HAVE_GTEST = @HAVE_GTEST@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBTOOL_DEPS = @LIBTOOL_DEPS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SNAPPY_LTVERSION = @SNAPPY_LTVERSION@
+SNAPPY_MAJOR = @SNAPPY_MAJOR@
+SNAPPY_MINOR = @SNAPPY_MINOR@
+SNAPPY_PATCHLEVEL = @SNAPPY_PATCHLEVEL@
+STRIP = @STRIP@
+UNITTEST_LIBS = @UNITTEST_LIBS@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_cv_have_stddef_h = @ac_cv_have_stddef_h@
+ac_cv_have_stdint_h = @ac_cv_have_stdint_h@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gflags_CFLAGS = @gflags_CFLAGS@
+gflags_LIBS = @gflags_LIBS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+ACLOCAL_AMFLAGS = -I m4
+
+# Library.
+lib_LTLIBRARIES = libsnappy.la
+libsnappy_la_SOURCES = snappy.cc snappy-sinksource.cc snappy-stubs-internal.cc snappy-c.cc
+libsnappy_la_LDFLAGS = -version-info $(SNAPPY_LTVERSION)
+include_HEADERS = snappy.h snappy-sinksource.h snappy-stubs-public.h snappy-c.h
+noinst_HEADERS = snappy-internal.h snappy-stubs-internal.h snappy-test.h
+
+# Unit tests and benchmarks.
+snappy_unittest_CPPFLAGS = $(gflags_CFLAGS) $(GTEST_CPPFLAGS)
+snappy_unittest_SOURCES = snappy_unittest.cc snappy-test.cc
+snappy_unittest_LDFLAGS = $(GTEST_LDFLAGS)
+snappy_unittest_LDADD = libsnappy.la $(UNITTEST_LIBS) $(gflags_LIBS) $(GTEST_LIBS)
+EXTRA_DIST = autogen.sh testdata/alice29.txt testdata/asyoulik.txt testdata/baddata1.snappy testdata/baddata2.snappy testdata/baddata3.snappy testdata/cp.html testdata/fields.c testdata/geo.protodata testdata/grammar.lsp testdata/house.jpg testdata/html testdata/html_x_4 testdata/kennedy.xls testdata/kppkn.gtb testdata/lcet10.txt testdata/mapreduce-osdi-1.pdf testdata/plrabn12.txt testdata/ptt5 testdata/sum testdata/urls.10K testdata/xargs.1
+dist_doc_DATA = ChangeLog COPYING INSTALL NEWS README format_description.txt framing_format.txt
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+am--refresh: Makefile
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @if test ! -f $@; then rm -f stamp-h1; else :; fi
+ @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+snappy-stubs-public.h: $(top_builddir)/config.status $(srcdir)/snappy-stubs-public.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libsnappy.la: $(libsnappy_la_OBJECTS) $(libsnappy_la_DEPENDENCIES) $(EXTRA_libsnappy_la_DEPENDENCIES)
+ $(libsnappy_la_LINK) -rpath $(libdir) $(libsnappy_la_OBJECTS) $(libsnappy_la_LIBADD) $(LIBS)
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+snappy_unittest$(EXEEXT): $(snappy_unittest_OBJECTS) $(snappy_unittest_DEPENDENCIES) $(EXTRA_snappy_unittest_DEPENDENCIES)
+ @rm -f snappy_unittest$(EXEEXT)
+ $(snappy_unittest_LINK) $(snappy_unittest_OBJECTS) $(snappy_unittest_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snappy-c.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snappy-sinksource.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snappy-stubs-internal.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snappy.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snappy_unittest-snappy-test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snappy_unittest-snappy_unittest.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
+
+snappy_unittest-snappy_unittest.o: snappy_unittest.cc
+@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snappy_unittest-snappy_unittest.o -MD -MP -MF $(DEPDIR)/snappy_unittest-snappy_unittest.Tpo -c -o snappy_unittest-snappy_unittest.o `test -f 'snappy_unittest.cc' || echo '$(srcdir)/'`snappy_unittest.cc
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/snappy_unittest-snappy_unittest.Tpo $(DEPDIR)/snappy_unittest-snappy_unittest.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='snappy_unittest.cc' object='snappy_unittest-snappy_unittest.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snappy_unittest-snappy_unittest.o `test -f 'snappy_unittest.cc' || echo '$(srcdir)/'`snappy_unittest.cc
+
+snappy_unittest-snappy_unittest.obj: snappy_unittest.cc
+@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snappy_unittest-snappy_unittest.obj -MD -MP -MF $(DEPDIR)/snappy_unittest-snappy_unittest.Tpo -c -o snappy_unittest-snappy_unittest.obj `if test -f 'snappy_unittest.cc'; then $(CYGPATH_W) 'snappy_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/snappy_unittest.cc'; fi`
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/snappy_unittest-snappy_unittest.Tpo $(DEPDIR)/snappy_unittest-snappy_unittest.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='snappy_unittest.cc' object='snappy_unittest-snappy_unittest.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snappy_unittest-snappy_unittest.obj `if test -f 'snappy_unittest.cc'; then $(CYGPATH_W) 'snappy_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/snappy_unittest.cc'; fi`
+
+snappy_unittest-snappy-test.o: snappy-test.cc
+@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snappy_unittest-snappy-test.o -MD -MP -MF $(DEPDIR)/snappy_unittest-snappy-test.Tpo -c -o snappy_unittest-snappy-test.o `test -f 'snappy-test.cc' || echo '$(srcdir)/'`snappy-test.cc
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/snappy_unittest-snappy-test.Tpo $(DEPDIR)/snappy_unittest-snappy-test.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='snappy-test.cc' object='snappy_unittest-snappy-test.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snappy_unittest-snappy-test.o `test -f 'snappy-test.cc' || echo '$(srcdir)/'`snappy-test.cc
+
+snappy_unittest-snappy-test.obj: snappy-test.cc
+@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT snappy_unittest-snappy-test.obj -MD -MP -MF $(DEPDIR)/snappy_unittest-snappy-test.Tpo -c -o snappy_unittest-snappy-test.obj `if test -f 'snappy-test.cc'; then $(CYGPATH_W) 'snappy-test.cc'; else $(CYGPATH_W) '$(srcdir)/snappy-test.cc'; fi`
+@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/snappy_unittest-snappy-test.Tpo $(DEPDIR)/snappy_unittest-snappy-test.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='snappy-test.cc' object='snappy_unittest-snappy-test.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(snappy_unittest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o snappy_unittest-snappy-test.obj `if test -f 'snappy-test.cc'; then $(CYGPATH_W) 'snappy-test.cc'; else $(CYGPATH_W) '$(srcdir)/snappy-test.cc'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+install-dist_docDATA: $(dist_doc_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
+ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
+ done
+
+uninstall-dist_docDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
+install-includeHEADERS: $(include_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
+ done
+
+uninstall-includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+ @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+ srcdir=$(srcdir); export srcdir; \
+ list=' $(TESTS) '; \
+ $(am__tty_colors); \
+ if test -n "$$list"; then \
+ for tst in $$list; do \
+ if test -f ./$$tst; then dir=./; \
+ elif test -f $$tst; then dir=; \
+ else dir="$(srcdir)/"; fi; \
+ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xpass=`expr $$xpass + 1`; \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=XPASS; \
+ ;; \
+ *) \
+ col=$$grn; res=PASS; \
+ ;; \
+ esac; \
+ elif test $$? -ne 77; then \
+ all=`expr $$all + 1`; \
+ case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$tst[\ \ ]*) \
+ xfail=`expr $$xfail + 1`; \
+ col=$$lgn; res=XFAIL; \
+ ;; \
+ *) \
+ failed=`expr $$failed + 1`; \
+ col=$$red; res=FAIL; \
+ ;; \
+ esac; \
+ else \
+ skip=`expr $$skip + 1`; \
+ col=$$blu; res=SKIP; \
+ fi; \
+ echo "$${col}$$res$${std}: $$tst"; \
+ done; \
+ if test "$$all" -eq 1; then \
+ tests="test"; \
+ All=""; \
+ else \
+ tests="tests"; \
+ All="All "; \
+ fi; \
+ if test "$$failed" -eq 0; then \
+ if test "$$xfail" -eq 0; then \
+ banner="$$All$$all $$tests passed"; \
+ else \
+ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+ fi; \
+ else \
+ if test "$$xpass" -eq 0; then \
+ banner="$$failed of $$all $$tests failed"; \
+ else \
+ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+ fi; \
+ fi; \
+ dashes="$$banner"; \
+ skipped=""; \
+ if test "$$skip" -ne 0; then \
+ if test "$$skip" -eq 1; then \
+ skipped="($$skip test was not run)"; \
+ else \
+ skipped="($$skip tests were not run)"; \
+ fi; \
+ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$skipped"; \
+ fi; \
+ report=""; \
+ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+ report="Please report to $(PACKAGE_BUGREPORT)"; \
+ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+ dashes="$$report"; \
+ fi; \
+ dashes=`echo "$$dashes" | sed s/./=/g`; \
+ if test "$$failed" -eq 0; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ fi; \
+ echo "$${col}$$dashes$${std}"; \
+ echo "$${col}$$banner$${std}"; \
+ test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+ test -z "$$report" || echo "$${col}$$report$${std}"; \
+ echo "$${col}$$dashes$${std}"; \
+ test "$$failed" -eq 0; \
+ else :; fi
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) \
+ config.h
+installdirs:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+ clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_docDATA install-includeHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_docDATA uninstall-includeHEADERS \
+ uninstall-libLTLIBRARIES
+
+.MAKE: all check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \
+ clean clean-generic clean-libLTLIBRARIES clean-libtool \
+ clean-noinstPROGRAMS ctags dist dist-all dist-bzip2 dist-gzip \
+ dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
+ distcheck distclean distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags distcleancheck \
+ distdir distuninstallcheck dvi dvi-am html html-am info \
+ info-am install install-am install-data install-data-am \
+ install-dist_docDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am \
+ install-includeHEADERS install-info install-info-am \
+ install-libLTLIBRARIES install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-dist_docDATA \
+ uninstall-includeHEADERS uninstall-libLTLIBRARIES
+
+
+libtool: $(LIBTOOL_DEPS)
+ $(SHELL) ./config.status --recheck
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/snappy-1.1.0/NEWS b/snappy-1.1.0/NEWS
new file mode 100644
index 0000000..ab9bf90
--- /dev/null
+++ b/snappy-1.1.0/NEWS
@@ -0,0 +1,104 @@
+Snappy v1.1.0, January 18th 2013:
+
+ * Snappy now uses 64 kB block size instead of 32 kB. On average,
+ this means it compresses about 3% denser (more so for some
+ inputs), at the same or better speeds.
+
+ * libsnappy no longer depends on iostream.
+
+ * Some small performance improvements in compression on x86
+ (0.5–1%).
+
+ * Various portability fixes for ARM-based platforms, for MSVC,
+ and for GNU/Hurd.
+
+
+Snappy v1.0.5, February 24th 2012:
+
+ * More speed improvements. Exactly how big will depend on
+ the architecture:
+
+ - 3–10% faster decompression for the base case (x86-64).
+
+ - ARMv7 and higher can now use unaligned accesses,
+ and will see about 30% faster decompression and
+ 20–40% faster compression.
+
+ - 32-bit platforms (ARM and 32-bit x86) will see 2–5%
+ faster compression.
+
+ These are all cumulative (e.g., ARM gets all three speedups).
+
+ * Fixed an issue where the unit test would crash on system
+ with less than 256 MB address space available,
+ e.g. some embedded platforms.
+
+ * Added a framing format description, for use over e.g. HTTP,
+ or for a command-line compressor. We do not have any
+ implementations of this at the current point, but there seems
+ to be enough of a general interest in the topic.
+ Also make the format description slightly clearer.
+
+ * Remove some compile-time warnings in -Wall
+ (mostly signed/unsigned comparisons), for easier embedding
+ into projects that use -Wall -Werror.
+
+
+Snappy v1.0.4, September 15th 2011:
+
+ * Speeded up the decompressor somewhat; typically about 2–8%
+ for Core i7, in 64-bit mode (comparable for Opteron).
+ Somewhat more for some tests, almost no gain for others.
+
+ * Make Snappy compile on certain platforms it didn't before
+ (Solaris with SunPro C++, HP-UX, AIX).
+
+ * Correct some minor errors in the format description.
+
+
+Snappy v1.0.3, June 2nd 2011:
+
+ * Speeded up the decompressor somewhat; about 3-6% for Core 2,
+ 6-13% for Core i7, and 5-12% for Opteron (all in 64-bit mode).
+
+ * Added compressed format documentation. This text is new,
+ but an earlier version from Zeev Tarantov was used as reference.
+
+ * Only link snappy_unittest against -lz and other autodetected
+ libraries, not libsnappy.so (which doesn't need any such dependency).
+
+ * Fixed some display issues in the microbenchmarks, one of which would
+ frequently make the test crash on GNU/Hurd.
+
+
+Snappy v1.0.2, April 29th 2011:
+
+ * Relicense to a BSD-type license.
+
+ * Added C bindings, contributed by Martin Gieseking.
+
+ * More Win32 fixes, in particular for MSVC.
+
+ * Replace geo.protodata with a newer version.
+
+ * Fix timing inaccuracies in the unit test when comparing Snappy
+ to other algorithms.
+
+
+Snappy v1.0.1, March 25th 2011:
+
+This is a maintenance release, mostly containing minor fixes.
+There is no new functionality. The most important fixes include:
+
+ * The COPYING file and all licensing headers now correctly state that
+ Snappy is licensed under the Apache 2.0 license.
+
+ * snappy_unittest should now compile natively under Windows,
+ as well as on embedded systems with no mmap().
+
+ * Various autotools nits have been fixed.
+
+
+Snappy v1.0, March 17th 2011:
+
+ * Initial version.
diff --git a/snappy-1.1.0/README b/snappy-1.1.0/README
new file mode 100644
index 0000000..3bc8888
--- /dev/null
+++ b/snappy-1.1.0/README
@@ -0,0 +1,135 @@
+Snappy, a fast compressor/decompressor.
+
+
+Introduction
+============
+
+Snappy is a compression/decompression library. It does not aim for maximum
+compression, or compatibility with any other compression library; instead,
+it aims for very high speeds and reasonable compression. For instance,
+compared to the fastest mode of zlib, Snappy is an order of magnitude faster
+for most inputs, but the resulting compressed files are anywhere from 20% to
+100% bigger. (For more information, see "Performance", below.)
+
+Snappy has the following properties:
+
+ * Fast: Compression speeds at 250 MB/sec and beyond, with no assembler code.
+ See "Performance" below.
+ * Stable: Over the last few years, Snappy has compressed and decompressed
+ petabytes of data in Google's production environment. The Snappy bitstream
+ format is stable and will not change between versions.
+ * Robust: The Snappy decompressor is designed not to crash in the face of
+ corrupted or malicious input.
+ * Free and open source software: Snappy is licensed under a BSD-type license.
+ For more information, see the included COPYING file.
+
+Snappy has previously been called "Zippy" in some Google presentations
+and the like.
+
+
+Performance
+===========
+
+Snappy is intended to be fast. On a single core of a Core i7 processor
+in 64-bit mode, it compresses at about 250 MB/sec or more and decompresses at
+about 500 MB/sec or more. (These numbers are for the slowest inputs in our
+benchmark suite; others are much faster.) In our tests, Snappy usually
+is faster than algorithms in the same class (e.g. LZO, LZF, FastLZ, QuickLZ,
+etc.) while achieving comparable compression ratios.
+
+Typical compression ratios (based on the benchmark suite) are about 1.5-1.7x
+for plain text, about 2-4x for HTML, and of course 1.0x for JPEGs, PNGs and
+other already-compressed data. Similar numbers for zlib in its fastest mode
+are 2.6-2.8x, 3-7x and 1.0x, respectively. More sophisticated algorithms are
+capable of achieving yet higher compression rates, although usually at the
+expense of speed. Of course, compression ratio will vary significantly with
+the input.
+
+Although Snappy should be fairly portable, it is primarily optimized
+for 64-bit x86-compatible processors, and may run slower in other environments.
+In particular:
+
+ - Snappy uses 64-bit operations in several places to process more data at
+ once than would otherwise be possible.
+ - Snappy assumes unaligned 32- and 64-bit loads and stores are cheap.
+ On some platforms, these must be emulated with single-byte loads
+ and stores, which is much slower.
+ - Snappy assumes little-endian throughout, and needs to byte-swap data in
+ several places if running on a big-endian platform.
+
+Experience has shown that even heavily tuned code can be improved.
+Performance optimizations, whether for 64-bit x86 or other platforms,
+are of course most welcome; see "Contact", below.
+
+
+Usage
+=====
+
+Note that Snappy, both the implementation and the main interface,
+is written in C++. However, several third-party bindings to other languages
+are available; see the Google Code page at http://code.google.com/p/snappy/
+for more information. Also, if you want to use Snappy from C code, you can
+use the included C bindings in snappy-c.h.
+
+To use Snappy from your own C++ program, include the file "snappy.h" from
+your calling file, and link against the compiled library.
+
+There are many ways to call Snappy, but the simplest possible is
+
+ snappy::Compress(input.data(), input.size(), &output);
+
+and similarly
+
+ snappy::Uncompress(input.data(), input.size(), &output);
+
+where "input" and "output" are both instances of std::string.
+
+There are other interfaces that are more flexible in various ways, including
+support for custom (non-array) input sources. See the header file for more
+information.
+
+
+Tests and benchmarks
+====================
+
+When you compile Snappy, snappy_unittest is compiled in addition to the
+library itself. You do not need it to use the compressor from your own library,
+but it contains several useful components for Snappy development.
+
+First of all, it contains unit tests, verifying correctness on your machine in
+various scenarios. If you want to change or optimize Snappy, please run the
+tests to verify you have not broken anything. Note that if you have the
+Google Test library installed, unit test behavior (especially failures) will be
+significantly more user-friendly. You can find Google Test at
+
+ http://code.google.com/p/googletest/
+
+You probably also want the gflags library for handling of command-line flags;
+you can find it at
+
+ http://code.google.com/p/google-gflags/
+
+In addition to the unit tests, snappy contains microbenchmarks used to
+tune compression and decompression performance. These are automatically run
+before the unit tests, but you can disable them using the flag
+--run_microbenchmarks=false if you have gflags installed (otherwise you will
+need to edit the source).
+
+Finally, snappy can benchmark Snappy against a few other compression libraries
+(zlib, LZO, LZF, FastLZ and QuickLZ), if they were detected at configure time.
+To benchmark using a given file, give the compression algorithm you want to test
+Snappy against (e.g. --zlib) and then a list of one or more file names on the
+command line. The testdata/ directory contains the files used by the
+microbenchmark, which should provide a reasonably balanced starting point for
+benchmarking. (Note that baddata[1-3].snappy are not intended as benchmarks; they
+are used to verify correctness in the presence of corrupted data in the unit
+test.)
+
+
+Contact
+=======
+
+Snappy is distributed through Google Code. For the latest version, a bug tracker,
+and other information, see
+
+ http://code.google.com/p/snappy/
diff --git a/snappy-1.1.0/aclocal.m4 b/snappy-1.1.0/aclocal.m4
new file mode 100644
index 0000000..b4c1d52
--- /dev/null
+++ b/snappy-1.1.0/aclocal.m4
@@ -0,0 +1,9738 @@
+# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 57 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# `#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test $lt_write_fail = 0 && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test "$silent" = yes &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ _LT_PROG_REPLACE_SHELLFNS
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS="$save_LDFLAGS"
+ ])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ m4_if([$1], [CXX],
+[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script which will find a shell with a builtin
+# printf (which we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case "$ECHO" in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[ --with-sysroot[=DIR] Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+ [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+ test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+ [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS="$save_LDFLAGS"])
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report which library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)="$GXX"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test "X$F77" = "Xno"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$G77"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC="$lt_save_CC"
+ CFLAGS="$lt_save_CFLAGS"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test "X$FC" = "Xno"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC="$CC"
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+ _LT_TAGVAR(LD, $1)="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
+
+
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+ case ${1} in
+ */*) func_dirname_result="${1%/*}${2}" ;;
+ * ) func_dirname_result="${3}" ;;
+ esac
+ func_basename_result="${1##*/}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary parameter first.
+ func_stripname_result=${3}
+ func_stripname_result=${func_stripname_result#"${1}"}
+ func_stripname_result=${func_stripname_result%"${2}"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+ func_split_long_opt_name=${1%%=*}
+ func_split_long_opt_arg=${1#*=}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
+
+ _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+ case ${1} in
+ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+ *) func_lo2o_result=${1} ;;
+ esac])
+
+ _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
+
+ _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
+
+ _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
+
+ _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+ func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+ eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
+
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 7 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ ])
+])# _LT_SET_OPTIONS
+
+
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
+
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
+
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 3337 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.2'
+macro_revision='1.3337'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
+
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.3], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.3])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/gtest.m4])
diff --git a/snappy-1.1.0/autogen.sh b/snappy-1.1.0/autogen.sh
new file mode 100755
index 0000000..9d0ebe9
--- /dev/null
+++ b/snappy-1.1.0/autogen.sh
@@ -0,0 +1,7 @@
+#! /bin/sh -e
+rm -rf autom4te.cache
+aclocal -I m4
+autoheader
+libtoolize --copy
+automake --add-missing --copy
+autoconf
diff --git a/snappy-1.1.0/config.guess b/snappy-1.1.0/config.guess
new file mode 100755
index 0000000..d622a44
--- /dev/null
+++ b/snappy-1.1.0/config.guess
@@ -0,0 +1,1530 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
+
+timestamp='2012-02-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner. Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case ${UNAME_PROCESSOR} in
+ amd64)
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ *)
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ esac
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ LIBC=gnu
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ i386)
+ eval $set_cc_for_build
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ UNAME_PROCESSOR="x86_64"
+ fi
+ fi ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-?:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/snappy-1.1.0/config.h.in b/snappy-1.1.0/config.h.in
new file mode 100644
index 0000000..8f912f6
--- /dev/null
+++ b/snappy-1.1.0/config.h.in
@@ -0,0 +1,128 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Define to 1 if the compiler supports __builtin_ctz and friends. */
+#undef HAVE_BUILTIN_CTZ
+
+/* Define to 1 if the compiler supports __builtin_expect. */
+#undef HAVE_BUILTIN_EXPECT
+
+/* Define to 1 if you have the <byteswap.h> header file. */
+#undef HAVE_BYTESWAP_H
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Use the gflags package for command-line parsing. */
+#undef HAVE_GFLAGS
+
+/* Defined when Google Test is available. */
+#undef HAVE_GTEST
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `fastlz' library (-lfastlz). */
+#undef HAVE_LIBFASTLZ
+
+/* Define to 1 if you have the `lzf' library (-llzf). */
+#undef HAVE_LIBLZF
+
+/* Define to 1 if you have the `lzo2' library (-llzo2). */
+#undef HAVE_LIBLZO2
+
+/* Define to 1 if you have the `quicklz' library (-lquicklz). */
+#undef HAVE_LIBQUICKLZ
+
+/* Define to 1 if you have the `z' library (-lz). */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/byteswap.h> header file. */
+#undef HAVE_SYS_BYTESWAP_H
+
+/* Define to 1 if you have the <sys/endian.h> header file. */
+#undef HAVE_SYS_ENDIAN_H
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#undef HAVE_SYS_MMAN_H
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#undef LT_OBJDIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
diff --git a/snappy-1.1.0/config.sub b/snappy-1.1.0/config.sub
new file mode 100755
index 0000000..c894da4
--- /dev/null
+++ b/snappy-1.1.0/config.sub
@@ -0,0 +1,1773 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
+
+timestamp='2012-02-10'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | be32 | be64 \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | epiphany \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 \
+ | ns16k | ns32k \
+ | open8 \
+ | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | we32k \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i386-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/snappy-1.1.0/configure b/snappy-1.1.0/configure
new file mode 100755
index 0000000..bab34d3
--- /dev/null
+++ b/snappy-1.1.0/configure
@@ -0,0 +1,18767 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.68 for snappy 1.1.0.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='snappy'
+PACKAGE_TARNAME='snappy'
+PACKAGE_VERSION='1.1.0'
+PACKAGE_STRING='snappy 1.1.0'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+SNAPPY_LTVERSION
+SNAPPY_PATCHLEVEL
+SNAPPY_MINOR
+SNAPPY_MAJOR
+ac_cv_have_stddef_h
+ac_cv_have_stdint_h
+UNITTEST_LIBS
+gflags_LIBS
+gflags_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+HAVE_GTEST_FALSE
+HAVE_GTEST_TRUE
+HAVE_GTEST
+GTEST_VERSION
+GTEST_LIBS
+GTEST_LDFLAGS
+GTEST_CXXFLAGS
+GTEST_CPPFLAGS
+GTEST_CONFIG
+CXXCPP
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+LIBTOOL_DEPS
+CPP
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+EGREP
+GREP
+SED
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+enable_dependency_tracking
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+enable_gtest
+with_gflags
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+GTEST_CONFIG
+GTEST_CPPFLAGS
+GTEST_CXXFLAGS
+GTEST_LDFLAGS
+GTEST_LIBS
+GTEST_VERSION
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+gflags_CFLAGS
+gflags_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures snappy 1.1.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/snappy]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of snappy 1.1.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-static[=PKGS] build static libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-gtest Enable tests using the Google C++ Testing Framework.
+ (Default is enabled.)
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
+ --with-gflags use Google Flags package to enhance the unit test
+ [default=check]
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CXXCPP C++ preprocessor
+ GTEST_CONFIG
+ The exact path of Google Test's 'gtest-config' script.
+ GTEST_CPPFLAGS
+ C-like preprocessor flags for Google Test.
+ GTEST_CXXFLAGS
+ C++ compile flags for Google Test.
+ GTEST_LDFLAGS
+ Linker path and option flags for Google Test.
+ GTEST_LIBS Library linking flags for Google Test.
+ GTEST_VERSION
+ The version of Google Test available.
+ PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
+ gflags_CFLAGS
+ C compiler flags for gflags, overriding pkg-config
+ gflags_LIBS linker flags for gflags, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+snappy configure 1.1.0
+generated by GNU Autoconf 2.68
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_link
+
+# ac_fn_cxx_try_run LINENO
+# ------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_cxx_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_run
+
+# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_cxx_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_header_mongrel
+
+# ac_fn_cxx_check_func LINENO FUNC VAR
+# ------------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_cxx_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_func
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by snappy $as_me 1.1.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+# These are flags passed to automake (though they look like gcc flags!)
+am__api_version='1.11'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='snappy'
+ VERSION='1.1.0'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.2'
+macro_revision='1.3337'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
+
+case "$ECHO" in
+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+ NM="$lt_cv_path_NM"
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in dumpbin "link -dump"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+ case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+
+ if test "$DUMPBIN" != ":"; then
+ NM="$DUMPBIN"
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8 ; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+ test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+ = c,a/b,b/c, \
+ && eval 'test $(( 1 + 1 )) -eq 2 \
+ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+ && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+ >/dev/null 2>&1 \
+ && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test "$GCC" != yes; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
+ if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh
+ # decide which to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -eq 0; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test "$ac_status" -ne 0; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test "x$lt_cv_ar_at_file" = xno; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test "$host_cpu" = ia64; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function
+ # and D for any global variable.
+ # Also find C++ and __fastcall symbols from MSVC++,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+" s[1]~/^[@?]/{print s[1], s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
+else
+ with_sysroot=no
+fi
+
+
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+ if test "$GCC" = yes; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD="${LD-ld}_sol2"
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MANIFEST_TOOL"; then
+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+ # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
+ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+ MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "${LT_MULTI_MODULE}"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR cru libconftest.a conftest.o" >&5
+ $AR cru libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ 10.[012]*)
+ _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+ _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+# Set options
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+ # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for lt_pkg in $withval; do
+ IFS="$lt_save_ifs"
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/${ac_tool_prefix}file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/file; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+
+
+
+
+
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+ if test "$GCC" = yes; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ # old Intel for x86_64 which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test "$with_gnu_ld" = yes; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test "$lt_use_gnu_ld_interface" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='${wl}--export-all-symbols'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test "$host_os" = linux-dietlibc; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test "$tmp_diet" = no
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test "$ld_shlibs" = no; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global
+ # defined symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='${wl}-f,'
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ link_all_deplibs=no
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' ${wl}-bernotok'
+ allow_undefined_flag=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
+ archive_cmds_need_lc=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl*)
+ # Native MSVC
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ file_list_spec='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+ enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ old_postinstall_cmds='chmod 644 $oldlib'
+ postlink_cmds='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC wrapper
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ enable_shared_with_static_runtimes=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+ else
+ whole_archive_flag_spec=''
+ fi
+ link_all_deplibs=yes
+ allow_undefined_flag="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+ else
+ ld_shlibs=no
+ fi
+
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test x"$lt_cv_prog_compiler__b" = xyes; then
+ archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_irix_exported_symbol=yes
+else
+ lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+ if test "$lt_cv_irix_exported_symbol" = yes; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec='${wl}-E'
+ else
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='${wl}'
+ archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='${wl}-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='${wl}-z,text'
+ allow_undefined_flag='${wl}-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+
+ if test x$host_vendor = xsni; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
+ *) lt_sed_strip_eq="s,=/,/,g" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[23].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test "X$hardcode_automatic" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+ test "$hardcode_minus_L" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+ test "$inherit_rpath" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisbility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report which library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test "$can_build_shared" = "no" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test "$enable_shared" = yes || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if ${ac_cv_prog_cxx_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+else
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok `-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+
+
+func_stripname_cnf ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname_cnf
+
+ if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if ${ac_cv_prog_CXXCPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+else
+ _lt_caught_CXX_error=yes
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+reload_flag_CXX=$reload_flag
+reload_cmds_CXX=$reload_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+ # save warnings/boilerplate of simple test code
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ compiler_CXX=$CC
+ for cc_temp in $compiler""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test "$GXX" = yes; then
+ lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+ else
+ lt_prog_compiler_no_builtin_flag_CXX=
+ fi
+
+ if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ whole_archive_flag_spec_CXX=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+ ld_shlibs_CXX=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds_CXX=''
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ file_list_spec_CXX='${wl}-f,'
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct_CXX=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L_CXX=yes
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_libdir_separator_CXX=
+ fi
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ export_dynamic_flag_spec_CXX='${wl}-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ always_export_symbols_CXX=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag_CXX='-berok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath__CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath__CXX
+fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag_CXX="-z nodefs"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test "${lt_cv_aix_libpath+set}" = set; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath__CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath__CXX"; then
+ lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath__CXX
+fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag_CXX=' ${wl}-bernotok'
+ allow_undefined_flag_CXX=' ${wl}-berok'
+ if test "$with_gnu_ld" = yes; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec_CXX='$convenience'
+ fi
+ archive_cmds_need_lc_CXX=yes
+ # This is similar to how AIX traditionally builds its shared
+ # libraries.
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag_CXX=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl*)
+ # Native MSVC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX=' '
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=yes
+ file_list_spec_CXX='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+ else
+ $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
+ enable_shared_with_static_runtimes_CXX=yes
+ # Don't use ranlib
+ old_postinstall_cmds_CXX='chmod 644 $oldlib'
+ postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile="$lt_outputfile.exe"
+ lt_tool_outputfile="$lt_tool_outputfile.exe"
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+ allow_undefined_flag_CXX=unsupported
+ always_export_symbols_CXX=no
+ enable_shared_with_static_runtimes_CXX=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc_CXX=no
+ hardcode_direct_CXX=no
+ hardcode_automatic_CXX=yes
+ hardcode_shlibpath_var_CXX=unsupported
+ if test "$lt_cv_ld_force_load" = "yes"; then
+ whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+ else
+ whole_archive_flag_spec_CXX=''
+ fi
+ link_all_deplibs_CXX=yes
+ allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ case $cc_basename in
+ ifort*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test "$_lt_dar_can_shared" = "yes"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+ module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+ archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ fi
+
+ else
+ ld_shlibs_CXX=no
+ fi
+
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ ld_shlibs_CXX=no
+ ;;
+
+ freebsd-elf*)
+ archive_cmds_need_lc_CXX=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ ld_shlibs_CXX=yes
+ ;;
+
+ gnu*)
+ ;;
+
+ haiku*)
+ archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ link_all_deplibs_CXX=yes
+ ;;
+
+ hpux9*)
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_direct_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ ;;
+ *)
+ hardcode_direct_CXX=yes
+ hardcode_direct_absolute_CXX=yes
+ hardcode_minus_L_CXX=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ fi
+ fi
+ link_all_deplibs_CXX=yes
+ ;;
+ esac
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+ inherit_rpath_CXX=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ archive_cmds_need_lc_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
+ prelink_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ old_archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ archive_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ if test "x$supports_anon_versioning" = xyes; then
+ archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ compiler_needs_object_CXX=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ ld_shlibs_CXX=yes
+ ;;
+
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ ld_shlibs_CXX=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct_CXX=yes
+ hardcode_shlibpath_var_CXX=no
+ hardcode_direct_absolute_CXX=yes
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='${wl}-E'
+ whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ ld_shlibs_CXX=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ ;;
+ *)
+ allow_undefined_flag_CXX=' -expect_unresolved \*'
+ archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
+ $RM $lib.exp'
+ hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+ ;;
+ esac
+
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ case $host in
+ osf3*)
+ archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ ;;
+ esac
+
+ hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator_CXX=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ archive_cmds_need_lc_CXX=yes
+ no_undefined_flag_CXX=' -zdefs'
+ archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ hardcode_libdir_flag_spec_CXX='-R$libdir'
+ hardcode_shlibpath_var_CXX=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ link_all_deplibs_CXX=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag_CXX='${wl}-z,text'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag_CXX='${wl}-z,text'
+ allow_undefined_flag_CXX='${wl}-z,nodefs'
+ archive_cmds_need_lc_CXX=no
+ hardcode_shlibpath_var_CXX=no
+ hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+ hardcode_libdir_separator_CXX=':'
+ link_all_deplibs_CXX=yes
+ export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
+ '"$old_archive_cmds_CXX"
+ reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
+ '"$reload_cmds_CXX"
+ ;;
+ *)
+ archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ ld_shlibs_CXX=no
+ ;;
+ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+ test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+ GCC_CXX="$GXX"
+ LD_CXX="$LD"
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+ test $p = "-R"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test "$pre_test_object_deps_done" = no; then
+ case ${prev} in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$compiler_lib_search_path_CXX"; then
+ compiler_lib_search_path_CXX="${prev}${p}"
+ else
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$postdeps_CXX"; then
+ postdeps_CXX="${prev}${p}"
+ else
+ postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$predep_objects_CXX"; then
+ predep_objects_CXX="$p"
+ else
+ predep_objects_CXX="$predep_objects_CXX $p"
+ fi
+ else
+ if test -z "$postdep_objects_CXX"; then
+ postdep_objects_CXX="$p"
+ else
+ postdep_objects_CXX="$postdep_objects_CXX $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ predep_objects_CXX=
+ postdep_objects_CXX=
+ postdeps_CXX=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ postdeps_CXX='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic_CXX='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ lt_prog_compiler_pic_CXX=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static_CXX=
+ ;;
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic_CXX=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[4-9]*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static_CXX='-Bstatic'
+ else
+ lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ lt_prog_compiler_pic_CXX='+Z'
+ fi
+ ;;
+ aCC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_static_CXX='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64 which still supported -KPIC.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fPIC'
+ lt_prog_compiler_static_CXX='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-fpic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-qpic'
+ lt_prog_compiler_static_CXX='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ lt_prog_compiler_pic_CXX='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic_CXX='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ lt_prog_compiler_wl_CXX='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ lt_prog_compiler_wl_CXX='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_static_CXX='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ lt_prog_compiler_wl_CXX='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ lt_prog_compiler_pic_CXX='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ lt_prog_compiler_pic_CXX='-pic'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ lt_prog_compiler_pic_CXX='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ lt_prog_compiler_wl_CXX='-Wl,'
+ lt_prog_compiler_pic_CXX='-KPIC'
+ lt_prog_compiler_static_CXX='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ lt_prog_compiler_pic_CXX='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ lt_prog_compiler_can_build_shared_CXX=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic_CXX=
+ ;;
+ *)
+ lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
+lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works_CXX=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works_CXX=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+ case $lt_prog_compiler_pic_CXX in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+ esac
+else
+ lt_prog_compiler_pic_CXX=
+ lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works_CXX=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works_CXX=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+ :
+else
+ lt_prog_compiler_static_CXX=
+fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o_CXX=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o_CXX=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test "$hard_links" = no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ case $host_os in
+ aix[4-9]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ # Also, AIX nm treats weak defined symbols like other global defined
+ # symbols, whereas GNU nm marks them as "W".
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ export_symbols_cmds_CXX="$ltdll_cmds"
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl*)
+ exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs_CXX=no
+ ;;
+ *)
+ export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc_CXX=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $archive_cmds_CXX in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl_CXX
+ pic_flag=$lt_prog_compiler_pic_CXX
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+ allow_undefined_flag_CXX=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc_CXX=no
+ else
+ lt_cv_archive_cmds_need_lc_CXX=yes
+ fi
+ allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
+ archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl*)
+ # Native MSVC
+ libname_spec='$name'
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='${libname}.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec="$LIB"
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC wrapper
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[23].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[89] | openbsd2.[89].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+ sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+ sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+ test -n "$runpath_var_CXX" ||
+ test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+ # We can hardcode non-existent directories.
+ if test "$hardcode_direct_CXX" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+ test "$hardcode_minus_L_CXX" != no; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action_CXX=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action_CXX=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
+
+if test "$hardcode_action_CXX" = relink ||
+ test "$inherit_rpath_CXX" = yes; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+ no)
+ ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+
+for ac_header in stdint.h stddef.h sys/mman.h sys/resource.h windows.h byteswap.h sys/byteswap.h sys/endian.h sys/time.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+# Don't use AC_FUNC_MMAP, as it checks for mappings of already-mapped memory,
+# which we don't need (and does not exist on Windows).
+ac_fn_cxx_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+
+fi
+
+
+
+# Check whether --enable-gtest was given.
+if test "${enable_gtest+set}" = set; then :
+ enableval=$enable_gtest;
+else
+ enable_gtest=
+fi
+
+
+
+
+
+
+
+HAVE_GTEST="no"
+if test "x${enable_gtest}" != "xno"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 'gtest-config'" >&5
+$as_echo_n "checking for 'gtest-config'... " >&6; }
+ if test "x${enable_gtest}" = "xyes"; then :
+ if test -x "${enable_gtest}/scripts/gtest-config"; then :
+ GTEST_CONFIG="${enable_gtest}/scripts/gtest-config"
+else
+ GTEST_CONFIG="${enable_gtest}/bin/gtest-config"
+fi
+ if test -x "${GTEST_CONFIG}"; then :
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error $? "Unable to locate either a built or installed Google Test.
+The specific location '${enable_gtest}' was provided for a built or installed
+Google Test, but no 'gtest-config' script could be found at this location." "$LINENO" 5
+
+fi
+else
+ # Extract the first word of "gtest-config", so it can be a program name with args.
+set dummy gtest-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GTEST_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GTEST_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GTEST_CONFIG="$GTEST_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_GTEST_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+GTEST_CONFIG=$ac_cv_path_GTEST_CONFIG
+if test -n "$GTEST_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTEST_CONFIG" >&5
+$as_echo "$GTEST_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+ if test -x "${GTEST_CONFIG}"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${GTEST_CONFIG}" >&5
+$as_echo "${GTEST_CONFIG}" >&6; }
+ _gtest_min_version="--min-version=0"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Google Test" >&5
+$as_echo_n "checking for Google Test... " >&6; }
+ if ${GTEST_CONFIG} ${_gtest_min_version}; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_GTEST='yes'
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+ if test "x${HAVE_GTEST}" = "xyes"; then :
+ GTEST_CPPFLAGS=`${GTEST_CONFIG} --cppflags`
+ GTEST_CXXFLAGS=`${GTEST_CONFIG} --cxxflags`
+ GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags`
+ GTEST_LIBS=`${GTEST_CONFIG} --libs`
+ GTEST_VERSION=`${GTEST_CONFIG} --version`
+
+$as_echo "#define HAVE_GTEST 1" >>confdefs.h
+
+else
+ if test "x${enable_gtest}" = "xyes"; then :
+ as_fn_error $? "Google Test was enabled, but no viable version could be found." "$LINENO" 5
+
+fi
+fi
+fi
+
+ if test "x$HAVE_GTEST" = "xyes"; then
+ HAVE_GTEST_TRUE=
+ HAVE_GTEST_FALSE='#'
+else
+ HAVE_GTEST_TRUE='#'
+ HAVE_GTEST_FALSE=
+fi
+
+if test "x$HAVE_GTEST" = "xyes"; then :
+ true
+else
+ true # Ignore; we can live without it.
+fi
+
+
+
+# Check whether --with-gflags was given.
+if test "${with_gflags+set}" = set; then :
+ withval=$with_gflags;
+else
+ with_gflags=check
+fi
+
+
+if test "x$with_gflags" != "xno"; then
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gflags" >&5
+$as_echo_n "checking for gflags... " >&6; }
+
+if test -n "$gflags_CFLAGS"; then
+ pkg_cv_gflags_CFLAGS="$gflags_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgflags\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libgflags") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_gflags_CFLAGS=`$PKG_CONFIG --cflags "libgflags" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$gflags_LIBS"; then
+ pkg_cv_gflags_LIBS="$gflags_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgflags\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libgflags") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_gflags_LIBS=`$PKG_CONFIG --libs "libgflags" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ gflags_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libgflags" 2>&1`
+ else
+ gflags_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libgflags" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$gflags_PKG_ERRORS" >&5
+
+ if test "x$with_gflags" != "xcheck"; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "--with-gflags was given, but test for gflags failed
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ if test "x$with_gflags" != "xcheck"; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "--with-gflags was given, but test for gflags failed
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+else
+ gflags_CFLAGS=$pkg_cv_gflags_CFLAGS
+ gflags_LIBS=$pkg_cv_gflags_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_GFLAGS 1" >>confdefs.h
+
+fi
+fi
+
+# See if we have __builtin_expect.
+# TODO: Use AC_CACHE.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler supports __builtin_expect" >&5
+$as_echo_n "checking if the compiler supports __builtin_expect... " >&6; }
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ return __builtin_expect(1, 1) ? 1 : 0
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ snappy_have_builtin_expect=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ snappy_have_builtin_expect=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test x$snappy_have_builtin_expect = xyes ; then
+
+$as_echo "#define HAVE_BUILTIN_EXPECT 1" >>confdefs.h
+
+fi
+
+# See if we have working count-trailing-zeros intrinsics.
+# TODO: Use AC_CACHE.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler supports __builtin_ctzll" >&5
+$as_echo_n "checking if the compiler supports __builtin_ctzll... " >&6; }
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ return (__builtin_ctzll(0x100000000LL) == 32) ? 1 : 0
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ snappy_have_builtin_ctz=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+else
+
+ snappy_have_builtin_ctz=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+if test x$snappy_have_builtin_ctz = xyes ; then
+
+$as_echo "#define HAVE_BUILTIN_CTZ 1" >>confdefs.h
+
+fi
+
+# Other compression libraries; the unit test can use these for comparison
+# if they are available. If they are not found, just ignore.
+UNITTEST_LIBS=""
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlibVersion in -lz" >&5
+$as_echo_n "checking for zlibVersion in -lz... " >&6; }
+if ${ac_cv_lib_z_zlibVersion+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char zlibVersion ();
+int
+main ()
+{
+return zlibVersion ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_z_zlibVersion=yes
+else
+ ac_cv_lib_z_zlibVersion=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_zlibVersion" >&5
+$as_echo "$ac_cv_lib_z_zlibVersion" >&6; }
+if test "x$ac_cv_lib_z_zlibVersion" = xyes; then :
+
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBZ 1
+_ACEOF
+
+ UNITTEST_LIBS="-lz $UNITTEST_LIBS"
+
+else
+ true
+
+fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_1_15_compress in -llzo2" >&5
+$as_echo_n "checking for lzo1x_1_15_compress in -llzo2... " >&6; }
+if ${ac_cv_lib_lzo2_lzo1x_1_15_compress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-llzo2 $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char lzo1x_1_15_compress ();
+int
+main ()
+{
+return lzo1x_1_15_compress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_lzo2_lzo1x_1_15_compress=yes
+else
+ ac_cv_lib_lzo2_lzo1x_1_15_compress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo2_lzo1x_1_15_compress" >&5
+$as_echo "$ac_cv_lib_lzo2_lzo1x_1_15_compress" >&6; }
+if test "x$ac_cv_lib_lzo2_lzo1x_1_15_compress" = xyes; then :
+
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBLZO2 1
+_ACEOF
+
+ UNITTEST_LIBS="-llzo2 $UNITTEST_LIBS"
+
+else
+ true
+
+fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzf_compress in -llzf" >&5
+$as_echo_n "checking for lzf_compress in -llzf... " >&6; }
+if ${ac_cv_lib_lzf_lzf_compress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-llzf $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char lzf_compress ();
+int
+main ()
+{
+return lzf_compress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_lzf_lzf_compress=yes
+else
+ ac_cv_lib_lzf_lzf_compress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzf_lzf_compress" >&5
+$as_echo "$ac_cv_lib_lzf_lzf_compress" >&6; }
+if test "x$ac_cv_lib_lzf_lzf_compress" = xyes; then :
+
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBLZF 1
+_ACEOF
+
+ UNITTEST_LIBS="-llzf $UNITTEST_LIBS"
+
+else
+ true
+
+fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fastlz_compress in -lfastlz" >&5
+$as_echo_n "checking for fastlz_compress in -lfastlz... " >&6; }
+if ${ac_cv_lib_fastlz_fastlz_compress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lfastlz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fastlz_compress ();
+int
+main ()
+{
+return fastlz_compress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_fastlz_fastlz_compress=yes
+else
+ ac_cv_lib_fastlz_fastlz_compress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fastlz_fastlz_compress" >&5
+$as_echo "$ac_cv_lib_fastlz_fastlz_compress" >&6; }
+if test "x$ac_cv_lib_fastlz_fastlz_compress" = xyes; then :
+
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBFASTLZ 1
+_ACEOF
+
+ UNITTEST_LIBS="-lfastlz $UNITTEST_LIBS"
+
+else
+ true
+
+fi
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for qlz_compress in -lquicklz" >&5
+$as_echo_n "checking for qlz_compress in -lquicklz... " >&6; }
+if ${ac_cv_lib_quicklz_qlz_compress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lquicklz $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char qlz_compress ();
+int
+main ()
+{
+return qlz_compress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ ac_cv_lib_quicklz_qlz_compress=yes
+else
+ ac_cv_lib_quicklz_qlz_compress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_quicklz_qlz_compress" >&5
+$as_echo "$ac_cv_lib_quicklz_qlz_compress" >&6; }
+if test "x$ac_cv_lib_quicklz_qlz_compress" = xyes; then :
+
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBQUICKLZ 1
+_ACEOF
+
+ UNITTEST_LIBS="-lquicklz $UNITTEST_LIBS"
+
+else
+ true
+
+fi
+
+
+
+
+# These are used by snappy-stubs-public.h.in.
+if test "$ac_cv_header_stdint_h" = "yes"; then
+ ac_cv_have_stdint_h=1
+
+else
+ ac_cv_have_stdint_h=0
+
+fi
+if test "$ac_cv_header_stddef_h" = "yes"; then
+ ac_cv_have_stddef_h=1
+
+else
+ ac_cv_have_stddef_h=0
+
+fi
+
+# Export the version to snappy-stubs-public.h.
+SNAPPY_MAJOR="1"
+SNAPPY_MINOR="1"
+SNAPPY_PATCHLEVEL="0"
+
+
+
+
+SNAPPY_LTVERSION=2:4:1
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+ac_config_files="$ac_config_files Makefile snappy-stubs-public.h"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${HAVE_GTEST_TRUE}" && test -z "${HAVE_GTEST_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_GTEST\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by snappy $as_me 1.1.0, which was
+generated by GNU Autoconf 2.68. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+snappy config.status 1.1.0
+configured by $0, generated by GNU Autoconf 2.68,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
+predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
+postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
+reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
+reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
+AR \
+AR_FLAGS \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+nm_file_list_spec \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+reload_flag_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_separator_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec \
+reload_cmds_CXX \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX \
+postlink_cmds_CXX; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ TIMESTAMP='$TIMESTAMP'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "snappy-stubs-public.h") CONFIG_FILES="$CONFIG_FILES snappy-stubs-public.h" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile="${ofile}T"
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive.
+AR_FLAGS=$lt_AR_FLAGS
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ if test x"$xsi_shell" = xyes; then
+ sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\ case ${1} in\
+\ */*) func_dirname_result="${1%/*}${2}" ;;\
+\ * ) func_dirname_result="${3}" ;;\
+\ esac\
+\ func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\ # positional parameters, so assign one to ordinary parameter first.\
+\ func_stripname_result=${3}\
+\ func_stripname_result=${func_stripname_result#"${1}"}\
+\ func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\ func_split_long_opt_name=${1%%=*}\
+\ func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\ func_split_short_opt_arg=${1#??}\
+\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\ case ${1} in\
+\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\ *) func_lo2o_result=${1} ;;\
+\ esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+ func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+ func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+ func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+ sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+ eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\ func_quote_for_eval "${2}"\
+\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+ # Save a `func_append' function call where possible by direct use of '+='
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+else
+ # Save a `func_append' function call even when '+=' is not available
+ sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+ && mv -f "$cfgfile.tmp" "$cfgfile" \
+ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+ test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
+
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+
+ cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag_CXX
+reload_cmds=$lt_reload_cmds_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
+ ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/snappy-1.1.0/configure.ac b/snappy-1.1.0/configure.ac
new file mode 100644
index 0000000..e06f0be
--- /dev/null
+++ b/snappy-1.1.0/configure.ac
@@ -0,0 +1,126 @@
+m4_define([snappy_major], [1])
+m4_define([snappy_minor], [1])
+m4_define([snappy_patchlevel], [0])
+
+# Libtool shared library interface versions (current:revision:age)
+# Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
+# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
+m4_define([snappy_ltversion], [2:4:1])
+
+AC_INIT([snappy], [snappy_major.snappy_minor.snappy_patchlevel])
+AC_CONFIG_MACRO_DIR([m4])
+
+# These are flags passed to automake (though they look like gcc flags!)
+AM_INIT_AUTOMAKE([-Wall])
+
+LT_INIT
+AC_SUBST([LIBTOOL_DEPS])
+AC_PROG_CXX
+AC_LANG([C++])
+AC_C_BIGENDIAN
+AC_CHECK_HEADERS([stdint.h stddef.h sys/mman.h sys/resource.h windows.h byteswap.h sys/byteswap.h sys/endian.h sys/time.h])
+
+# Don't use AC_FUNC_MMAP, as it checks for mappings of already-mapped memory,
+# which we don't need (and does not exist on Windows).
+AC_CHECK_FUNC([mmap])
+
+GTEST_LIB_CHECK([], [true], [true # Ignore; we can live without it.])
+
+AC_ARG_WITH([gflags],
+ [AS_HELP_STRING(
+ [--with-gflags],
+ [use Google Flags package to enhance the unit test @<:@default=check@:>@])],
+ [],
+ [with_gflags=check])
+
+if test "x$with_gflags" != "xno"; then
+ PKG_CHECK_MODULES(
+ [gflags],
+ [libgflags],
+ [AC_DEFINE([HAVE_GFLAGS], [1], [Use the gflags package for command-line parsing.])],
+ [if test "x$with_gflags" != "xcheck"; then
+ AC_MSG_FAILURE([--with-gflags was given, but test for gflags failed])
+ fi])
+fi
+
+# See if we have __builtin_expect.
+# TODO: Use AC_CACHE.
+AC_MSG_CHECKING([if the compiler supports __builtin_expect])
+
+AC_TRY_COMPILE(, [
+ return __builtin_expect(1, 1) ? 1 : 0
+], [
+ snappy_have_builtin_expect=yes
+ AC_MSG_RESULT([yes])
+], [
+ snappy_have_builtin_expect=no
+ AC_MSG_RESULT([no])
+])
+if test x$snappy_have_builtin_expect = xyes ; then
+ AC_DEFINE([HAVE_BUILTIN_EXPECT], [1], [Define to 1 if the compiler supports __builtin_expect.])
+fi
+
+# See if we have working count-trailing-zeros intrinsics.
+# TODO: Use AC_CACHE.
+AC_MSG_CHECKING([if the compiler supports __builtin_ctzll])
+
+AC_TRY_COMPILE(, [
+ return (__builtin_ctzll(0x100000000LL) == 32) ? 1 : 0
+], [
+ snappy_have_builtin_ctz=yes
+ AC_MSG_RESULT([yes])
+], [
+ snappy_have_builtin_ctz=no
+ AC_MSG_RESULT([no])
+])
+if test x$snappy_have_builtin_ctz = xyes ; then
+ AC_DEFINE([HAVE_BUILTIN_CTZ], [1], [Define to 1 if the compiler supports __builtin_ctz and friends.])
+fi
+
+# Other compression libraries; the unit test can use these for comparison
+# if they are available. If they are not found, just ignore.
+UNITTEST_LIBS=""
+AC_DEFUN([CHECK_EXT_COMPRESSION_LIB], [
+ AH_CHECK_LIB([$1])
+ AC_CHECK_LIB(
+ [$1],
+ [$2],
+ [
+ AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
+ UNITTEST_LIBS="-l$1 $UNITTEST_LIBS"
+ ],
+ [true]
+ )
+])
+CHECK_EXT_COMPRESSION_LIB([z], [zlibVersion])
+CHECK_EXT_COMPRESSION_LIB([lzo2], [lzo1x_1_15_compress])
+CHECK_EXT_COMPRESSION_LIB([lzf], [lzf_compress])
+CHECK_EXT_COMPRESSION_LIB([fastlz], [fastlz_compress])
+CHECK_EXT_COMPRESSION_LIB([quicklz], [qlz_compress])
+AC_SUBST([UNITTEST_LIBS])
+
+# These are used by snappy-stubs-public.h.in.
+if test "$ac_cv_header_stdint_h" = "yes"; then
+ AC_SUBST([ac_cv_have_stdint_h], [1])
+else
+ AC_SUBST([ac_cv_have_stdint_h], [0])
+fi
+if test "$ac_cv_header_stddef_h" = "yes"; then
+ AC_SUBST([ac_cv_have_stddef_h], [1])
+else
+ AC_SUBST([ac_cv_have_stddef_h], [0])
+fi
+
+# Export the version to snappy-stubs-public.h.
+SNAPPY_MAJOR="snappy_major"
+SNAPPY_MINOR="snappy_minor"
+SNAPPY_PATCHLEVEL="snappy_patchlevel"
+
+AC_SUBST([SNAPPY_MAJOR])
+AC_SUBST([SNAPPY_MINOR])
+AC_SUBST([SNAPPY_PATCHLEVEL])
+AC_SUBST([SNAPPY_LTVERSION], snappy_ltversion)
+
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_FILES([Makefile snappy-stubs-public.h])
+AC_OUTPUT
diff --git a/snappy-1.1.0/depcomp b/snappy-1.1.0/depcomp
new file mode 100755
index 0000000..bd0ac08
--- /dev/null
+++ b/snappy-1.1.0/depcomp
@@ -0,0 +1,688 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2011-12-04.11; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+# 2011 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by `PROGRAMS ARGS'.
+ object Object file output by `PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputting dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+ tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'. On the theory
+## that the space means something, we add a space to the output as
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like `#:fec' to the end of the
+ # dependency line.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+ tr '
+' ' ' >> "$depfile"
+ echo >> "$depfile"
+
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' '
+' < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts `$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form `foo.o: dependent.h'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ # The sourcefile does not contain any dependencies, so just
+ # store a dummy comment line, to avoid errors with the Makefile
+ # "include basename.Plo" scheme.
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+icc)
+ # Intel's C compiler understands `-MD -MF file'. However on
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+ # ICC 7.0 will fill foo.d with something like
+ # foo.o: sub/foo.c
+ # foo.o: sub/foo.h
+ # which is wrong. We want:
+ # sub/foo.o: sub/foo.c
+ # sub/foo.o: sub/foo.h
+ # sub/foo.c:
+ # sub/foo.h:
+ # ICC 7.1 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using \ :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+ sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add `dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in `foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+ test "x$dir" = "x$object" && dir=
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+ if test "$libtool" = yes; then
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mechanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -eq 0; then :
+ else
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+ # That's a tab and a space in the [].
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+ else
+ echo "#dummy" > "$depfile"
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test "$stat" = 0; then :
+ else
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/ \1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/ /
+ G
+ p
+}' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for `:'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+ "$@" $dashmflag |
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove `-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
+ echo " " >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/snappy-1.1.0/format_description.txt b/snappy-1.1.0/format_description.txt
new file mode 100644
index 0000000..20db66c
--- /dev/null
+++ b/snappy-1.1.0/format_description.txt
@@ -0,0 +1,110 @@
+Snappy compressed format description
+Last revised: 2011-10-05
+
+
+This is not a formal specification, but should suffice to explain most
+relevant parts of how the Snappy format works. It is originally based on
+text by Zeev Tarantov.
+
+Snappy is a LZ77-type compressor with a fixed, byte-oriented encoding.
+There is no entropy encoder backend nor framing layer -- the latter is
+assumed to be handled by other parts of the system.
+
+This document only describes the format, not how the Snappy compressor nor
+decompressor actually works. The correctness of the decompressor should not
+depend on implementation details of the compressor, and vice versa.
+
+
+1. Preamble
+
+The stream starts with the uncompressed length (up to a maximum of 2^32 - 1),
+stored as a little-endian varint. Varints consist of a series of bytes,
+where the lower 7 bits are data and the upper bit is set iff there are
+more bytes to be read. In other words, an uncompressed length of 64 would
+be stored as 0x40, and an uncompressed length of 2097150 (0x1FFFFE)
+would be stored as 0xFE 0xFF 0x7F.
+
+
+2. The compressed stream itself
+
+There are two types of elements in a Snappy stream: Literals and
+copies (backreferences). There is no restriction on the order of elements,
+except that the stream naturally cannot start with a copy. (Having
+two literals in a row is never optimal from a compression point of
+view, but nevertheless fully permitted.) Each element starts with a tag byte,
+and the lower two bits of this tag byte signal what type of element will
+follow:
+
+ 00: Literal
+ 01: Copy with 1-byte offset
+ 10: Copy with 2-byte offset
+ 11: Copy with 4-byte offset
+
+The interpretation of the upper six bits are element-dependent.
+
+
+2.1. Literals (00)
+
+Literals are uncompressed data stored directly in the byte stream.
+The literal length is stored differently depending on the length
+of the literal:
+
+ - For literals up to and including 60 bytes in length, the upper
+ six bits of the tag byte contain (len-1). The literal follows
+ immediately thereafter in the bytestream.
+ - For longer literals, the (len-1) value is stored after the tag byte,
+ little-endian. The upper six bits of the tag byte describe how
+ many bytes are used for the length; 60, 61, 62 or 63 for
+ 1-4 bytes, respectively. The literal itself follows after the
+ length.
+
+
+2.2. Copies
+
+Copies are references back into previous decompressed data, telling
+the decompressor to reuse data it has previously decoded.
+They encode two values: The _offset_, saying how many bytes back
+from the current position to read, and the _length_, how many bytes
+to copy. Offsets of zero can be encoded, but are not legal;
+similarly, it is possible to encode backreferences that would
+go past the end of the block (offset > current decompressed position),
+which is also nonsensical and thus not allowed.
+
+As in most LZ77-based compressors, the length can be larger than the offset,
+yielding a form of run-length encoding (RLE). For instance,
+"xababab" could be encoded as
+
+ <literal: "xab"> <copy: offset=2 length=4>
+
+Note that since the current Snappy compressor works in 32 kB
+blocks and does not do matching across blocks, it will never produce
+a bitstream with offsets larger than about 32768. However, the
+decompressor should not rely on this, as it may change in the future.
+
+There are several different kinds of copy elements, depending on
+the amount of bytes to be copied (length), and how far back the
+data to be copied is (offset).
+
+
+2.2.1. Copy with 1-byte offset (01)
+
+These elements can encode lengths between [4..11] bytes and offsets
+between [0..2047] bytes. (len-4) occupies three bits and is stored
+in bits [2..4] of the tag byte. The offset occupies 11 bits, of which the
+upper three are stored in the upper three bits ([5..7]) of the tag byte,
+and the lower eight are stored in a byte following the tag byte.
+
+
+2.2.2. Copy with 2-byte offset (10)
+
+These elements can encode lengths between [1..64] and offsets from
+[0..65535]. (len-1) occupies six bits and is stored in the upper
+six bits ([2..7]) of the tag byte. The offset is stored as a
+little-endian 16-bit integer in the two bytes following the tag byte.
+
+
+2.2.3. Copy with 4-byte offset (11)
+
+These are like the copies with 2-byte offsets (see previous subsection),
+except that the offset is stored as a 32-bit integer instead of a
+16-bit integer (and thus will occupy four bytes).
diff --git a/snappy-1.1.0/framing_format.txt b/snappy-1.1.0/framing_format.txt
new file mode 100644
index 0000000..32b1e59
--- /dev/null
+++ b/snappy-1.1.0/framing_format.txt
@@ -0,0 +1,124 @@
+Snappy framing format description
+Last revised: 2013-01-05
+
+This format decribes a framing format for Snappy, allowing compressing to
+files or streams that can then more easily be decompressed without having
+to hold the entire stream in memory. It also provides data checksums to
+help verify integrity. It does not provide metadata checksums, so it does
+not protect against e.g. all forms of truncations.
+
+Implementation of the framing format is optional for Snappy compressors and
+decompressor; it is not part of the Snappy core specification.
+
+
+1. General structure
+
+The file consists solely of chunks, lying back-to-back with no padding
+in between. Each chunk consists first a single byte of chunk identifier,
+then a three-byte little-endian length of the chunk in bytes (from 0 to
+16777215, inclusive), and then the data if any. The four bytes of chunk
+header is not counted in the data length.
+
+The different chunk types are listed below. The first chunk must always
+be the stream identifier chunk (see section 4.1, below). The stream
+ends when the file ends -- there is no explicit end-of-file marker.
+
+
+2. File type identification
+
+The following identifiers for this format are recommended where appropriate.
+However, note that none have been registered officially, so this is only to
+be taken as a guideline. We use "Snappy framed" to distinguish between this
+format and raw Snappy data.
+
+ File extension: .sz
+ MIME type: application/x-snappy-framed
+ HTTP Content-Encoding: x-snappy-framed
+
+
+3. Checksum format
+
+Some chunks have data protected by a checksum (the ones that do will say so
+explicitly). The checksums are always masked CRC-32Cs.
+
+A description of CRC-32C can be found in RFC 3720, section 12.1, with
+examples in section B.4.
+
+Checksums are not stored directly, but masked, as checksumming data and
+then its own checksum can be problematic. The masking is the same as used
+in Apache Hadoop: Rotate the checksum by 15 bits, then add the constant
+0xa282ead8 (using wraparound as normal for unsigned integers). This is
+equivalent to the following C code:
+
+ uint32_t mask_checksum(uint32_t x) {
+ return ((x >> 15) | (x << 17)) + 0xa282ead8;
+ }
+
+Note that the masking is reversible.
+
+The checksum is always stored as a four bytes long integer, in little-endian.
+
+
+4. Chunk types
+
+The currently supported chunk types are described below. The list may
+be extended in the future.
+
+
+4.1. Stream identifier (chunk type 0xff)
+
+The stream identifier is always the first element in the stream.
+It is exactly six bytes long and contains "sNaPpY" in ASCII. This means that
+a valid Snappy framed stream always starts with the bytes
+
+ 0xff 0x06 0x00 0x00 0x73 0x4e 0x61 0x50 0x70 0x59
+
+The stream identifier chunk can come multiple times in the stream besides
+the first; if such a chunk shows up, it should simply be ignored, assuming
+it has the right length and contents. This allows for easy concatenation of
+compressed files without the need for re-framing.
+
+
+4.2. Compressed data (chunk type 0x00)
+
+Compressed data chunks contain a normal Snappy compressed bitstream;
+see the compressed format specification. The compressed data is preceded by
+the CRC-32C (see section 3) of the _uncompressed_ data.
+
+Note that the data portion of the chunk, i.e., the compressed contents,
+can be at most 16777211 bytes (2^24 - 1, minus the checksum).
+However, we place an additional restriction that the uncompressed data
+in a chunk must be no longer than 65536 bytes. This allows consumers to
+easily use small fixed-size buffers.
+
+
+4.3. Uncompressed data (chunk type 0x01)
+
+Uncompressed data chunks allow a compressor to send uncompressed,
+raw data; this is useful if, for instance, uncompressible or
+near-incompressible data is detected, and faster decompression is desired.
+
+As in the compressed chunks, the data is preceded by its own masked
+CRC-32C (see section 3).
+
+An uncompressed data chunk, like compressed data chunks, should contain
+no more than 65536 data bytes, so the maximum legal chunk length with the
+checksum is 65540.
+
+
+4.4. Reserved unskippable chunks (chunk types 0x02-0x7f)
+
+These are reserved for future expansion. A decoder that sees such a chunk
+should immediately return an error, as it must assume it cannot decode the
+stream correctly.
+
+Future versions of this specification may define meanings for these chunks.
+
+
+4.5. Reserved skippable chunks (chunk types 0x80-0xfe)
+
+These are also reserved for future expansion, but unlike the chunks
+described in 4.4, a decoder seeing these must skip them and continue
+decoding.
+
+Future versions of this specification may define meanings for these chunks.
diff --git a/snappy-1.1.0/install-sh b/snappy-1.1.0/install-sh
new file mode 100755
index 0000000..a9244eb
--- /dev/null
+++ b/snappy-1.1.0/install-sh
@@ -0,0 +1,527 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2011-01-19.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ # Protect names problematic for `test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names problematic for `test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/snappy-1.1.0/ltmain.sh b/snappy-1.1.0/ltmain.sh
new file mode 100644
index 0000000..c2852d8
--- /dev/null
+++ b/snappy-1.1.0/ltmain.sh
@@ -0,0 +1,9661 @@
+
+# libtool (GNU libtool) 2.4.2
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING. If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --no-quiet, --no-silent
+# print informational messages (default)
+# --no-warn don't display warning messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print more informational messages than default
+# --no-verbose don't print the extra informational messages
+# --version print version information
+# -h, --help, --help-all print short, long, or detailed help message
+#
+# MODE must be one of the following:
+#
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE. When passed as first option,
+# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
+# automake: $automake_version
+# autoconf: $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION="2.4.2 Debian-2.4.2-1ubuntu1"
+TIMESTAMP=""
+package_revision=1.3337
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# NLS nuisances: We save the old values to restore during execute mode.
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test \"\${$lt_var+set}\" = set; then
+ save_$lt_var=\$$lt_var
+ $lt_var=C
+ export $lt_var
+ lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+ lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ fi"
+done
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
+
+$lt_unset CDPATH
+
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+
+
+: ${CP="cp -f"}
+test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+ func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+ func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+ # Extract subdirectory from the argument.
+ func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+ if test "X$func_dirname_result" = "X${1}"; then
+ func_dirname_result="${3}"
+ else
+ func_dirname_result="$func_dirname_result${2}"
+ fi
+ func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+ case ${2} in
+ .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+ *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ esac
+} # func_stripname may be replaced by extended shell implementation
+
+
+# These SED scripts presuppose an absolute path with a trailing slash.
+pathcar='s,^/\([^/]*\).*$,\1,'
+pathcdr='s,^/[^/]*,,'
+removedotparts=':dotsl
+ s@/\./@/@g
+ t dotsl
+ s,/\.$,/,'
+collapseslashes='s@/\{1,\}@/@g'
+finalslash='s,/*$,/,'
+
+# func_normal_abspath PATH
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+# value returned in "$func_normal_abspath_result"
+func_normal_abspath ()
+{
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test "$func_normal_abspath_tpath" = / ; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result" ; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+# func_relative_path SRCDIR DSTDIR
+# generates a relative path from SRCDIR to DSTDIR, with a trailing
+# slash if non-empty, suitable for immediately appending a filename
+# without needing to append a separator.
+# value returned in "$func_relative_path_result"
+func_relative_path ()
+{
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=${func_dirname_result}
+ if test "x$func_relative_path_tlibdir" = x ; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test "x$func_stripname_result" != x ; then
+ func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
+ fi
+
+ # Normalisation. If bindir is libdir, return empty string,
+ # else relative path ending with a slash; either way, target
+ # file name can be directly appended.
+ if test ! -z "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result/"
+ func_relative_path_result=$func_stripname_result
+ fi
+}
+
+# The name of this program:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=$func_dirname_result
+ progdir=`cd "$progdir" && pwd`
+ progpath="$progdir/$progname"
+ ;;
+ *)
+ save_IFS="$IFS"
+ IFS=${PATH_SEPARATOR-:}
+ for progdir in $PATH; do
+ IFS="$save_IFS"
+ test -x "$progdir/$progname" && break
+ done
+ IFS="$save_IFS"
+ test -n "$progdir" || progdir=`pwd`
+ progpath="$progdir/$progname"
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+ s/$bs4/&\\
+/g
+ s/^$bs2$dollar/$bs&/
+ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+ s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $opt_verbose && func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+ $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+
+ # bash bug again:
+ :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ func_error ${1+"$@"}
+ func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information." ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ my_directory_path="$1"
+ my_dir_list=
+
+ if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+ # Protect directory names starting with `-'
+ case $my_directory_path in
+ -*) my_directory_path="./$my_directory_path" ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$my_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ my_dir_list="$my_directory_path:$my_dir_list"
+
+ # If the last portion added has no slash in it, the list is done
+ case $my_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
+ done
+ my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
+
+ save_mkdir_p_IFS="$IFS"; IFS=':'
+ for my_dir in $my_dir_list; do
+ IFS="$save_mkdir_p_IFS"
+ # mkdir can fail with a `File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$my_dir" 2>/dev/null || :
+ done
+ IFS="$save_mkdir_p_IFS"
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$my_directory_path" || \
+ func_fatal_error "Failed to create \`$1'"
+ fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+ my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+ if test "$opt_dry_run" = ":"; then
+ # Return a directory name, but don't create it in dry-run mode
+ my_tmpdir="${my_template}-$$"
+ else
+
+ # If mktemp works, use that first and foremost
+ my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$my_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+ save_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$my_tmpdir"
+ umask $save_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$my_tmpdir" || \
+ func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+ fi
+
+ $ECHO "$my_tmpdir"
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+ case $1 in
+ *[\\\`\"\$]*)
+ func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
+ *)
+ func_quote_for_eval_unquoted_result="$1" ;;
+ esac
+
+ case $func_quote_for_eval_unquoted_result in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and and variable
+ # expansion for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+ ;;
+ *)
+ func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+ esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ case $1 in
+ *[\\\`\"]*)
+ my_arg=`$ECHO "$1" | $SED \
+ -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ my_arg="$1" ;;
+ esac
+
+ case $my_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ my_arg="\"$my_arg\""
+ ;;
+ esac
+
+ func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$my_cmd"
+ my_status=$?
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ my_cmd="$1"
+ my_fail_exp="${2-:}"
+
+ ${opt_silent-false} || {
+ func_quote_for_expand "$my_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ if ${opt_dry_run-false}; then :; else
+ eval "$lt_user_locale
+ $my_cmd"
+ my_status=$?
+ eval "$lt_safe_locale"
+ if test "$my_status" -eq 0; then :; else
+ eval "(exit $my_status); $my_fail_exp"
+ fi
+ fi
+}
+
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $opt_debug
+
+ $SED -n '/(C)/!b go
+ :more
+ /\./!{
+ N
+ s/\n# / /
+ b more
+ }
+ :go
+ /^# '$PROGRAM' (GNU /,/# warranty; / {
+ s/^# //
+ s/^# *$//
+ s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+ p
+ }' < "$progpath"
+ exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/^# *.*--help/ {
+ s/^# //
+ s/^# *$//
+ s/\$progname/'$progname'/
+ p
+ }' < "$progpath"
+ echo
+ $ECHO "run \`$progname --help | more' for full usage"
+ exit $?
+}
+
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
+func_help ()
+{
+ $opt_debug
+
+ $SED -n '/^# Usage:/,/# Report bugs to/ {
+ :print
+ s/^# //
+ s/^# *$//
+ s*\$progname*'$progname'*
+ s*\$host*'"$host"'*
+ s*\$SHELL*'"$SHELL"'*
+ s*\$LTCC*'"$LTCC"'*
+ s*\$LTCFLAGS*'"$LTCFLAGS"'*
+ s*\$LD*'"$LD"'*
+ s/\$with_gnu_ld/'"$with_gnu_ld"'/
+ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
+ p
+ d
+ }
+ /^# .* home page:/b print
+ /^# General help using/b print
+ ' < "$progpath"
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
+ fi
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ $opt_debug
+
+ func_error "missing argument for $1."
+ exit_cmd=exit
+}
+
+
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+ my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+ my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+
+ func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+ func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
+
+
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+ my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+ my_sed_long_arg='1s/^--[^=]*=//'
+
+ func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+ func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
+
+exit_cmd=:
+
+
+
+
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+nonopt=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+ eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+ func_quote_for_eval "${2}"
+ eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+ func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+ func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+ func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+ func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_error ${1+"$@"}
+ func_error "See the $PACKAGE documentation for more information."
+ func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+ echo "host: $host"
+ if test "$build_libtool_libs" = yes; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test "$build_old_libs" = yes; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+
+ exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname="$1"
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+esac
+
+
+
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_warning=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
+
+
+# Parse options once, thoroughly. This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+ # this just eases exit handling
+ while test $# -gt 0; do
+ opt="$1"
+ shift
+ case $opt in
+ --debug|-x) opt_debug='set -x'
+ func_echo "enabling shell trace mode"
+ $opt_debug
+ ;;
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+ --config)
+ opt_config=:
+func_config
+ ;;
+ --dlopen|-dlopen)
+ optarg="$1"
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
+ shift
+ ;;
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=:
+ ;;
+ --features)
+ opt_features=:
+func_features
+ ;;
+ --finish)
+ opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ --help)
+ opt_help=:
+ ;;
+ --help-all)
+ opt_help_all=:
+opt_help=': help-all'
+ ;;
+ --mode)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_mode="$optarg"
+case $optarg in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $opt"
+ exit_cmd=exit
+ break
+ ;;
+esac
+ shift
+ ;;
+ --no-silent|--no-quiet)
+ opt_silent=false
+func_append preserve_args " $opt"
+ ;;
+ --no-warning|--no-warn)
+ opt_warning=false
+func_append preserve_args " $opt"
+ ;;
+ --no-verbose)
+ opt_verbose=false
+func_append preserve_args " $opt"
+ ;;
+ --silent|--quiet)
+ opt_silent=:
+func_append preserve_args " $opt"
+ opt_verbose=false
+ ;;
+ --verbose|-v)
+ opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+ ;;
+ --tag)
+ test $# = 0 && func_missing_arg $opt && break
+ optarg="$1"
+ opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
+ shift
+ ;;
+
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+ --version) func_version ;;
+
+ # Separate optargs to long options:
+ --*=*)
+ func_split_long_opt "$opt"
+ set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-n*|-v*)
+ func_split_short_opt "$opt"
+ set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognized option \`$opt'" ;;
+ *) set dummy "$opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+ # Validate options:
+
+ # save first non-option argument
+ if test "$#" -gt 0; then
+ nonopt="$opt"
+ shift
+ fi
+
+ # preserve --debug
+ test "$opt_debug" = : || func_append preserve_args " --debug"
+
+ case $host in
+ *cygwin* | *mingw* | *pw32* | *cegcc*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+ func_fatal_configuration "not configured to build any kind of library"
+ fi
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+ func_error "unrecognized option \`-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help="$help"
+ help="Try \`$progname --help --mode=$opt_mode' for more information."
+ }
+
+
+ # Bail if the options were screwed
+ $exit_cmd $EXIT_FAILURE
+}
+
+
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null \
+ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case "$lalib_p_line" in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $opt_debug
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$save_ifs
+ eval cmd=\"$cmd\"
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $opt_debug
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+ ;;
+ esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case "$lt_sysroot:$1" in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result="=$func_stripname_result"
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $opt_debug
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case "$@ " in
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with \`--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=${1}
+ if test "$build_libtool_libs" = yes; then
+ write_lobj=\'${2}\'
+ else
+ write_lobj=none
+ fi
+
+ if test "$build_old_libs" = yes; then
+ write_oldobj=\'${3}\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "${write_libobj}"
+ }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+ $opt_debug
+ func_convert_core_file_wine_to_w32_result="$1"
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$lt_sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
+ fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $opt_debug
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=""
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
+ fi
+ done
+ IFS=$oldIFS
+ fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $opt_debug
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $opt_debug
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $opt_debug
+ if test -z "$2" && test -n "$1" ; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " \`$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result="$1"
+ fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $opt_debug
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " \`$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result="$3"
+ fi
+ fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $opt_debug
+ case $4 in
+ $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
+ esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $opt_debug
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $opt_debug
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result="$1"
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_file_result="$1"
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result="$func_cygpath_result"
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $opt_debug
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $opt_debug
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $opt_debug
+ func_to_host_path_result="$1"
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result="$func_cygpath_result"
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $opt_debug
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg="$arg"
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj="$arg"
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify \`-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ func_append later " $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs="$IFS"; IFS=','
+ for arg in $args; do
+ IFS="$save_ifs"
+ func_append_quoted lastarg "$arg"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ func_append base_compile " $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg="$srcfile"
+ srcfile="$arg"
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_append_quoted base_compile "$lastarg"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with \`-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj="$func_basename_result"
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from \`$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname="$func_basename_result"
+ xdir="$func_dirname_result"
+ lobj=${xdir}$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test "$build_old_libs" = yes; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test "$compiler_c_o" = no; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
+ lockfile="$output_obj.lock"
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test "$need_locks" = yes; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test "$need_locks" = warn; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test "$build_libtool_libs" = yes; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test "$pic_mode" != no; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ func_append command " -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test "$suppress_opt" = yes; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test "$build_old_libs" = yes; then
+ if test "$pic_mode" != yes; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test "$compiler_c_o" = yes; then
+ func_append command " -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test "$need_locks" = warn &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test "$need_locks" != no; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+ test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a \`.o' file suitable for static linking
+ -static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the \`--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE Use a list of object files found in FILE to specify objects
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename. Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+ ;;
+ esac
+
+ echo
+ $ECHO "Try \`$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test "$opt_help" = :; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ sed '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $opt_debug
+ # The first argument is the command name.
+ cmd="$nonopt"
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "\`$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "\`$file' was not linked with \`-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ ;;
+
+ *)
+ func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir="$absdir"
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic="$magic"
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file="$progdir/$program"
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_append_quoted args "$file"
+ done
+
+ if test "X$opt_dry_run" = Xfalse; then
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd="\$cmd$args"
+ else
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $opt_debug
+ libs=
+ libdirs=
+ admincmds=
+
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "\`$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument \`$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ done
+ ${RM}r "$tmpdir"
+ fi
+ fi
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_silent && exit $EXIT_SUCCESS
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ fi
+ echo
+
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
+ exit $EXIT_SUCCESS
+}
+
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $opt_debug
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ # Allow the use of GNU shtool's install command.
+ case $nonopt in *shtool*) :;; *) false;; esac; then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ no_mode=:
+ for arg
+ do
+ arg2=
+ if test -n "$dest"; then
+ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=yes ;;
+ -f)
+ if $install_cp; then :; else
+ prev=$arg
+ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prev' option requires an argument"
+
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=yes
+ if test "$isdir" = yes; then
+ destdir="$dest"
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir="$func_dirname_result"
+ destname="$func_basename_result"
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "\`$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "\`$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ func_append staticlibs " $file"
+ ;;
+
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "\`$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir="$func_dirname_result"
+ func_append dir "$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking \`$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname="$1"
+ shift
+
+ srcname="$realname"
+ test -n "$relink_command" && srcname="$realname"T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme="$stripme"
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=""
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try `ln -sf' first, because the `ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib="$destdir/$realname"
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name="$func_basename_result"
+ instname="$dir/$name"i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest="$destfile"
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test "$build_old_libs" = yes; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile="$destdir/$destname"
+ else
+ func_basename "$file"
+ destfile="$func_basename_result"
+ destfile="$destdir/$destfile"
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=""
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=".exe"
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+ finalize=yes
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "\`$lib' has not been installed in \`$libdir'"
+ finalize=no
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test "$fast_install" = no && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if test "$finalize" = yes; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file="$func_basename_result"
+ outputname="$tmpdir/$file"
+ # Replace the output file specification.
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_silent || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink \`$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file="$outputname"
+ else
+ func_warning "cannot relink \`$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name="$func_basename_result"
+
+ # Set up the ranlib parameters.
+ oldlib="$destdir/$name"
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $opt_debug
+ my_outputname="$1"
+ my_originator="$2"
+ my_pic_p="${3-no}"
+ my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms="${my_outputname}S.c"
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist="$output_objdir/${my_outputname}.nm"
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test "$dlself" = yes; then
+ func_verbose "generating symbol list for \`$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols="$output_objdir/$outputname.exp"
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_basename "$dlprefile"
+ name="$func_basename_result"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=""
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname" ; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename="$func_basename_result"
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename" ; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+ { \"$my_originator\", (void *) 0 },"
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ if test "X$my_pic_p" != Xno; then
+ pic_flag_for_symtable=" $pic_flag"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj="$output_objdir/${my_outputname}S.$objext"
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $opt_debug
+ win32_libid_type="unknown"
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s,.*,import,
+ p
+ q
+ }
+ }'`
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $opt_debug
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $opt_debug
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive which possess that section. Heuristic: eliminate
+ # all those which have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $opt_debug
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $opt_debug
+ if func_cygming_gnu_implib_p "$1" ; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1" ; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=""
+ fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $opt_debug
+ f_ex_an_ar_dir="$1"; shift
+ f_ex_an_ar_oldlib="$1"
+ if test "$lock_old_archive_extraction" = yes; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test "$lock_old_archive_extraction" = yes; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $opt_debug
+ my_gentop="$1"; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=""
+ my_xlib=""
+ my_xabs=""
+ my_xdir=""
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib="$func_basename_result"
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir="$my_gentop/$my_xlib_u"
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ darwin_base_archive=`basename "$darwin_archive"`
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches ; do
+ func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+ cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+ func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result="$my_oldobjs"
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=${1-no}
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ file=\"\$0\""
+
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ which is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options which match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+ done
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test "$fast_install" = yes; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ $ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ # Export our shlibpath_var if we have one.
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+*/
+EOF
+ cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/* declarations of non-ANSI functions */
+#if defined(__MINGW32__)
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined(__CYGWIN__)
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined (other platforms) ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined(_MSC_VER)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+# ifndef _INTPTR_T_DEFINED
+# define _INTPTR_T_DEFINED
+# define intptr_t int
+# endif
+#elif defined(__MINGW32__)
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined(__CYGWIN__)
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined (other platforms) ... */
+#endif
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+ defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#if defined(LT_DEBUGWRAPPER)
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+ cat <<EOF
+volatile const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test "$fast_install" = yes; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ intptr_t rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ newargz = XMALLOC (char *, argc + 1);
+
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (strcmp (argv[i], dumpscript_opt) == 0)
+ {
+EOF
+ case "$host" in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ lt_dump_script (stdout);
+ return 0;
+ }
+ if (strcmp (argv[i], debug_opt) == 0)
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
+ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ int tmp_len;
+ char *concat_name;
+
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = q - p;
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (strcmp (str, pat) == 0)
+ *str = '\0';
+ }
+ return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ int len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ int orig_value_len = strlen (orig_value);
+ int add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ int len = strlen (new_value);
+ while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[len-1] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
+ cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $opt_debug
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $opt_debug
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # which system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll which has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ bindir=
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=no
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module="${wl}-single_module"
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test "$build_libtool_libs" != yes && \
+ func_fatal_configuration "can not build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg="$1"
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ bindir)
+ bindir="$arg"
+ prev=
+ continue
+ ;;
+ dlfiles|dlprefiles)
+ if test "$preload" = no; then
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=yes
+ fi
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test "$dlself" = no; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test "$prev" = dlprefiles; then
+ dlself=yes
+ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test "$prev" = dlfiles; then
+ func_append dlfiles " $arg"
+ else
+ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols="$arg"
+ test -f "$arg" \
+ || func_fatal_error "symbol file \`$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex="$arg"
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir="$arg"
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file \`$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex="$arg"
+ prev=
+ continue
+ ;;
+ release)
+ release="-$arg"
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test "$prev" = rpath; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds="$arg"
+ prev=
+ continue
+ ;;
+ weak)
+ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg="$arg"
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test "X$arg" = "X-export-symbols"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between \`-L' and \`$1'"
+ else
+ func_fatal_error "need path for \`-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ dir="$absdir"
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
+ *)
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test "X$arg" = "X-lc" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test "X$arg" = "X-lc" && continue
+ ;;
+ esac
+ elif test "X$arg" = "X-lc_r"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ func_append deplibs " $arg"
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module="${wl}-multi_module"
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "\`-no-install' is ignored for $host"
+ func_warning "assuming \`-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $func_quote_for_eval_result"
+ func_append compiler_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs="$IFS"; IFS=','
+ for flag in $args; do
+ IFS="$save_ifs"
+ func_quote_for_eval "$flag"
+ func_append arg " $wl$func_quote_for_eval_result"
+ func_append compiler_flags " $wl$func_quote_for_eval_result"
+ func_append linker_flags " $func_quote_for_eval_result"
+ done
+ IFS="$save_ifs"
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+
+ *.$objext)
+ # A standard object.
+ func_append objs " $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test "$pic_object" = none &&
+ test "$non_pic_object" = none; then
+ func_fatal_error "cannot find name of object for \`$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ if test "$pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ pic_object="$xdir$pic_object"
+
+ if test "$prev" = dlfiles; then
+ if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test "$prev" = dlprefiles; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg="$pic_object"
+ fi
+
+ # Non-PIC object.
+ if test "$non_pic_object" != none; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object="$xdir$non_pic_object"
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test "$pic_object" = none ; then
+ arg="$non_pic_object"
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object="$pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir="$func_dirname_result"
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "\`$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ func_resolve_sysroot "$arg"
+ if test "$prev" = dlfiles; then
+ # This library was specified with -dlopen.
+ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test "$prev" = dlprefiles; then
+ # The library was specified with -dlpreopen.
+ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the \`$prevarg' option requires an argument"
+
+ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname="$func_basename_result"
+ libobjs_save="$libobjs"
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ func_dirname "$output" "/" ""
+ output_objdir="$func_dirname_result$objdir"
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_preserve_dup_deps ; then
+ case "$libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append libs " $deplib"
+ done
+
+ if test "$linkmode" = lib; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=no
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test "$linkmode,$pass" = "lib,link"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs="$tmp_deplibs"
+ fi
+
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan"; then
+ libs="$deplibs"
+ deplibs=
+ fi
+ if test "$linkmode" = prog; then
+ case $pass in
+ dlopen) libs="$dlfiles" ;;
+ dlpreopen) libs="$dlprefiles" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
+ esac
+ fi
+ if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ func_resolve_sysroot "$lib"
+ case $lib in
+ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+ libs="$dlprefiles"
+ fi
+ if test "$pass" = dlopen; then
+ # Collect dlpreopened libraries
+ save_deplibs="$deplibs"
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=no
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append compiler_flags " $deplib"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test "$linkmode" != lib && test "$linkmode" != prog; then
+ func_warning "\`-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test "$linkmode" = lib; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib="$searchdir/lib${name}${search_ext}"
+ if test -f "$lib"; then
+ if test "$search_ext" = ".la"; then
+ found=yes
+ else
+ found=no
+ fi
+ break 2
+ fi
+ done
+ done
+ if test "$found" != yes; then
+ # deplib doesn't seem to be a libtool library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ else # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll="$l"
+ done
+ if test "X$ll" = "X$old_library" ; then # only static version available
+ found=no
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+ lib=$ladir/$old_library
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ fi
+ ;; # -l
+ *.ltframework)
+ if test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test "$linkmode" = lib ; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test "$pass" = conv && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test "$pass" = scan; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "\`-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test "$pass" = link; then
+ func_stripname '-R' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
+ *.$libext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=no
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=yes
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=yes
+ ;;
+ esac
+ if test "$valid_a_lib" != yes; then
+ echo
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test "$pass" != link; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test "$pass" = conv; then
+ deplibs="$deplib $deplibs"
+ elif test "$linkmode" = prog; then
+ if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=yes
+ continue
+ ;;
+ esac # case $deplib
+
+ if test "$found" = yes || test -f "$lib"; then :
+ else
+ func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+ fi
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir="$func_dirname_result"
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test "$pass" = conv; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
+ elif test "$linkmode" != prog && test "$linkmode" != lib; then
+ func_fatal_error "\`$lib' is not a convenience library"
+ fi
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ if test -n "$old_library" &&
+ { test "$prefer_static_libs" = yes ||
+ test "$prefer_static_libs,$installed" = "built,no"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib="$l"
+ done
+ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for \`$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test "$pass" = dlopen; then
+ if test -z "$libdir"; then
+ func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+ fi
+ if test -z "$dlname" ||
+ test "$dlopen_support" != yes ||
+ test "$build_libtool_libs" = no; then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ func_append dlprefiles " $lib $dependency_libs"
+ else
+ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir="$ladir"
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname="$func_basename_result"
+
+ # Find the relevant object directory and library name.
+ if test "X$installed" = Xyes; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library \`$lib' was moved."
+ dir="$ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+ dir="$lt_sysroot$libdir"
+ absdir="$lt_sysroot$libdir"
+ fi
+ test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir="$ladir"
+ absdir="$abs_ladir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ else
+ dir="$ladir/$objdir"
+ absdir="$abs_ladir/$objdir"
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test "$pass" = dlpreopen; then
+ if test -z "$libdir" && test "$linkmode" = prog; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ fi
+ case "$host" in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test "$linkmode" = lib; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test "$linkmode,$pass" = "prog,link"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test "$linkmode" = prog && test "$pass" != link; then
+ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=no
+ if test "$link_all_deplibs" != no || test -z "$library_names" ||
+ test "$build_libtool_libs" = no; then
+ linkalldeplibs=yes
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if test "$linkalldeplibs" = yes; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test "$linkmode,$pass" = "prog,link"; then
+ if test -n "$library_names" &&
+ { { test "$prefer_static_libs" = no ||
+ test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ # Make sure the rpath contains only unique directories.
+ case "$temp_rpath:" in
+ *"$absdir:"*) ;;
+ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if test "$alldeplibs" = yes &&
+ { test "$deplibs_check_method" = pass_all ||
+ { test "$build_libtool_libs" = yes &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test "$use_static_libs" = built && test "$installed" = yes; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc*)
+ # No point in relinking DLLs because paths are not encoded
+ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test "$installed" = no; then
+ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=""
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule="$dlpremoduletest"
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ echo
+ if test "$linkmode" = prog; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test "$linkmode" = lib &&
+ test "$hardcode_into_libs" = yes; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname="$dlname"
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot="$soname"
+ func_basename "$soroot"
+ soname="$func_basename_result"
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from \`$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for \`$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test "$hardcode_direct" = no; then
+ add="$dir/$linklib"
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+ *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we can not
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null ; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library" ; then
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
+ else
+ add="$dir/$old_library"
+ fi
+ elif test -n "$old_library"; then
+ add="$dir/$old_library"
+ fi
+ fi
+ esac
+ elif test "$hardcode_minus_L" = no; then
+ case $host in
+ *-*-sunos*) add_shlibpath="$dir" ;;
+ esac
+ add_dir="-L$dir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = no; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$dir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$absdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ add_shlibpath="$dir"
+ add="-l$name"
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test "$lib_linked" != yes; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test "$hardcode_direct" != yes &&
+ test "$hardcode_minus_L" != yes &&
+ test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test "$hardcode_direct" = yes &&
+ test "$hardcode_direct_absolute" = no; then
+ add="$libdir/$linklib"
+ elif test "$hardcode_minus_L" = yes; then
+ add_dir="-L$libdir"
+ add="-l$name"
+ elif test "$hardcode_shlibpath_var" = yes; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add="-l$name"
+ elif test "$hardcode_automatic" = yes; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib" ; then
+ add="$inst_prefix_dir$libdir/$linklib"
+ else
+ add="$libdir/$linklib"
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir="-L$libdir"
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add="-l$name"
+ fi
+
+ if test "$linkmode" = prog; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test "$linkmode" = prog; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test "$hardcode_direct" != unsupported; then
+ test -n "$old_library" && linklib="$old_library"
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test "$build_libtool_libs" = yes; then
+ # Not a shared library
+ if test "$deplibs_check_method" != pass_all; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ echo
+ $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test "$module" = yes; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test "$linkmode" = lib; then
+ if test -n "$dependency_libs" &&
+ { test "$hardcode_into_libs" != yes ||
+ test "$build_old_libs" = yes ||
+ test "$link_static" = yes; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs="$temp_deplibs"
+ fi
+
+ func_append newlib_search_path " $absdir"
+ # Link against this library
+ test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ if test "$link_all_deplibs" != no; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path="$deplib" ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of \`$dir'"
+ absdir="$dir"
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names" ; then
+ for tmp in $deplibrary_names ; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+ func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path="-L$absdir/$objdir"
+ ;;
+ esac
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "\`$deplib' seems to be moved"
+
+ path="-L$absdir"
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test "$pass" = link; then
+ if test "$linkmode" = "prog"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs="$newdependency_libs"
+ if test "$pass" = dlpreopen; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test "$pass" != dlopen; then
+ if test "$pass" != conv; then
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ fi
+
+ if test "$linkmode,$pass" != "prog,link"; then
+ vars="deplibs"
+ else
+ vars="compile_deplibs finalize_deplibs"
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs ; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=""
+ ;;
+ esac
+ if test -n "$i" ; then
+ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test "$linkmode" = prog; then
+ dlfiles="$newdlfiles"
+ fi
+ if test "$linkmode" = prog || test "$linkmode" = lib; then
+ dlprefiles="$newdlprefiles"
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "\`-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs="$output"
+ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form `libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test "$module" = no && \
+ func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+ if test "$need_lib_prefix" != no; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test "$deplibs_check_method" != pass_all; then
+ func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ func_append libobjs " $objs"
+ fi
+ fi
+
+ test "$dlself" != no && \
+ func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test "$#" -gt 1 && \
+ func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+ install_libdir="$1"
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test "$build_libtool_libs" = yes; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a `.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs="$IFS"; IFS=':'
+ set dummy $vinfo 0 0 0
+ shift
+ IFS="$save_ifs"
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to \`-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major="$1"
+ number_minor="$2"
+ number_revision="$3"
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # which has an extra 1 added just for fun
+ #
+ case $version_type in
+ # correct linux to gnu/linux during the next big refactor
+ darwin|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_revision"
+ ;;
+ freebsd-aout|freebsd-elf|qnx|sunos)
+ current="$number_major"
+ revision="$number_minor"
+ age="0"
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age="$number_minor"
+ revision="$number_minor"
+ lt_irix_increment=no
+ ;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
+ esac
+ ;;
+ no)
+ current="$1"
+ revision="$2"
+ age="$3"
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT \`$current' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION \`$revision' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE \`$age' must be a nonnegative integer"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE \`$age' is greater than the current interface number \`$current'"
+ func_fatal_error "\`$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
+ freebsd-aout)
+ major=".$current"
+ versuffix=".$current.$revision";
+ ;;
+
+ freebsd-elf)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ irix | nonstopux)
+ if test "X$lt_irix_increment" = "Xno"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring="$verstring_prefix$major.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test "$loop" -ne 0; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring_prefix$major.$iface:$verstring"
+ done
+
+ # Before this point, $major must not contain `.'.
+ major=.$major
+ versuffix="$major.$revision"
+ ;;
+
+ linux) # correct to gnu/linux during the next big refactor
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix="$major.$age.$revision"
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=".$current.$age.$revision"
+ verstring="$current.$age.$revision"
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test "$loop" -ne 0; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring="$verstring:${iface}.0"
+ done
+
+ # Make executables depend on our current version.
+ func_append verstring ":${current}.0"
+ ;;
+
+ qnx)
+ major=".$current"
+ versuffix=".$current"
+ ;;
+
+ sunos)
+ major=".$current"
+ versuffix=".$current.$revision"
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 filesystems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix="-$major"
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type \`$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring="0.0"
+ ;;
+ esac
+ if test "$need_version" = no; then
+ versuffix=
+ else
+ versuffix=".0.0"
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test "$avoid_version" = yes && test "$need_version" = no; then
+ major=
+ versuffix=
+ verstring=""
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test "$allow_undefined" = yes; then
+ if test "$allow_undefined_flag" = unsupported; then
+ func_warning "undefined symbols not allowed in $host shared libraries"
+ build_libtool_libs=no
+ build_old_libs=yes
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag="$no_undefined_flag"
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" "yes"
+ func_append libobjs " $symfileobj"
+ test "X$libobjs" = "X " && libobjs=
+
+ if test "$opt_mode" != relink; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+ if test "X$precious_files_regex" != "X"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ func_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles="$dlfiles"
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles="$dlprefiles"
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) func_append dlprefiles " $lib" ;;
+ esac
+ done
+
+ if test "$build_libtool_libs" = yes; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test "$build_libtool_need_lc" = "yes"; then
+ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=""
+ versuffix=""
+ major=""
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=""
+ ;;
+ esac
+ fi
+ if test -n "$i" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ if test "$want_nocaseglob" = yes; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib="$potent_lib"
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+ *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib" ; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib="$potent_lib" # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=""
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib" ; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib" ; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=""
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+ if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ for i in $predeps $postdeps ; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ done
+ fi
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
+ if test "X$deplibs_check_method" = "Xnone"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ ;;
+ esac
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test "$droppeddeps" = yes; then
+ if test "$module" = yes; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+
+ if test "$allow_undefined" = no; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test "$build_old_libs" = no; then
+ oldlibs="$output_objdir/$libname.$libext"
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs="$new_libs"
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test "$build_libtool_libs" = yes; then
+ # Remove ${wl} instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
+ if test "$hardcode_into_libs" = yes; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath="$finalize_rpath"
+ test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath="$finalize_shlibpath"
+ test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname="$1"
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname="$realname"
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib="$output_objdir/$realname"
+ linknames=
+ for link
+ do
+ func_append linknames " $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols="$output_objdir/$libname.uexp"
+ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols="$export_symbols"
+ export_symbols=
+ always_export_symbols=yes
+ fi
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs="$IFS"; IFS='~'
+ for cmd1 in $cmds; do
+ IFS="$save_ifs"
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test "$try_normal_branch" = yes \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=${output_objdir}/${output_la}.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS="$save_ifs"
+ if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+ deplibs="$tmp_deplibs"
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test "$compiler_needs_object" = yes &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ func_append linker_flags " $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test "X$skipped_export" != "X:" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ func_basename "$output"
+ output_la=$func_basename_result
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+ output=${output_objdir}/${output_la}.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+ output=${output_objdir}/${output_la}.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test "$compiler_needs_object" = yes; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-${k}.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test "X$objlist" = X ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test "$k" -eq 1 ; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-${k}.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-${k}.$objext
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ fi
+ func_append delfiles " $output"
+
+ else
+ output=
+ fi
+
+ if ${skipped_export-false}; then
+ func_verbose "generating symbol list for \`$libname.la'"
+ export_symbols="$output_objdir/$libname.exp"
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ fi
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS="$save_ifs"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ if ${skipped_export-false}; then
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols="$export_symbols"
+ test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ fi
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test "$module" = yes && test -n "$module_cmds" ; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs="$IFS"; IFS='~'
+ for cmd in $cmds; do
+ IFS="$save_ifs"
+ eval cmd=\"$cmd\"
+ $opt_silent || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS="$save_ifs"
+
+ # Restore the uninstalled library and exit
+ if test "$opt_mode" = relink; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
+ # On all known operating systems, these are identical.
+ dlname="$soname"
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ func_warning "\`-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "\`-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "\`-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj="$output"
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # reload_cmds runs $LD directly, so let us get rid of
+ # -Wl from whole_archive_flag_spec and hope we can get by with
+ # turning comma into space..
+ wl=
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ else
+ gentop="$output_objdir/${obj}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # If we're not building shared, we need to use non_pic_objs
+ test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+
+ # Create the old-style object.
+ reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+ output="$obj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$build_libtool_libs" != yes; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ fi
+
+ if test -n "$pic_flag" || test "$pic_mode" != default; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output="$libobj"
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "\`-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "\`-release' is ignored for programs"
+
+ test "$preload" = yes \
+ && test "$dlopen_support" = unknown \
+ && test "$dlopen_self" = unknown \
+ && test "$dlopen_self_static" = unknown && \
+ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test "$tagname" = CXX ; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ func_append compile_command " ${wl}-bind_at_load"
+ func_append finalize_command " ${wl}-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs="$new_libs"
+
+
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath="$rpath"
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs="$libdir"
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir="$hardcode_libdirs"
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath="$rpath"
+
+ if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=yes
+ case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=no
+ ;;
+ *cygwin* | *mingw* )
+ if test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ *)
+ if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+ wrappers_required=no
+ fi
+ ;;
+ esac
+ if test "$wrappers_required" = no; then
+ # Replace the output file specification.
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ link_command="$compile_command$compile_rpath"
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.${objext}"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ fi
+
+ exit $exit_status
+ fi
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test "$no_install" = yes; then
+ # We don't need to create a wrapper script.
+ link_command="$compile_var$compile_command$compile_rpath"
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ if test "$hardcode_action" = relink; then
+ # Fast installation is not supported
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "\`$output' will be relinked during installation"
+ else
+ if test "$fast_install" != no; then
+ link_command="$finalize_var$compile_command$finalize_rpath"
+ if test "$fast_install" = yes; then
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ else
+ # fast_install is set to needless
+ relink_command=
+ fi
+ else
+ link_command="$compile_var$compile_command$compile_rpath"
+ relink_command="$finalize_var$finalize_command$finalize_rpath"
+ fi
+ fi
+
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource="$output_path/$objdir/lt-$output_name.c"
+ cwrapper="$output_path/$output_name.exe"
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host" ; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ if test "$build_libtool_libs" = convenience; then
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs="$convenience"
+ build_libtool_libs=no
+ else
+ if test "$build_libtool_libs" = module; then
+ oldobjs="$libobjs_save"
+ build_libtool_libs=no
+ else
+ oldobjs="$old_deplibs $non_pic_objects"
+ if test "$preload" = yes && test -f "$symfileobj"; then
+ func_append oldobjs " $symfileobj"
+ fi
+ fi
+ addlibs="$old_convenience"
+ fi
+
+ if test -n "$addlibs"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $addlibs
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop="$output_objdir/${outputname}x"
+ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase="$func_basename_result"
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
+ ;;
+ *) func_append oldobjs " $obj" ;;
+ esac
+ done
+ fi
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj" ; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test "X$oldobjs" = "X" ; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test "$build_old_libs" = yes && old_library="$libname.$libext"
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ if test "$hardcode_automatic" = yes ; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test "$installed" = yes; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output="$output_objdir/$outputname"i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name="$func_basename_result"
+ func_resolve_sysroot "$deplib"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs="$newdependency_libs"
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name="$func_basename_result"
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles="$newdlprefiles"
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlfiles " $abs"
+ done
+ dlfiles="$newdlfiles"
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlprefiles " $abs"
+ done
+ dlprefiles="$newdlprefiles"
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test "x$bindir" != x ;
+ then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test "$installed" = no && test "$need_relink" = yes; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
+ func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $opt_debug
+ RM="$nonopt"
+ files=
+ rmforce=
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic="$magic"
+
+ for arg
+ do
+ case $arg in
+ -f) func_append RM " $arg"; rmforce=yes ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir="$func_dirname_result"
+ if test "X$dir" = X.; then
+ odir="$objdir"
+ else
+ odir="$dir/$objdir"
+ fi
+ func_basename "$file"
+ name="$func_basename_result"
+ test "$opt_mode" = uninstall && odir="$dir"
+
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test "$opt_mode" = clean; then
+ case " $rmdirs " in
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif test "$rmforce" = yes; then
+ continue
+ fi
+
+ rmfiles="$file"
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ func_append rmfiles " $odir/$n"
+ done
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+ case "$opt_mode" in
+ clean)
+ case " $library_names " in
+ *" $dlname "*) ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" &&
+ test "$pic_object" != none; then
+ func_append rmfiles " $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" &&
+ test "$non_pic_object" != none; then
+ func_append rmfiles " $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test "$opt_mode" = clean ; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ func_append rmfiles " $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
+ if test "$fast_install" = yes && test -n "$relink_command"; then
+ func_append rmfiles " $odir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name" ; then
+ func_append rmfiles " $odir/lt-${noexename}.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+
+ # Try to remove the ${objdir}s in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
+ func_mode_uninstall ${1+"$@"}
+
+test -z "$opt_mode" && {
+ help="$generic_help"
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode \`$opt_mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/snappy-1.1.0/m4/gtest.m4 b/snappy-1.1.0/m4/gtest.m4
new file mode 100644
index 0000000..98e61f9
--- /dev/null
+++ b/snappy-1.1.0/m4/gtest.m4
@@ -0,0 +1,74 @@
+dnl GTEST_LIB_CHECK([minimum version [,
+dnl action if found [,action if not found]]])
+dnl
+dnl Check for the presence of the Google Test library, optionally at a minimum
+dnl version, and indicate a viable version with the HAVE_GTEST flag. It defines
+dnl standard variables for substitution including GTEST_CPPFLAGS,
+dnl GTEST_CXXFLAGS, GTEST_LDFLAGS, and GTEST_LIBS. It also defines
+dnl GTEST_VERSION as the version of Google Test found. Finally, it provides
+dnl optional custom action slots in the event GTEST is found or not.
+AC_DEFUN([GTEST_LIB_CHECK],
+[
+dnl Provide a flag to enable or disable Google Test usage.
+AC_ARG_ENABLE([gtest],
+ [AS_HELP_STRING([--enable-gtest],
+ [Enable tests using the Google C++ Testing Framework.
+ (Default is enabled.)])],
+ [],
+ [enable_gtest=])
+AC_ARG_VAR([GTEST_CONFIG],
+ [The exact path of Google Test's 'gtest-config' script.])
+AC_ARG_VAR([GTEST_CPPFLAGS],
+ [C-like preprocessor flags for Google Test.])
+AC_ARG_VAR([GTEST_CXXFLAGS],
+ [C++ compile flags for Google Test.])
+AC_ARG_VAR([GTEST_LDFLAGS],
+ [Linker path and option flags for Google Test.])
+AC_ARG_VAR([GTEST_LIBS],
+ [Library linking flags for Google Test.])
+AC_ARG_VAR([GTEST_VERSION],
+ [The version of Google Test available.])
+HAVE_GTEST="no"
+AS_IF([test "x${enable_gtest}" != "xno"],
+ [AC_MSG_CHECKING([for 'gtest-config'])
+ AS_IF([test "x${enable_gtest}" = "xyes"],
+ [AS_IF([test -x "${enable_gtest}/scripts/gtest-config"],
+ [GTEST_CONFIG="${enable_gtest}/scripts/gtest-config"],
+ [GTEST_CONFIG="${enable_gtest}/bin/gtest-config"])
+ AS_IF([test -x "${GTEST_CONFIG}"], [],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([dnl
+Unable to locate either a built or installed Google Test.
+The specific location '${enable_gtest}' was provided for a built or installed
+Google Test, but no 'gtest-config' script could be found at this location.])
+ ])],
+ [AC_PATH_PROG([GTEST_CONFIG], [gtest-config])])
+ AS_IF([test -x "${GTEST_CONFIG}"],
+ [AC_MSG_RESULT([${GTEST_CONFIG}])
+ m4_ifval([$1],
+ [_gtest_min_version="--min-version=$1"
+ AC_MSG_CHECKING([for Google Test at least version >= $1])],
+ [_gtest_min_version="--min-version=0"
+ AC_MSG_CHECKING([for Google Test])])
+ AS_IF([${GTEST_CONFIG} ${_gtest_min_version}],
+ [AC_MSG_RESULT([yes])
+ HAVE_GTEST='yes'],
+ [AC_MSG_RESULT([no])])],
+ [AC_MSG_RESULT([no])])
+ AS_IF([test "x${HAVE_GTEST}" = "xyes"],
+ [GTEST_CPPFLAGS=`${GTEST_CONFIG} --cppflags`
+ GTEST_CXXFLAGS=`${GTEST_CONFIG} --cxxflags`
+ GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags`
+ GTEST_LIBS=`${GTEST_CONFIG} --libs`
+ GTEST_VERSION=`${GTEST_CONFIG} --version`
+ AC_DEFINE([HAVE_GTEST],[1],[Defined when Google Test is available.])],
+ [AS_IF([test "x${enable_gtest}" = "xyes"],
+ [AC_MSG_ERROR([dnl
+Google Test was enabled, but no viable version could be found.])
+ ])])])
+AC_SUBST([HAVE_GTEST])
+AM_CONDITIONAL([HAVE_GTEST],[test "x$HAVE_GTEST" = "xyes"])
+AS_IF([test "x$HAVE_GTEST" = "xyes"],
+ [m4_ifval([$2], [$2])],
+ [m4_ifval([$3], [$3])])
+])
diff --git a/snappy-1.1.0/missing b/snappy-1.1.0/missing
new file mode 100755
index 0000000..86a8fc3
--- /dev/null
+++ b/snappy-1.1.0/missing
@@ -0,0 +1,331 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2012-01-06.13; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ autom4te touch the output file, or create a stub one
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+ lex*|yacc*)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case $f in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te*)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison*|yacc*)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if test $# -ne 1; then
+ eval LASTARG=\${$#}
+ case $LASTARG in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f y.tab.h; then
+ echo >y.tab.h
+ fi
+ if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex*|flex*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if test $# -ne 1; then
+ eval LASTARG=\${$#}
+ case $LASTARG in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit $?
+ fi
+ ;;
+
+ makeinfo*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/snappy-1.1.0/snappy-c.cc b/snappy-1.1.0/snappy-c.cc
new file mode 100644
index 0000000..473a0b0
--- /dev/null
+++ b/snappy-1.1.0/snappy-c.cc
@@ -0,0 +1,90 @@
+// Copyright 2011 Martin Gieseking <martin.gieseking@uos.de>.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "snappy.h"
+#include "snappy-c.h"
+
+extern "C" {
+
+snappy_status snappy_compress(const char* input,
+ size_t input_length,
+ char* compressed,
+ size_t *compressed_length) {
+ if (*compressed_length < snappy_max_compressed_length(input_length)) {
+ return SNAPPY_BUFFER_TOO_SMALL;
+ }
+ snappy::RawCompress(input, input_length, compressed, compressed_length);
+ return SNAPPY_OK;
+}
+
+snappy_status snappy_uncompress(const char* compressed,
+ size_t compressed_length,
+ char* uncompressed,
+ size_t* uncompressed_length) {
+ size_t real_uncompressed_length;
+ if (!snappy::GetUncompressedLength(compressed,
+ compressed_length,
+ &real_uncompressed_length)) {
+ return SNAPPY_INVALID_INPUT;
+ }
+ if (*uncompressed_length < real_uncompressed_length) {
+ return SNAPPY_BUFFER_TOO_SMALL;
+ }
+ if (!snappy::RawUncompress(compressed, compressed_length, uncompressed)) {
+ return SNAPPY_INVALID_INPUT;
+ }
+ *uncompressed_length = real_uncompressed_length;
+ return SNAPPY_OK;
+}
+
+size_t snappy_max_compressed_length(size_t source_length) {
+ return snappy::MaxCompressedLength(source_length);
+}
+
+snappy_status snappy_uncompressed_length(const char *compressed,
+ size_t compressed_length,
+ size_t *result) {
+ if (snappy::GetUncompressedLength(compressed,
+ compressed_length,
+ result)) {
+ return SNAPPY_OK;
+ } else {
+ return SNAPPY_INVALID_INPUT;
+ }
+}
+
+snappy_status snappy_validate_compressed_buffer(const char *compressed,
+ size_t compressed_length) {
+ if (snappy::IsValidCompressedBuffer(compressed, compressed_length)) {
+ return SNAPPY_OK;
+ } else {
+ return SNAPPY_INVALID_INPUT;
+ }
+}
+
+} // extern "C"
diff --git a/snappy-1.1.0/snappy-c.h b/snappy-1.1.0/snappy-c.h
new file mode 100644
index 0000000..c6c2a86
--- /dev/null
+++ b/snappy-1.1.0/snappy-c.h
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2011 Martin Gieseking <martin.gieseking@uos.de>.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Plain C interface (a wrapper around the C++ implementation).
+ */
+
+#ifndef UTIL_SNAPPY_OPENSOURCE_SNAPPY_C_H_
+#define UTIL_SNAPPY_OPENSOURCE_SNAPPY_C_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stddef.h>
+
+/*
+ * Return values; see the documentation for each function to know
+ * what each can return.
+ */
+typedef enum {
+ SNAPPY_OK = 0,
+ SNAPPY_INVALID_INPUT = 1,
+ SNAPPY_BUFFER_TOO_SMALL = 2
+} snappy_status;
+
+/*
+ * Takes the data stored in "input[0..input_length-1]" and stores
+ * it in the array pointed to by "compressed".
+ *
+ * <compressed_length> signals the space available in "compressed".
+ * If it is not at least equal to "snappy_max_compressed_length(input_length)",
+ * SNAPPY_BUFFER_TOO_SMALL is returned. After successful compression,
+ * <compressed_length> contains the true length of the compressed output,
+ * and SNAPPY_OK is returned.
+ *
+ * Example:
+ * size_t output_length = snappy_max_compressed_length(input_length);
+ * char* output = (char*)malloc(output_length);
+ * if (snappy_compress(input, input_length, output, &output_length)
+ * == SNAPPY_OK) {
+ * ... Process(output, output_length) ...
+ * }
+ * free(output);
+ */
+snappy_status snappy_compress(const char* input,
+ size_t input_length,
+ char* compressed,
+ size_t* compressed_length);
+
+/*
+ * Given data in "compressed[0..compressed_length-1]" generated by
+ * calling the snappy_compress routine, this routine stores
+ * the uncompressed data to
+ * uncompressed[0..uncompressed_length-1].
+ * Returns failure (a value not equal to SNAPPY_OK) if the message
+ * is corrupted and could not be decrypted.
+ *
+ * <uncompressed_length> signals the space available in "uncompressed".
+ * If it is not at least equal to the value returned by
+ * snappy_uncompressed_length for this stream, SNAPPY_BUFFER_TOO_SMALL
+ * is returned. After successful decompression, <uncompressed_length>
+ * contains the true length of the decompressed output.
+ *
+ * Example:
+ * size_t output_length;
+ * if (snappy_uncompressed_length(input, input_length, &output_length)
+ * != SNAPPY_OK) {
+ * ... fail ...
+ * }
+ * char* output = (char*)malloc(output_length);
+ * if (snappy_uncompress(input, input_length, output, &output_length)
+ * == SNAPPY_OK) {
+ * ... Process(output, output_length) ...
+ * }
+ * free(output);
+ */
+snappy_status snappy_uncompress(const char* compressed,
+ size_t compressed_length,
+ char* uncompressed,
+ size_t* uncompressed_length);
+
+/*
+ * Returns the maximal size of the compressed representation of
+ * input data that is "source_length" bytes in length.
+ */
+size_t snappy_max_compressed_length(size_t source_length);
+
+/*
+ * REQUIRES: "compressed[]" was produced by snappy_compress()
+ * Returns SNAPPY_OK and stores the length of the uncompressed data in
+ * *result normally. Returns SNAPPY_INVALID_INPUT on parsing error.
+ * This operation takes O(1) time.
+ */
+snappy_status snappy_uncompressed_length(const char* compressed,
+ size_t compressed_length,
+ size_t* result);
+
+/*
+ * Check if the contents of "compressed[]" can be uncompressed successfully.
+ * Does not return the uncompressed data; if so, returns SNAPPY_OK,
+ * or if not, returns SNAPPY_INVALID_INPUT.
+ * Takes time proportional to compressed_length, but is usually at least a
+ * factor of four faster than actual decompression.
+ */
+snappy_status snappy_validate_compressed_buffer(const char* compressed,
+ size_t compressed_length);
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif /* UTIL_SNAPPY_OPENSOURCE_SNAPPY_C_H_ */
diff --git a/snappy-1.1.0/snappy-internal.h b/snappy-1.1.0/snappy-internal.h
new file mode 100644
index 0000000..c99d331
--- /dev/null
+++ b/snappy-1.1.0/snappy-internal.h
@@ -0,0 +1,150 @@
+// Copyright 2008 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Internals shared between the Snappy implementation and its unittest.
+
+#ifndef UTIL_SNAPPY_SNAPPY_INTERNAL_H_
+#define UTIL_SNAPPY_SNAPPY_INTERNAL_H_
+
+#include "snappy-stubs-internal.h"
+
+namespace snappy {
+namespace internal {
+
+class WorkingMemory {
+ public:
+ WorkingMemory() : large_table_(NULL) { }
+ ~WorkingMemory() { delete[] large_table_; }
+
+ // Allocates and clears a hash table using memory in "*this",
+ // stores the number of buckets in "*table_size" and returns a pointer to
+ // the base of the hash table.
+ uint16* GetHashTable(size_t input_size, int* table_size);
+
+ private:
+ uint16 small_table_[1<<10]; // 2KB
+ uint16* large_table_; // Allocated only when needed
+
+ DISALLOW_COPY_AND_ASSIGN(WorkingMemory);
+};
+
+// Flat array compression that does not emit the "uncompressed length"
+// prefix. Compresses "input" string to the "*op" buffer.
+//
+// REQUIRES: "input_length <= kBlockSize"
+// REQUIRES: "op" points to an array of memory that is at least
+// "MaxCompressedLength(input_length)" in size.
+// REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero.
+// REQUIRES: "table_size" is a power of two
+//
+// Returns an "end" pointer into "op" buffer.
+// "end - op" is the compressed size of "input".
+char* CompressFragment(const char* input,
+ size_t input_length,
+ char* op,
+ uint16* table,
+ const int table_size);
+
+// Return the largest n such that
+//
+// s1[0,n-1] == s2[0,n-1]
+// and n <= (s2_limit - s2).
+//
+// Does not read *s2_limit or beyond.
+// Does not read *(s1 + (s2_limit - s2)) or beyond.
+// Requires that s2_limit >= s2.
+//
+// Separate implementation for x86_64, for speed. Uses the fact that
+// x86_64 is little endian.
+#if defined(ARCH_K8)
+static inline int FindMatchLength(const char* s1,
+ const char* s2,
+ const char* s2_limit) {
+ assert(s2_limit >= s2);
+ int matched = 0;
+
+ // Find out how long the match is. We loop over the data 64 bits at a
+ // time until we find a 64-bit block that doesn't match; then we find
+ // the first non-matching bit and use that to calculate the total
+ // length of the match.
+ while (PREDICT_TRUE(s2 <= s2_limit - 8)) {
+ if (PREDICT_FALSE(UNALIGNED_LOAD64(s2) == UNALIGNED_LOAD64(s1 + matched))) {
+ s2 += 8;
+ matched += 8;
+ } else {
+ // On current (mid-2008) Opteron models there is a 3% more
+ // efficient code sequence to find the first non-matching byte.
+ // However, what follows is ~10% better on Intel Core 2 and newer,
+ // and we expect AMD's bsf instruction to improve.
+ uint64 x = UNALIGNED_LOAD64(s2) ^ UNALIGNED_LOAD64(s1 + matched);
+ int matching_bits = Bits::FindLSBSetNonZero64(x);
+ matched += matching_bits >> 3;
+ return matched;
+ }
+ }
+ while (PREDICT_TRUE(s2 < s2_limit)) {
+ if (PREDICT_TRUE(s1[matched] == *s2)) {
+ ++s2;
+ ++matched;
+ } else {
+ return matched;
+ }
+ }
+ return matched;
+}
+#else
+static inline int FindMatchLength(const char* s1,
+ const char* s2,
+ const char* s2_limit) {
+ // Implementation based on the x86-64 version, above.
+ assert(s2_limit >= s2);
+ int matched = 0;
+
+ while (s2 <= s2_limit - 4 &&
+ UNALIGNED_LOAD32(s2) == UNALIGNED_LOAD32(s1 + matched)) {
+ s2 += 4;
+ matched += 4;
+ }
+ if (LittleEndian::IsLittleEndian() && s2 <= s2_limit - 4) {
+ uint32 x = UNALIGNED_LOAD32(s2) ^ UNALIGNED_LOAD32(s1 + matched);
+ int matching_bits = Bits::FindLSBSetNonZero(x);
+ matched += matching_bits >> 3;
+ } else {
+ while ((s2 < s2_limit) && (s1[matched] == *s2)) {
+ ++s2;
+ ++matched;
+ }
+ }
+ return matched;
+}
+#endif
+
+} // end namespace internal
+} // end namespace snappy
+
+#endif // UTIL_SNAPPY_SNAPPY_INTERNAL_H_
diff --git a/snappy-1.1.0/snappy-sinksource.cc b/snappy-1.1.0/snappy-sinksource.cc
new file mode 100644
index 0000000..5844552
--- /dev/null
+++ b/snappy-1.1.0/snappy-sinksource.cc
@@ -0,0 +1,71 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include <string.h>
+
+#include "snappy-sinksource.h"
+
+namespace snappy {
+
+Source::~Source() { }
+
+Sink::~Sink() { }
+
+char* Sink::GetAppendBuffer(size_t length, char* scratch) {
+ return scratch;
+}
+
+ByteArraySource::~ByteArraySource() { }
+
+size_t ByteArraySource::Available() const { return left_; }
+
+const char* ByteArraySource::Peek(size_t* len) {
+ *len = left_;
+ return ptr_;
+}
+
+void ByteArraySource::Skip(size_t n) {
+ left_ -= n;
+ ptr_ += n;
+}
+
+UncheckedByteArraySink::~UncheckedByteArraySink() { }
+
+void UncheckedByteArraySink::Append(const char* data, size_t n) {
+ // Do no copying if the caller filled in the result of GetAppendBuffer()
+ if (data != dest_) {
+ memcpy(dest_, data, n);
+ }
+ dest_ += n;
+}
+
+char* UncheckedByteArraySink::GetAppendBuffer(size_t len, char* scratch) {
+ return dest_;
+}
+
+}
diff --git a/snappy-1.1.0/snappy-sinksource.h b/snappy-1.1.0/snappy-sinksource.h
new file mode 100644
index 0000000..faabfa1
--- /dev/null
+++ b/snappy-1.1.0/snappy-sinksource.h
@@ -0,0 +1,137 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef UTIL_SNAPPY_SNAPPY_SINKSOURCE_H_
+#define UTIL_SNAPPY_SNAPPY_SINKSOURCE_H_
+
+#include <stddef.h>
+
+
+namespace snappy {
+
+// A Sink is an interface that consumes a sequence of bytes.
+class Sink {
+ public:
+ Sink() { }
+ virtual ~Sink();
+
+ // Append "bytes[0,n-1]" to this.
+ virtual void Append(const char* bytes, size_t n) = 0;
+
+ // Returns a writable buffer of the specified length for appending.
+ // May return a pointer to the caller-owned scratch buffer which
+ // must have at least the indicated length. The returned buffer is
+ // only valid until the next operation on this Sink.
+ //
+ // After writing at most "length" bytes, call Append() with the
+ // pointer returned from this function and the number of bytes
+ // written. Many Append() implementations will avoid copying
+ // bytes if this function returned an internal buffer.
+ //
+ // If a non-scratch buffer is returned, the caller may only pass a
+ // prefix of it to Append(). That is, it is not correct to pass an
+ // interior pointer of the returned array to Append().
+ //
+ // The default implementation always returns the scratch buffer.
+ virtual char* GetAppendBuffer(size_t length, char* scratch);
+
+
+ private:
+ // No copying
+ Sink(const Sink&);
+ void operator=(const Sink&);
+};
+
+// A Source is an interface that yields a sequence of bytes
+class Source {
+ public:
+ Source() { }
+ virtual ~Source();
+
+ // Return the number of bytes left to read from the source
+ virtual size_t Available() const = 0;
+
+ // Peek at the next flat region of the source. Does not reposition
+ // the source. The returned region is empty iff Available()==0.
+ //
+ // Returns a pointer to the beginning of the region and store its
+ // length in *len.
+ //
+ // The returned region is valid until the next call to Skip() or
+ // until this object is destroyed, whichever occurs first.
+ //
+ // The returned region may be larger than Available() (for example
+ // if this ByteSource is a view on a substring of a larger source).
+ // The caller is responsible for ensuring that it only reads the
+ // Available() bytes.
+ virtual const char* Peek(size_t* len) = 0;
+
+ // Skip the next n bytes. Invalidates any buffer returned by
+ // a previous call to Peek().
+ // REQUIRES: Available() >= n
+ virtual void Skip(size_t n) = 0;
+
+ private:
+ // No copying
+ Source(const Source&);
+ void operator=(const Source&);
+};
+
+// A Source implementation that yields the contents of a flat array
+class ByteArraySource : public Source {
+ public:
+ ByteArraySource(const char* p, size_t n) : ptr_(p), left_(n) { }
+ virtual ~ByteArraySource();
+ virtual size_t Available() const;
+ virtual const char* Peek(size_t* len);
+ virtual void Skip(size_t n);
+ private:
+ const char* ptr_;
+ size_t left_;
+};
+
+// A Sink implementation that writes to a flat array without any bound checks.
+class UncheckedByteArraySink : public Sink {
+ public:
+ explicit UncheckedByteArraySink(char* dest) : dest_(dest) { }
+ virtual ~UncheckedByteArraySink();
+ virtual void Append(const char* data, size_t n);
+ virtual char* GetAppendBuffer(size_t len, char* scratch);
+
+ // Return the current output pointer so that a caller can see how
+ // many bytes were produced.
+ // Note: this is not a Sink method.
+ char* CurrentDestination() const { return dest_; }
+ private:
+ char* dest_;
+};
+
+
+}
+
+#endif // UTIL_SNAPPY_SNAPPY_SINKSOURCE_H_
diff --git a/snappy-1.1.0/snappy-stubs-internal.cc b/snappy-1.1.0/snappy-stubs-internal.cc
new file mode 100644
index 0000000..6ed3343
--- /dev/null
+++ b/snappy-1.1.0/snappy-stubs-internal.cc
@@ -0,0 +1,42 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include <algorithm>
+#include <string>
+
+#include "snappy-stubs-internal.h"
+
+namespace snappy {
+
+void Varint::Append32(string* s, uint32 value) {
+ char buf[Varint::kMax32];
+ const char* p = Varint::Encode32(buf, value);
+ s->append(buf, p - buf);
+}
+
+} // namespace snappy
diff --git a/snappy-1.1.0/snappy-stubs-internal.h b/snappy-1.1.0/snappy-stubs-internal.h
new file mode 100644
index 0000000..12393b6
--- /dev/null
+++ b/snappy-1.1.0/snappy-stubs-internal.h
@@ -0,0 +1,491 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Various stubs for the open-source version of Snappy.
+
+#ifndef UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_INTERNAL_H_
+#define UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_INTERNAL_H_
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string>
+
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef HAVE_SYS_MMAN_H
+#include <sys/mman.h>
+#endif
+
+#include "snappy-stubs-public.h"
+
+#if defined(__x86_64__)
+
+// Enable 64-bit optimized versions of some routines.
+#define ARCH_K8 1
+
+#endif
+
+// Needed by OS X, among others.
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+// Pull in std::min, std::ostream, and the likes. This is safe because this
+// header file is never used from any public header files.
+using namespace std;
+
+// The size of an array, if known at compile-time.
+// Will give unexpected results if used on a pointer.
+// We undefine it first, since some compilers already have a definition.
+#ifdef ARRAYSIZE
+#undef ARRAYSIZE
+#endif
+#define ARRAYSIZE(a) (sizeof(a) / sizeof(*(a)))
+
+// Static prediction hints.
+#ifdef HAVE_BUILTIN_EXPECT
+#define PREDICT_FALSE(x) (__builtin_expect(x, 0))
+#define PREDICT_TRUE(x) (__builtin_expect(!!(x), 1))
+#else
+#define PREDICT_FALSE(x) x
+#define PREDICT_TRUE(x) x
+#endif
+
+// This is only used for recomputing the tag byte table used during
+// decompression; for simplicity we just remove it from the open-source
+// version (anyone who wants to regenerate it can just do the call
+// themselves within main()).
+#define DEFINE_bool(flag_name, default_value, description) \
+ bool FLAGS_ ## flag_name = default_value
+#define DECLARE_bool(flag_name) \
+ extern bool FLAGS_ ## flag_name
+
+namespace snappy {
+
+static const uint32 kuint32max = static_cast<uint32>(0xFFFFFFFF);
+static const int64 kint64max = static_cast<int64>(0x7FFFFFFFFFFFFFFFLL);
+
+// Potentially unaligned loads and stores.
+
+// x86 and PowerPC can simply do these loads and stores native.
+
+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__)
+
+#define UNALIGNED_LOAD16(_p) (*reinterpret_cast<const uint16 *>(_p))
+#define UNALIGNED_LOAD32(_p) (*reinterpret_cast<const uint32 *>(_p))
+#define UNALIGNED_LOAD64(_p) (*reinterpret_cast<const uint64 *>(_p))
+
+#define UNALIGNED_STORE16(_p, _val) (*reinterpret_cast<uint16 *>(_p) = (_val))
+#define UNALIGNED_STORE32(_p, _val) (*reinterpret_cast<uint32 *>(_p) = (_val))
+#define UNALIGNED_STORE64(_p, _val) (*reinterpret_cast<uint64 *>(_p) = (_val))
+
+// ARMv7 and newer support native unaligned accesses, but only of 16-bit
+// and 32-bit values (not 64-bit); older versions either raise a fatal signal,
+// do an unaligned read and rotate the words around a bit, or do the reads very
+// slowly (trip through kernel mode). There's no simple #define that says just
+// “ARMv7 or higher”, so we have to filter away all ARMv5 and ARMv6
+// sub-architectures.
+//
+// This is a mess, but there's not much we can do about it.
+
+#elif defined(__arm__) && \
+ !defined(__ARM_ARCH_4__) && \
+ !defined(__ARM_ARCH_4T__) && \
+ !defined(__ARM_ARCH_5__) && \
+ !defined(__ARM_ARCH_5T__) && \
+ !defined(__ARM_ARCH_5TE__) && \
+ !defined(__ARM_ARCH_5TEJ__) && \
+ !defined(__ARM_ARCH_6__) && \
+ !defined(__ARM_ARCH_6J__) && \
+ !defined(__ARM_ARCH_6K__) && \
+ !defined(__ARM_ARCH_6Z__) && \
+ !defined(__ARM_ARCH_6ZK__) && \
+ !defined(__ARM_ARCH_6T2__)
+
+#define UNALIGNED_LOAD16(_p) (*reinterpret_cast<const uint16 *>(_p))
+#define UNALIGNED_LOAD32(_p) (*reinterpret_cast<const uint32 *>(_p))
+
+#define UNALIGNED_STORE16(_p, _val) (*reinterpret_cast<uint16 *>(_p) = (_val))
+#define UNALIGNED_STORE32(_p, _val) (*reinterpret_cast<uint32 *>(_p) = (_val))
+
+// TODO(user): NEON supports unaligned 64-bit loads and stores.
+// See if that would be more efficient on platforms supporting it,
+// at least for copies.
+
+inline uint64 UNALIGNED_LOAD64(const void *p) {
+ uint64 t;
+ memcpy(&t, p, sizeof t);
+ return t;
+}
+
+inline void UNALIGNED_STORE64(void *p, uint64 v) {
+ memcpy(p, &v, sizeof v);
+}
+
+#else
+
+// These functions are provided for architectures that don't support
+// unaligned loads and stores.
+
+inline uint16 UNALIGNED_LOAD16(const void *p) {
+ uint16 t;
+ memcpy(&t, p, sizeof t);
+ return t;
+}
+
+inline uint32 UNALIGNED_LOAD32(const void *p) {
+ uint32 t;
+ memcpy(&t, p, sizeof t);
+ return t;
+}
+
+inline uint64 UNALIGNED_LOAD64(const void *p) {
+ uint64 t;
+ memcpy(&t, p, sizeof t);
+ return t;
+}
+
+inline void UNALIGNED_STORE16(void *p, uint16 v) {
+ memcpy(p, &v, sizeof v);
+}
+
+inline void UNALIGNED_STORE32(void *p, uint32 v) {
+ memcpy(p, &v, sizeof v);
+}
+
+inline void UNALIGNED_STORE64(void *p, uint64 v) {
+ memcpy(p, &v, sizeof v);
+}
+
+#endif
+
+// This can be more efficient than UNALIGNED_LOAD64 + UNALIGNED_STORE64
+// on some platforms, in particular ARM.
+inline void UnalignedCopy64(const void *src, void *dst) {
+ if (sizeof(void *) == 8) {
+ UNALIGNED_STORE64(dst, UNALIGNED_LOAD64(src));
+ } else {
+ const char *src_char = reinterpret_cast<const char *>(src);
+ char *dst_char = reinterpret_cast<char *>(dst);
+
+ UNALIGNED_STORE32(dst_char, UNALIGNED_LOAD32(src_char));
+ UNALIGNED_STORE32(dst_char + 4, UNALIGNED_LOAD32(src_char + 4));
+ }
+}
+
+// The following guarantees declaration of the byte swap functions.
+#ifdef WORDS_BIGENDIAN
+
+#ifdef HAVE_SYS_BYTEORDER_H
+#include <sys/byteorder.h>
+#endif
+
+#ifdef HAVE_SYS_ENDIAN_H
+#include <sys/endian.h>
+#endif
+
+#ifdef _MSC_VER
+#include <stdlib.h>
+#define bswap_16(x) _byteswap_ushort(x)
+#define bswap_32(x) _byteswap_ulong(x)
+#define bswap_64(x) _byteswap_uint64(x)
+
+#elif defined(__APPLE__)
+// Mac OS X / Darwin features
+#include <libkern/OSByteOrder.h>
+#define bswap_16(x) OSSwapInt16(x)
+#define bswap_32(x) OSSwapInt32(x)
+#define bswap_64(x) OSSwapInt64(x)
+
+#elif defined(HAVE_BYTESWAP_H)
+#include <byteswap.h>
+
+#elif defined(bswap32)
+// FreeBSD defines bswap{16,32,64} in <sys/endian.h> (already #included).
+#define bswap_16(x) bswap16(x)
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
+
+#elif defined(BSWAP_64)
+// Solaris 10 defines BSWAP_{16,32,64} in <sys/byteorder.h> (already #included).
+#define bswap_16(x) BSWAP_16(x)
+#define bswap_32(x) BSWAP_32(x)
+#define bswap_64(x) BSWAP_64(x)
+
+#else
+
+inline uint16 bswap_16(uint16 x) {
+ return (x << 8) | (x >> 8);
+}
+
+inline uint32 bswap_32(uint32 x) {
+ x = ((x & 0xff00ff00UL) >> 8) | ((x & 0x00ff00ffUL) << 8);
+ return (x >> 16) | (x << 16);
+}
+
+inline uint64 bswap_64(uint64 x) {
+ x = ((x & 0xff00ff00ff00ff00ULL) >> 8) | ((x & 0x00ff00ff00ff00ffULL) << 8);
+ x = ((x & 0xffff0000ffff0000ULL) >> 16) | ((x & 0x0000ffff0000ffffULL) << 16);
+ return (x >> 32) | (x << 32);
+}
+
+#endif
+
+#endif // WORDS_BIGENDIAN
+
+// Convert to little-endian storage, opposite of network format.
+// Convert x from host to little endian: x = LittleEndian.FromHost(x);
+// convert x from little endian to host: x = LittleEndian.ToHost(x);
+//
+// Store values into unaligned memory converting to little endian order:
+// LittleEndian.Store16(p, x);
+//
+// Load unaligned values stored in little endian converting to host order:
+// x = LittleEndian.Load16(p);
+class LittleEndian {
+ public:
+ // Conversion functions.
+#ifdef WORDS_BIGENDIAN
+
+ static uint16 FromHost16(uint16 x) { return bswap_16(x); }
+ static uint16 ToHost16(uint16 x) { return bswap_16(x); }
+
+ static uint32 FromHost32(uint32 x) { return bswap_32(x); }
+ static uint32 ToHost32(uint32 x) { return bswap_32(x); }
+
+ static bool IsLittleEndian() { return false; }
+
+#else // !defined(WORDS_BIGENDIAN)
+
+ static uint16 FromHost16(uint16 x) { return x; }
+ static uint16 ToHost16(uint16 x) { return x; }
+
+ static uint32 FromHost32(uint32 x) { return x; }
+ static uint32 ToHost32(uint32 x) { return x; }
+
+ static bool IsLittleEndian() { return true; }
+
+#endif // !defined(WORDS_BIGENDIAN)
+
+ // Functions to do unaligned loads and stores in little-endian order.
+ static uint16 Load16(const void *p) {
+ return ToHost16(UNALIGNED_LOAD16(p));
+ }
+
+ static void Store16(void *p, uint16 v) {
+ UNALIGNED_STORE16(p, FromHost16(v));
+ }
+
+ static uint32 Load32(const void *p) {
+ return ToHost32(UNALIGNED_LOAD32(p));
+ }
+
+ static void Store32(void *p, uint32 v) {
+ UNALIGNED_STORE32(p, FromHost32(v));
+ }
+};
+
+// Some bit-manipulation functions.
+class Bits {
+ public:
+ // Return floor(log2(n)) for positive integer n. Returns -1 iff n == 0.
+ static int Log2Floor(uint32 n);
+
+ // Return the first set least / most significant bit, 0-indexed. Returns an
+ // undefined value if n == 0. FindLSBSetNonZero() is similar to ffs() except
+ // that it's 0-indexed.
+ static int FindLSBSetNonZero(uint32 n);
+ static int FindLSBSetNonZero64(uint64 n);
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(Bits);
+};
+
+#ifdef HAVE_BUILTIN_CTZ
+
+inline int Bits::Log2Floor(uint32 n) {
+ return n == 0 ? -1 : 31 ^ __builtin_clz(n);
+}
+
+inline int Bits::FindLSBSetNonZero(uint32 n) {
+ return __builtin_ctz(n);
+}
+
+inline int Bits::FindLSBSetNonZero64(uint64 n) {
+ return __builtin_ctzll(n);
+}
+
+#else // Portable versions.
+
+inline int Bits::Log2Floor(uint32 n) {
+ if (n == 0)
+ return -1;
+ int log = 0;
+ uint32 value = n;
+ for (int i = 4; i >= 0; --i) {
+ int shift = (1 << i);
+ uint32 x = value >> shift;
+ if (x != 0) {
+ value = x;
+ log += shift;
+ }
+ }
+ assert(value == 1);
+ return log;
+}
+
+inline int Bits::FindLSBSetNonZero(uint32 n) {
+ int rc = 31;
+ for (int i = 4, shift = 1 << 4; i >= 0; --i) {
+ const uint32 x = n << shift;
+ if (x != 0) {
+ n = x;
+ rc -= shift;
+ }
+ shift >>= 1;
+ }
+ return rc;
+}
+
+// FindLSBSetNonZero64() is defined in terms of FindLSBSetNonZero().
+inline int Bits::FindLSBSetNonZero64(uint64 n) {
+ const uint32 bottombits = static_cast<uint32>(n);
+ if (bottombits == 0) {
+ // Bottom bits are zero, so scan in top bits
+ return 32 + FindLSBSetNonZero(static_cast<uint32>(n >> 32));
+ } else {
+ return FindLSBSetNonZero(bottombits);
+ }
+}
+
+#endif // End portable versions.
+
+// Variable-length integer encoding.
+class Varint {
+ public:
+ // Maximum lengths of varint encoding of uint32.
+ static const int kMax32 = 5;
+
+ // Attempts to parse a varint32 from a prefix of the bytes in [ptr,limit-1].
+ // Never reads a character at or beyond limit. If a valid/terminated varint32
+ // was found in the range, stores it in *OUTPUT and returns a pointer just
+ // past the last byte of the varint32. Else returns NULL. On success,
+ // "result <= limit".
+ static const char* Parse32WithLimit(const char* ptr, const char* limit,
+ uint32* OUTPUT);
+
+ // REQUIRES "ptr" points to a buffer of length sufficient to hold "v".
+ // EFFECTS Encodes "v" into "ptr" and returns a pointer to the
+ // byte just past the last encoded byte.
+ static char* Encode32(char* ptr, uint32 v);
+
+ // EFFECTS Appends the varint representation of "value" to "*s".
+ static void Append32(string* s, uint32 value);
+};
+
+inline const char* Varint::Parse32WithLimit(const char* p,
+ const char* l,
+ uint32* OUTPUT) {
+ const unsigned char* ptr = reinterpret_cast<const unsigned char*>(p);
+ const unsigned char* limit = reinterpret_cast<const unsigned char*>(l);
+ uint32 b, result;
+ if (ptr >= limit) return NULL;
+ b = *(ptr++); result = b & 127; if (b < 128) goto done;
+ if (ptr >= limit) return NULL;
+ b = *(ptr++); result |= (b & 127) << 7; if (b < 128) goto done;
+ if (ptr >= limit) return NULL;
+ b = *(ptr++); result |= (b & 127) << 14; if (b < 128) goto done;
+ if (ptr >= limit) return NULL;
+ b = *(ptr++); result |= (b & 127) << 21; if (b < 128) goto done;
+ if (ptr >= limit) return NULL;
+ b = *(ptr++); result |= (b & 127) << 28; if (b < 16) goto done;
+ return NULL; // Value is too long to be a varint32
+ done:
+ *OUTPUT = result;
+ return reinterpret_cast<const char*>(ptr);
+}
+
+inline char* Varint::Encode32(char* sptr, uint32 v) {
+ // Operate on characters as unsigneds
+ unsigned char* ptr = reinterpret_cast<unsigned char*>(sptr);
+ static const int B = 128;
+ if (v < (1<<7)) {
+ *(ptr++) = v;
+ } else if (v < (1<<14)) {
+ *(ptr++) = v | B;
+ *(ptr++) = v>>7;
+ } else if (v < (1<<21)) {
+ *(ptr++) = v | B;
+ *(ptr++) = (v>>7) | B;
+ *(ptr++) = v>>14;
+ } else if (v < (1<<28)) {
+ *(ptr++) = v | B;
+ *(ptr++) = (v>>7) | B;
+ *(ptr++) = (v>>14) | B;
+ *(ptr++) = v>>21;
+ } else {
+ *(ptr++) = v | B;
+ *(ptr++) = (v>>7) | B;
+ *(ptr++) = (v>>14) | B;
+ *(ptr++) = (v>>21) | B;
+ *(ptr++) = v>>28;
+ }
+ return reinterpret_cast<char*>(ptr);
+}
+
+// If you know the internal layout of the std::string in use, you can
+// replace this function with one that resizes the string without
+// filling the new space with zeros (if applicable) --
+// it will be non-portable but faster.
+inline void STLStringResizeUninitialized(string* s, size_t new_size) {
+ s->resize(new_size);
+}
+
+// Return a mutable char* pointing to a string's internal buffer,
+// which may not be null-terminated. Writing through this pointer will
+// modify the string.
+//
+// string_as_array(&str)[i] is valid for 0 <= i < str.size() until the
+// next call to a string method that invalidates iterators.
+//
+// As of 2006-04, there is no standard-blessed way of getting a
+// mutable reference to a string's internal buffer. However, issue 530
+// (http://www.open-std.org/JTC1/SC22/WG21/docs/lwg-defects.html#530)
+// proposes this as the method. It will officially be part of the standard
+// for C++0x. This should already work on all current implementations.
+inline char* string_as_array(string* str) {
+ return str->empty() ? NULL : &*str->begin();
+}
+
+} // namespace snappy
+
+#endif // UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_INTERNAL_H_
diff --git a/snappy-1.1.0/snappy-stubs-public.h b/snappy-1.1.0/snappy-stubs-public.h
new file mode 100644
index 0000000..96d8865
--- /dev/null
+++ b/snappy-1.1.0/snappy-stubs-public.h
@@ -0,0 +1,85 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+// Author: sesse@google.com (Steinar H. Gunderson)
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Various type stubs for the open-source version of Snappy.
+//
+// This file cannot include config.h, as it is included from snappy.h,
+// which is a public header. Instead, snappy-stubs-public.h is generated by
+// from snappy-stubs-public.h.in at configure time.
+
+#ifndef UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
+#define UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
+
+#if 1
+#include <stdint.h>
+#endif
+
+#if 1
+#include <stddef.h>
+#endif
+
+#define SNAPPY_MAJOR 1
+#define SNAPPY_MINOR 1
+#define SNAPPY_PATCHLEVEL 0
+#define SNAPPY_VERSION \
+ ((SNAPPY_MAJOR << 16) | (SNAPPY_MINOR << 8) | SNAPPY_PATCHLEVEL)
+
+#include <string>
+
+namespace snappy {
+
+#if 1
+typedef int8_t int8;
+typedef uint8_t uint8;
+typedef int16_t int16;
+typedef uint16_t uint16;
+typedef int32_t int32;
+typedef uint32_t uint32;
+typedef int64_t int64;
+typedef uint64_t uint64;
+#else
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int16;
+typedef unsigned short uint16;
+typedef int int32;
+typedef unsigned int uint32;
+typedef long long int64;
+typedef unsigned long long uint64;
+#endif
+
+typedef std::string string;
+
+#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
+ TypeName(const TypeName&); \
+ void operator=(const TypeName&)
+
+} // namespace snappy
+
+#endif // UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
diff --git a/snappy-1.1.0/snappy-stubs-public.h.in b/snappy-1.1.0/snappy-stubs-public.h.in
new file mode 100644
index 0000000..f0babcb
--- /dev/null
+++ b/snappy-1.1.0/snappy-stubs-public.h.in
@@ -0,0 +1,85 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+// Author: sesse@google.com (Steinar H. Gunderson)
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Various type stubs for the open-source version of Snappy.
+//
+// This file cannot include config.h, as it is included from snappy.h,
+// which is a public header. Instead, snappy-stubs-public.h is generated by
+// from snappy-stubs-public.h.in at configure time.
+
+#ifndef UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
+#define UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
+
+#if @ac_cv_have_stdint_h@
+#include <stdint.h>
+#endif
+
+#if @ac_cv_have_stddef_h@
+#include <stddef.h>
+#endif
+
+#define SNAPPY_MAJOR @SNAPPY_MAJOR@
+#define SNAPPY_MINOR @SNAPPY_MINOR@
+#define SNAPPY_PATCHLEVEL @SNAPPY_PATCHLEVEL@
+#define SNAPPY_VERSION \
+ ((SNAPPY_MAJOR << 16) | (SNAPPY_MINOR << 8) | SNAPPY_PATCHLEVEL)
+
+#include <string>
+
+namespace snappy {
+
+#if @ac_cv_have_stdint_h@
+typedef int8_t int8;
+typedef uint8_t uint8;
+typedef int16_t int16;
+typedef uint16_t uint16;
+typedef int32_t int32;
+typedef uint32_t uint32;
+typedef int64_t int64;
+typedef uint64_t uint64;
+#else
+typedef signed char int8;
+typedef unsigned char uint8;
+typedef short int16;
+typedef unsigned short uint16;
+typedef int int32;
+typedef unsigned int uint32;
+typedef long long int64;
+typedef unsigned long long uint64;
+#endif
+
+typedef std::string string;
+
+#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
+ TypeName(const TypeName&); \
+ void operator=(const TypeName&)
+
+} // namespace snappy
+
+#endif // UTIL_SNAPPY_OPENSOURCE_SNAPPY_STUBS_PUBLIC_H_
diff --git a/snappy-1.1.0/snappy-test.cc b/snappy-1.1.0/snappy-test.cc
new file mode 100644
index 0000000..3f4003d
--- /dev/null
+++ b/snappy-1.1.0/snappy-test.cc
@@ -0,0 +1,602 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Various stubs for the unit tests for the open-source version of Snappy.
+
+#include "snappy-test.h"
+
+#ifdef HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif
+
+#include <algorithm>
+
+DEFINE_bool(run_microbenchmarks, true,
+ "Run microbenchmarks before doing anything else.");
+
+namespace snappy {
+
+string ReadTestDataFile(const string& base) {
+ string contents;
+ const char* srcdir = getenv("srcdir"); // This is set by Automake.
+ if (srcdir) {
+ file::ReadFileToString(string(srcdir) + "/testdata/" + base,
+ &contents,
+ file::Defaults()).CheckSuccess();
+ } else {
+ file::ReadFileToString("testdata/" + base,
+ &contents,
+ file::Defaults()).CheckSuccess();
+ }
+ return contents;
+}
+
+string StringPrintf(const char* format, ...) {
+ char buf[4096];
+ va_list ap;
+ va_start(ap, format);
+ vsnprintf(buf, sizeof(buf), format, ap);
+ va_end(ap);
+ return buf;
+}
+
+bool benchmark_running = false;
+int64 benchmark_real_time_us = 0;
+int64 benchmark_cpu_time_us = 0;
+string *benchmark_label = NULL;
+int64 benchmark_bytes_processed = 0;
+
+void ResetBenchmarkTiming() {
+ benchmark_real_time_us = 0;
+ benchmark_cpu_time_us = 0;
+}
+
+#ifdef WIN32
+LARGE_INTEGER benchmark_start_real;
+FILETIME benchmark_start_cpu;
+#else // WIN32
+struct timeval benchmark_start_real;
+struct rusage benchmark_start_cpu;
+#endif // WIN32
+
+void StartBenchmarkTiming() {
+#ifdef WIN32
+ QueryPerformanceCounter(&benchmark_start_real);
+ FILETIME dummy;
+ CHECK(GetProcessTimes(
+ GetCurrentProcess(), &dummy, &dummy, &dummy, &benchmark_start_cpu));
+#else
+ gettimeofday(&benchmark_start_real, NULL);
+ if (getrusage(RUSAGE_SELF, &benchmark_start_cpu) == -1) {
+ perror("getrusage(RUSAGE_SELF)");
+ exit(1);
+ }
+#endif
+ benchmark_running = true;
+}
+
+void StopBenchmarkTiming() {
+ if (!benchmark_running) {
+ return;
+ }
+
+#ifdef WIN32
+ LARGE_INTEGER benchmark_stop_real;
+ LARGE_INTEGER benchmark_frequency;
+ QueryPerformanceCounter(&benchmark_stop_real);
+ QueryPerformanceFrequency(&benchmark_frequency);
+
+ double elapsed_real = static_cast<double>(
+ benchmark_stop_real.QuadPart - benchmark_start_real.QuadPart) /
+ benchmark_frequency.QuadPart;
+ benchmark_real_time_us += elapsed_real * 1e6 + 0.5;
+
+ FILETIME benchmark_stop_cpu, dummy;
+ CHECK(GetProcessTimes(
+ GetCurrentProcess(), &dummy, &dummy, &dummy, &benchmark_stop_cpu));
+
+ ULARGE_INTEGER start_ulargeint;
+ start_ulargeint.LowPart = benchmark_start_cpu.dwLowDateTime;
+ start_ulargeint.HighPart = benchmark_start_cpu.dwHighDateTime;
+
+ ULARGE_INTEGER stop_ulargeint;
+ stop_ulargeint.LowPart = benchmark_stop_cpu.dwLowDateTime;
+ stop_ulargeint.HighPart = benchmark_stop_cpu.dwHighDateTime;
+
+ benchmark_cpu_time_us +=
+ (stop_ulargeint.QuadPart - start_ulargeint.QuadPart + 5) / 10;
+#else // WIN32
+ struct timeval benchmark_stop_real;
+ gettimeofday(&benchmark_stop_real, NULL);
+ benchmark_real_time_us +=
+ 1000000 * (benchmark_stop_real.tv_sec - benchmark_start_real.tv_sec);
+ benchmark_real_time_us +=
+ (benchmark_stop_real.tv_usec - benchmark_start_real.tv_usec);
+
+ struct rusage benchmark_stop_cpu;
+ if (getrusage(RUSAGE_SELF, &benchmark_stop_cpu) == -1) {
+ perror("getrusage(RUSAGE_SELF)");
+ exit(1);
+ }
+ benchmark_cpu_time_us += 1000000 * (benchmark_stop_cpu.ru_utime.tv_sec -
+ benchmark_start_cpu.ru_utime.tv_sec);
+ benchmark_cpu_time_us += (benchmark_stop_cpu.ru_utime.tv_usec -
+ benchmark_start_cpu.ru_utime.tv_usec);
+#endif // WIN32
+
+ benchmark_running = false;
+}
+
+void SetBenchmarkLabel(const string& str) {
+ if (benchmark_label) {
+ delete benchmark_label;
+ }
+ benchmark_label = new string(str);
+}
+
+void SetBenchmarkBytesProcessed(int64 bytes) {
+ benchmark_bytes_processed = bytes;
+}
+
+struct BenchmarkRun {
+ int64 real_time_us;
+ int64 cpu_time_us;
+};
+
+struct BenchmarkCompareCPUTime {
+ bool operator() (const BenchmarkRun& a, const BenchmarkRun& b) const {
+ return a.cpu_time_us < b.cpu_time_us;
+ }
+};
+
+void Benchmark::Run() {
+ for (int test_case_num = start_; test_case_num <= stop_; ++test_case_num) {
+ // Run a few iterations first to find out approximately how fast
+ // the benchmark is.
+ const int kCalibrateIterations = 100;
+ ResetBenchmarkTiming();
+ StartBenchmarkTiming();
+ (*function_)(kCalibrateIterations, test_case_num);
+ StopBenchmarkTiming();
+
+ // Let each test case run for about 200ms, but at least as many
+ // as we used to calibrate.
+ // Run five times and pick the median.
+ const int kNumRuns = 5;
+ const int kMedianPos = kNumRuns / 2;
+ int num_iterations = 0;
+ if (benchmark_real_time_us > 0) {
+ num_iterations = 200000 * kCalibrateIterations / benchmark_real_time_us;
+ }
+ num_iterations = max(num_iterations, kCalibrateIterations);
+ BenchmarkRun benchmark_runs[kNumRuns];
+
+ for (int run = 0; run < kNumRuns; ++run) {
+ ResetBenchmarkTiming();
+ StartBenchmarkTiming();
+ (*function_)(num_iterations, test_case_num);
+ StopBenchmarkTiming();
+
+ benchmark_runs[run].real_time_us = benchmark_real_time_us;
+ benchmark_runs[run].cpu_time_us = benchmark_cpu_time_us;
+ }
+
+ string heading = StringPrintf("%s/%d", name_.c_str(), test_case_num);
+ string human_readable_speed;
+
+ nth_element(benchmark_runs,
+ benchmark_runs + kMedianPos,
+ benchmark_runs + kNumRuns,
+ BenchmarkCompareCPUTime());
+ int64 real_time_us = benchmark_runs[kMedianPos].real_time_us;
+ int64 cpu_time_us = benchmark_runs[kMedianPos].cpu_time_us;
+ if (cpu_time_us <= 0) {
+ human_readable_speed = "?";
+ } else {
+ int64 bytes_per_second =
+ benchmark_bytes_processed * 1000000 / cpu_time_us;
+ if (bytes_per_second < 1024) {
+ human_readable_speed = StringPrintf("%dB/s", bytes_per_second);
+ } else if (bytes_per_second < 1024 * 1024) {
+ human_readable_speed = StringPrintf(
+ "%.1fkB/s", bytes_per_second / 1024.0f);
+ } else if (bytes_per_second < 1024 * 1024 * 1024) {
+ human_readable_speed = StringPrintf(
+ "%.1fMB/s", bytes_per_second / (1024.0f * 1024.0f));
+ } else {
+ human_readable_speed = StringPrintf(
+ "%.1fGB/s", bytes_per_second / (1024.0f * 1024.0f * 1024.0f));
+ }
+ }
+
+ fprintf(stderr,
+#ifdef WIN32
+ "%-18s %10I64d %10I64d %10d %s %s\n",
+#else
+ "%-18s %10lld %10lld %10d %s %s\n",
+#endif
+ heading.c_str(),
+ static_cast<long long>(real_time_us * 1000 / num_iterations),
+ static_cast<long long>(cpu_time_us * 1000 / num_iterations),
+ num_iterations,
+ human_readable_speed.c_str(),
+ benchmark_label->c_str());
+ }
+}
+
+#ifdef HAVE_LIBZ
+
+ZLib::ZLib()
+ : comp_init_(false),
+ uncomp_init_(false) {
+ Reinit();
+}
+
+ZLib::~ZLib() {
+ if (comp_init_) { deflateEnd(&comp_stream_); }
+ if (uncomp_init_) { inflateEnd(&uncomp_stream_); }
+}
+
+void ZLib::Reinit() {
+ compression_level_ = Z_DEFAULT_COMPRESSION;
+ window_bits_ = MAX_WBITS;
+ mem_level_ = 8; // DEF_MEM_LEVEL
+ if (comp_init_) {
+ deflateEnd(&comp_stream_);
+ comp_init_ = false;
+ }
+ if (uncomp_init_) {
+ inflateEnd(&uncomp_stream_);
+ uncomp_init_ = false;
+ }
+ first_chunk_ = true;
+}
+
+void ZLib::Reset() {
+ first_chunk_ = true;
+}
+
+// --------- COMPRESS MODE
+
+// Initialization method to be called if we hit an error while
+// compressing. On hitting an error, call this method before returning
+// the error.
+void ZLib::CompressErrorInit() {
+ deflateEnd(&comp_stream_);
+ comp_init_ = false;
+ Reset();
+}
+
+int ZLib::DeflateInit() {
+ return deflateInit2(&comp_stream_,
+ compression_level_,
+ Z_DEFLATED,
+ window_bits_,
+ mem_level_,
+ Z_DEFAULT_STRATEGY);
+}
+
+int ZLib::CompressInit(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen) {
+ int err;
+
+ comp_stream_.next_in = (Bytef*)source;
+ comp_stream_.avail_in = (uInt)*sourceLen;
+ if ((uLong)comp_stream_.avail_in != *sourceLen) return Z_BUF_ERROR;
+ comp_stream_.next_out = dest;
+ comp_stream_.avail_out = (uInt)*destLen;
+ if ((uLong)comp_stream_.avail_out != *destLen) return Z_BUF_ERROR;
+
+ if ( !first_chunk_ ) // only need to set up stream the first time through
+ return Z_OK;
+
+ if (comp_init_) { // we've already initted it
+ err = deflateReset(&comp_stream_);
+ if (err != Z_OK) {
+ LOG(WARNING) << "ERROR: Can't reset compress object; creating a new one";
+ deflateEnd(&comp_stream_);
+ comp_init_ = false;
+ }
+ }
+ if (!comp_init_) { // first use
+ comp_stream_.zalloc = (alloc_func)0;
+ comp_stream_.zfree = (free_func)0;
+ comp_stream_.opaque = (voidpf)0;
+ err = DeflateInit();
+ if (err != Z_OK) return err;
+ comp_init_ = true;
+ }
+ return Z_OK;
+}
+
+// In a perfect world we'd always have the full buffer to compress
+// when the time came, and we could just call Compress(). Alas, we
+// want to do chunked compression on our webserver. In this
+// application, we compress the header, send it off, then compress the
+// results, send them off, then compress the footer. Thus we need to
+// use the chunked compression features of zlib.
+int ZLib::CompressAtMostOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen,
+ int flush_mode) { // Z_FULL_FLUSH or Z_FINISH
+ int err;
+
+ if ( (err=CompressInit(dest, destLen, source, sourceLen)) != Z_OK )
+ return err;
+
+ // This is used to figure out how many bytes we wrote *this chunk*
+ int compressed_size = comp_stream_.total_out;
+
+ // Some setup happens only for the first chunk we compress in a run
+ if ( first_chunk_ ) {
+ first_chunk_ = false;
+ }
+
+ // flush_mode is Z_FINISH for all mode, Z_SYNC_FLUSH for incremental
+ // compression.
+ err = deflate(&comp_stream_, flush_mode);
+
+ *sourceLen = comp_stream_.avail_in;
+
+ if ((err == Z_STREAM_END || err == Z_OK)
+ && comp_stream_.avail_in == 0
+ && comp_stream_.avail_out != 0 ) {
+ // we processed everything ok and the output buffer was large enough.
+ ;
+ } else if (err == Z_STREAM_END && comp_stream_.avail_in > 0) {
+ return Z_BUF_ERROR; // should never happen
+ } else if (err != Z_OK && err != Z_STREAM_END && err != Z_BUF_ERROR) {
+ // an error happened
+ CompressErrorInit();
+ return err;
+ } else if (comp_stream_.avail_out == 0) { // not enough space
+ err = Z_BUF_ERROR;
+ }
+
+ assert(err == Z_OK || err == Z_STREAM_END || err == Z_BUF_ERROR);
+ if (err == Z_STREAM_END)
+ err = Z_OK;
+
+ // update the crc and other metadata
+ compressed_size = comp_stream_.total_out - compressed_size; // delta
+ *destLen = compressed_size;
+
+ return err;
+}
+
+int ZLib::CompressChunkOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int flush_mode) { // Z_FULL_FLUSH or Z_FINISH
+ const int ret =
+ CompressAtMostOrAll(dest, destLen, source, &sourceLen, flush_mode);
+ if (ret == Z_BUF_ERROR)
+ CompressErrorInit();
+ return ret;
+}
+
+// This routine only initializes the compression stream once. Thereafter, it
+// just does a deflateReset on the stream, which should be faster.
+int ZLib::Compress(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen) {
+ int err;
+ if ( (err=CompressChunkOrAll(dest, destLen, source, sourceLen,
+ Z_FINISH)) != Z_OK )
+ return err;
+ Reset(); // reset for next call to Compress
+
+ return Z_OK;
+}
+
+
+// --------- UNCOMPRESS MODE
+
+int ZLib::InflateInit() {
+ return inflateInit2(&uncomp_stream_, MAX_WBITS);
+}
+
+// Initialization method to be called if we hit an error while
+// uncompressing. On hitting an error, call this method before
+// returning the error.
+void ZLib::UncompressErrorInit() {
+ inflateEnd(&uncomp_stream_);
+ uncomp_init_ = false;
+ Reset();
+}
+
+int ZLib::UncompressInit(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen) {
+ int err;
+
+ uncomp_stream_.next_in = (Bytef*)source;
+ uncomp_stream_.avail_in = (uInt)*sourceLen;
+ // Check for source > 64K on 16-bit machine:
+ if ((uLong)uncomp_stream_.avail_in != *sourceLen) return Z_BUF_ERROR;
+
+ uncomp_stream_.next_out = dest;
+ uncomp_stream_.avail_out = (uInt)*destLen;
+ if ((uLong)uncomp_stream_.avail_out != *destLen) return Z_BUF_ERROR;
+
+ if ( !first_chunk_ ) // only need to set up stream the first time through
+ return Z_OK;
+
+ if (uncomp_init_) { // we've already initted it
+ err = inflateReset(&uncomp_stream_);
+ if (err != Z_OK) {
+ LOG(WARNING)
+ << "ERROR: Can't reset uncompress object; creating a new one";
+ UncompressErrorInit();
+ }
+ }
+ if (!uncomp_init_) {
+ uncomp_stream_.zalloc = (alloc_func)0;
+ uncomp_stream_.zfree = (free_func)0;
+ uncomp_stream_.opaque = (voidpf)0;
+ err = InflateInit();
+ if (err != Z_OK) return err;
+ uncomp_init_ = true;
+ }
+ return Z_OK;
+}
+
+// If you compressed your data a chunk at a time, with CompressChunk,
+// you can uncompress it a chunk at a time with UncompressChunk.
+// Only difference bewteen chunked and unchunked uncompression
+// is the flush mode we use: Z_SYNC_FLUSH (chunked) or Z_FINISH (unchunked).
+int ZLib::UncompressAtMostOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen,
+ int flush_mode) { // Z_SYNC_FLUSH or Z_FINISH
+ int err = Z_OK;
+
+ if ( (err=UncompressInit(dest, destLen, source, sourceLen)) != Z_OK ) {
+ LOG(WARNING) << "UncompressInit: Error: " << err << " SourceLen: "
+ << *sourceLen;
+ return err;
+ }
+
+ // This is used to figure out how many output bytes we wrote *this chunk*:
+ const uLong old_total_out = uncomp_stream_.total_out;
+
+ // This is used to figure out how many input bytes we read *this chunk*:
+ const uLong old_total_in = uncomp_stream_.total_in;
+
+ // Some setup happens only for the first chunk we compress in a run
+ if ( first_chunk_ ) {
+ first_chunk_ = false; // so we don't do this again
+
+ // For the first chunk *only* (to avoid infinite troubles), we let
+ // there be no actual data to uncompress. This sometimes triggers
+ // when the input is only the gzip header, say.
+ if ( *sourceLen == 0 ) {
+ *destLen = 0;
+ return Z_OK;
+ }
+ }
+
+ // We'll uncompress as much as we can. If we end OK great, otherwise
+ // if we get an error that seems to be the gzip footer, we store the
+ // gzip footer and return OK, otherwise we return the error.
+
+ // flush_mode is Z_SYNC_FLUSH for chunked mode, Z_FINISH for all mode.
+ err = inflate(&uncomp_stream_, flush_mode);
+
+ // Figure out how many bytes of the input zlib slurped up:
+ const uLong bytes_read = uncomp_stream_.total_in - old_total_in;
+ CHECK_LE(source + bytes_read, source + *sourceLen);
+ *sourceLen = uncomp_stream_.avail_in;
+
+ if ((err == Z_STREAM_END || err == Z_OK) // everything went ok
+ && uncomp_stream_.avail_in == 0) { // and we read it all
+ ;
+ } else if (err == Z_STREAM_END && uncomp_stream_.avail_in > 0) {
+ LOG(WARNING)
+ << "UncompressChunkOrAll: Received some extra data, bytes total: "
+ << uncomp_stream_.avail_in << " bytes: "
+ << string(reinterpret_cast<const char *>(uncomp_stream_.next_in),
+ min(int(uncomp_stream_.avail_in), 20));
+ UncompressErrorInit();
+ return Z_DATA_ERROR; // what's the extra data for?
+ } else if (err != Z_OK && err != Z_STREAM_END && err != Z_BUF_ERROR) {
+ // an error happened
+ LOG(WARNING) << "UncompressChunkOrAll: Error: " << err
+ << " avail_out: " << uncomp_stream_.avail_out;
+ UncompressErrorInit();
+ return err;
+ } else if (uncomp_stream_.avail_out == 0) {
+ err = Z_BUF_ERROR;
+ }
+
+ assert(err == Z_OK || err == Z_BUF_ERROR || err == Z_STREAM_END);
+ if (err == Z_STREAM_END)
+ err = Z_OK;
+
+ *destLen = uncomp_stream_.total_out - old_total_out; // size for this call
+
+ return err;
+}
+
+int ZLib::UncompressChunkOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int flush_mode) { // Z_SYNC_FLUSH or Z_FINISH
+ const int ret =
+ UncompressAtMostOrAll(dest, destLen, source, &sourceLen, flush_mode);
+ if (ret == Z_BUF_ERROR)
+ UncompressErrorInit();
+ return ret;
+}
+
+int ZLib::UncompressAtMost(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen) {
+ return UncompressAtMostOrAll(dest, destLen, source, sourceLen, Z_SYNC_FLUSH);
+}
+
+// We make sure we've uncompressed everything, that is, the current
+// uncompress stream is at a compressed-buffer-EOF boundary. In gzip
+// mode, we also check the gzip footer to make sure we pass the gzip
+// consistency checks. We RETURN true iff both types of checks pass.
+bool ZLib::UncompressChunkDone() {
+ assert(!first_chunk_ && uncomp_init_);
+ // Make sure we're at the end-of-compressed-data point. This means
+ // if we call inflate with Z_FINISH we won't consume any input or
+ // write any output
+ Bytef dummyin, dummyout;
+ uLongf dummylen = 0;
+ if ( UncompressChunkOrAll(&dummyout, &dummylen, &dummyin, 0, Z_FINISH)
+ != Z_OK ) {
+ return false;
+ }
+
+ // Make sure that when we exit, we can start a new round of chunks later
+ Reset();
+
+ return true;
+}
+
+// Uncompresses the source buffer into the destination buffer.
+// The destination buffer must be long enough to hold the entire
+// decompressed contents.
+//
+// We only initialize the uncomp_stream once. Thereafter, we use
+// inflateReset, which should be faster.
+//
+// Returns Z_OK on success, otherwise, it returns a zlib error code.
+int ZLib::Uncompress(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen) {
+ int err;
+ if ( (err=UncompressChunkOrAll(dest, destLen, source, sourceLen,
+ Z_FINISH)) != Z_OK ) {
+ Reset(); // let us try to compress again
+ return err;
+ }
+ if ( !UncompressChunkDone() ) // calls Reset()
+ return Z_DATA_ERROR;
+ return Z_OK; // stream_end is ok
+}
+
+#endif // HAVE_LIBZ
+
+} // namespace snappy
diff --git a/snappy-1.1.0/snappy-test.h b/snappy-1.1.0/snappy-test.h
new file mode 100644
index 0000000..bec9020
--- /dev/null
+++ b/snappy-1.1.0/snappy-test.h
@@ -0,0 +1,584 @@
+// Copyright 2011 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Various stubs for the unit tests for the open-source version of Snappy.
+
+#ifndef UTIL_SNAPPY_OPENSOURCE_SNAPPY_TEST_H_
+#define UTIL_SNAPPY_OPENSOURCE_SNAPPY_TEST_H_
+
+#include <iostream>
+#include <string>
+
+#include "snappy-stubs-internal.h"
+
+#include <stdio.h>
+#include <stdarg.h>
+
+#ifdef HAVE_SYS_MMAN_H
+#include <sys/mman.h>
+#endif
+
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_WINDOWS_H
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#endif
+
+#include <string>
+
+#ifdef HAVE_GTEST
+
+#include <gtest/gtest.h>
+#undef TYPED_TEST
+#define TYPED_TEST TEST
+#define INIT_GTEST(argc, argv) ::testing::InitGoogleTest(argc, *argv)
+
+#else
+
+// Stubs for if the user doesn't have Google Test installed.
+
+#define TEST(test_case, test_subcase) \
+ void Test_ ## test_case ## _ ## test_subcase()
+#define INIT_GTEST(argc, argv)
+
+#define TYPED_TEST TEST
+#define EXPECT_EQ CHECK_EQ
+#define EXPECT_NE CHECK_NE
+#define EXPECT_FALSE(cond) CHECK(!(cond))
+
+#endif
+
+#ifdef HAVE_GFLAGS
+
+#include <gflags/gflags.h>
+
+// This is tricky; both gflags and Google Test want to look at the command line
+// arguments. Google Test seems to be the most happy with unknown arguments,
+// though, so we call it first and hope for the best.
+#define InitGoogle(argv0, argc, argv, remove_flags) \
+ INIT_GTEST(argc, argv); \
+ google::ParseCommandLineFlags(argc, argv, remove_flags);
+
+#else
+
+// If we don't have the gflags package installed, these can only be
+// changed at compile time.
+#define DEFINE_int32(flag_name, default_value, description) \
+ static int FLAGS_ ## flag_name = default_value;
+
+#define InitGoogle(argv0, argc, argv, remove_flags) \
+ INIT_GTEST(argc, argv)
+
+#endif
+
+#ifdef HAVE_LIBZ
+#include "zlib.h"
+#endif
+
+#ifdef HAVE_LIBLZO2
+#include "lzo/lzo1x.h"
+#endif
+
+#ifdef HAVE_LIBLZF
+extern "C" {
+#include "lzf.h"
+}
+#endif
+
+#ifdef HAVE_LIBFASTLZ
+#include "fastlz.h"
+#endif
+
+#ifdef HAVE_LIBQUICKLZ
+#include "quicklz.h"
+#endif
+
+namespace {
+
+namespace File {
+ void Init() { }
+} // namespace File
+
+namespace file {
+ int Defaults() { }
+
+ class DummyStatus {
+ public:
+ void CheckSuccess() { }
+ };
+
+ DummyStatus ReadFileToString(const char* filename, string* data, int unused) {
+ FILE* fp = fopen(filename, "rb");
+ if (fp == NULL) {
+ perror(filename);
+ exit(1);
+ }
+
+ data->clear();
+ while (!feof(fp)) {
+ char buf[4096];
+ size_t ret = fread(buf, 1, 4096, fp);
+ if (ret == 0 && ferror(fp)) {
+ perror("fread");
+ exit(1);
+ }
+ data->append(string(buf, ret));
+ }
+
+ fclose(fp);
+ }
+
+ DummyStatus ReadFileToString(const string& filename,
+ string* data,
+ int unused) {
+ ReadFileToString(filename.c_str(), data, unused);
+ }
+
+ DummyStatus WriteStringToFile(const string& str,
+ const string& filename,
+ int unused) {
+ FILE* fp = fopen(filename.c_str(), "wb");
+ if (fp == NULL) {
+ perror(filename.c_str());
+ exit(1);
+ }
+
+ int ret = fwrite(str.data(), str.size(), 1, fp);
+ if (ret != 1) {
+ perror("fwrite");
+ exit(1);
+ }
+
+ fclose(fp);
+ }
+} // namespace file
+
+} // namespace
+
+namespace snappy {
+
+#define FLAGS_test_random_seed 301
+typedef string TypeParam;
+
+void Test_CorruptedTest_VerifyCorrupted();
+void Test_Snappy_SimpleTests();
+void Test_Snappy_MaxBlowup();
+void Test_Snappy_RandomData();
+void Test_Snappy_FourByteOffset();
+void Test_SnappyCorruption_TruncatedVarint();
+void Test_SnappyCorruption_UnterminatedVarint();
+void Test_Snappy_ReadPastEndOfBuffer();
+void Test_Snappy_FindMatchLength();
+void Test_Snappy_FindMatchLengthRandom();
+
+string ReadTestDataFile(const string& base);
+
+// A sprintf() variant that returns a std::string.
+// Not safe for general use due to truncation issues.
+string StringPrintf(const char* format, ...);
+
+// A simple, non-cryptographically-secure random generator.
+class ACMRandom {
+ public:
+ explicit ACMRandom(uint32 seed) : seed_(seed) {}
+
+ int32 Next();
+
+ int32 Uniform(int32 n) {
+ return Next() % n;
+ }
+ uint8 Rand8() {
+ return static_cast<uint8>((Next() >> 1) & 0x000000ff);
+ }
+ bool OneIn(int X) { return Uniform(X) == 0; }
+
+ // Skewed: pick "base" uniformly from range [0,max_log] and then
+ // return "base" random bits. The effect is to pick a number in the
+ // range [0,2^max_log-1] with bias towards smaller numbers.
+ int32 Skewed(int max_log);
+
+ private:
+ static const uint32 M = 2147483647L; // 2^31-1
+ uint32 seed_;
+};
+
+inline int32 ACMRandom::Next() {
+ static const uint64 A = 16807; // bits 14, 8, 7, 5, 2, 1, 0
+ // We are computing
+ // seed_ = (seed_ * A) % M, where M = 2^31-1
+ //
+ // seed_ must not be zero or M, or else all subsequent computed values
+ // will be zero or M respectively. For all other values, seed_ will end
+ // up cycling through every number in [1,M-1]
+ uint64 product = seed_ * A;
+
+ // Compute (product % M) using the fact that ((x << 31) % M) == x.
+ seed_ = (product >> 31) + (product & M);
+ // The first reduction may overflow by 1 bit, so we may need to repeat.
+ // mod == M is not possible; using > allows the faster sign-bit-based test.
+ if (seed_ > M) {
+ seed_ -= M;
+ }
+ return seed_;
+}
+
+inline int32 ACMRandom::Skewed(int max_log) {
+ const int32 base = (Next() - 1) % (max_log+1);
+ return (Next() - 1) & ((1u << base)-1);
+}
+
+// A wall-time clock. This stub is not super-accurate, nor resistant to the
+// system time changing.
+class CycleTimer {
+ public:
+ CycleTimer() : real_time_us_(0) {}
+
+ void Start() {
+#ifdef WIN32
+ QueryPerformanceCounter(&start_);
+#else
+ gettimeofday(&start_, NULL);
+#endif
+ }
+
+ void Stop() {
+#ifdef WIN32
+ LARGE_INTEGER stop;
+ LARGE_INTEGER frequency;
+ QueryPerformanceCounter(&stop);
+ QueryPerformanceFrequency(&frequency);
+
+ double elapsed = static_cast<double>(stop.QuadPart - start_.QuadPart) /
+ frequency.QuadPart;
+ real_time_us_ += elapsed * 1e6 + 0.5;
+#else
+ struct timeval stop;
+ gettimeofday(&stop, NULL);
+
+ real_time_us_ += 1000000 * (stop.tv_sec - start_.tv_sec);
+ real_time_us_ += (stop.tv_usec - start_.tv_usec);
+#endif
+ }
+
+ double Get() {
+ return real_time_us_ * 1e-6;
+ }
+
+ private:
+ int64 real_time_us_;
+#ifdef WIN32
+ LARGE_INTEGER start_;
+#else
+ struct timeval start_;
+#endif
+};
+
+// Minimalistic microbenchmark framework.
+
+typedef void (*BenchmarkFunction)(int, int);
+
+class Benchmark {
+ public:
+ Benchmark(const string& name, BenchmarkFunction function) :
+ name_(name), function_(function) {}
+
+ Benchmark* DenseRange(int start, int stop) {
+ start_ = start;
+ stop_ = stop;
+ return this;
+ }
+
+ void Run();
+
+ private:
+ const string name_;
+ const BenchmarkFunction function_;
+ int start_, stop_;
+};
+#define BENCHMARK(benchmark_name) \
+ Benchmark* Benchmark_ ## benchmark_name = \
+ (new Benchmark(#benchmark_name, benchmark_name))
+
+extern Benchmark* Benchmark_BM_UFlat;
+extern Benchmark* Benchmark_BM_UValidate;
+extern Benchmark* Benchmark_BM_ZFlat;
+
+void ResetBenchmarkTiming();
+void StartBenchmarkTiming();
+void StopBenchmarkTiming();
+void SetBenchmarkLabel(const string& str);
+void SetBenchmarkBytesProcessed(int64 bytes);
+
+#ifdef HAVE_LIBZ
+
+// Object-oriented wrapper around zlib.
+class ZLib {
+ public:
+ ZLib();
+ ~ZLib();
+
+ // Wipe a ZLib object to a virgin state. This differs from Reset()
+ // in that it also breaks any state.
+ void Reinit();
+
+ // Call this to make a zlib buffer as good as new. Here's the only
+ // case where they differ:
+ // CompressChunk(a); CompressChunk(b); CompressChunkDone(); vs
+ // CompressChunk(a); Reset(); CompressChunk(b); CompressChunkDone();
+ // You'll want to use Reset(), then, when you interrupt a compress
+ // (or uncompress) in the middle of a chunk and want to start over.
+ void Reset();
+
+ // According to the zlib manual, when you Compress, the destination
+ // buffer must have size at least src + .1%*src + 12. This function
+ // helps you calculate that. Augment this to account for a potential
+ // gzip header and footer, plus a few bytes of slack.
+ static int MinCompressbufSize(int uncompress_size) {
+ return uncompress_size + uncompress_size/1000 + 40;
+ }
+
+ // Compresses the source buffer into the destination buffer.
+ // sourceLen is the byte length of the source buffer.
+ // Upon entry, destLen is the total size of the destination buffer,
+ // which must be of size at least MinCompressbufSize(sourceLen).
+ // Upon exit, destLen is the actual size of the compressed buffer.
+ //
+ // This function can be used to compress a whole file at once if the
+ // input file is mmap'ed.
+ //
+ // Returns Z_OK if success, Z_MEM_ERROR if there was not
+ // enough memory, Z_BUF_ERROR if there was not enough room in the
+ // output buffer. Note that if the output buffer is exactly the same
+ // size as the compressed result, we still return Z_BUF_ERROR.
+ // (check CL#1936076)
+ int Compress(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen);
+
+ // Uncompresses the source buffer into the destination buffer.
+ // The destination buffer must be long enough to hold the entire
+ // decompressed contents.
+ //
+ // Returns Z_OK on success, otherwise, it returns a zlib error code.
+ int Uncompress(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen);
+
+ // Uncompress data one chunk at a time -- ie you can call this
+ // more than once. To get this to work you need to call per-chunk
+ // and "done" routines.
+ //
+ // Returns Z_OK if success, Z_MEM_ERROR if there was not
+ // enough memory, Z_BUF_ERROR if there was not enough room in the
+ // output buffer.
+
+ int UncompressAtMost(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen);
+
+ // Checks gzip footer information, as needed. Mostly this just
+ // makes sure the checksums match. Whenever you call this, it
+ // will assume the last 8 bytes from the previous UncompressChunk
+ // call are the footer. Returns true iff everything looks ok.
+ bool UncompressChunkDone();
+
+ private:
+ int InflateInit(); // sets up the zlib inflate structure
+ int DeflateInit(); // sets up the zlib deflate structure
+
+ // These init the zlib data structures for compressing/uncompressing
+ int CompressInit(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen);
+ int UncompressInit(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen);
+ // Initialization method to be called if we hit an error while
+ // uncompressing. On hitting an error, call this method before
+ // returning the error.
+ void UncompressErrorInit();
+
+ // Helper function for Compress
+ int CompressChunkOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int flush_mode);
+ int CompressAtMostOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen,
+ int flush_mode);
+
+ // Likewise for UncompressAndUncompressChunk
+ int UncompressChunkOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int flush_mode);
+
+ int UncompressAtMostOrAll(Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong *sourceLen,
+ int flush_mode);
+
+ // Initialization method to be called if we hit an error while
+ // compressing. On hitting an error, call this method before
+ // returning the error.
+ void CompressErrorInit();
+
+ int compression_level_; // compression level
+ int window_bits_; // log base 2 of the window size used in compression
+ int mem_level_; // specifies the amount of memory to be used by
+ // compressor (1-9)
+ z_stream comp_stream_; // Zlib stream data structure
+ bool comp_init_; // True if we have initialized comp_stream_
+ z_stream uncomp_stream_; // Zlib stream data structure
+ bool uncomp_init_; // True if we have initialized uncomp_stream_
+
+ // These are used only with chunked compression.
+ bool first_chunk_; // true if we need to emit headers with this chunk
+};
+
+#endif // HAVE_LIBZ
+
+} // namespace snappy
+
+DECLARE_bool(run_microbenchmarks);
+
+static void RunSpecifiedBenchmarks() {
+ if (!FLAGS_run_microbenchmarks) {
+ return;
+ }
+
+ fprintf(stderr, "Running microbenchmarks.\n");
+#ifndef NDEBUG
+ fprintf(stderr, "WARNING: Compiled with assertions enabled, will be slow.\n");
+#endif
+#ifndef __OPTIMIZE__
+ fprintf(stderr, "WARNING: Compiled without optimization, will be slow.\n");
+#endif
+ fprintf(stderr, "Benchmark Time(ns) CPU(ns) Iterations\n");
+ fprintf(stderr, "---------------------------------------------------\n");
+
+ snappy::Benchmark_BM_UFlat->Run();
+ snappy::Benchmark_BM_UValidate->Run();
+ snappy::Benchmark_BM_ZFlat->Run();
+
+ fprintf(stderr, "\n");
+}
+
+#ifndef HAVE_GTEST
+
+static inline int RUN_ALL_TESTS() {
+ fprintf(stderr, "Running correctness tests.\n");
+ snappy::Test_CorruptedTest_VerifyCorrupted();
+ snappy::Test_Snappy_SimpleTests();
+ snappy::Test_Snappy_MaxBlowup();
+ snappy::Test_Snappy_RandomData();
+ snappy::Test_Snappy_FourByteOffset();
+ snappy::Test_SnappyCorruption_TruncatedVarint();
+ snappy::Test_SnappyCorruption_UnterminatedVarint();
+ snappy::Test_Snappy_ReadPastEndOfBuffer();
+ snappy::Test_Snappy_FindMatchLength();
+ snappy::Test_Snappy_FindMatchLengthRandom();
+ fprintf(stderr, "All tests passed.\n");
+
+ return 0;
+}
+
+#endif // HAVE_GTEST
+
+// For main().
+namespace snappy {
+
+static void CompressFile(const char* fname);
+static void UncompressFile(const char* fname);
+static void MeasureFile(const char* fname);
+
+// Logging.
+
+#define LOG(level) LogMessage()
+#define VLOG(level) true ? (void)0 : \
+ snappy::LogMessageVoidify() & snappy::LogMessage()
+
+class LogMessage {
+ public:
+ LogMessage() { }
+ ~LogMessage() {
+ cerr << endl;
+ }
+
+ LogMessage& operator<<(const std::string& msg) {
+ cerr << msg;
+ return *this;
+ }
+ LogMessage& operator<<(int x) {
+ cerr << x;
+ return *this;
+ }
+};
+
+// Asserts, both versions activated in debug mode only,
+// and ones that are always active.
+
+#define CRASH_UNLESS(condition) \
+ PREDICT_TRUE(condition) ? (void)0 : \
+ snappy::LogMessageVoidify() & snappy::LogMessageCrash()
+
+class LogMessageCrash : public LogMessage {
+ public:
+ LogMessageCrash() { }
+ ~LogMessageCrash() {
+ cerr << endl;
+ abort();
+ }
+};
+
+// This class is used to explicitly ignore values in the conditional
+// logging macros. This avoids compiler warnings like "value computed
+// is not used" and "statement has no effect".
+
+class LogMessageVoidify {
+ public:
+ LogMessageVoidify() { }
+ // This has to be an operator with a precedence lower than << but
+ // higher than ?:
+ void operator&(const LogMessage&) { }
+};
+
+#define CHECK(cond) CRASH_UNLESS(cond)
+#define CHECK_LE(a, b) CRASH_UNLESS((a) <= (b))
+#define CHECK_GE(a, b) CRASH_UNLESS((a) >= (b))
+#define CHECK_EQ(a, b) CRASH_UNLESS((a) == (b))
+#define CHECK_NE(a, b) CRASH_UNLESS((a) != (b))
+#define CHECK_LT(a, b) CRASH_UNLESS((a) < (b))
+#define CHECK_GT(a, b) CRASH_UNLESS((a) > (b))
+
+} // namespace
+
+using snappy::CompressFile;
+using snappy::UncompressFile;
+using snappy::MeasureFile;
+
+#endif // UTIL_SNAPPY_OPENSOURCE_SNAPPY_TEST_H_
diff --git a/snappy-1.1.0/snappy.cc b/snappy-1.1.0/snappy.cc
new file mode 100644
index 0000000..1230321
--- /dev/null
+++ b/snappy-1.1.0/snappy.cc
@@ -0,0 +1,1119 @@
+// Copyright 2005 Google Inc. All Rights Reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include "snappy.h"
+#include "snappy-internal.h"
+#include "snappy-sinksource.h"
+
+#include <stdio.h>
+
+#include <algorithm>
+#include <string>
+#include <vector>
+
+
+namespace snappy {
+
+// Any hash function will produce a valid compressed bitstream, but a good
+// hash function reduces the number of collisions and thus yields better
+// compression for compressible input, and more speed for incompressible
+// input. Of course, it doesn't hurt if the hash function is reasonably fast
+// either, as it gets called a lot.
+static inline uint32 HashBytes(uint32 bytes, int shift) {
+ uint32 kMul = 0x1e35a7bd;
+ return (bytes * kMul) >> shift;
+}
+static inline uint32 Hash(const char* p, int shift) {
+ return HashBytes(UNALIGNED_LOAD32(p), shift);
+}
+
+size_t MaxCompressedLength(size_t source_len) {
+ // Compressed data can be defined as:
+ // compressed := item* literal*
+ // item := literal* copy
+ //
+ // The trailing literal sequence has a space blowup of at most 62/60
+ // since a literal of length 60 needs one tag byte + one extra byte
+ // for length information.
+ //
+ // Item blowup is trickier to measure. Suppose the "copy" op copies
+ // 4 bytes of data. Because of a special check in the encoding code,
+ // we produce a 4-byte copy only if the offset is < 65536. Therefore
+ // the copy op takes 3 bytes to encode, and this type of item leads
+ // to at most the 62/60 blowup for representing literals.
+ //
+ // Suppose the "copy" op copies 5 bytes of data. If the offset is big
+ // enough, it will take 5 bytes to encode the copy op. Therefore the
+ // worst case here is a one-byte literal followed by a five-byte copy.
+ // I.e., 6 bytes of input turn into 7 bytes of "compressed" data.
+ //
+ // This last factor dominates the blowup, so the final estimate is:
+ return 32 + source_len + source_len/6;
+}
+
+enum {
+ LITERAL = 0,
+ COPY_1_BYTE_OFFSET = 1, // 3 bit length + 3 bits of offset in opcode
+ COPY_2_BYTE_OFFSET = 2,
+ COPY_4_BYTE_OFFSET = 3
+};
+
+// Copy "len" bytes from "src" to "op", one byte at a time. Used for
+// handling COPY operations where the input and output regions may
+// overlap. For example, suppose:
+// src == "ab"
+// op == src + 2
+// len == 20
+// After IncrementalCopy(src, op, len), the result will have
+// eleven copies of "ab"
+// ababababababababababab
+// Note that this does not match the semantics of either memcpy()
+// or memmove().
+static inline void IncrementalCopy(const char* src, char* op, int len) {
+ assert(len > 0);
+ do {
+ *op++ = *src++;
+ } while (--len > 0);
+}
+
+// Equivalent to IncrementalCopy except that it can write up to ten extra
+// bytes after the end of the copy, and that it is faster.
+//
+// The main part of this loop is a simple copy of eight bytes at a time until
+// we've copied (at least) the requested amount of bytes. However, if op and
+// src are less than eight bytes apart (indicating a repeating pattern of
+// length < 8), we first need to expand the pattern in order to get the correct
+// results. For instance, if the buffer looks like this, with the eight-byte
+// <src> and <op> patterns marked as intervals:
+//
+// abxxxxxxxxxxxx
+// [------] src
+// [------] op
+//
+// a single eight-byte copy from <src> to <op> will repeat the pattern once,
+// after which we can move <op> two bytes without moving <src>:
+//
+// ababxxxxxxxxxx
+// [------] src
+// [------] op
+//
+// and repeat the exercise until the two no longer overlap.
+//
+// This allows us to do very well in the special case of one single byte
+// repeated many times, without taking a big hit for more general cases.
+//
+// The worst case of extra writing past the end of the match occurs when
+// op - src == 1 and len == 1; the last copy will read from byte positions
+// [0..7] and write to [4..11], whereas it was only supposed to write to
+// position 1. Thus, ten excess bytes.
+
+namespace {
+
+const int kMaxIncrementCopyOverflow = 10;
+
+} // namespace
+
+static inline void IncrementalCopyFastPath(const char* src, char* op, int len) {
+ while (op - src < 8) {
+ UnalignedCopy64(src, op);
+ len -= op - src;
+ op += op - src;
+ }
+ while (len > 0) {
+ UnalignedCopy64(src, op);
+ src += 8;
+ op += 8;
+ len -= 8;
+ }
+}
+
+static inline char* EmitLiteral(char* op,
+ const char* literal,
+ int len,
+ bool allow_fast_path) {
+ int n = len - 1; // Zero-length literals are disallowed
+ if (n < 60) {
+ // Fits in tag byte
+ *op++ = LITERAL | (n << 2);
+
+ // The vast majority of copies are below 16 bytes, for which a
+ // call to memcpy is overkill. This fast path can sometimes
+ // copy up to 15 bytes too much, but that is okay in the
+ // main loop, since we have a bit to go on for both sides:
+ //
+ // - The input will always have kInputMarginBytes = 15 extra
+ // available bytes, as long as we're in the main loop, and
+ // if not, allow_fast_path = false.
+ // - The output will always have 32 spare bytes (see
+ // MaxCompressedLength).
+ if (allow_fast_path && len <= 16) {
+ UnalignedCopy64(literal, op);
+ UnalignedCopy64(literal + 8, op + 8);
+ return op + len;
+ }
+ } else {
+ // Encode in upcoming bytes
+ char* base = op;
+ int count = 0;
+ op++;
+ while (n > 0) {
+ *op++ = n & 0xff;
+ n >>= 8;
+ count++;
+ }
+ assert(count >= 1);
+ assert(count <= 4);
+ *base = LITERAL | ((59+count) << 2);
+ }
+ memcpy(op, literal, len);
+ return op + len;
+}
+
+static inline char* EmitCopyLessThan64(char* op, size_t offset, int len) {
+ assert(len <= 64);
+ assert(len >= 4);
+ assert(offset < 65536);
+
+ if ((len < 12) && (offset < 2048)) {
+ size_t len_minus_4 = len - 4;
+ assert(len_minus_4 < 8); // Must fit in 3 bits
+ *op++ = COPY_1_BYTE_OFFSET + ((len_minus_4) << 2) + ((offset >> 8) << 5);
+ *op++ = offset & 0xff;
+ } else {
+ *op++ = COPY_2_BYTE_OFFSET + ((len-1) << 2);
+ LittleEndian::Store16(op, offset);
+ op += 2;
+ }
+ return op;
+}
+
+static inline char* EmitCopy(char* op, size_t offset, int len) {
+ // Emit 64 byte copies but make sure to keep at least four bytes reserved
+ while (len >= 68) {
+ op = EmitCopyLessThan64(op, offset, 64);
+ len -= 64;
+ }
+
+ // Emit an extra 60 byte copy if have too much data to fit in one copy
+ if (len > 64) {
+ op = EmitCopyLessThan64(op, offset, 60);
+ len -= 60;
+ }
+
+ // Emit remainder
+ op = EmitCopyLessThan64(op, offset, len);
+ return op;
+}
+
+
+bool GetUncompressedLength(const char* start, size_t n, size_t* result) {
+ uint32 v = 0;
+ const char* limit = start + n;
+ if (Varint::Parse32WithLimit(start, limit, &v) != NULL) {
+ *result = v;
+ return true;
+ } else {
+ return false;
+ }
+}
+
+namespace internal {
+uint16* WorkingMemory::GetHashTable(size_t input_size, int* table_size) {
+ // Use smaller hash table when input.size() is smaller, since we
+ // fill the table, incurring O(hash table size) overhead for
+ // compression, and if the input is short, we won't need that
+ // many hash table entries anyway.
+ assert(kMaxHashTableSize >= 256);
+ size_t htsize = 256;
+ while (htsize < kMaxHashTableSize && htsize < input_size) {
+ htsize <<= 1;
+ }
+
+ uint16* table;
+ if (htsize <= ARRAYSIZE(small_table_)) {
+ table = small_table_;
+ } else {
+ if (large_table_ == NULL) {
+ large_table_ = new uint16[kMaxHashTableSize];
+ }
+ table = large_table_;
+ }
+
+ *table_size = htsize;
+ memset(table, 0, htsize * sizeof(*table));
+ return table;
+}
+} // end namespace internal
+
+// For 0 <= offset <= 4, GetUint32AtOffset(GetEightBytesAt(p), offset) will
+// equal UNALIGNED_LOAD32(p + offset). Motivation: On x86-64 hardware we have
+// empirically found that overlapping loads such as
+// UNALIGNED_LOAD32(p) ... UNALIGNED_LOAD32(p+1) ... UNALIGNED_LOAD32(p+2)
+// are slower than UNALIGNED_LOAD64(p) followed by shifts and casts to uint32.
+//
+// We have different versions for 64- and 32-bit; ideally we would avoid the
+// two functions and just inline the UNALIGNED_LOAD64 call into
+// GetUint32AtOffset, but GCC (at least not as of 4.6) is seemingly not clever
+// enough to avoid loading the value multiple times then. For 64-bit, the load
+// is done when GetEightBytesAt() is called, whereas for 32-bit, the load is
+// done at GetUint32AtOffset() time.
+
+#ifdef ARCH_K8
+
+typedef uint64 EightBytesReference;
+
+static inline EightBytesReference GetEightBytesAt(const char* ptr) {
+ return UNALIGNED_LOAD64(ptr);
+}
+
+static inline uint32 GetUint32AtOffset(uint64 v, int offset) {
+ assert(offset >= 0);
+ assert(offset <= 4);
+ return v >> (LittleEndian::IsLittleEndian() ? 8 * offset : 32 - 8 * offset);
+}
+
+#else
+
+typedef const char* EightBytesReference;
+
+static inline EightBytesReference GetEightBytesAt(const char* ptr) {
+ return ptr;
+}
+
+static inline uint32 GetUint32AtOffset(const char* v, int offset) {
+ assert(offset >= 0);
+ assert(offset <= 4);
+ return UNALIGNED_LOAD32(v + offset);
+}
+
+#endif
+
+// Flat array compression that does not emit the "uncompressed length"
+// prefix. Compresses "input" string to the "*op" buffer.
+//
+// REQUIRES: "input" is at most "kBlockSize" bytes long.
+// REQUIRES: "op" points to an array of memory that is at least
+// "MaxCompressedLength(input.size())" in size.
+// REQUIRES: All elements in "table[0..table_size-1]" are initialized to zero.
+// REQUIRES: "table_size" is a power of two
+//
+// Returns an "end" pointer into "op" buffer.
+// "end - op" is the compressed size of "input".
+namespace internal {
+char* CompressFragment(const char* input,
+ size_t input_size,
+ char* op,
+ uint16* table,
+ const int table_size) {
+ // "ip" is the input pointer, and "op" is the output pointer.
+ const char* ip = input;
+ assert(input_size <= kBlockSize);
+ assert((table_size & (table_size - 1)) == 0); // table must be power of two
+ const int shift = 32 - Bits::Log2Floor(table_size);
+ assert(static_cast<int>(kuint32max >> shift) == table_size - 1);
+ const char* ip_end = input + input_size;
+ const char* base_ip = ip;
+ // Bytes in [next_emit, ip) will be emitted as literal bytes. Or
+ // [next_emit, ip_end) after the main loop.
+ const char* next_emit = ip;
+
+ const size_t kInputMarginBytes = 15;
+ if (PREDICT_TRUE(input_size >= kInputMarginBytes)) {
+ const char* ip_limit = input + input_size - kInputMarginBytes;
+
+ for (uint32 next_hash = Hash(++ip, shift); ; ) {
+ assert(next_emit < ip);
+ // The body of this loop calls EmitLiteral once and then EmitCopy one or
+ // more times. (The exception is that when we're close to exhausting
+ // the input we goto emit_remainder.)
+ //
+ // In the first iteration of this loop we're just starting, so
+ // there's nothing to copy, so calling EmitLiteral once is
+ // necessary. And we only start a new iteration when the
+ // current iteration has determined that a call to EmitLiteral will
+ // precede the next call to EmitCopy (if any).
+ //
+ // Step 1: Scan forward in the input looking for a 4-byte-long match.
+ // If we get close to exhausting the input then goto emit_remainder.
+ //
+ // Heuristic match skipping: If 32 bytes are scanned with no matches
+ // found, start looking only at every other byte. If 32 more bytes are
+ // scanned, look at every third byte, etc.. When a match is found,
+ // immediately go back to looking at every byte. This is a small loss
+ // (~5% performance, ~0.1% density) for compressible data due to more
+ // bookkeeping, but for non-compressible data (such as JPEG) it's a huge
+ // win since the compressor quickly "realizes" the data is incompressible
+ // and doesn't bother looking for matches everywhere.
+ //
+ // The "skip" variable keeps track of how many bytes there are since the
+ // last match; dividing it by 32 (ie. right-shifting by five) gives the
+ // number of bytes to move ahead for each iteration.
+ uint32 skip = 32;
+
+ const char* next_ip = ip;
+ const char* candidate;
+ do {
+ ip = next_ip;
+ uint32 hash = next_hash;
+ assert(hash == Hash(ip, shift));
+ uint32 bytes_between_hash_lookups = skip++ >> 5;
+ next_ip = ip + bytes_between_hash_lookups;
+ if (PREDICT_FALSE(next_ip > ip_limit)) {
+ goto emit_remainder;
+ }
+ next_hash = Hash(next_ip, shift);
+ candidate = base_ip + table[hash];
+ assert(candidate >= base_ip);
+ assert(candidate < ip);
+
+ table[hash] = ip - base_ip;
+ } while (PREDICT_TRUE(UNALIGNED_LOAD32(ip) !=
+ UNALIGNED_LOAD32(candidate)));
+
+ // Step 2: A 4-byte match has been found. We'll later see if more
+ // than 4 bytes match. But, prior to the match, input
+ // bytes [next_emit, ip) are unmatched. Emit them as "literal bytes."
+ assert(next_emit + 16 <= ip_end);
+ op = EmitLiteral(op, next_emit, ip - next_emit, true);
+
+ // Step 3: Call EmitCopy, and then see if another EmitCopy could
+ // be our next move. Repeat until we find no match for the
+ // input immediately after what was consumed by the last EmitCopy call.
+ //
+ // If we exit this loop normally then we need to call EmitLiteral next,
+ // though we don't yet know how big the literal will be. We handle that
+ // by proceeding to the next iteration of the main loop. We also can exit
+ // this loop via goto if we get close to exhausting the input.
+ EightBytesReference input_bytes;
+ uint32 candidate_bytes = 0;
+
+ do {
+ // We have a 4-byte match at ip, and no need to emit any
+ // "literal bytes" prior to ip.
+ const char* base = ip;
+ int matched = 4 + FindMatchLength(candidate + 4, ip + 4, ip_end);
+ ip += matched;
+ size_t offset = base - candidate;
+ assert(0 == memcmp(base, candidate, matched));
+ op = EmitCopy(op, offset, matched);
+ // We could immediately start working at ip now, but to improve
+ // compression we first update table[Hash(ip - 1, ...)].
+ const char* insert_tail = ip - 1;
+ next_emit = ip;
+ if (PREDICT_FALSE(ip >= ip_limit)) {
+ goto emit_remainder;
+ }
+ input_bytes = GetEightBytesAt(insert_tail);
+ uint32 prev_hash = HashBytes(GetUint32AtOffset(input_bytes, 0), shift);
+ table[prev_hash] = ip - base_ip - 1;
+ uint32 cur_hash = HashBytes(GetUint32AtOffset(input_bytes, 1), shift);
+ candidate = base_ip + table[cur_hash];
+ candidate_bytes = UNALIGNED_LOAD32(candidate);
+ table[cur_hash] = ip - base_ip;
+ } while (GetUint32AtOffset(input_bytes, 1) == candidate_bytes);
+
+ next_hash = HashBytes(GetUint32AtOffset(input_bytes, 2), shift);
+ ++ip;
+ }
+ }
+
+ emit_remainder:
+ // Emit the remaining bytes as a literal
+ if (next_emit < ip_end) {
+ op = EmitLiteral(op, next_emit, ip_end - next_emit, false);
+ }
+
+ return op;
+}
+} // end namespace internal
+
+// Signature of output types needed by decompression code.
+// The decompression code is templatized on a type that obeys this
+// signature so that we do not pay virtual function call overhead in
+// the middle of a tight decompression loop.
+//
+// class DecompressionWriter {
+// public:
+// // Called before decompression
+// void SetExpectedLength(size_t length);
+//
+// // Called after decompression
+// bool CheckLength() const;
+//
+// // Called repeatedly during decompression
+// bool Append(const char* ip, size_t length);
+// bool AppendFromSelf(uint32 offset, size_t length);
+//
+// // The difference between TryFastAppend and Append is that TryFastAppend
+// // is allowed to read up to <available> bytes from the input buffer,
+// // whereas Append is allowed to read <length>.
+// //
+// // Also, TryFastAppend is allowed to return false, declining the append,
+// // without it being a fatal error -- just "return false" would be
+// // a perfectly legal implementation of TryFastAppend. The intention
+// // is for TryFastAppend to allow a fast path in the common case of
+// // a small append.
+// //
+// // NOTE(user): TryFastAppend must always return decline (return false)
+// // if <length> is 61 or more, as in this case the literal length is not
+// // decoded fully. In practice, this should not be a big problem,
+// // as it is unlikely that one would implement a fast path accepting
+// // this much data.
+// bool TryFastAppend(const char* ip, size_t available, size_t length);
+// };
+
+// -----------------------------------------------------------------------
+// Lookup table for decompression code. Generated by ComputeTable() below.
+// -----------------------------------------------------------------------
+
+// Mapping from i in range [0,4] to a mask to extract the bottom 8*i bits
+static const uint32 wordmask[] = {
+ 0u, 0xffu, 0xffffu, 0xffffffu, 0xffffffffu
+};
+
+// Data stored per entry in lookup table:
+// Range Bits-used Description
+// ------------------------------------
+// 1..64 0..7 Literal/copy length encoded in opcode byte
+// 0..7 8..10 Copy offset encoded in opcode byte / 256
+// 0..4 11..13 Extra bytes after opcode
+//
+// We use eight bits for the length even though 7 would have sufficed
+// because of efficiency reasons:
+// (1) Extracting a byte is faster than a bit-field
+// (2) It properly aligns copy offset so we do not need a <<8
+static const uint16 char_table[256] = {
+ 0x0001, 0x0804, 0x1001, 0x2001, 0x0002, 0x0805, 0x1002, 0x2002,
+ 0x0003, 0x0806, 0x1003, 0x2003, 0x0004, 0x0807, 0x1004, 0x2004,
+ 0x0005, 0x0808, 0x1005, 0x2005, 0x0006, 0x0809, 0x1006, 0x2006,
+ 0x0007, 0x080a, 0x1007, 0x2007, 0x0008, 0x080b, 0x1008, 0x2008,
+ 0x0009, 0x0904, 0x1009, 0x2009, 0x000a, 0x0905, 0x100a, 0x200a,
+ 0x000b, 0x0906, 0x100b, 0x200b, 0x000c, 0x0907, 0x100c, 0x200c,
+ 0x000d, 0x0908, 0x100d, 0x200d, 0x000e, 0x0909, 0x100e, 0x200e,
+ 0x000f, 0x090a, 0x100f, 0x200f, 0x0010, 0x090b, 0x1010, 0x2010,
+ 0x0011, 0x0a04, 0x1011, 0x2011, 0x0012, 0x0a05, 0x1012, 0x2012,
+ 0x0013, 0x0a06, 0x1013, 0x2013, 0x0014, 0x0a07, 0x1014, 0x2014,
+ 0x0015, 0x0a08, 0x1015, 0x2015, 0x0016, 0x0a09, 0x1016, 0x2016,
+ 0x0017, 0x0a0a, 0x1017, 0x2017, 0x0018, 0x0a0b, 0x1018, 0x2018,
+ 0x0019, 0x0b04, 0x1019, 0x2019, 0x001a, 0x0b05, 0x101a, 0x201a,
+ 0x001b, 0x0b06, 0x101b, 0x201b, 0x001c, 0x0b07, 0x101c, 0x201c,
+ 0x001d, 0x0b08, 0x101d, 0x201d, 0x001e, 0x0b09, 0x101e, 0x201e,
+ 0x001f, 0x0b0a, 0x101f, 0x201f, 0x0020, 0x0b0b, 0x1020, 0x2020,
+ 0x0021, 0x0c04, 0x1021, 0x2021, 0x0022, 0x0c05, 0x1022, 0x2022,
+ 0x0023, 0x0c06, 0x1023, 0x2023, 0x0024, 0x0c07, 0x1024, 0x2024,
+ 0x0025, 0x0c08, 0x1025, 0x2025, 0x0026, 0x0c09, 0x1026, 0x2026,
+ 0x0027, 0x0c0a, 0x1027, 0x2027, 0x0028, 0x0c0b, 0x1028, 0x2028,
+ 0x0029, 0x0d04, 0x1029, 0x2029, 0x002a, 0x0d05, 0x102a, 0x202a,
+ 0x002b, 0x0d06, 0x102b, 0x202b, 0x002c, 0x0d07, 0x102c, 0x202c,
+ 0x002d, 0x0d08, 0x102d, 0x202d, 0x002e, 0x0d09, 0x102e, 0x202e,
+ 0x002f, 0x0d0a, 0x102f, 0x202f, 0x0030, 0x0d0b, 0x1030, 0x2030,
+ 0x0031, 0x0e04, 0x1031, 0x2031, 0x0032, 0x0e05, 0x1032, 0x2032,
+ 0x0033, 0x0e06, 0x1033, 0x2033, 0x0034, 0x0e07, 0x1034, 0x2034,
+ 0x0035, 0x0e08, 0x1035, 0x2035, 0x0036, 0x0e09, 0x1036, 0x2036,
+ 0x0037, 0x0e0a, 0x1037, 0x2037, 0x0038, 0x0e0b, 0x1038, 0x2038,
+ 0x0039, 0x0f04, 0x1039, 0x2039, 0x003a, 0x0f05, 0x103a, 0x203a,
+ 0x003b, 0x0f06, 0x103b, 0x203b, 0x003c, 0x0f07, 0x103c, 0x203c,
+ 0x0801, 0x0f08, 0x103d, 0x203d, 0x1001, 0x0f09, 0x103e, 0x203e,
+ 0x1801, 0x0f0a, 0x103f, 0x203f, 0x2001, 0x0f0b, 0x1040, 0x2040
+};
+
+// In debug mode, allow optional computation of the table at startup.
+// Also, check that the decompression table is correct.
+#ifndef NDEBUG
+DEFINE_bool(snappy_dump_decompression_table, false,
+ "If true, we print the decompression table at startup.");
+
+static uint16 MakeEntry(unsigned int extra,
+ unsigned int len,
+ unsigned int copy_offset) {
+ // Check that all of the fields fit within the allocated space
+ assert(extra == (extra & 0x7)); // At most 3 bits
+ assert(copy_offset == (copy_offset & 0x7)); // At most 3 bits
+ assert(len == (len & 0x7f)); // At most 7 bits
+ return len | (copy_offset << 8) | (extra << 11);
+}
+
+static void ComputeTable() {
+ uint16 dst[256];
+
+ // Place invalid entries in all places to detect missing initialization
+ int assigned = 0;
+ for (int i = 0; i < 256; i++) {
+ dst[i] = 0xffff;
+ }
+
+ // Small LITERAL entries. We store (len-1) in the top 6 bits.
+ for (unsigned int len = 1; len <= 60; len++) {
+ dst[LITERAL | ((len-1) << 2)] = MakeEntry(0, len, 0);
+ assigned++;
+ }
+
+ // Large LITERAL entries. We use 60..63 in the high 6 bits to
+ // encode the number of bytes of length info that follow the opcode.
+ for (unsigned int extra_bytes = 1; extra_bytes <= 4; extra_bytes++) {
+ // We set the length field in the lookup table to 1 because extra
+ // bytes encode len-1.
+ dst[LITERAL | ((extra_bytes+59) << 2)] = MakeEntry(extra_bytes, 1, 0);
+ assigned++;
+ }
+
+ // COPY_1_BYTE_OFFSET.
+ //
+ // The tag byte in the compressed data stores len-4 in 3 bits, and
+ // offset/256 in 5 bits. offset%256 is stored in the next byte.
+ //
+ // This format is used for length in range [4..11] and offset in
+ // range [0..2047]
+ for (unsigned int len = 4; len < 12; len++) {
+ for (unsigned int offset = 0; offset < 2048; offset += 256) {
+ dst[COPY_1_BYTE_OFFSET | ((len-4)<<2) | ((offset>>8)<<5)] =
+ MakeEntry(1, len, offset>>8);
+ assigned++;
+ }
+ }
+
+ // COPY_2_BYTE_OFFSET.
+ // Tag contains len-1 in top 6 bits, and offset in next two bytes.
+ for (unsigned int len = 1; len <= 64; len++) {
+ dst[COPY_2_BYTE_OFFSET | ((len-1)<<2)] = MakeEntry(2, len, 0);
+ assigned++;
+ }
+
+ // COPY_4_BYTE_OFFSET.
+ // Tag contents len-1 in top 6 bits, and offset in next four bytes.
+ for (unsigned int len = 1; len <= 64; len++) {
+ dst[COPY_4_BYTE_OFFSET | ((len-1)<<2)] = MakeEntry(4, len, 0);
+ assigned++;
+ }
+
+ // Check that each entry was initialized exactly once.
+ if (assigned != 256) {
+ fprintf(stderr, "ComputeTable: assigned only %d of 256\n", assigned);
+ abort();
+ }
+ for (int i = 0; i < 256; i++) {
+ if (dst[i] == 0xffff) {
+ fprintf(stderr, "ComputeTable: did not assign byte %d\n", i);
+ abort();
+ }
+ }
+
+ if (FLAGS_snappy_dump_decompression_table) {
+ printf("static const uint16 char_table[256] = {\n ");
+ for (int i = 0; i < 256; i++) {
+ printf("0x%04x%s",
+ dst[i],
+ ((i == 255) ? "\n" : (((i%8) == 7) ? ",\n " : ", ")));
+ }
+ printf("};\n");
+ }
+
+ // Check that computed table matched recorded table
+ for (int i = 0; i < 256; i++) {
+ if (dst[i] != char_table[i]) {
+ fprintf(stderr, "ComputeTable: byte %d: computed (%x), expect (%x)\n",
+ i, static_cast<int>(dst[i]), static_cast<int>(char_table[i]));
+ abort();
+ }
+ }
+}
+#endif /* !NDEBUG */
+
+// Helper class for decompression
+class SnappyDecompressor {
+ private:
+ Source* reader_; // Underlying source of bytes to decompress
+ const char* ip_; // Points to next buffered byte
+ const char* ip_limit_; // Points just past buffered bytes
+ uint32 peeked_; // Bytes peeked from reader (need to skip)
+ bool eof_; // Hit end of input without an error?
+ char scratch_[5]; // Temporary buffer for PeekFast() boundaries
+
+ // Ensure that all of the tag metadata for the next tag is available
+ // in [ip_..ip_limit_-1]. Also ensures that [ip,ip+4] is readable even
+ // if (ip_limit_ - ip_ < 5).
+ //
+ // Returns true on success, false on error or end of input.
+ bool RefillTag();
+
+ public:
+ explicit SnappyDecompressor(Source* reader)
+ : reader_(reader),
+ ip_(NULL),
+ ip_limit_(NULL),
+ peeked_(0),
+ eof_(false) {
+ }
+
+ ~SnappyDecompressor() {
+ // Advance past any bytes we peeked at from the reader
+ reader_->Skip(peeked_);
+ }
+
+ // Returns true iff we have hit the end of the input without an error.
+ bool eof() const {
+ return eof_;
+ }
+
+ // Read the uncompressed length stored at the start of the compressed data.
+ // On succcess, stores the length in *result and returns true.
+ // On failure, returns false.
+ bool ReadUncompressedLength(uint32* result) {
+ assert(ip_ == NULL); // Must not have read anything yet
+ // Length is encoded in 1..5 bytes
+ *result = 0;
+ uint32 shift = 0;
+ while (true) {
+ if (shift >= 32) return false;
+ size_t n;
+ const char* ip = reader_->Peek(&n);
+ if (n == 0) return false;
+ const unsigned char c = *(reinterpret_cast<const unsigned char*>(ip));
+ reader_->Skip(1);
+ *result |= static_cast<uint32>(c & 0x7f) << shift;
+ if (c < 128) {
+ break;
+ }
+ shift += 7;
+ }
+ return true;
+ }
+
+ // Process the next item found in the input.
+ // Returns true if successful, false on error or end of input.
+ template <class Writer>
+ void DecompressAllTags(Writer* writer) {
+ const char* ip = ip_;
+
+ // We could have put this refill fragment only at the beginning of the loop.
+ // However, duplicating it at the end of each branch gives the compiler more
+ // scope to optimize the <ip_limit_ - ip> expression based on the local
+ // context, which overall increases speed.
+ #define MAYBE_REFILL() \
+ if (ip_limit_ - ip < 5) { \
+ ip_ = ip; \
+ if (!RefillTag()) return; \
+ ip = ip_; \
+ }
+
+ MAYBE_REFILL();
+ for ( ;; ) {
+ const unsigned char c = *(reinterpret_cast<const unsigned char*>(ip++));
+
+ if ((c & 0x3) == LITERAL) {
+ size_t literal_length = (c >> 2) + 1u;
+ if (writer->TryFastAppend(ip, ip_limit_ - ip, literal_length)) {
+ assert(literal_length < 61);
+ ip += literal_length;
+ MAYBE_REFILL();
+ continue;
+ }
+ if (PREDICT_FALSE(literal_length >= 61)) {
+ // Long literal.
+ const size_t literal_length_length = literal_length - 60;
+ literal_length =
+ (LittleEndian::Load32(ip) & wordmask[literal_length_length]) + 1;
+ ip += literal_length_length;
+ }
+
+ size_t avail = ip_limit_ - ip;
+ while (avail < literal_length) {
+ if (!writer->Append(ip, avail)) return;
+ literal_length -= avail;
+ reader_->Skip(peeked_);
+ size_t n;
+ ip = reader_->Peek(&n);
+ avail = n;
+ peeked_ = avail;
+ if (avail == 0) return; // Premature end of input
+ ip_limit_ = ip + avail;
+ }
+ if (!writer->Append(ip, literal_length)) {
+ return;
+ }
+ ip += literal_length;
+ MAYBE_REFILL();
+ } else {
+ const uint32 entry = char_table[c];
+ const uint32 trailer = LittleEndian::Load32(ip) & wordmask[entry >> 11];
+ const uint32 length = entry & 0xff;
+ ip += entry >> 11;
+
+ // copy_offset/256 is encoded in bits 8..10. By just fetching
+ // those bits, we get copy_offset (since the bit-field starts at
+ // bit 8).
+ const uint32 copy_offset = entry & 0x700;
+ if (!writer->AppendFromSelf(copy_offset + trailer, length)) {
+ return;
+ }
+ MAYBE_REFILL();
+ }
+ }
+
+#undef MAYBE_REFILL
+ }
+};
+
+bool SnappyDecompressor::RefillTag() {
+ const char* ip = ip_;
+ if (ip == ip_limit_) {
+ // Fetch a new fragment from the reader
+ reader_->Skip(peeked_); // All peeked bytes are used up
+ size_t n;
+ ip = reader_->Peek(&n);
+ peeked_ = n;
+ if (n == 0) {
+ eof_ = true;
+ return false;
+ }
+ ip_limit_ = ip + n;
+ }
+
+ // Read the tag character
+ assert(ip < ip_limit_);
+ const unsigned char c = *(reinterpret_cast<const unsigned char*>(ip));
+ const uint32 entry = char_table[c];
+ const uint32 needed = (entry >> 11) + 1; // +1 byte for 'c'
+ assert(needed <= sizeof(scratch_));
+
+ // Read more bytes from reader if needed
+ uint32 nbuf = ip_limit_ - ip;
+ if (nbuf < needed) {
+ // Stitch together bytes from ip and reader to form the word
+ // contents. We store the needed bytes in "scratch_". They
+ // will be consumed immediately by the caller since we do not
+ // read more than we need.
+ memmove(scratch_, ip, nbuf);
+ reader_->Skip(peeked_); // All peeked bytes are used up
+ peeked_ = 0;
+ while (nbuf < needed) {
+ size_t length;
+ const char* src = reader_->Peek(&length);
+ if (length == 0) return false;
+ uint32 to_add = min<uint32>(needed - nbuf, length);
+ memcpy(scratch_ + nbuf, src, to_add);
+ nbuf += to_add;
+ reader_->Skip(to_add);
+ }
+ assert(nbuf == needed);
+ ip_ = scratch_;
+ ip_limit_ = scratch_ + needed;
+ } else if (nbuf < 5) {
+ // Have enough bytes, but move into scratch_ so that we do not
+ // read past end of input
+ memmove(scratch_, ip, nbuf);
+ reader_->Skip(peeked_); // All peeked bytes are used up
+ peeked_ = 0;
+ ip_ = scratch_;
+ ip_limit_ = scratch_ + nbuf;
+ } else {
+ // Pass pointer to buffer returned by reader_.
+ ip_ = ip;
+ }
+ return true;
+}
+
+template <typename Writer>
+static bool InternalUncompress(Source* r,
+ Writer* writer,
+ uint32 max_len) {
+ // Read the uncompressed length from the front of the compressed input
+ SnappyDecompressor decompressor(r);
+ uint32 uncompressed_len = 0;
+ if (!decompressor.ReadUncompressedLength(&uncompressed_len)) return false;
+ return InternalUncompressAllTags(
+ &decompressor, writer, uncompressed_len, max_len);
+}
+
+template <typename Writer>
+static bool InternalUncompressAllTags(SnappyDecompressor* decompressor,
+ Writer* writer,
+ uint32 uncompressed_len,
+ uint32 max_len) {
+ // Protect against possible DoS attack
+ if (static_cast<uint64>(uncompressed_len) > max_len) {
+ return false;
+ }
+
+ writer->SetExpectedLength(uncompressed_len);
+
+ // Process the entire input
+ decompressor->DecompressAllTags(writer);
+ return (decompressor->eof() && writer->CheckLength());
+}
+
+bool GetUncompressedLength(Source* source, uint32* result) {
+ SnappyDecompressor decompressor(source);
+ return decompressor.ReadUncompressedLength(result);
+}
+
+size_t Compress(Source* reader, Sink* writer) {
+ size_t written = 0;
+ size_t N = reader->Available();
+ char ulength[Varint::kMax32];
+ char* p = Varint::Encode32(ulength, N);
+ writer->Append(ulength, p-ulength);
+ written += (p - ulength);
+
+ internal::WorkingMemory wmem;
+ char* scratch = NULL;
+ char* scratch_output = NULL;
+
+ while (N > 0) {
+ // Get next block to compress (without copying if possible)
+ size_t fragment_size;
+ const char* fragment = reader->Peek(&fragment_size);
+ assert(fragment_size != 0); // premature end of input
+ const size_t num_to_read = min(N, kBlockSize);
+ size_t bytes_read = fragment_size;
+
+ size_t pending_advance = 0;
+ if (bytes_read >= num_to_read) {
+ // Buffer returned by reader is large enough
+ pending_advance = num_to_read;
+ fragment_size = num_to_read;
+ } else {
+ // Read into scratch buffer
+ if (scratch == NULL) {
+ // If this is the last iteration, we want to allocate N bytes
+ // of space, otherwise the max possible kBlockSize space.
+ // num_to_read contains exactly the correct value
+ scratch = new char[num_to_read];
+ }
+ memcpy(scratch, fragment, bytes_read);
+ reader->Skip(bytes_read);
+
+ while (bytes_read < num_to_read) {
+ fragment = reader->Peek(&fragment_size);
+ size_t n = min<size_t>(fragment_size, num_to_read - bytes_read);
+ memcpy(scratch + bytes_read, fragment, n);
+ bytes_read += n;
+ reader->Skip(n);
+ }
+ assert(bytes_read == num_to_read);
+ fragment = scratch;
+ fragment_size = num_to_read;
+ }
+ assert(fragment_size == num_to_read);
+
+ // Get encoding table for compression
+ int table_size;
+ uint16* table = wmem.GetHashTable(num_to_read, &table_size);
+
+ // Compress input_fragment and append to dest
+ const int max_output = MaxCompressedLength(num_to_read);
+
+ // Need a scratch buffer for the output, in case the byte sink doesn't
+ // have room for us directly.
+ if (scratch_output == NULL) {
+ scratch_output = new char[max_output];
+ } else {
+ // Since we encode kBlockSize regions followed by a region
+ // which is <= kBlockSize in length, a previously allocated
+ // scratch_output[] region is big enough for this iteration.
+ }
+ char* dest = writer->GetAppendBuffer(max_output, scratch_output);
+ char* end = internal::CompressFragment(fragment, fragment_size,
+ dest, table, table_size);
+ writer->Append(dest, end - dest);
+ written += (end - dest);
+
+ N -= num_to_read;
+ reader->Skip(pending_advance);
+ }
+
+ delete[] scratch;
+ delete[] scratch_output;
+
+ return written;
+}
+
+// -----------------------------------------------------------------------
+// Flat array interfaces
+// -----------------------------------------------------------------------
+
+// A type that writes to a flat array.
+// Note that this is not a "ByteSink", but a type that matches the
+// Writer template argument to SnappyDecompressor::DecompressAllTags().
+class SnappyArrayWriter {
+ private:
+ char* base_;
+ char* op_;
+ char* op_limit_;
+
+ public:
+ inline explicit SnappyArrayWriter(char* dst)
+ : base_(dst),
+ op_(dst) {
+ }
+
+ inline void SetExpectedLength(size_t len) {
+ op_limit_ = op_ + len;
+ }
+
+ inline bool CheckLength() const {
+ return op_ == op_limit_;
+ }
+
+ inline bool Append(const char* ip, size_t len) {
+ char* op = op_;
+ const size_t space_left = op_limit_ - op;
+ if (space_left < len) {
+ return false;
+ }
+ memcpy(op, ip, len);
+ op_ = op + len;
+ return true;
+ }
+
+ inline bool TryFastAppend(const char* ip, size_t available, size_t len) {
+ char* op = op_;
+ const size_t space_left = op_limit_ - op;
+ if (len <= 16 && available >= 16 && space_left >= 16) {
+ // Fast path, used for the majority (about 95%) of invocations.
+ UnalignedCopy64(ip, op);
+ UnalignedCopy64(ip + 8, op + 8);
+ op_ = op + len;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ inline bool AppendFromSelf(size_t offset, size_t len) {
+ char* op = op_;
+ const size_t space_left = op_limit_ - op;
+
+ if (op - base_ <= offset - 1u) { // -1u catches offset==0
+ return false;
+ }
+ if (len <= 16 && offset >= 8 && space_left >= 16) {
+ // Fast path, used for the majority (70-80%) of dynamic invocations.
+ UnalignedCopy64(op - offset, op);
+ UnalignedCopy64(op - offset + 8, op + 8);
+ } else {
+ if (space_left >= len + kMaxIncrementCopyOverflow) {
+ IncrementalCopyFastPath(op - offset, op, len);
+ } else {
+ if (space_left < len) {
+ return false;
+ }
+ IncrementalCopy(op - offset, op, len);
+ }
+ }
+
+ op_ = op + len;
+ return true;
+ }
+};
+
+bool RawUncompress(const char* compressed, size_t n, char* uncompressed) {
+ ByteArraySource reader(compressed, n);
+ return RawUncompress(&reader, uncompressed);
+}
+
+bool RawUncompress(Source* compressed, char* uncompressed) {
+ SnappyArrayWriter output(uncompressed);
+ return InternalUncompress(compressed, &output, kuint32max);
+}
+
+bool Uncompress(const char* compressed, size_t n, string* uncompressed) {
+ size_t ulength;
+ if (!GetUncompressedLength(compressed, n, &ulength)) {
+ return false;
+ }
+ // Protect against possible DoS attack
+ if ((static_cast<uint64>(ulength) + uncompressed->size()) >
+ uncompressed->max_size()) {
+ return false;
+ }
+ STLStringResizeUninitialized(uncompressed, ulength);
+ return RawUncompress(compressed, n, string_as_array(uncompressed));
+}
+
+
+// A Writer that drops everything on the floor and just does validation
+class SnappyDecompressionValidator {
+ private:
+ size_t expected_;
+ size_t produced_;
+
+ public:
+ inline SnappyDecompressionValidator() : produced_(0) { }
+ inline void SetExpectedLength(size_t len) {
+ expected_ = len;
+ }
+ inline bool CheckLength() const {
+ return expected_ == produced_;
+ }
+ inline bool Append(const char* ip, size_t len) {
+ produced_ += len;
+ return produced_ <= expected_;
+ }
+ inline bool TryFastAppend(const char* ip, size_t available, size_t length) {
+ return false;
+ }
+ inline bool AppendFromSelf(size_t offset, size_t len) {
+ if (produced_ <= offset - 1u) return false; // -1u catches offset==0
+ produced_ += len;
+ return produced_ <= expected_;
+ }
+};
+
+bool IsValidCompressedBuffer(const char* compressed, size_t n) {
+ ByteArraySource reader(compressed, n);
+ SnappyDecompressionValidator writer;
+ return InternalUncompress(&reader, &writer, kuint32max);
+}
+
+void RawCompress(const char* input,
+ size_t input_length,
+ char* compressed,
+ size_t* compressed_length) {
+ ByteArraySource reader(input, input_length);
+ UncheckedByteArraySink writer(compressed);
+ Compress(&reader, &writer);
+
+ // Compute how many bytes were added
+ *compressed_length = (writer.CurrentDestination() - compressed);
+}
+
+size_t Compress(const char* input, size_t input_length, string* compressed) {
+ // Pre-grow the buffer to the max length of the compressed output
+ compressed->resize(MaxCompressedLength(input_length));
+
+ size_t compressed_length;
+ RawCompress(input, input_length, string_as_array(compressed),
+ &compressed_length);
+ compressed->resize(compressed_length);
+ return compressed_length;
+}
+
+
+} // end namespace snappy
+
diff --git a/snappy-1.1.0/snappy.h b/snappy-1.1.0/snappy.h
new file mode 100644
index 0000000..03ef6ce
--- /dev/null
+++ b/snappy-1.1.0/snappy.h
@@ -0,0 +1,163 @@
+// Copyright 2005 and onwards Google Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// A light-weight compression algorithm. It is designed for speed of
+// compression and decompression, rather than for the utmost in space
+// savings.
+//
+// For getting better compression ratios when you are compressing data
+// with long repeated sequences or compressing data that is similar to
+// other data, while still compressing fast, you might look at first
+// using BMDiff and then compressing the output of BMDiff with
+// Snappy.
+
+#ifndef UTIL_SNAPPY_SNAPPY_H__
+#define UTIL_SNAPPY_SNAPPY_H__
+
+#include <stddef.h>
+#include <string>
+
+#include "snappy-stubs-public.h"
+
+namespace snappy {
+ class Source;
+ class Sink;
+
+ // ------------------------------------------------------------------------
+ // Generic compression/decompression routines.
+ // ------------------------------------------------------------------------
+
+ // Compress the bytes read from "*source" and append to "*sink". Return the
+ // number of bytes written.
+ size_t Compress(Source* source, Sink* sink);
+
+ // Find the uncompressed length of the given stream, as given by the header.
+ // Note that the true length could deviate from this; the stream could e.g.
+ // be truncated.
+ //
+ // Also note that this leaves "*source" in a state that is unsuitable for
+ // further operations, such as RawUncompress(). You will need to rewind
+ // or recreate the source yourself before attempting any further calls.
+ bool GetUncompressedLength(Source* source, uint32* result);
+
+ // ------------------------------------------------------------------------
+ // Higher-level string based routines (should be sufficient for most users)
+ // ------------------------------------------------------------------------
+
+ // Sets "*output" to the compressed version of "input[0,input_length-1]".
+ // Original contents of *output are lost.
+ //
+ // REQUIRES: "input[]" is not an alias of "*output".
+ size_t Compress(const char* input, size_t input_length, string* output);
+
+ // Decompresses "compressed[0,compressed_length-1]" to "*uncompressed".
+ // Original contents of "*uncompressed" are lost.
+ //
+ // REQUIRES: "compressed[]" is not an alias of "*uncompressed".
+ //
+ // returns false if the message is corrupted and could not be decompressed
+ bool Uncompress(const char* compressed, size_t compressed_length,
+ string* uncompressed);
+
+
+ // ------------------------------------------------------------------------
+ // Lower-level character array based routines. May be useful for
+ // efficiency reasons in certain circumstances.
+ // ------------------------------------------------------------------------
+
+ // REQUIRES: "compressed" must point to an area of memory that is at
+ // least "MaxCompressedLength(input_length)" bytes in length.
+ //
+ // Takes the data stored in "input[0..input_length]" and stores
+ // it in the array pointed to by "compressed".
+ //
+ // "*compressed_length" is set to the length of the compressed output.
+ //
+ // Example:
+ // char* output = new char[snappy::MaxCompressedLength(input_length)];
+ // size_t output_length;
+ // RawCompress(input, input_length, output, &output_length);
+ // ... Process(output, output_length) ...
+ // delete [] output;
+ void RawCompress(const char* input,
+ size_t input_length,
+ char* compressed,
+ size_t* compressed_length);
+
+ // Given data in "compressed[0..compressed_length-1]" generated by
+ // calling the Snappy::Compress routine, this routine
+ // stores the uncompressed data to
+ // uncompressed[0..GetUncompressedLength(compressed)-1]
+ // returns false if the message is corrupted and could not be decrypted
+ bool RawUncompress(const char* compressed, size_t compressed_length,
+ char* uncompressed);
+
+ // Given data from the byte source 'compressed' generated by calling
+ // the Snappy::Compress routine, this routine stores the uncompressed
+ // data to
+ // uncompressed[0..GetUncompressedLength(compressed,compressed_length)-1]
+ // returns false if the message is corrupted and could not be decrypted
+ bool RawUncompress(Source* compressed, char* uncompressed);
+
+ // Returns the maximal size of the compressed representation of
+ // input data that is "source_bytes" bytes in length;
+ size_t MaxCompressedLength(size_t source_bytes);
+
+ // REQUIRES: "compressed[]" was produced by RawCompress() or Compress()
+ // Returns true and stores the length of the uncompressed data in
+ // *result normally. Returns false on parsing error.
+ // This operation takes O(1) time.
+ bool GetUncompressedLength(const char* compressed, size_t compressed_length,
+ size_t* result);
+
+ // Returns true iff the contents of "compressed[]" can be uncompressed
+ // successfully. Does not return the uncompressed data. Takes
+ // time proportional to compressed_length, but is usually at least
+ // a factor of four faster than actual decompression.
+ bool IsValidCompressedBuffer(const char* compressed,
+ size_t compressed_length);
+
+ // The size of a compression block. Note that many parts of the compression
+ // code assumes that kBlockSize <= 65536; in particular, the hash table
+ // can only store 16-bit offsets, and EmitCopy() also assumes the offset
+ // is 65535 bytes or less. Note also that if you change this, it will
+ // affect the framing format (see framing_format.txt).
+ //
+ // Note that there might be older data around that is compressed with larger
+ // block sizes, so the decompression code should not rely on the
+ // non-existence of long backreferences.
+ static const int kBlockLog = 16;
+ static const size_t kBlockSize = 1 << kBlockLog;
+
+ static const int kMaxHashTableBits = 14;
+ static const size_t kMaxHashTableSize = 1 << kMaxHashTableBits;
+
+} // end namespace snappy
+
+
+#endif // UTIL_SNAPPY_SNAPPY_H__
diff --git a/snappy-1.1.0/snappy_unittest.cc b/snappy-1.1.0/snappy_unittest.cc
new file mode 100644
index 0000000..f345dc3
--- /dev/null
+++ b/snappy-1.1.0/snappy_unittest.cc
@@ -0,0 +1,1157 @@
+// Copyright 2005 and onwards Google Inc.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#include <math.h>
+#include <stdlib.h>
+
+
+#include <algorithm>
+#include <string>
+#include <vector>
+
+#include "snappy.h"
+#include "snappy-internal.h"
+#include "snappy-test.h"
+#include "snappy-sinksource.h"
+
+DEFINE_int32(start_len, -1,
+ "Starting prefix size for testing (-1: just full file contents)");
+DEFINE_int32(end_len, -1,
+ "Starting prefix size for testing (-1: just full file contents)");
+DEFINE_int32(bytes, 10485760,
+ "How many bytes to compress/uncompress per file for timing");
+
+DEFINE_bool(zlib, false,
+ "Run zlib compression (http://www.zlib.net)");
+DEFINE_bool(lzo, false,
+ "Run LZO compression (http://www.oberhumer.com/opensource/lzo/)");
+DEFINE_bool(quicklz, false,
+ "Run quickLZ compression (http://www.quicklz.com/)");
+DEFINE_bool(liblzf, false,
+ "Run libLZF compression "
+ "(http://www.goof.com/pcg/marc/liblzf.html)");
+DEFINE_bool(fastlz, false,
+ "Run FastLZ compression (http://www.fastlz.org/");
+DEFINE_bool(snappy, true, "Run snappy compression");
+
+
+DEFINE_bool(write_compressed, false,
+ "Write compressed versions of each file to <file>.comp");
+DEFINE_bool(write_uncompressed, false,
+ "Write uncompressed versions of each file to <file>.uncomp");
+
+namespace snappy {
+
+
+#ifdef HAVE_FUNC_MMAP
+
+// To test against code that reads beyond its input, this class copies a
+// string to a newly allocated group of pages, the last of which
+// is made unreadable via mprotect. Note that we need to allocate the
+// memory with mmap(), as POSIX allows mprotect() only on memory allocated
+// with mmap(), and some malloc/posix_memalign implementations expect to
+// be able to read previously allocated memory while doing heap allocations.
+class DataEndingAtUnreadablePage {
+ public:
+ explicit DataEndingAtUnreadablePage(const string& s) {
+ const size_t page_size = getpagesize();
+ const size_t size = s.size();
+ // Round up space for string to a multiple of page_size.
+ size_t space_for_string = (size + page_size - 1) & ~(page_size - 1);
+ alloc_size_ = space_for_string + page_size;
+ mem_ = mmap(NULL, alloc_size_,
+ PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
+ CHECK_NE(MAP_FAILED, mem_);
+ protected_page_ = reinterpret_cast<char*>(mem_) + space_for_string;
+ char* dst = protected_page_ - size;
+ memcpy(dst, s.data(), size);
+ data_ = dst;
+ size_ = size;
+ // Make guard page unreadable.
+ CHECK_EQ(0, mprotect(protected_page_, page_size, PROT_NONE));
+ }
+
+ ~DataEndingAtUnreadablePage() {
+ // Undo the mprotect.
+ CHECK_EQ(0, mprotect(protected_page_, getpagesize(), PROT_READ|PROT_WRITE));
+ CHECK_EQ(0, munmap(mem_, alloc_size_));
+ }
+
+ const char* data() const { return data_; }
+ size_t size() const { return size_; }
+
+ private:
+ size_t alloc_size_;
+ void* mem_;
+ char* protected_page_;
+ const char* data_;
+ size_t size_;
+};
+
+#else // HAVE_FUNC_MMAP
+
+// Fallback for systems without mmap.
+typedef string DataEndingAtUnreadablePage;
+
+#endif
+
+enum CompressorType {
+ ZLIB, LZO, LIBLZF, QUICKLZ, FASTLZ, SNAPPY
+};
+
+const char* names[] = {
+ "ZLIB", "LZO", "LIBLZF", "QUICKLZ", "FASTLZ", "SNAPPY"
+};
+
+static size_t MinimumRequiredOutputSpace(size_t input_size,
+ CompressorType comp) {
+ switch (comp) {
+#ifdef ZLIB_VERSION
+ case ZLIB:
+ return ZLib::MinCompressbufSize(input_size);
+#endif // ZLIB_VERSION
+
+#ifdef LZO_VERSION
+ case LZO:
+ return input_size + input_size/64 + 16 + 3;
+#endif // LZO_VERSION
+
+#ifdef LZF_VERSION
+ case LIBLZF:
+ return input_size;
+#endif // LZF_VERSION
+
+#ifdef QLZ_VERSION_MAJOR
+ case QUICKLZ:
+ return input_size + 36000; // 36000 is used for scratch.
+#endif // QLZ_VERSION_MAJOR
+
+#ifdef FASTLZ_VERSION
+ case FASTLZ:
+ return max(static_cast<int>(ceil(input_size * 1.05)), 66);
+#endif // FASTLZ_VERSION
+
+ case SNAPPY:
+ return snappy::MaxCompressedLength(input_size);
+
+ default:
+ LOG(FATAL) << "Unknown compression type number " << comp;
+ }
+}
+
+// Returns true if we successfully compressed, false otherwise.
+//
+// If compressed_is_preallocated is set, do not resize the compressed buffer.
+// This is typically what you want for a benchmark, in order to not spend
+// time in the memory allocator. If you do set this flag, however,
+// "compressed" must be preinitialized to at least MinCompressbufSize(comp)
+// number of bytes, and may contain junk bytes at the end after return.
+static bool Compress(const char* input, size_t input_size, CompressorType comp,
+ string* compressed, bool compressed_is_preallocated) {
+ if (!compressed_is_preallocated) {
+ compressed->resize(MinimumRequiredOutputSpace(input_size, comp));
+ }
+
+ switch (comp) {
+#ifdef ZLIB_VERSION
+ case ZLIB: {
+ ZLib zlib;
+ uLongf destlen = compressed->size();
+ int ret = zlib.Compress(
+ reinterpret_cast<Bytef*>(string_as_array(compressed)),
+ &destlen,
+ reinterpret_cast<const Bytef*>(input),
+ input_size);
+ CHECK_EQ(Z_OK, ret);
+ if (!compressed_is_preallocated) {
+ compressed->resize(destlen);
+ }
+ return true;
+ }
+#endif // ZLIB_VERSION
+
+#ifdef LZO_VERSION
+ case LZO: {
+ unsigned char* mem = new unsigned char[LZO1X_1_15_MEM_COMPRESS];
+ lzo_uint destlen;
+ int ret = lzo1x_1_15_compress(
+ reinterpret_cast<const uint8*>(input),
+ input_size,
+ reinterpret_cast<uint8*>(string_as_array(compressed)),
+ &destlen,
+ mem);
+ CHECK_EQ(LZO_E_OK, ret);
+ delete[] mem;
+ if (!compressed_is_preallocated) {
+ compressed->resize(destlen);
+ }
+ break;
+ }
+#endif // LZO_VERSION
+
+#ifdef LZF_VERSION
+ case LIBLZF: {
+ int destlen = lzf_compress(input,
+ input_size,
+ string_as_array(compressed),
+ input_size);
+ if (destlen == 0) {
+ // lzf *can* cause lots of blowup when compressing, so they
+ // recommend to limit outsize to insize, and just not compress
+ // if it's bigger. Ideally, we'd just swap input and output.
+ compressed->assign(input, input_size);
+ destlen = input_size;
+ }
+ if (!compressed_is_preallocated) {
+ compressed->resize(destlen);
+ }
+ break;
+ }
+#endif // LZF_VERSION
+
+#ifdef QLZ_VERSION_MAJOR
+ case QUICKLZ: {
+ qlz_state_compress *state_compress = new qlz_state_compress;
+ int destlen = qlz_compress(input,
+ string_as_array(compressed),
+ input_size,
+ state_compress);
+ delete state_compress;
+ CHECK_NE(0, destlen);
+ if (!compressed_is_preallocated) {
+ compressed->resize(destlen);
+ }
+ break;
+ }
+#endif // QLZ_VERSION_MAJOR
+
+#ifdef FASTLZ_VERSION
+ case FASTLZ: {
+ // Use level 1 compression since we mostly care about speed.
+ int destlen = fastlz_compress_level(
+ 1,
+ input,
+ input_size,
+ string_as_array(compressed));
+ if (!compressed_is_preallocated) {
+ compressed->resize(destlen);
+ }
+ CHECK_NE(destlen, 0);
+ break;
+ }
+#endif // FASTLZ_VERSION
+
+ case SNAPPY: {
+ size_t destlen;
+ snappy::RawCompress(input, input_size,
+ string_as_array(compressed),
+ &destlen);
+ CHECK_LE(destlen, snappy::MaxCompressedLength(input_size));
+ if (!compressed_is_preallocated) {
+ compressed->resize(destlen);
+ }
+ break;
+ }
+
+
+ default: {
+ return false; // the asked-for library wasn't compiled in
+ }
+ }
+ return true;
+}
+
+static bool Uncompress(const string& compressed, CompressorType comp,
+ int size, string* output) {
+ switch (comp) {
+#ifdef ZLIB_VERSION
+ case ZLIB: {
+ output->resize(size);
+ ZLib zlib;
+ uLongf destlen = output->size();
+ int ret = zlib.Uncompress(
+ reinterpret_cast<Bytef*>(string_as_array(output)),
+ &destlen,
+ reinterpret_cast<const Bytef*>(compressed.data()),
+ compressed.size());
+ CHECK_EQ(Z_OK, ret);
+ CHECK_EQ(static_cast<uLongf>(size), destlen);
+ break;
+ }
+#endif // ZLIB_VERSION
+
+#ifdef LZO_VERSION
+ case LZO: {
+ output->resize(size);
+ lzo_uint destlen;
+ int ret = lzo1x_decompress(
+ reinterpret_cast<const uint8*>(compressed.data()),
+ compressed.size(),
+ reinterpret_cast<uint8*>(string_as_array(output)),
+ &destlen,
+ NULL);
+ CHECK_EQ(LZO_E_OK, ret);
+ CHECK_EQ(static_cast<lzo_uint>(size), destlen);
+ break;
+ }
+#endif // LZO_VERSION
+
+#ifdef LZF_VERSION
+ case LIBLZF: {
+ output->resize(size);
+ int destlen = lzf_decompress(compressed.data(),
+ compressed.size(),
+ string_as_array(output),
+ output->size());
+ if (destlen == 0) {
+ // This error probably means we had decided not to compress,
+ // and thus have stored input in output directly.
+ output->assign(compressed.data(), compressed.size());
+ destlen = compressed.size();
+ }
+ CHECK_EQ(destlen, size);
+ break;
+ }
+#endif // LZF_VERSION
+
+#ifdef QLZ_VERSION_MAJOR
+ case QUICKLZ: {
+ output->resize(size);
+ qlz_state_decompress *state_decompress = new qlz_state_decompress;
+ int destlen = qlz_decompress(compressed.data(),
+ string_as_array(output),
+ state_decompress);
+ delete state_decompress;
+ CHECK_EQ(destlen, size);
+ break;
+ }
+#endif // QLZ_VERSION_MAJOR
+
+#ifdef FASTLZ_VERSION
+ case FASTLZ: {
+ output->resize(size);
+ int destlen = fastlz_decompress(compressed.data(),
+ compressed.length(),
+ string_as_array(output),
+ size);
+ CHECK_EQ(destlen, size);
+ break;
+ }
+#endif // FASTLZ_VERSION
+
+ case SNAPPY: {
+ snappy::RawUncompress(compressed.data(), compressed.size(),
+ string_as_array(output));
+ break;
+ }
+
+
+ default: {
+ return false; // the asked-for library wasn't compiled in
+ }
+ }
+ return true;
+}
+
+static void Measure(const char* data,
+ size_t length,
+ CompressorType comp,
+ int repeats,
+ int block_size) {
+ // Run tests a few time and pick median running times
+ static const int kRuns = 5;
+ double ctime[kRuns];
+ double utime[kRuns];
+ int compressed_size = 0;
+
+ {
+ // Chop the input into blocks
+ int num_blocks = (length + block_size - 1) / block_size;
+ vector<const char*> input(num_blocks);
+ vector<size_t> input_length(num_blocks);
+ vector<string> compressed(num_blocks);
+ vector<string> output(num_blocks);
+ for (int b = 0; b < num_blocks; b++) {
+ int input_start = b * block_size;
+ int input_limit = min<int>((b+1)*block_size, length);
+ input[b] = data+input_start;
+ input_length[b] = input_limit-input_start;
+
+ // Pre-grow the output buffer so we don't measure string append time.
+ compressed[b].resize(MinimumRequiredOutputSpace(block_size, comp));
+ }
+
+ // First, try one trial compression to make sure the code is compiled in
+ if (!Compress(input[0], input_length[0], comp, &compressed[0], true)) {
+ LOG(WARNING) << "Skipping " << names[comp] << ": "
+ << "library not compiled in";
+ return;
+ }
+
+ for (int run = 0; run < kRuns; run++) {
+ CycleTimer ctimer, utimer;
+
+ for (int b = 0; b < num_blocks; b++) {
+ // Pre-grow the output buffer so we don't measure string append time.
+ compressed[b].resize(MinimumRequiredOutputSpace(block_size, comp));
+ }
+
+ ctimer.Start();
+ for (int b = 0; b < num_blocks; b++)
+ for (int i = 0; i < repeats; i++)
+ Compress(input[b], input_length[b], comp, &compressed[b], true);
+ ctimer.Stop();
+
+ // Compress once more, with resizing, so we don't leave junk
+ // at the end that will confuse the decompressor.
+ for (int b = 0; b < num_blocks; b++) {
+ Compress(input[b], input_length[b], comp, &compressed[b], false);
+ }
+
+ for (int b = 0; b < num_blocks; b++) {
+ output[b].resize(input_length[b]);
+ }
+
+ utimer.Start();
+ for (int i = 0; i < repeats; i++)
+ for (int b = 0; b < num_blocks; b++)
+ Uncompress(compressed[b], comp, input_length[b], &output[b]);
+ utimer.Stop();
+
+ ctime[run] = ctimer.Get();
+ utime[run] = utimer.Get();
+ }
+
+ compressed_size = 0;
+ for (int i = 0; i < compressed.size(); i++) {
+ compressed_size += compressed[i].size();
+ }
+ }
+
+ sort(ctime, ctime + kRuns);
+ sort(utime, utime + kRuns);
+ const int med = kRuns/2;
+
+ float comp_rate = (length / ctime[med]) * repeats / 1048576.0;
+ float uncomp_rate = (length / utime[med]) * repeats / 1048576.0;
+ string x = names[comp];
+ x += ":";
+ string urate = (uncomp_rate >= 0)
+ ? StringPrintf("%.1f", uncomp_rate)
+ : string("?");
+ printf("%-7s [b %dM] bytes %6d -> %6d %4.1f%% "
+ "comp %5.1f MB/s uncomp %5s MB/s\n",
+ x.c_str(),
+ block_size/(1<<20),
+ static_cast<int>(length), static_cast<uint32>(compressed_size),
+ (compressed_size * 100.0) / max<int>(1, length),
+ comp_rate,
+ urate.c_str());
+}
+
+
+static int VerifyString(const string& input) {
+ string compressed;
+ DataEndingAtUnreadablePage i(input);
+ const size_t written = snappy::Compress(i.data(), i.size(), &compressed);
+ CHECK_EQ(written, compressed.size());
+ CHECK_LE(compressed.size(),
+ snappy::MaxCompressedLength(input.size()));
+ CHECK(snappy::IsValidCompressedBuffer(compressed.data(), compressed.size()));
+
+ string uncompressed;
+ DataEndingAtUnreadablePage c(compressed);
+ CHECK(snappy::Uncompress(c.data(), c.size(), &uncompressed));
+ CHECK_EQ(uncompressed, input);
+ return uncompressed.size();
+}
+
+
+// Test that data compressed by a compressor that does not
+// obey block sizes is uncompressed properly.
+static void VerifyNonBlockedCompression(const string& input) {
+ if (input.length() > snappy::kBlockSize) {
+ // We cannot test larger blocks than the maximum block size, obviously.
+ return;
+ }
+
+ string prefix;
+ Varint::Append32(&prefix, input.size());
+
+ // Setup compression table
+ snappy::internal::WorkingMemory wmem;
+ int table_size;
+ uint16* table = wmem.GetHashTable(input.size(), &table_size);
+
+ // Compress entire input in one shot
+ string compressed;
+ compressed += prefix;
+ compressed.resize(prefix.size()+snappy::MaxCompressedLength(input.size()));
+ char* dest = string_as_array(&compressed) + prefix.size();
+ char* end = snappy::internal::CompressFragment(input.data(), input.size(),
+ dest, table, table_size);
+ compressed.resize(end - compressed.data());
+
+ // Uncompress into string
+ string uncomp_str;
+ CHECK(snappy::Uncompress(compressed.data(), compressed.size(), &uncomp_str));
+ CHECK_EQ(uncomp_str, input);
+
+}
+
+// Expand the input so that it is at least K times as big as block size
+static string Expand(const string& input) {
+ static const int K = 3;
+ string data = input;
+ while (data.size() < K * snappy::kBlockSize) {
+ data += input;
+ }
+ return data;
+}
+
+static int Verify(const string& input) {
+ VLOG(1) << "Verifying input of size " << input.size();
+
+ // Compress using string based routines
+ const int result = VerifyString(input);
+
+
+ VerifyNonBlockedCompression(input);
+ if (!input.empty()) {
+ VerifyNonBlockedCompression(Expand(input));
+ }
+
+
+ return result;
+}
+
+// This test checks to ensure that snappy doesn't coredump if it gets
+// corrupted data.
+
+static bool IsValidCompressedBuffer(const string& c) {
+ return snappy::IsValidCompressedBuffer(c.data(), c.size());
+}
+static bool Uncompress(const string& c, string* u) {
+ return snappy::Uncompress(c.data(), c.size(), u);
+}
+
+TYPED_TEST(CorruptedTest, VerifyCorrupted) {
+ string source = "making sure we don't crash with corrupted input";
+ VLOG(1) << source;
+ string dest;
+ TypeParam uncmp;
+ snappy::Compress(source.data(), source.size(), &dest);
+
+ // Mess around with the data. It's hard to simulate all possible
+ // corruptions; this is just one example ...
+ CHECK_GT(dest.size(), 3);
+ dest[1]--;
+ dest[3]++;
+ // this really ought to fail.
+ CHECK(!IsValidCompressedBuffer(TypeParam(dest)));
+ CHECK(!Uncompress(TypeParam(dest), &uncmp));
+
+ // This is testing for a security bug - a buffer that decompresses to 100k
+ // but we lie in the snappy header and only reserve 0 bytes of memory :)
+ source.resize(100000);
+ for (int i = 0; i < source.length(); ++i) {
+ source[i] = 'A';
+ }
+ snappy::Compress(source.data(), source.size(), &dest);
+ dest[0] = dest[1] = dest[2] = dest[3] = 0;
+ CHECK(!IsValidCompressedBuffer(TypeParam(dest)));
+ CHECK(!Uncompress(TypeParam(dest), &uncmp));
+
+ if (sizeof(void *) == 4) {
+ // Another security check; check a crazy big length can't DoS us with an
+ // over-allocation.
+ // Currently this is done only for 32-bit builds. On 64-bit builds,
+ // where 3 GB might be an acceptable allocation size, Uncompress()
+ // attempts to decompress, and sometimes causes the test to run out of
+ // memory.
+ dest[0] = dest[1] = dest[2] = dest[3] = 0xff;
+ // This decodes to a really large size, i.e., about 3 GB.
+ dest[4] = 'k';
+ CHECK(!IsValidCompressedBuffer(TypeParam(dest)));
+ CHECK(!Uncompress(TypeParam(dest), &uncmp));
+ } else {
+ LOG(WARNING) << "Crazy decompression lengths not checked on 64-bit build";
+ }
+
+ // This decodes to about 2 MB; much smaller, but should still fail.
+ dest[0] = dest[1] = dest[2] = 0xff;
+ dest[3] = 0x00;
+ CHECK(!IsValidCompressedBuffer(TypeParam(dest)));
+ CHECK(!Uncompress(TypeParam(dest), &uncmp));
+
+ // try reading stuff in from a bad file.
+ for (int i = 1; i <= 3; ++i) {
+ string data = ReadTestDataFile(StringPrintf("baddata%d.snappy", i).c_str());
+ string uncmp;
+ // check that we don't return a crazy length
+ size_t ulen;
+ CHECK(!snappy::GetUncompressedLength(data.data(), data.size(), &ulen)
+ || (ulen < (1<<20)));
+ uint32 ulen2;
+ snappy::ByteArraySource source(data.data(), data.size());
+ CHECK(!snappy::GetUncompressedLength(&source, &ulen2) ||
+ (ulen2 < (1<<20)));
+ CHECK(!IsValidCompressedBuffer(TypeParam(data)));
+ CHECK(!Uncompress(TypeParam(data), &uncmp));
+ }
+}
+
+// Helper routines to construct arbitrary compressed strings.
+// These mirror the compression code in snappy.cc, but are copied
+// here so that we can bypass some limitations in the how snappy.cc
+// invokes these routines.
+static void AppendLiteral(string* dst, const string& literal) {
+ if (literal.empty()) return;
+ int n = literal.size() - 1;
+ if (n < 60) {
+ // Fit length in tag byte
+ dst->push_back(0 | (n << 2));
+ } else {
+ // Encode in upcoming bytes
+ char number[4];
+ int count = 0;
+ while (n > 0) {
+ number[count++] = n & 0xff;
+ n >>= 8;
+ }
+ dst->push_back(0 | ((59+count) << 2));
+ *dst += string(number, count);
+ }
+ *dst += literal;
+}
+
+static void AppendCopy(string* dst, int offset, int length) {
+ while (length > 0) {
+ // Figure out how much to copy in one shot
+ int to_copy;
+ if (length >= 68) {
+ to_copy = 64;
+ } else if (length > 64) {
+ to_copy = 60;
+ } else {
+ to_copy = length;
+ }
+ length -= to_copy;
+
+ if ((to_copy < 12) && (offset < 2048)) {
+ assert(to_copy-4 < 8); // Must fit in 3 bits
+ dst->push_back(1 | ((to_copy-4) << 2) | ((offset >> 8) << 5));
+ dst->push_back(offset & 0xff);
+ } else if (offset < 65536) {
+ dst->push_back(2 | ((to_copy-1) << 2));
+ dst->push_back(offset & 0xff);
+ dst->push_back(offset >> 8);
+ } else {
+ dst->push_back(3 | ((to_copy-1) << 2));
+ dst->push_back(offset & 0xff);
+ dst->push_back((offset >> 8) & 0xff);
+ dst->push_back((offset >> 16) & 0xff);
+ dst->push_back((offset >> 24) & 0xff);
+ }
+ }
+}
+
+TEST(Snappy, SimpleTests) {
+ Verify("");
+ Verify("a");
+ Verify("ab");
+ Verify("abc");
+
+ Verify("aaaaaaa" + string(16, 'b') + string("aaaaa") + "abc");
+ Verify("aaaaaaa" + string(256, 'b') + string("aaaaa") + "abc");
+ Verify("aaaaaaa" + string(2047, 'b') + string("aaaaa") + "abc");
+ Verify("aaaaaaa" + string(65536, 'b') + string("aaaaa") + "abc");
+ Verify("abcaaaaaaa" + string(65536, 'b') + string("aaaaa") + "abc");
+}
+
+// Verify max blowup (lots of four-byte copies)
+TEST(Snappy, MaxBlowup) {
+ string input;
+ for (int i = 0; i < 20000; i++) {
+ ACMRandom rnd(i);
+ uint32 bytes = static_cast<uint32>(rnd.Next());
+ input.append(reinterpret_cast<char*>(&bytes), sizeof(bytes));
+ }
+ for (int i = 19999; i >= 0; i--) {
+ ACMRandom rnd(i);
+ uint32 bytes = static_cast<uint32>(rnd.Next());
+ input.append(reinterpret_cast<char*>(&bytes), sizeof(bytes));
+ }
+ Verify(input);
+}
+
+TEST(Snappy, RandomData) {
+ ACMRandom rnd(FLAGS_test_random_seed);
+
+ const int num_ops = 20000;
+ for (int i = 0; i < num_ops; i++) {
+ if ((i % 1000) == 0) {
+ VLOG(0) << "Random op " << i << " of " << num_ops;
+ }
+
+ string x;
+ int len = rnd.Uniform(4096);
+ if (i < 100) {
+ len = 65536 + rnd.Uniform(65536);
+ }
+ while (x.size() < len) {
+ int run_len = 1;
+ if (rnd.OneIn(10)) {
+ run_len = rnd.Skewed(8);
+ }
+ char c = (i < 100) ? rnd.Uniform(256) : rnd.Skewed(3);
+ while (run_len-- > 0 && x.size() < len) {
+ x += c;
+ }
+ }
+
+ Verify(x);
+ }
+}
+
+TEST(Snappy, FourByteOffset) {
+ // The new compressor cannot generate four-byte offsets since
+ // it chops up the input into 32KB pieces. So we hand-emit the
+ // copy manually.
+
+ // The two fragments that make up the input string.
+ string fragment1 = "012345689abcdefghijklmnopqrstuvwxyz";
+ string fragment2 = "some other string";
+
+ // How many times each fragment is emitted.
+ const int n1 = 2;
+ const int n2 = 100000 / fragment2.size();
+ const int length = n1 * fragment1.size() + n2 * fragment2.size();
+
+ string compressed;
+ Varint::Append32(&compressed, length);
+
+ AppendLiteral(&compressed, fragment1);
+ string src = fragment1;
+ for (int i = 0; i < n2; i++) {
+ AppendLiteral(&compressed, fragment2);
+ src += fragment2;
+ }
+ AppendCopy(&compressed, src.size(), fragment1.size());
+ src += fragment1;
+ CHECK_EQ(length, src.size());
+
+ string uncompressed;
+ CHECK(snappy::IsValidCompressedBuffer(compressed.data(), compressed.size()));
+ CHECK(snappy::Uncompress(compressed.data(), compressed.size(), &uncompressed));
+ CHECK_EQ(uncompressed, src);
+}
+
+
+static bool CheckUncompressedLength(const string& compressed,
+ size_t* ulength) {
+ const bool result1 = snappy::GetUncompressedLength(compressed.data(),
+ compressed.size(),
+ ulength);
+
+ snappy::ByteArraySource source(compressed.data(), compressed.size());
+ uint32 length;
+ const bool result2 = snappy::GetUncompressedLength(&source, &length);
+ CHECK_EQ(result1, result2);
+ return result1;
+}
+
+TEST(SnappyCorruption, TruncatedVarint) {
+ string compressed, uncompressed;
+ size_t ulength;
+ compressed.push_back('\xf0');
+ CHECK(!CheckUncompressedLength(compressed, &ulength));
+ CHECK(!snappy::IsValidCompressedBuffer(compressed.data(), compressed.size()));
+ CHECK(!snappy::Uncompress(compressed.data(), compressed.size(),
+ &uncompressed));
+}
+
+TEST(SnappyCorruption, UnterminatedVarint) {
+ string compressed, uncompressed;
+ size_t ulength;
+ compressed.push_back(128);
+ compressed.push_back(128);
+ compressed.push_back(128);
+ compressed.push_back(128);
+ compressed.push_back(128);
+ compressed.push_back(10);
+ CHECK(!CheckUncompressedLength(compressed, &ulength));
+ CHECK(!snappy::IsValidCompressedBuffer(compressed.data(), compressed.size()));
+ CHECK(!snappy::Uncompress(compressed.data(), compressed.size(),
+ &uncompressed));
+}
+
+TEST(Snappy, ReadPastEndOfBuffer) {
+ // Check that we do not read past end of input
+
+ // Make a compressed string that ends with a single-byte literal
+ string compressed;
+ Varint::Append32(&compressed, 1);
+ AppendLiteral(&compressed, "x");
+
+ string uncompressed;
+ DataEndingAtUnreadablePage c(compressed);
+ CHECK(snappy::Uncompress(c.data(), c.size(), &uncompressed));
+ CHECK_EQ(uncompressed, string("x"));
+}
+
+// Check for an infinite loop caused by a copy with offset==0
+TEST(Snappy, ZeroOffsetCopy) {
+ const char* compressed = "\x40\x12\x00\x00";
+ // \x40 Length (must be > kMaxIncrementCopyOverflow)
+ // \x12\x00\x00 Copy with offset==0, length==5
+ char uncompressed[100];
+ EXPECT_FALSE(snappy::RawUncompress(compressed, 4, uncompressed));
+}
+
+TEST(Snappy, ZeroOffsetCopyValidation) {
+ const char* compressed = "\x05\x12\x00\x00";
+ // \x05 Length
+ // \x12\x00\x00 Copy with offset==0, length==5
+ EXPECT_FALSE(snappy::IsValidCompressedBuffer(compressed, 4));
+}
+
+
+namespace {
+
+int TestFindMatchLength(const char* s1, const char *s2, unsigned length) {
+ return snappy::internal::FindMatchLength(s1, s2, s2 + length);
+}
+
+} // namespace
+
+TEST(Snappy, FindMatchLength) {
+ // Exercise all different code paths through the function.
+ // 64-bit version:
+
+ // Hit s1_limit in 64-bit loop, hit s1_limit in single-character loop.
+ EXPECT_EQ(6, TestFindMatchLength("012345", "012345", 6));
+ EXPECT_EQ(11, TestFindMatchLength("01234567abc", "01234567abc", 11));
+
+ // Hit s1_limit in 64-bit loop, find a non-match in single-character loop.
+ EXPECT_EQ(9, TestFindMatchLength("01234567abc", "01234567axc", 9));
+
+ // Same, but edge cases.
+ EXPECT_EQ(11, TestFindMatchLength("01234567abc!", "01234567abc!", 11));
+ EXPECT_EQ(11, TestFindMatchLength("01234567abc!", "01234567abc?", 11));
+
+ // Find non-match at once in first loop.
+ EXPECT_EQ(0, TestFindMatchLength("01234567xxxxxxxx", "?1234567xxxxxxxx", 16));
+ EXPECT_EQ(1, TestFindMatchLength("01234567xxxxxxxx", "0?234567xxxxxxxx", 16));
+ EXPECT_EQ(4, TestFindMatchLength("01234567xxxxxxxx", "01237654xxxxxxxx", 16));
+ EXPECT_EQ(7, TestFindMatchLength("01234567xxxxxxxx", "0123456?xxxxxxxx", 16));
+
+ // Find non-match in first loop after one block.
+ EXPECT_EQ(8, TestFindMatchLength("abcdefgh01234567xxxxxxxx",
+ "abcdefgh?1234567xxxxxxxx", 24));
+ EXPECT_EQ(9, TestFindMatchLength("abcdefgh01234567xxxxxxxx",
+ "abcdefgh0?234567xxxxxxxx", 24));
+ EXPECT_EQ(12, TestFindMatchLength("abcdefgh01234567xxxxxxxx",
+ "abcdefgh01237654xxxxxxxx", 24));
+ EXPECT_EQ(15, TestFindMatchLength("abcdefgh01234567xxxxxxxx",
+ "abcdefgh0123456?xxxxxxxx", 24));
+
+ // 32-bit version:
+
+ // Short matches.
+ EXPECT_EQ(0, TestFindMatchLength("01234567", "?1234567", 8));
+ EXPECT_EQ(1, TestFindMatchLength("01234567", "0?234567", 8));
+ EXPECT_EQ(2, TestFindMatchLength("01234567", "01?34567", 8));
+ EXPECT_EQ(3, TestFindMatchLength("01234567", "012?4567", 8));
+ EXPECT_EQ(4, TestFindMatchLength("01234567", "0123?567", 8));
+ EXPECT_EQ(5, TestFindMatchLength("01234567", "01234?67", 8));
+ EXPECT_EQ(6, TestFindMatchLength("01234567", "012345?7", 8));
+ EXPECT_EQ(7, TestFindMatchLength("01234567", "0123456?", 8));
+ EXPECT_EQ(7, TestFindMatchLength("01234567", "0123456?", 7));
+ EXPECT_EQ(7, TestFindMatchLength("01234567!", "0123456??", 7));
+
+ // Hit s1_limit in 32-bit loop, hit s1_limit in single-character loop.
+ EXPECT_EQ(10, TestFindMatchLength("xxxxxxabcd", "xxxxxxabcd", 10));
+ EXPECT_EQ(10, TestFindMatchLength("xxxxxxabcd?", "xxxxxxabcd?", 10));
+ EXPECT_EQ(13, TestFindMatchLength("xxxxxxabcdef", "xxxxxxabcdef", 13));
+
+ // Same, but edge cases.
+ EXPECT_EQ(12, TestFindMatchLength("xxxxxx0123abc!", "xxxxxx0123abc!", 12));
+ EXPECT_EQ(12, TestFindMatchLength("xxxxxx0123abc!", "xxxxxx0123abc?", 12));
+
+ // Hit s1_limit in 32-bit loop, find a non-match in single-character loop.
+ EXPECT_EQ(11, TestFindMatchLength("xxxxxx0123abc", "xxxxxx0123axc", 13));
+
+ // Find non-match at once in first loop.
+ EXPECT_EQ(6, TestFindMatchLength("xxxxxx0123xxxxxxxx",
+ "xxxxxx?123xxxxxxxx", 18));
+ EXPECT_EQ(7, TestFindMatchLength("xxxxxx0123xxxxxxxx",
+ "xxxxxx0?23xxxxxxxx", 18));
+ EXPECT_EQ(8, TestFindMatchLength("xxxxxx0123xxxxxxxx",
+ "xxxxxx0132xxxxxxxx", 18));
+ EXPECT_EQ(9, TestFindMatchLength("xxxxxx0123xxxxxxxx",
+ "xxxxxx012?xxxxxxxx", 18));
+
+ // Same, but edge cases.
+ EXPECT_EQ(6, TestFindMatchLength("xxxxxx0123", "xxxxxx?123", 10));
+ EXPECT_EQ(7, TestFindMatchLength("xxxxxx0123", "xxxxxx0?23", 10));
+ EXPECT_EQ(8, TestFindMatchLength("xxxxxx0123", "xxxxxx0132", 10));
+ EXPECT_EQ(9, TestFindMatchLength("xxxxxx0123", "xxxxxx012?", 10));
+
+ // Find non-match in first loop after one block.
+ EXPECT_EQ(10, TestFindMatchLength("xxxxxxabcd0123xx",
+ "xxxxxxabcd?123xx", 16));
+ EXPECT_EQ(11, TestFindMatchLength("xxxxxxabcd0123xx",
+ "xxxxxxabcd0?23xx", 16));
+ EXPECT_EQ(12, TestFindMatchLength("xxxxxxabcd0123xx",
+ "xxxxxxabcd0132xx", 16));
+ EXPECT_EQ(13, TestFindMatchLength("xxxxxxabcd0123xx",
+ "xxxxxxabcd012?xx", 16));
+
+ // Same, but edge cases.
+ EXPECT_EQ(10, TestFindMatchLength("xxxxxxabcd0123", "xxxxxxabcd?123", 14));
+ EXPECT_EQ(11, TestFindMatchLength("xxxxxxabcd0123", "xxxxxxabcd0?23", 14));
+ EXPECT_EQ(12, TestFindMatchLength("xxxxxxabcd0123", "xxxxxxabcd0132", 14));
+ EXPECT_EQ(13, TestFindMatchLength("xxxxxxabcd0123", "xxxxxxabcd012?", 14));
+}
+
+TEST(Snappy, FindMatchLengthRandom) {
+ const int kNumTrials = 10000;
+ const int kTypicalLength = 10;
+ ACMRandom rnd(FLAGS_test_random_seed);
+
+ for (int i = 0; i < kNumTrials; i++) {
+ string s, t;
+ char a = rnd.Rand8();
+ char b = rnd.Rand8();
+ while (!rnd.OneIn(kTypicalLength)) {
+ s.push_back(rnd.OneIn(2) ? a : b);
+ t.push_back(rnd.OneIn(2) ? a : b);
+ }
+ DataEndingAtUnreadablePage u(s);
+ DataEndingAtUnreadablePage v(t);
+ int matched = snappy::internal::FindMatchLength(
+ u.data(), v.data(), v.data() + t.size());
+ if (matched == t.size()) {
+ EXPECT_EQ(s, t);
+ } else {
+ EXPECT_NE(s[matched], t[matched]);
+ for (int j = 0; j < matched; j++) {
+ EXPECT_EQ(s[j], t[j]);
+ }
+ }
+ }
+}
+
+
+static void CompressFile(const char* fname) {
+ string fullinput;
+ file::ReadFileToString(fname, &fullinput, file::Defaults()).CheckSuccess();
+
+ string compressed;
+ Compress(fullinput.data(), fullinput.size(), SNAPPY, &compressed, false);
+
+ file::WriteStringToFile(
+ string(fname).append(".comp").c_str(), compressed,
+ file::Defaults()).CheckSuccess();
+}
+
+static void UncompressFile(const char* fname) {
+ string fullinput;
+ file::ReadFileToString(fname, &fullinput, file::Defaults()).CheckSuccess();
+
+ size_t uncompLength;
+ CHECK(CheckUncompressedLength(fullinput, &uncompLength));
+
+ string uncompressed;
+ uncompressed.resize(uncompLength);
+ CHECK(snappy::Uncompress(fullinput.data(), fullinput.size(), &uncompressed));
+
+ file::WriteStringToFile(
+ string(fname).append(".uncomp").c_str(), uncompressed,
+ file::Defaults()).CheckSuccess();
+}
+
+static void MeasureFile(const char* fname) {
+ string fullinput;
+ file::ReadFileToString(fname, &fullinput, file::Defaults()).CheckSuccess();
+ printf("%-40s :\n", fname);
+
+ int start_len = (FLAGS_start_len < 0) ? fullinput.size() : FLAGS_start_len;
+ int end_len = fullinput.size();
+ if (FLAGS_end_len >= 0) {
+ end_len = min<int>(fullinput.size(), FLAGS_end_len);
+ }
+ for (int len = start_len; len <= end_len; len++) {
+ const char* const input = fullinput.data();
+ int repeats = (FLAGS_bytes + len) / (len + 1);
+ if (FLAGS_zlib) Measure(input, len, ZLIB, repeats, 1024<<10);
+ if (FLAGS_lzo) Measure(input, len, LZO, repeats, 1024<<10);
+ if (FLAGS_liblzf) Measure(input, len, LIBLZF, repeats, 1024<<10);
+ if (FLAGS_quicklz) Measure(input, len, QUICKLZ, repeats, 1024<<10);
+ if (FLAGS_fastlz) Measure(input, len, FASTLZ, repeats, 1024<<10);
+ if (FLAGS_snappy) Measure(input, len, SNAPPY, repeats, 4096<<10);
+
+ // For block-size based measurements
+ if (0 && FLAGS_snappy) {
+ Measure(input, len, SNAPPY, repeats, 8<<10);
+ Measure(input, len, SNAPPY, repeats, 16<<10);
+ Measure(input, len, SNAPPY, repeats, 32<<10);
+ Measure(input, len, SNAPPY, repeats, 64<<10);
+ Measure(input, len, SNAPPY, repeats, 256<<10);
+ Measure(input, len, SNAPPY, repeats, 1024<<10);
+ }
+ }
+}
+
+static struct {
+ const char* label;
+ const char* filename;
+} files[] = {
+ { "html", "html" },
+ { "urls", "urls.10K" },
+ { "jpg", "house.jpg" },
+ { "pdf", "mapreduce-osdi-1.pdf" },
+ { "html4", "html_x_4" },
+ { "cp", "cp.html" },
+ { "c", "fields.c" },
+ { "lsp", "grammar.lsp" },
+ { "xls", "kennedy.xls" },
+ { "txt1", "alice29.txt" },
+ { "txt2", "asyoulik.txt" },
+ { "txt3", "lcet10.txt" },
+ { "txt4", "plrabn12.txt" },
+ { "bin", "ptt5" },
+ { "sum", "sum" },
+ { "man", "xargs.1" },
+ { "pb", "geo.protodata" },
+ { "gaviota", "kppkn.gtb" },
+};
+
+static void BM_UFlat(int iters, int arg) {
+ StopBenchmarkTiming();
+
+ // Pick file to process based on "arg"
+ CHECK_GE(arg, 0);
+ CHECK_LT(arg, ARRAYSIZE(files));
+ string contents = ReadTestDataFile(files[arg].filename);
+
+ string zcontents;
+ snappy::Compress(contents.data(), contents.size(), &zcontents);
+ char* dst = new char[contents.size()];
+
+ SetBenchmarkBytesProcessed(static_cast<int64>(iters) *
+ static_cast<int64>(contents.size()));
+ SetBenchmarkLabel(files[arg].label);
+ StartBenchmarkTiming();
+ while (iters-- > 0) {
+ CHECK(snappy::RawUncompress(zcontents.data(), zcontents.size(), dst));
+ }
+ StopBenchmarkTiming();
+
+ delete[] dst;
+}
+BENCHMARK(BM_UFlat)->DenseRange(0, 17);
+
+static void BM_UValidate(int iters, int arg) {
+ StopBenchmarkTiming();
+
+ // Pick file to process based on "arg"
+ CHECK_GE(arg, 0);
+ CHECK_LT(arg, ARRAYSIZE(files));
+ string contents = ReadTestDataFile(files[arg].filename);
+
+ string zcontents;
+ snappy::Compress(contents.data(), contents.size(), &zcontents);
+
+ SetBenchmarkBytesProcessed(static_cast<int64>(iters) *
+ static_cast<int64>(contents.size()));
+ SetBenchmarkLabel(files[arg].label);
+ StartBenchmarkTiming();
+ while (iters-- > 0) {
+ CHECK(snappy::IsValidCompressedBuffer(zcontents.data(), zcontents.size()));
+ }
+ StopBenchmarkTiming();
+}
+BENCHMARK(BM_UValidate)->DenseRange(0, 4);
+
+
+static void BM_ZFlat(int iters, int arg) {
+ StopBenchmarkTiming();
+
+ // Pick file to process based on "arg"
+ CHECK_GE(arg, 0);
+ CHECK_LT(arg, ARRAYSIZE(files));
+ string contents = ReadTestDataFile(files[arg].filename);
+
+ char* dst = new char[snappy::MaxCompressedLength(contents.size())];
+
+ SetBenchmarkBytesProcessed(static_cast<int64>(iters) *
+ static_cast<int64>(contents.size()));
+ StartBenchmarkTiming();
+
+ size_t zsize = 0;
+ while (iters-- > 0) {
+ snappy::RawCompress(contents.data(), contents.size(), dst, &zsize);
+ }
+ StopBenchmarkTiming();
+ const double compression_ratio =
+ static_cast<double>(zsize) / std::max<size_t>(1, contents.size());
+ SetBenchmarkLabel(StringPrintf("%s (%.2f %%)",
+ files[arg].label, 100.0 * compression_ratio));
+ VLOG(0) << StringPrintf("compression for %s: %zd -> %zd bytes",
+ files[arg].label, contents.size(), zsize);
+ delete[] dst;
+}
+BENCHMARK(BM_ZFlat)->DenseRange(0, 17);
+
+
+} // namespace snappy
+
+
+int main(int argc, char** argv) {
+ InitGoogle(argv[0], &argc, &argv, true);
+ File::Init();
+ RunSpecifiedBenchmarks();
+
+
+ if (argc >= 2) {
+ for (int arg = 1; arg < argc; arg++) {
+ if (FLAGS_write_compressed) {
+ CompressFile(argv[arg]);
+ } else if (FLAGS_write_uncompressed) {
+ UncompressFile(argv[arg]);
+ } else {
+ MeasureFile(argv[arg]);
+ }
+ }
+ return 0;
+ }
+
+ return RUN_ALL_TESTS();
+}
diff --git a/snappy-1.1.0/testdata/alice29.txt b/snappy-1.1.0/testdata/alice29.txt
new file mode 100644
index 0000000..7033655
--- /dev/null
+++ b/snappy-1.1.0/testdata/alice29.txt
@@ -0,0 +1,3609 @@
+
+
+
+
+ ALICE'S ADVENTURES IN WONDERLAND
+
+ Lewis Carroll
+
+ THE MILLENNIUM FULCRUM EDITION 2.9
+
+
+
+
+ CHAPTER I
+
+ Down the Rabbit-Hole
+
+
+ Alice was beginning to get very tired of sitting by her sister
+on the bank, and of having nothing to do: once or twice she had
+peeped into the book her sister was reading, but it had no
+pictures or conversations in it, `and what is the use of a book,'
+thought Alice `without pictures or conversation?'
+
+ So she was considering in her own mind (as well as she could,
+for the hot day made her feel very sleepy and stupid), whether
+the pleasure of making a daisy-chain would be worth the trouble
+of getting up and picking the daisies, when suddenly a White
+Rabbit with pink eyes ran close by her.
+
+ There was nothing so VERY remarkable in that; nor did Alice
+think it so VERY much out of the way to hear the Rabbit say to
+itself, `Oh dear! Oh dear! I shall be late!' (when she thought
+it over afterwards, it occurred to her that she ought to have
+wondered at this, but at the time it all seemed quite natural);
+but when the Rabbit actually TOOK A WATCH OUT OF ITS WAISTCOAT-
+POCKET, and looked at it, and then hurried on, Alice started to
+her feet, for it flashed across her mind that she had never
+before seen a rabbit with either a waistcoat-pocket, or a watch to
+take out of it, and burning with curiosity, she ran across the
+field after it, and fortunately was just in time to see it pop
+down a large rabbit-hole under the hedge.
+
+ In another moment down went Alice after it, never once
+considering how in the world she was to get out again.
+
+ The rabbit-hole went straight on like a tunnel for some way,
+and then dipped suddenly down, so suddenly that Alice had not a
+moment to think about stopping herself before she found herself
+falling down a very deep well.
+
+ Either the well was very deep, or she fell very slowly, for she
+had plenty of time as she went down to look about her and to
+wonder what was going to happen next. First, she tried to look
+down and make out what she was coming to, but it was too dark to
+see anything; then she looked at the sides of the well, and
+noticed that they were filled with cupboards and book-shelves;
+here and there she saw maps and pictures hung upon pegs. She
+took down a jar from one of the shelves as she passed; it was
+labelled `ORANGE MARMALADE', but to her great disappointment it
+was empty: she did not like to drop the jar for fear of killing
+somebody, so managed to put it into one of the cupboards as she
+fell past it.
+
+ `Well!' thought Alice to herself, `after such a fall as this, I
+shall think nothing of tumbling down stairs! How brave they'll
+all think me at home! Why, I wouldn't say anything about it,
+even if I fell off the top of the house!' (Which was very likely
+true.)
+
+ Down, down, down. Would the fall NEVER come to an end! `I
+wonder how many miles I've fallen by this time?' she said aloud.
+`I must be getting somewhere near the centre of the earth. Let
+me see: that would be four thousand miles down, I think--' (for,
+you see, Alice had learnt several things of this sort in her
+lessons in the schoolroom, and though this was not a VERY good
+opportunity for showing off her knowledge, as there was no one to
+listen to her, still it was good practice to say it over) `--yes,
+that's about the right distance--but then I wonder what Latitude
+or Longitude I've got to?' (Alice had no idea what Latitude was,
+or Longitude either, but thought they were nice grand words to
+say.)
+
+ Presently she began again. `I wonder if I shall fall right
+THROUGH the earth! How funny it'll seem to come out among the
+people that walk with their heads downward! The Antipathies, I
+think--' (she was rather glad there WAS no one listening, this
+time, as it didn't sound at all the right word) `--but I shall
+have to ask them what the name of the country is, you know.
+Please, Ma'am, is this New Zealand or Australia?' (and she tried
+to curtsey as she spoke--fancy CURTSEYING as you're falling
+through the air! Do you think you could manage it?) `And what
+an ignorant little girl she'll think me for asking! No, it'll
+never do to ask: perhaps I shall see it written up somewhere.'
+
+ Down, down, down. There was nothing else to do, so Alice soon
+began talking again. `Dinah'll miss me very much to-night, I
+should think!' (Dinah was the cat.) `I hope they'll remember
+her saucer of milk at tea-time. Dinah my dear! I wish you were
+down here with me! There are no mice in the air, I'm afraid, but
+you might catch a bat, and that's very like a mouse, you know.
+But do cats eat bats, I wonder?' And here Alice began to get
+rather sleepy, and went on saying to herself, in a dreamy sort of
+way, `Do cats eat bats? Do cats eat bats?' and sometimes, `Do
+bats eat cats?' for, you see, as she couldn't answer either
+question, it didn't much matter which way she put it. She felt
+that she was dozing off, and had just begun to dream that she
+was walking hand in hand with Dinah, and saying to her very
+earnestly, `Now, Dinah, tell me the truth: did you ever eat a
+bat?' when suddenly, thump! thump! down she came upon a heap of
+sticks and dry leaves, and the fall was over.
+
+ Alice was not a bit hurt, and she jumped up on to her feet in a
+moment: she looked up, but it was all dark overhead; before her
+was another long passage, and the White Rabbit was still in
+sight, hurrying down it. There was not a moment to be lost:
+away went Alice like the wind, and was just in time to hear it
+say, as it turned a corner, `Oh my ears and whiskers, how late
+it's getting!' She was close behind it when she turned the
+corner, but the Rabbit was no longer to be seen: she found
+herself in a long, low hall, which was lit up by a row of lamps
+hanging from the roof.
+
+ There were doors all round the hall, but they were all locked;
+and when Alice had been all the way down one side and up the
+other, trying every door, she walked sadly down the middle,
+wondering how she was ever to get out again.
+
+ Suddenly she came upon a little three-legged table, all made of
+solid glass; there was nothing on it except a tiny golden key,
+and Alice's first thought was that it might belong to one of the
+doors of the hall; but, alas! either the locks were too large, or
+the key was too small, but at any rate it would not open any of
+them. However, on the second time round, she came upon a low
+curtain she had not noticed before, and behind it was a little
+door about fifteen inches high: she tried the little golden key
+in the lock, and to her great delight it fitted!
+
+ Alice opened the door and found that it led into a small
+passage, not much larger than a rat-hole: she knelt down and
+looked along the passage into the loveliest garden you ever saw.
+How she longed to get out of that dark hall, and wander about
+among those beds of bright flowers and those cool fountains, but
+she could not even get her head though the doorway; `and even if
+my head would go through,' thought poor Alice, `it would be of
+very little use without my shoulders. Oh, how I wish
+I could shut up like a telescope! I think I could, if I only
+know how to begin.' For, you see, so many out-of-the-way things
+had happened lately, that Alice had begun to think that very few
+things indeed were really impossible.
+
+ There seemed to be no use in waiting by the little door, so she
+went back to the table, half hoping she might find another key on
+it, or at any rate a book of rules for shutting people up like
+telescopes: this time she found a little bottle on it, (`which
+certainly was not here before,' said Alice,) and round the neck
+of the bottle was a paper label, with the words `DRINK ME'
+beautifully printed on it in large letters.
+
+ It was all very well to say `Drink me,' but the wise little
+Alice was not going to do THAT in a hurry. `No, I'll look
+first,' she said, `and see whether it's marked "poison" or not';
+for she had read several nice little histories about children who
+had got burnt, and eaten up by wild beasts and other unpleasant
+things, all because they WOULD not remember the simple rules
+their friends had taught them: such as, that a red-hot poker
+will burn you if you hold it too long; and that if you cut your
+finger VERY deeply with a knife, it usually bleeds; and she had
+never forgotten that, if you drink much from a bottle marked
+`poison,' it is almost certain to disagree with you, sooner or
+later.
+
+ However, this bottle was NOT marked `poison,' so Alice ventured
+to taste it, and finding it very nice, (it had, in fact, a sort
+of mixed flavour of cherry-tart, custard, pine-apple, roast
+turkey, toffee, and hot buttered toast,) she very soon finished
+it off.
+
+ * * * * * * *
+
+ * * * * * *
+
+ * * * * * * *
+
+ `What a curious feeling!' said Alice; `I must be shutting up
+like a telescope.'
+
+ And so it was indeed: she was now only ten inches high, and
+her face brightened up at the thought that she was now the right
+size for going though the little door into that lovely garden.
+First, however, she waited for a few minutes to see if she was
+going to shrink any further: she felt a little nervous about
+this; `for it might end, you know,' said Alice to herself, `in my
+going out altogether, like a candle. I wonder what I should be
+like then?' And she tried to fancy what the flame of a candle is
+like after the candle is blown out, for she could not remember
+ever having seen such a thing.
+
+ After a while, finding that nothing more happened, she decided
+on going into the garden at once; but, alas for poor Alice! when
+she got to the door, she found he had forgotten the little golden
+key, and when she went back to the table for it, she found she
+could not possibly reach it: she could see it quite plainly
+through the glass, and she tried her best to climb up one of the
+legs of the table, but it was too slippery; and when she had
+tired herself out with trying, the poor little thing sat down and
+cried.
+
+ `Come, there's no use in crying like that!' said Alice to
+herself, rather sharply; `I advise you to leave off this minute!'
+She generally gave herself very good advice, (though she very
+seldom followed it), and sometimes she scolded herself so
+severely as to bring tears into her eyes; and once she remembered
+trying to box her own ears for having cheated herself in a game
+of croquet she was playing against herself, for this curious
+child was very fond of pretending to be two people. `But it's no
+use now,' thought poor Alice, `to pretend to be two people! Why,
+there's hardly enough of me left to make ONE respectable
+person!'
+
+ Soon her eye fell on a little glass box that was lying under
+the table: she opened it, and found in it a very small cake, on
+which the words `EAT ME' were beautifully marked in currants.
+`Well, I'll eat it,' said Alice, `and if it makes me grow larger,
+I can reach the key; and if it makes me grow smaller, I can creep
+under the door; so either way I'll get into the garden, and I
+don't care which happens!'
+
+ She ate a little bit, and said anxiously to herself, `Which
+way? Which way?', holding her hand on the top of her head to
+feel which way it was growing, and she was quite surprised to
+find that she remained the same size: to be sure, this generally
+happens when one eats cake, but Alice had got so much into the
+way of expecting nothing but out-of-the-way things to happen,
+that it seemed quite dull and stupid for life to go on in the
+common way.
+
+ So she set to work, and very soon finished off the cake.
+
+ * * * * * * *
+
+ * * * * * *
+
+ * * * * * * *
+
+
+
+
+ CHAPTER II
+
+ The Pool of Tears
+
+
+ `Curiouser and curiouser!' cried Alice (she was so much
+surprised, that for the moment she quite forgot how to speak good
+English); `now I'm opening out like the largest telescope that
+ever was! Good-bye, feet!' (for when she looked down at her
+feet, they seemed to be almost out of sight, they were getting so
+far off). `Oh, my poor little feet, I wonder who will put on
+your shoes and stockings for you now, dears? I'm sure _I_ shan't
+be able! I shall be a great deal too far off to trouble myself
+about you: you must manage the best way you can; --but I must be
+kind to them,' thought Alice, `or perhaps they won't walk the
+way I want to go! Let me see: I'll give them a new pair of
+boots every Christmas.'
+
+ And she went on planning to herself how she would manage it.
+`They must go by the carrier,' she thought; `and how funny it'll
+seem, sending presents to one's own feet! And how odd the
+directions will look!
+
+ ALICE'S RIGHT FOOT, ESQ.
+ HEARTHRUG,
+ NEAR THE FENDER,
+ (WITH ALICE'S LOVE).
+
+Oh dear, what nonsense I'm talking!'
+
+ Just then her head struck against the roof of the hall: in
+fact she was now more than nine feet high, and she at once took
+up the little golden key and hurried off to the garden door.
+
+ Poor Alice! It was as much as she could do, lying down on one
+side, to look through into the garden with one eye; but to get
+through was more hopeless than ever: she sat down and began to
+cry again.
+
+ `You ought to be ashamed of yourself,' said Alice, `a great
+girl like you,' (she might well say this), `to go on crying in
+this way! Stop this moment, I tell you!' But she went on all
+the same, shedding gallons of tears, until there was a large pool
+all round her, about four inches deep and reaching half down the
+hall.
+
+ After a time she heard a little pattering of feet in the
+distance, and she hastily dried her eyes to see what was coming.
+It was the White Rabbit returning, splendidly dressed, with a
+pair of white kid gloves in one hand and a large fan in the
+other: he came trotting along in a great hurry, muttering to
+himself as he came, `Oh! the Duchess, the Duchess! Oh! won't she
+be savage if I've kept her waiting!' Alice felt so desperate
+that she was ready to ask help of any one; so, when the Rabbit
+came near her, she began, in a low, timid voice, `If you please,
+sir--' The Rabbit started violently, dropped the white kid
+gloves and the fan, and skurried away into the darkness as hard
+as he could go.
+
+ Alice took up the fan and gloves, and, as the hall was very
+hot, she kept fanning herself all the time she went on talking:
+`Dear, dear! How queer everything is to-day! And yesterday
+things went on just as usual. I wonder if I've been changed in
+the night? Let me think: was I the same when I got up this
+morning? I almost think I can remember feeling a little
+different. But if I'm not the same, the next question is, Who in
+the world am I? Ah, THAT'S the great puzzle!' And she began
+thinking over all the children she knew that were of the same age
+as herself, to see if she could have been changed for any of
+them.
+
+ `I'm sure I'm not Ada,' she said, `for her hair goes in such
+long ringlets, and mine doesn't go in ringlets at all; and I'm
+sure I can't be Mabel, for I know all sorts of things, and she,
+oh! she knows such a very little! Besides, SHE'S she, and I'm I,
+and--oh dear, how puzzling it all is! I'll try if I know all the
+things I used to know. Let me see: four times five is twelve,
+and four times six is thirteen, and four times seven is--oh dear!
+I shall never get to twenty at that rate! However, the
+Multiplication Table doesn't signify: let's try Geography.
+London is the capital of Paris, and Paris is the capital of Rome,
+and Rome--no, THAT'S all wrong, I'm certain! I must have been
+changed for Mabel! I'll try and say "How doth the little--"'
+and she crossed her hands on her lap as if she were saying lessons,
+and began to repeat it, but her voice sounded hoarse and
+strange, and the words did not come the same as they used to do:--
+
+ `How doth the little crocodile
+ Improve his shining tail,
+ And pour the waters of the Nile
+ On every golden scale!
+
+ `How cheerfully he seems to grin,
+ How neatly spread his claws,
+ And welcome little fishes in
+ With gently smiling jaws!'
+
+ `I'm sure those are not the right words,' said poor Alice, and
+her eyes filled with tears again as she went on, `I must be Mabel
+after all, and I shall have to go and live in that poky little
+house, and have next to no toys to play with, and oh! ever so
+many lessons to learn! No, I've made up my mind about it; if I'm
+Mabel, I'll stay down here! It'll be no use their putting their
+heads down and saying "Come up again, dear!" I shall only look
+up and say "Who am I then? Tell me that first, and then, if I
+like being that person, I'll come up: if not, I'll stay down
+here till I'm somebody else"--but, oh dear!' cried Alice, with a
+sudden burst of tears, `I do wish they WOULD put their heads
+down! I am so VERY tired of being all alone here!'
+
+ As she said this she looked down at her hands, and was
+surprised to see that she had put on one of the Rabbit's little
+white kid gloves while she was talking. `How CAN I have done
+that?' she thought. `I must be growing small again.' She got up
+and went to the table to measure herself by it, and found that,
+as nearly as she could guess, she was now about two feet high,
+and was going on shrinking rapidly: she soon found out that the
+cause of this was the fan she was holding, and she dropped it
+hastily, just in time to avoid shrinking away altogether.
+
+`That WAS a narrow escape!' said Alice, a good deal frightened at
+the sudden change, but very glad to find herself still in
+existence; `and now for the garden!' and she ran with all speed
+back to the little door: but, alas! the little door was shut
+again, and the little golden key was lying on the glass table as
+before, `and things are worse than ever,' thought the poor child,
+`for I never was so small as this before, never! And I declare
+it's too bad, that it is!'
+
+ As she said these words her foot slipped, and in another
+moment, splash! she was up to her chin in salt water. He first
+idea was that she had somehow fallen into the sea, `and in that
+case I can go back by railway,' she said to herself. (Alice had
+been to the seaside once in her life, and had come to the general
+conclusion, that wherever you go to on the English coast you find
+a number of bathing machines in the sea, some children digging in
+the sand with wooden spades, then a row of lodging houses, and
+behind them a railway station.) However, she soon made out that
+she was in the pool of tears which she had wept when she was nine
+feet high.
+
+ `I wish I hadn't cried so much!' said Alice, as she swam about,
+trying to find her way out. `I shall be punished for it now, I
+suppose, by being drowned in my own tears! That WILL be a queer
+thing, to be sure! However, everything is queer to-day.'
+
+ Just then she heard something splashing about in the pool a
+little way off, and she swam nearer to make out what it was: at
+first she thought it must be a walrus or hippopotamus, but then
+she remembered how small she was now, and she soon made out that
+it was only a mouse that had slipped in like herself.
+
+ `Would it be of any use, now,' thought Alice, `to speak to this
+mouse? Everything is so out-of-the-way down here, that I should
+think very likely it can talk: at any rate, there's no harm in
+trying.' So she began: `O Mouse, do you know the way out of
+this pool? I am very tired of swimming about here, O Mouse!'
+(Alice thought this must be the right way of speaking to a mouse:
+she had never done such a thing before, but she remembered having
+seen in her brother's Latin Grammar, `A mouse--of a mouse--to a
+mouse--a mouse--O mouse!' The Mouse looked at her rather
+inquisitively, and seemed to her to wink with one of its little
+eyes, but it said nothing.
+
+ `Perhaps it doesn't understand English,' thought Alice; `I
+daresay it's a French mouse, come over with William the
+Conqueror.' (For, with all her knowledge of history, Alice had
+no very clear notion how long ago anything had happened.) So she
+began again: `Ou est ma chatte?' which was the first sentence in
+her French lesson-book. The Mouse gave a sudden leap out of the
+water, and seemed to quiver all over with fright. `Oh, I beg
+your pardon!' cried Alice hastily, afraid that she had hurt the
+poor animal's feelings. `I quite forgot you didn't like cats.'
+
+ `Not like cats!' cried the Mouse, in a shrill, passionate
+voice. `Would YOU like cats if you were me?'
+
+ `Well, perhaps not,' said Alice in a soothing tone: `don't be
+angry about it. And yet I wish I could show you our cat Dinah:
+I think you'd take a fancy to cats if you could only see her.
+She is such a dear quiet thing,' Alice went on, half to herself,
+as she swam lazily about in the pool, `and she sits purring so
+nicely by the fire, licking her paws and washing her face--and
+she is such a nice soft thing to nurse--and she's such a capital
+one for catching mice--oh, I beg your pardon!' cried Alice again,
+for this time the Mouse was bristling all over, and she felt
+certain it must be really offended. `We won't talk about her any
+more if you'd rather not.'
+
+ `We indeed!' cried the Mouse, who was trembling down to the end
+of his tail. `As if I would talk on such a subject! Our family
+always HATED cats: nasty, low, vulgar things! Don't let me hear
+the name again!'
+
+ `I won't indeed!' said Alice, in a great hurry to change the
+subject of conversation. `Are you--are you fond--of--of dogs?'
+The Mouse did not answer, so Alice went on eagerly: `There is
+such a nice little dog near our house I should like to show you!
+A little bright-eyed terrier, you know, with oh, such long curly
+brown hair! And it'll fetch things when you throw them, and
+it'll sit up and beg for its dinner, and all sorts of things--I
+can't remember half of them--and it belongs to a farmer, you
+know, and he says it's so useful, it's worth a hundred pounds!
+He says it kills all the rats and--oh dear!' cried Alice in a
+sorrowful tone, `I'm afraid I've offended it again!' For the
+Mouse was swimming away from her as hard as it could go, and
+making quite a commotion in the pool as it went.
+
+ So she called softly after it, `Mouse dear! Do come back
+again, and we won't talk about cats or dogs either, if you don't
+like them!' When the Mouse heard this, it turned round and swam
+slowly back to her: its face was quite pale (with passion, Alice
+thought), and it said in a low trembling voice, `Let us get to
+the shore, and then I'll tell you my history, and you'll
+understand why it is I hate cats and dogs.'
+
+ It was high time to go, for the pool was getting quite crowded
+with the birds and animals that had fallen into it: there were a
+Duck and a Dodo, a Lory and an Eaglet, and several other curious
+creatures. Alice led the way, and the whole party swam to the
+shore.
+
+
+
+ CHAPTER III
+
+ A Caucus-Race and a Long Tale
+
+
+ They were indeed a queer-looking party that assembled on the
+bank--the birds with draggled feathers, the animals with their
+fur clinging close to them, and all dripping wet, cross, and
+uncomfortable.
+
+ The first question of course was, how to get dry again: they
+had a consultation about this, and after a few minutes it seemed
+quite natural to Alice to find herself talking familiarly with
+them, as if she had known them all her life. Indeed, she had
+quite a long argument with the Lory, who at last turned sulky,
+and would only say, `I am older than you, and must know better';
+and this Alice would not allow without knowing how old it was,
+and, as the Lory positively refused to tell its age, there was no
+more to be said.
+
+ At last the Mouse, who seemed to be a person of authority among
+them, called out, `Sit down, all of you, and listen to me! I'LL
+soon make you dry enough!' They all sat down at once, in a large
+ring, with the Mouse in the middle. Alice kept her eyes
+anxiously fixed on it, for she felt sure she would catch a bad
+cold if she did not get dry very soon.
+
+ `Ahem!' said the Mouse with an important air, `are you all ready?
+This is the driest thing I know. Silence all round, if you please!
+"William the Conqueror, whose cause was favoured by the pope, was
+soon submitted to by the English, who wanted leaders, and had been
+of late much accustomed to usurpation and conquest. Edwin and
+Morcar, the earls of Mercia and Northumbria--"'
+
+ `Ugh!' said the Lory, with a shiver.
+
+ `I beg your pardon!' said the Mouse, frowning, but very
+politely: `Did you speak?'
+
+ `Not I!' said the Lory hastily.
+
+ `I thought you did,' said the Mouse. `--I proceed. "Edwin and
+Morcar, the earls of Mercia and Northumbria, declared for him:
+and even Stigand, the patriotic archbishop of Canterbury, found
+it advisable--"'
+
+ `Found WHAT?' said the Duck.
+
+ `Found IT,' the Mouse replied rather crossly: `of course you
+know what "it" means.'
+
+ `I know what "it" means well enough, when I find a thing,' said
+the Duck: `it's generally a frog or a worm. The question is,
+what did the archbishop find?'
+
+ The Mouse did not notice this question, but hurriedly went on,
+`"--found it advisable to go with Edgar Atheling to meet William
+and offer him the crown. William's conduct at first was
+moderate. But the insolence of his Normans--" How are you
+getting on now, my dear?' it continued, turning to Alice as it
+spoke.
+
+ `As wet as ever,' said Alice in a melancholy tone: `it doesn't
+seem to dry me at all.'
+
+ `In that case,' said the Dodo solemnly, rising to its feet, `I
+move that the meeting adjourn, for the immediate adoption of more
+energetic remedies--'
+
+ `Speak English!' said the Eaglet. `I don't know the meaning of
+half those long words, and, what's more, I don't believe you do
+either!' And the Eaglet bent down its head to hide a smile:
+some of the other birds tittered audibly.
+
+ `What I was going to say,' said the Dodo in an offended tone,
+`was, that the best thing to get us dry would be a Caucus-race.'
+
+ `What IS a Caucus-race?' said Alice; not that she wanted much
+to know, but the Dodo had paused as if it thought that SOMEBODY
+ought to speak, and no one else seemed inclined to say anything.
+
+ `Why,' said the Dodo, `the best way to explain it is to do it.'
+(And, as you might like to try the thing yourself, some winter
+day, I will tell you how the Dodo managed it.)
+
+ First it marked out a race-course, in a sort of circle, (`the
+exact shape doesn't matter,' it said,) and then all the party
+were placed along the course, here and there. There was no `One,
+two, three, and away,' but they began running when they liked,
+and left off when they liked, so that it was not easy to know
+when the race was over. However, when they had been running half
+an hour or so, and were quite dry again, the Dodo suddenly called
+out `The race is over!' and they all crowded round it, panting,
+and asking, `But who has won?'
+
+ This question the Dodo could not answer without a great deal of
+thought, and it sat for a long time with one finger pressed upon
+its forehead (the position in which you usually see Shakespeare,
+in the pictures of him), while the rest waited in silence. At
+last the Dodo said, `EVERYBODY has won, and all must have
+prizes.'
+
+ `But who is to give the prizes?' quite a chorus of voices
+asked.
+
+ `Why, SHE, of course,' said the Dodo, pointing to Alice with
+one finger; and the whole party at once crowded round her,
+calling out in a confused way, `Prizes! Prizes!'
+
+ Alice had no idea what to do, and in despair she put her hand
+in her pocket, and pulled out a box of comfits, (luckily the salt
+water had not got into it), and handed them round as prizes.
+There was exactly one a-piece all round.
+
+ `But she must have a prize herself, you know,' said the Mouse.
+
+ `Of course,' the Dodo replied very gravely. `What else have
+you got in your pocket?' he went on, turning to Alice.
+
+ `Only a thimble,' said Alice sadly.
+
+ `Hand it over here,' said the Dodo.
+
+ Then they all crowded round her once more, while the Dodo
+solemnly presented the thimble, saying `We beg your acceptance of
+this elegant thimble'; and, when it had finished this short
+speech, they all cheered.
+
+ Alice thought the whole thing very absurd, but they all looked
+so grave that she did not dare to laugh; and, as she could not
+think of anything to say, she simply bowed, and took the thimble,
+looking as solemn as she could.
+
+ The next thing was to eat the comfits: this caused some noise
+and confusion, as the large birds complained that they could not
+taste theirs, and the small ones choked and had to be patted on
+the back. However, it was over at last, and they sat down again
+in a ring, and begged the Mouse to tell them something more.
+
+ `You promised to tell me your history, you know,' said Alice,
+`and why it is you hate--C and D,' she added in a whisper, half
+afraid that it would be offended again.
+
+ `Mine is a long and a sad tale!' said the Mouse, turning to
+Alice, and sighing.
+
+ `It IS a long tail, certainly,' said Alice, looking down with
+wonder at the Mouse's tail; `but why do you call it sad?' And
+she kept on puzzling about it while the Mouse was speaking, so
+that her idea of the tale was something like this:--
+
+ `Fury said to a
+ mouse, That he
+ met in the
+ house,
+ "Let us
+ both go to
+ law: I will
+ prosecute
+ YOU. --Come,
+ I'll take no
+ denial; We
+ must have a
+ trial: For
+ really this
+ morning I've
+ nothing
+ to do."
+ Said the
+ mouse to the
+ cur, "Such
+ a trial,
+ dear Sir,
+ With
+ no jury
+ or judge,
+ would be
+ wasting
+ our
+ breath."
+ "I'll be
+ judge, I'll
+ be jury,"
+ Said
+ cunning
+ old Fury:
+ "I'll
+ try the
+ whole
+ cause,
+ and
+ condemn
+ you
+ to
+ death."'
+
+
+ `You are not attending!' said the Mouse to Alice severely.
+`What are you thinking of?'
+
+ `I beg your pardon,' said Alice very humbly: `you had got to
+the fifth bend, I think?'
+
+ `I had NOT!' cried the Mouse, sharply and very angrily.
+
+ `A knot!' said Alice, always ready to make herself useful, and
+looking anxiously about her. `Oh, do let me help to undo it!'
+
+ `I shall do nothing of the sort,' said the Mouse, getting up
+and walking away. `You insult me by talking such nonsense!'
+
+ `I didn't mean it!' pleaded poor Alice. `But you're so easily
+offended, you know!'
+
+ The Mouse only growled in reply.
+
+ `Please come back and finish your story!' Alice called after
+it; and the others all joined in chorus, `Yes, please do!' but
+the Mouse only shook its head impatiently, and walked a little
+quicker.
+
+ `What a pity it wouldn't stay!' sighed the Lory, as soon as it
+was quite out of sight; and an old Crab took the opportunity of
+saying to her daughter `Ah, my dear! Let this be a lesson to you
+never to lose YOUR temper!' `Hold your tongue, Ma!' said the
+young Crab, a little snappishly. `You're enough to try the
+patience of an oyster!'
+
+ `I wish I had our Dinah here, I know I do!' said Alice aloud,
+addressing nobody in particular. `She'd soon fetch it back!'
+
+ `And who is Dinah, if I might venture to ask the question?'
+said the Lory.
+
+ Alice replied eagerly, for she was always ready to talk about
+her pet: `Dinah's our cat. And she's such a capital one for
+catching mice you can't think! And oh, I wish you could see her
+after the birds! Why, she'll eat a little bird as soon as look
+at it!'
+
+ This speech caused a remarkable sensation among the party.
+Some of the birds hurried off at once: one the old Magpie began
+wrapping itself up very carefully, remarking, `I really must be
+getting home; the night-air doesn't suit my throat!' and a Canary
+called out in a trembling voice to its children, `Come away, my
+dears! It's high time you were all in bed!' On various pretexts
+they all moved off, and Alice was soon left alone.
+
+ `I wish I hadn't mentioned Dinah!' she said to herself in a
+melancholy tone. `Nobody seems to like her, down here, and I'm
+sure she's the best cat in the world! Oh, my dear Dinah! I
+wonder if I shall ever see you any more!' And here poor Alice
+began to cry again, for she felt very lonely and low-spirited.
+In a little while, however, she again heard a little pattering of
+footsteps in the distance, and she looked up eagerly, half hoping
+that the Mouse had changed his mind, and was coming back to
+finish his story.
+
+
+
+ CHAPTER IV
+
+ The Rabbit Sends in a Little Bill
+
+
+ It was the White Rabbit, trotting slowly back again, and
+looking anxiously about as it went, as if it had lost something;
+and she heard it muttering to itself `The Duchess! The Duchess!
+Oh my dear paws! Oh my fur and whiskers! She'll get me
+executed, as sure as ferrets are ferrets! Where CAN I have
+dropped them, I wonder?' Alice guessed in a moment that it was
+looking for the fan and the pair of white kid gloves, and she
+very good-naturedly began hunting about for them, but they were
+nowhere to be seen--everything seemed to have changed since her
+swim in the pool, and the great hall, with the glass table and
+the little door, had vanished completely.
+
+ Very soon the Rabbit noticed Alice, as she went hunting about,
+and called out to her in an angry tone, `Why, Mary Ann, what ARE
+you doing out here? Run home this moment, and fetch me a pair of
+gloves and a fan! Quick, now!' And Alice was so much frightened
+that she ran off at once in the direction it pointed to, without
+trying to explain the mistake it had made.
+
+ `He took me for his housemaid,' she said to herself as she ran.
+`How surprised he'll be when he finds out who I am! But I'd
+better take him his fan and gloves--that is, if I can find them.'
+As she said this, she came upon a neat little house, on the door
+of which was a bright brass plate with the name `W. RABBIT'
+engraved upon it. She went in without knocking, and hurried
+upstairs, in great fear lest she should meet the real Mary Ann,
+and be turned out of the house before she had found the fan and
+gloves.
+
+ `How queer it seems,' Alice said to herself, `to be going
+messages for a rabbit! I suppose Dinah'll be sending me on
+messages next!' And she began fancying the sort of thing that
+would happen: `"Miss Alice! Come here directly, and get ready
+for your walk!" "Coming in a minute, nurse! But I've got to see
+that the mouse doesn't get out." Only I don't think,' Alice went
+on, `that they'd let Dinah stop in the house if it began ordering
+people about like that!'
+
+ By this time she had found her way into a tidy little room with
+a table in the window, and on it (as she had hoped) a fan and two
+or three pairs of tiny white kid gloves: she took up the fan and
+a pair of the gloves, and was just going to leave the room, when
+her eye fell upon a little bottle that stood near the looking-
+glass. There was no label this time with the words `DRINK ME,'
+but nevertheless she uncorked it and put it to her lips. `I know
+SOMETHING interesting is sure to happen,' she said to herself,
+`whenever I eat or drink anything; so I'll just see what this
+bottle does. I do hope it'll make me grow large again, for
+really I'm quite tired of being such a tiny little thing!'
+
+ It did so indeed, and much sooner than she had expected:
+before she had drunk half the bottle, she found her head pressing
+against the ceiling, and had to stoop to save her neck from being
+broken. She hastily put down the bottle, saying to herself
+`That's quite enough--I hope I shan't grow any more--As it is, I
+can't get out at the door--I do wish I hadn't drunk quite so
+much!'
+
+ Alas! it was too late to wish that! She went on growing, and
+growing, and very soon had to kneel down on the floor: in
+another minute there was not even room for this, and she tried
+the effect of lying down with one elbow against the door, and the
+other arm curled round her head. Still she went on growing, and,
+as a last resource, she put one arm out of the window, and one
+foot up the chimney, and said to herself `Now I can do no more,
+whatever happens. What WILL become of me?'
+
+ Luckily for Alice, the little magic bottle had now had its full
+effect, and she grew no larger: still it was very uncomfortable,
+and, as there seemed to be no sort of chance of her ever getting
+out of the room again, no wonder she felt unhappy.
+
+ `It was much pleasanter at home,' thought poor Alice, `when one
+wasn't always growing larger and smaller, and being ordered about
+by mice and rabbits. I almost wish I hadn't gone down that
+rabbit-hole--and yet--and yet--it's rather curious, you know,
+this sort of life! I do wonder what CAN have happened to me!
+When I used to read fairy-tales, I fancied that kind of thing
+never happened, and now here I am in the middle of one! There
+ought to be a book written about me, that there ought! And when
+I grow up, I'll write one--but I'm grown up now,' she added in a
+sorrowful tone; `at least there's no room to grow up any more
+HERE.'
+
+ `But then,' thought Alice, `shall I NEVER get any older than I
+am now? That'll be a comfort, one way--never to be an old woman-
+-but then--always to have lessons to learn! Oh, I shouldn't like
+THAT!'
+
+ `Oh, you foolish Alice!' she answered herself. `How can you
+learn lessons in here? Why, there's hardly room for YOU, and no
+room at all for any lesson-books!'
+
+ And so she went on, taking first one side and then the other,
+and making quite a conversation of it altogether; but after a few
+minutes she heard a voice outside, and stopped to listen.
+
+ `Mary Ann! Mary Ann!' said the voice. `Fetch me my gloves
+this moment!' Then came a little pattering of feet on the
+stairs. Alice knew it was the Rabbit coming to look for her, and
+she trembled till she shook the house, quite forgetting that she
+was now about a thousand times as large as the Rabbit, and had no
+reason to be afraid of it.
+
+ Presently the Rabbit came up to the door, and tried to open it;
+but, as the door opened inwards, and Alice's elbow was pressed
+hard against it, that attempt proved a failure. Alice heard it
+say to itself `Then I'll go round and get in at the window.'
+
+ `THAT you won't' thought Alice, and, after waiting till she
+fancied she heard the Rabbit just under the window, she suddenly
+spread out her hand, and made a snatch in the air. She did not
+get hold of anything, but she heard a little shriek and a fall,
+and a crash of broken glass, from which she concluded that it was
+just possible it had fallen into a cucumber-frame, or something
+of the sort.
+
+ Next came an angry voice--the Rabbit's--`Pat! Pat! Where are
+you?' And then a voice she had never heard before, `Sure then
+I'm here! Digging for apples, yer honour!'
+
+ `Digging for apples, indeed!' said the Rabbit angrily. `Here!
+Come and help me out of THIS!' (Sounds of more broken glass.)
+
+ `Now tell me, Pat, what's that in the window?'
+
+ `Sure, it's an arm, yer honour!' (He pronounced it `arrum.')
+
+ `An arm, you goose! Who ever saw one that size? Why, it
+fills the whole window!'
+
+ `Sure, it does, yer honour: but it's an arm for all that.'
+
+ `Well, it's got no business there, at any rate: go and take it
+away!'
+
+ There was a long silence after this, and Alice could only hear
+whispers now and then; such as, `Sure, I don't like it, yer
+honour, at all, at all!' `Do as I tell you, you coward!' and at
+last she spread out her hand again, and made another snatch in
+the air. This time there were TWO little shrieks, and more
+sounds of broken glass. `What a number of cucumber-frames there
+must be!' thought Alice. `I wonder what they'll do next! As for
+pulling me out of the window, I only wish they COULD! I'm sure I
+don't want to stay in here any longer!'
+
+ She waited for some time without hearing anything more: at
+last came a rumbling of little cartwheels, and the sound of a
+good many voice all talking together: she made out the words:
+`Where's the other ladder?--Why, I hadn't to bring but one;
+Bill's got the other--Bill! fetch it here, lad!--Here, put 'em up
+at this corner--No, tie 'em together first--they don't reach half
+high enough yet--Oh! they'll do well enough; don't be particular-
+-Here, Bill! catch hold of this rope--Will the roof bear?--Mind
+that loose slate--Oh, it's coming down! Heads below!' (a loud
+crash)--`Now, who did that?--It was Bill, I fancy--Who's to go
+down the chimney?--Nay, I shan't! YOU do it!--That I won't,
+then!--Bill's to go down--Here, Bill! the master says you're to
+go down the chimney!'
+
+ `Oh! So Bill's got to come down the chimney, has he?' said
+Alice to herself. `Shy, they seem to put everything upon Bill!
+I wouldn't be in Bill's place for a good deal: this fireplace is
+narrow, to be sure; but I THINK I can kick a little!'
+
+ She drew her foot as far down the chimney as she could, and
+waited till she heard a little animal (she couldn't guess of what
+sort it was) scratching and scrambling about in the chimney close
+above her: then, saying to herself `This is Bill,' she gave one
+sharp kick, and waited to see what would happen next.
+
+ The first thing she heard was a general chorus of `There goes
+Bill!' then the Rabbit's voice along--`Catch him, you by the
+hedge!' then silence, and then another confusion of voices--`Hold
+up his head--Brandy now--Don't choke him--How was it, old fellow?
+What happened to you? Tell us all about it!'
+
+ Last came a little feeble, squeaking voice, (`That's Bill,'
+thought Alice,) `Well, I hardly know--No more, thank ye; I'm
+better now--but I'm a deal too flustered to tell you--all I know
+is, something comes at me like a Jack-in-the-box, and up I goes
+like a sky-rocket!'
+
+ `So you did, old fellow!' said the others.
+
+ `We must burn the house down!' said the Rabbit's voice; and
+Alice called out as loud as she could, `If you do. I'll set
+Dinah at you!'
+
+ There was a dead silence instantly, and Alice thought to
+herself, `I wonder what they WILL do next! If they had any
+sense, they'd take the roof off.' After a minute or two, they
+began moving about again, and Alice heard the Rabbit say, `A
+barrowful will do, to begin with.'
+
+ `A barrowful of WHAT?' thought Alice; but she had not long to
+doubt, for the next moment a shower of little pebbles came
+rattling in at the window, and some of them hit her in the face.
+`I'll put a stop to this,' she said to herself, and shouted out,
+`You'd better not do that again!' which produced another dead
+silence.
+
+ Alice noticed with some surprise that the pebbles were all
+turning into little cakes as they lay on the floor, and a bright
+idea came into her head. `If I eat one of these cakes,' she
+thought, `it's sure to make SOME change in my size; and as it
+can't possibly make me larger, it must make me smaller, I
+suppose.'
+
+ So she swallowed one of the cakes, and was delighted to find
+that she began shrinking directly. As soon as she was small
+enough to get through the door, she ran out of the house, and
+found quite a crowd of little animals and birds waiting outside.
+The poor little Lizard, Bill, was in the middle, being held up by
+two guinea-pigs, who were giving it something out of a bottle.
+They all made a rush at Alice the moment she appeared; but she
+ran off as hard as she could, and soon found herself safe in a
+thick wood.
+
+ `The first thing I've got to do,' said Alice to herself, as she
+wandered about in the wood, `is to grow to my right size again;
+and the second thing is to find my way into that lovely garden.
+I think that will be the best plan.'
+
+ It sounded an excellent plan, no doubt, and very neatly and
+simply arranged; the only difficulty was, that she had not the
+smallest idea how to set about it; and while she was peering
+about anxiously among the trees, a little sharp bark just over
+her head made her look up in a great hurry.
+
+ An enormous puppy was looking down at her with large round
+eyes, and feebly stretching out one paw, trying to touch her.
+`Poor little thing!' said Alice, in a coaxing tone, and she tried
+hard to whistle to it; but she was terribly frightened all the
+time at the thought that it might be hungry, in which case it
+would be very likely to eat her up in spite of all her coaxing.
+
+ Hardly knowing what she did, she picked up a little bit of
+stick, and held it out to the puppy; whereupon the puppy jumped
+into the air off all its feet at once, with a yelp of delight,
+and rushed at the stick, and made believe to worry it; then Alice
+dodged behind a great thistle, to keep herself from being run
+over; and the moment she appeared on the other side, the puppy
+made another rush at the stick, and tumbled head over heels in
+its hurry to get hold of it; then Alice, thinking it was very
+like having a game of play with a cart-horse, and expecting every
+moment to be trampled under its feet, ran round the thistle
+again; then the puppy began a series of short charges at the
+stick, running a very little way forwards each time and a long
+way back, and barking hoarsely all the while, till at last it sat
+down a good way off, panting, with its tongue hanging out of its
+mouth, and its great eyes half shut.
+
+ This seemed to Alice a good opportunity for making her escape;
+so she set off at once, and ran till she was quite tired and out
+of breath, and till the puppy's bark sounded quite faint in the
+distance.
+
+ `And yet what a dear little puppy it was!' said Alice, as she
+leant against a buttercup to rest herself, and fanned herself
+with one of the leaves: `I should have liked teaching it tricks
+very much, if--if I'd only been the right size to do it! Oh
+dear! I'd nearly forgotten that I've got to grow up again! Let
+me see--how IS it to be managed? I suppose I ought to eat or
+drink something or other; but the great question is, what?'
+
+ The great question certainly was, what? Alice looked all round
+her at the flowers and the blades of grass, but she did not see
+anything that looked like the right thing to eat or drink under
+the circumstances. There was a large mushroom growing near her,
+about the same height as herself; and when she had looked under
+it, and on both sides of it, and behind it, it occurred to her
+that she might as well look and see what was on the top of it.
+
+ She stretched herself up on tiptoe, and peeped over the edge of
+the mushroom, and her eyes immediately met those of a large
+caterpillar, that was sitting on the top with its arms folded,
+quietly smoking a long hookah, and taking not the smallest notice
+of her or of anything else.
+
+
+
+ CHAPTER V
+
+ Advice from a Caterpillar
+
+
+ The Caterpillar and Alice looked at each other for some time in
+silence: at last the Caterpillar took the hookah out of its
+mouth, and addressed her in a languid, sleepy voice.
+
+ `Who are YOU?' said the Caterpillar.
+
+ This was not an encouraging opening for a conversation. Alice
+replied, rather shyly, `I--I hardly know, sir, just at present--
+at least I know who I WAS when I got up this morning, but I think
+I must have been changed several times since then.'
+
+ `What do you mean by that?' said the Caterpillar sternly.
+`Explain yourself!'
+
+ `I can't explain MYSELF, I'm afraid, sir' said Alice, `because
+I'm not myself, you see.'
+
+ `I don't see,' said the Caterpillar.
+
+ `I'm afraid I can't put it more clearly,' Alice replied very
+politely, `for I can't understand it myself to begin with; and
+being so many different sizes in a day is very confusing.'
+
+ `It isn't,' said the Caterpillar.
+
+ `Well, perhaps you haven't found it so yet,' said Alice; `but
+when you have to turn into a chrysalis--you will some day, you
+know--and then after that into a butterfly, I should think you'll
+feel it a little queer, won't you?'
+
+ `Not a bit,' said the Caterpillar.
+
+ `Well, perhaps your feelings may be different,' said Alice;
+`all I know is, it would feel very queer to ME.'
+
+ `You!' said the Caterpillar contemptuously. `Who are YOU?'
+
+ Which brought them back again to the beginning of the
+conversation. Alice felt a little irritated at the Caterpillar's
+making such VERY short remarks, and she drew herself up and said,
+very gravely, `I think, you ought to tell me who YOU are, first.'
+
+ `Why?' said the Caterpillar.
+
+ Here was another puzzling question; and as Alice could not
+think of any good reason, and as the Caterpillar seemed to be in
+a VERY unpleasant state of mind, she turned away.
+
+ `Come back!' the Caterpillar called after her. `I've something
+important to say!'
+
+ This sounded promising, certainly: Alice turned and came back
+again.
+
+ `Keep your temper,' said the Caterpillar.
+
+ `Is that all?' said Alice, swallowing down her anger as well as
+she could.
+
+ `No,' said the Caterpillar.
+
+ Alice thought she might as well wait, as she had nothing else
+to do, and perhaps after all it might tell her something worth
+hearing. For some minutes it puffed away without speaking, but
+at last it unfolded its arms, took the hookah out of its mouth
+again, and said, `So you think you're changed, do you?'
+
+ `I'm afraid I am, sir,' said Alice; `I can't remember things as
+I used--and I don't keep the same size for ten minutes together!'
+
+ `Can't remember WHAT things?' said the Caterpillar.
+
+ `Well, I've tried to say "HOW DOTH THE LITTLE BUSY BEE," but it
+all came different!' Alice replied in a very melancholy voice.
+
+ `Repeat, "YOU ARE OLD, FATHER WILLIAM,"' said the Caterpillar.
+
+ Alice folded her hands, and began:--
+
+ `You are old, Father William,' the young man said,
+ `And your hair has become very white;
+ And yet you incessantly stand on your head--
+ Do you think, at your age, it is right?'
+
+ `In my youth,' Father William replied to his son,
+ `I feared it might injure the brain;
+ But, now that I'm perfectly sure I have none,
+ Why, I do it again and again.'
+
+ `You are old,' said the youth, `as I mentioned before,
+ And have grown most uncommonly fat;
+ Yet you turned a back-somersault in at the door--
+ Pray, what is the reason of that?'
+
+ `In my youth,' said the sage, as he shook his grey locks,
+ `I kept all my limbs very supple
+ By the use of this ointment--one shilling the box--
+ Allow me to sell you a couple?'
+
+ `You are old,' said the youth, `and your jaws are too weak
+ For anything tougher than suet;
+ Yet you finished the goose, with the bones and the beak--
+ Pray how did you manage to do it?'
+
+ `In my youth,' said his father, `I took to the law,
+ And argued each case with my wife;
+ And the muscular strength, which it gave to my jaw,
+ Has lasted the rest of my life.'
+
+ `You are old,' said the youth, `one would hardly suppose
+ That your eye was as steady as ever;
+ Yet you balanced an eel on the end of your nose--
+ What made you so awfully clever?'
+
+ `I have answered three questions, and that is enough,'
+ Said his father; `don't give yourself airs!
+ Do you think I can listen all day to such stuff?
+ Be off, or I'll kick you down stairs!'
+
+
+ `That is not said right,' said the Caterpillar.
+
+ `Not QUITE right, I'm afraid,' said Alice, timidly; `some of the
+words have got altered.'
+
+ `It is wrong from beginning to end,' said the Caterpillar
+decidedly, and there was silence for some minutes.
+
+ The Caterpillar was the first to speak.
+
+ `What size do you want to be?' it asked.
+
+ `Oh, I'm not particular as to size,' Alice hastily replied;
+`only one doesn't like changing so often, you know.'
+
+ `I DON'T know,' said the Caterpillar.
+
+ Alice said nothing: she had never been so much contradicted in
+her life before, and she felt that she was losing her temper.
+
+ `Are you content now?' said the Caterpillar.
+
+ `Well, I should like to be a LITTLE larger, sir, if you
+wouldn't mind,' said Alice: `three inches is such a wretched
+height to be.'
+
+ `It is a very good height indeed!' said the Caterpillar
+angrily, rearing itself upright as it spoke (it was exactly three
+inches high).
+
+ `But I'm not used to it!' pleaded poor Alice in a piteous tone.
+And she thought of herself, `I wish the creatures wouldn't be so
+easily offended!'
+
+ `You'll get used to it in time,' said the Caterpillar; and it
+put the hookah into its mouth and began smoking again.
+
+ This time Alice waited patiently until it chose to speak again.
+In a minute or two the Caterpillar took the hookah out of its
+mouth and yawned once or twice, and shook itself. Then it got
+down off the mushroom, and crawled away in the grass, merely
+remarking as it went, `One side will make you grow taller, and
+the other side will make you grow shorter.'
+
+ `One side of WHAT? The other side of WHAT?' thought Alice to
+herself.
+
+ `Of the mushroom,' said the Caterpillar, just as if she had
+asked it aloud; and in another moment it was out of sight.
+
+ Alice remained looking thoughtfully at the mushroom for a
+minute, trying to make out which were the two sides of it; and as
+it was perfectly round, she found this a very difficult question.
+However, at last she stretched her arms round it as far as they
+would go, and broke off a bit of the edge with each hand.
+
+ `And now which is which?' she said to herself, and nibbled a
+little of the right-hand bit to try the effect: the next moment
+she felt a violent blow underneath her chin: it had struck her
+foot!
+
+ She was a good deal frightened by this very sudden change, but
+she felt that there was no time to be lost, as she was shrinking
+rapidly; so she set to work at once to eat some of the other bit.
+Her chin was pressed so closely against her foot, that there was
+hardly room to open her mouth; but she did it at last, and
+managed to swallow a morsel of the lefthand bit.
+
+
+ * * * * * * *
+
+ * * * * * *
+
+ * * * * * * *
+
+ `Come, my head's free at last!' said Alice in a tone of
+delight, which changed into alarm in another moment, when she
+found that her shoulders were nowhere to be found: all she could
+see, when she looked down, was an immense length of neck, which
+seemed to rise like a stalk out of a sea of green leaves that lay
+far below her.
+
+ `What CAN all that green stuff be?' said Alice. `And where
+HAVE my shoulders got to? And oh, my poor hands, how is it I
+can't see you?' She was moving them about as she spoke, but no
+result seemed to follow, except a little shaking among the
+distant green leaves.
+
+ As there seemed to be no chance of getting her hands up to her
+head, she tried to get her head down to them, and was delighted
+to find that her neck would bend about easily in any direction,
+like a serpent. She had just succeeded in curving it down into a
+graceful zigzag, and was going to dive in among the leaves, which
+she found to be nothing but the tops of the trees under which she
+had been wandering, when a sharp hiss made her draw back in a
+hurry: a large pigeon had flown into her face, and was beating
+her violently with its wings.
+
+ `Serpent!' screamed the Pigeon.
+
+ `I'm NOT a serpent!' said Alice indignantly. `Let me alone!'
+
+ `Serpent, I say again!' repeated the Pigeon, but in a more
+subdued tone, and added with a kind of sob, `I've tried every
+way, and nothing seems to suit them!'
+
+ `I haven't the least idea what you're talking about,' said
+Alice.
+
+ `I've tried the roots of trees, and I've tried banks, and I've
+tried hedges,' the Pigeon went on, without attending to her; `but
+those serpents! There's no pleasing them!'
+
+ Alice was more and more puzzled, but she thought there was no
+use in saying anything more till the Pigeon had finished.
+
+ `As if it wasn't trouble enough hatching the eggs,' said the
+Pigeon; `but I must be on the look-out for serpents night and
+day! Why, I haven't had a wink of sleep these three weeks!'
+
+ `I'm very sorry you've been annoyed,' said Alice, who was
+beginning to see its meaning.
+
+ `And just as I'd taken the highest tree in the wood,' continued
+the Pigeon, raising its voice to a shriek, `and just as I was
+thinking I should be free of them at last, they must needs come
+wriggling down from the sky! Ugh, Serpent!'
+
+ `But I'm NOT a serpent, I tell you!' said Alice. `I'm a--I'm
+a--'
+
+ `Well! WHAT are you?' said the Pigeon. `I can see you're
+trying to invent something!'
+
+ `I--I'm a little girl,' said Alice, rather doubtfully, as she
+remembered the number of changes she had gone through that day.
+
+ `A likely story indeed!' said the Pigeon in a tone of the
+deepest contempt. `I've seen a good many little girls in my
+time, but never ONE with such a neck as that! No, no! You're a
+serpent; and there's no use denying it. I suppose you'll be
+telling me next that you never tasted an egg!'
+
+ `I HAVE tasted eggs, certainly,' said Alice, who was a very
+truthful child; `but little girls eat eggs quite as much as
+serpents do, you know.'
+
+ `I don't believe it,' said the Pigeon; `but if they do, why
+then they're a kind of serpent, that's all I can say.'
+
+ This was such a new idea to Alice, that she was quite silent
+for a minute or two, which gave the Pigeon the opportunity of
+adding, `You're looking for eggs, I know THAT well enough; and
+what does it matter to me whether you're a little girl or a
+serpent?'
+
+ `It matters a good deal to ME,' said Alice hastily; `but I'm
+not looking for eggs, as it happens; and if I was, I shouldn't
+want YOURS: I don't like them raw.'
+
+ `Well, be off, then!' said the Pigeon in a sulky tone, as it
+settled down again into its nest. Alice crouched down among the
+trees as well as she could, for her neck kept getting entangled
+among the branches, and every now and then she had to stop and
+untwist it. After a while she remembered that she still held the
+pieces of mushroom in her hands, and she set to work very
+carefully, nibbling first at one and then at the other, and
+growing sometimes taller and sometimes shorter, until she had
+succeeded in bringing herself down to her usual height.
+
+ It was so long since she had been anything near the right size,
+that it felt quite strange at first; but she got used to it in a
+few minutes, and began talking to herself, as usual. `Come,
+there's half my plan done now! How puzzling all these changes
+are! I'm never sure what I'm going to be, from one minute to
+another! However, I've got back to my right size: the next
+thing is, to get into that beautiful garden--how IS that to be
+done, I wonder?' As she said this, she came suddenly upon an
+open place, with a little house in it about four feet high.
+`Whoever lives there,' thought Alice, `it'll never do to come
+upon them THIS size: why, I should frighten them out of their
+wits!' So she began nibbling at the righthand bit again, and did
+not venture to go near the house till she had brought herself
+down to nine inches high.
+
+
+
+ CHAPTER VI
+
+ Pig and Pepper
+
+
+ For a minute or two she stood looking at the house, and
+wondering what to do next, when suddenly a footman in livery came
+running out of the wood--(she considered him to be a footman
+because he was in livery: otherwise, judging by his face only,
+she would have called him a fish)--and rapped loudly at the door
+with his knuckles. It was opened by another footman in livery,
+with a round face, and large eyes like a frog; and both footmen,
+Alice noticed, had powdered hair that curled all over their
+heads. She felt very curious to know what it was all about, and
+crept a little way out of the wood to listen.
+
+ The Fish-Footman began by producing from under his arm a great
+letter, nearly as large as himself, and this he handed over to
+the other, saying, in a solemn tone, `For the Duchess. An
+invitation from the Queen to play croquet.' The Frog-Footman
+repeated, in the same solemn tone, only changing the order of the
+words a little, `From the Queen. An invitation for the Duchess
+to play croquet.'
+
+ Then they both bowed low, and their curls got entangled
+together.
+
+ Alice laughed so much at this, that she had to run back into
+the wood for fear of their hearing her; and when she next peeped
+out the Fish-Footman was gone, and the other was sitting on the
+ground near the door, staring stupidly up into the sky.
+
+ Alice went timidly up to the door, and knocked.
+
+ `There's no sort of use in knocking,' said the Footman, `and
+that for two reasons. First, because I'm on the same side of the
+door as you are; secondly, because they're making such a noise
+inside, no one could possibly hear you.' And certainly there was
+a most extraordinary noise going on within--a constant howling
+and sneezing, and every now and then a great crash, as if a dish
+or kettle had been broken to pieces.
+
+ `Please, then,' said Alice, `how am I to get in?'
+
+ `There might be some sense in your knocking,' the Footman went
+on without attending to her, `if we had the door between us. For
+instance, if you were INSIDE, you might knock, and I could let
+you out, you know.' He was looking up into the sky all the time
+he was speaking, and this Alice thought decidedly uncivil. `But
+perhaps he can't help it,' she said to herself; `his eyes are so
+VERY nearly at the top of his head. But at any rate he might
+answer questions.--How am I to get in?' she repeated, aloud.
+
+ `I shall sit here,' the Footman remarked, `till tomorrow--'
+
+ At this moment the door of the house opened, and a large plate
+came skimming out, straight at the Footman's head: it just
+grazed his nose, and broke to pieces against one of the trees
+behind him.
+
+ `--or next day, maybe,' the Footman continued in the same tone,
+exactly as if nothing had happened.
+
+ `How am I to get in?' asked Alice again, in a louder tone.
+
+ `ARE you to get in at all?' said the Footman. `That's the
+first question, you know.'
+
+ It was, no doubt: only Alice did not like to be told so.
+`It's really dreadful,' she muttered to herself, `the way all the
+creatures argue. It's enough to drive one crazy!'
+
+ The Footman seemed to think this a good opportunity for
+repeating his remark, with variations. `I shall sit here,' he
+said, `on and off, for days and days.'
+
+ `But what am I to do?' said Alice.
+
+ `Anything you like,' said the Footman, and began whistling.
+
+ `Oh, there's no use in talking to him,' said Alice desperately:
+`he's perfectly idiotic!' And she opened the door and went in.
+
+ The door led right into a large kitchen, which was full of
+smoke from one end to the other: the Duchess was sitting on a
+three-legged stool in the middle, nursing a baby; the cook was
+leaning over the fire, stirring a large cauldron which seemed to
+be full of soup.
+
+ `There's certainly too much pepper in that soup!' Alice said to
+herself, as well as she could for sneezing.
+
+ There was certainly too much of it in the air. Even the
+Duchess sneezed occasionally; and as for the baby, it was
+sneezing and howling alternately without a moment's pause. The
+only things in the kitchen that did not sneeze, were the cook,
+and a large cat which was sitting on the hearth and grinning from
+ear to ear.
+
+ `Please would you tell me,' said Alice, a little timidly, for
+she was not quite sure whether it was good manners for her to
+speak first, `why your cat grins like that?'
+
+ `It's a Cheshire cat,' said the Duchess, `and that's why.
+Pig!'
+
+ She said the last word with such sudden violence that Alice
+quite jumped; but she saw in another moment that it was addressed
+to the baby, and not to her, so she took courage, and went on
+again:--
+
+ `I didn't know that Cheshire cats always grinned; in fact, I
+didn't know that cats COULD grin.'
+
+ `They all can,' said the Duchess; `and most of 'em do.'
+
+ `I don't know of any that do,' Alice said very politely,
+feeling quite pleased to have got into a conversation.
+
+ `You don't know much,' said the Duchess; `and that's a fact.'
+
+ Alice did not at all like the tone of this remark, and thought
+it would be as well to introduce some other subject of
+conversation. While she was trying to fix on one, the cook took
+the cauldron of soup off the fire, and at once set to work
+throwing everything within her reach at the Duchess and the baby
+--the fire-irons came first; then followed a shower of saucepans,
+plates, and dishes. The Duchess took no notice of them even when
+they hit her; and the baby was howling so much already, that it
+was quite impossible to say whether the blows hurt it or not.
+
+ `Oh, PLEASE mind what you're doing!' cried Alice, jumping up
+and down in an agony of terror. `Oh, there goes his PRECIOUS
+nose'; as an unusually large saucepan flew close by it, and very
+nearly carried it off.
+
+ `If everybody minded their own business,' the Duchess said in a
+hoarse growl, `the world would go round a deal faster than it
+does.'
+
+ `Which would NOT be an advantage,' said Alice, who felt very
+glad to get an opportunity of showing off a little of her
+knowledge. `Just think of what work it would make with the day
+and night! You see the earth takes twenty-four hours to turn
+round on its axis--'
+
+ `Talking of axes,' said the Duchess, `chop off her head!'
+
+ Alice glanced rather anxiously at the cook, to see if she meant
+to take the hint; but the cook was busily stirring the soup, and
+seemed not to be listening, so she went on again: `Twenty-four
+hours, I THINK; or is it twelve? I--'
+
+ `Oh, don't bother ME,' said the Duchess; `I never could abide
+figures!' And with that she began nursing her child again,
+singing a sort of lullaby to it as she did so, and giving it a
+violent shake at the end of every line:
+
+ `Speak roughly to your little boy,
+ And beat him when he sneezes:
+ He only does it to annoy,
+ Because he knows it teases.'
+
+ CHORUS.
+
+ (In which the cook and the baby joined):--
+
+ `Wow! wow! wow!'
+
+ While the Duchess sang the second verse of the song, she kept
+tossing the baby violently up and down, and the poor little thing
+howled so, that Alice could hardly hear the words:--
+
+ `I speak severely to my boy,
+ I beat him when he sneezes;
+ For he can thoroughly enjoy
+ The pepper when he pleases!'
+
+ CHORUS.
+
+ `Wow! wow! wow!'
+
+ `Here! you may nurse it a bit, if you like!' the Duchess said
+to Alice, flinging the baby at her as she spoke. `I must go and
+get ready to play croquet with the Queen,' and she hurried out of
+the room. The cook threw a frying-pan after her as she went out,
+but it just missed her.
+
+ Alice caught the baby with some difficulty, as it was a queer-
+shaped little creature, and held out its arms and legs in all
+directions, `just like a star-fish,' thought Alice. The poor
+little thing was snorting like a steam-engine when she caught it,
+and kept doubling itself up and straightening itself out again,
+so that altogether, for the first minute or two, it was as much
+as she could do to hold it.
+
+ As soon as she had made out the proper way of nursing it,
+(which was to twist it up into a sort of knot, and then keep
+tight hold of its right ear and left foot, so as to prevent its
+undoing itself,) she carried it out into the open air. `IF I
+don't take this child away with me,' thought Alice, `they're sure
+to kill it in a day or two: wouldn't it be murder to leave it
+behind?' She said the last words out loud, and the little thing
+grunted in reply (it had left off sneezing by this time). `Don't
+grunt,' said Alice; `that's not at all a proper way of expressing
+yourself.'
+
+ The baby grunted again, and Alice looked very anxiously into
+its face to see what was the matter with it. There could be no
+doubt that it had a VERY turn-up nose, much more like a snout
+than a real nose; also its eyes were getting extremely small for
+a baby: altogether Alice did not like the look of the thing at
+all. `But perhaps it was only sobbing,' she thought, and looked
+into its eyes again, to see if there were any tears.
+
+ No, there were no tears. `If you're going to turn into a pig,
+my dear,' said Alice, seriously, `I'll have nothing more to do
+with you. Mind now!' The poor little thing sobbed again (or
+grunted, it was impossible to say which), and they went on for
+some while in silence.
+
+ Alice was just beginning to think to herself, `Now, what am I
+to do with this creature when I get it home?' when it grunted
+again, so violently, that she looked down into its face in some
+alarm. This time there could be NO mistake about it: it was
+neither more nor less than a pig, and she felt that it would be
+quite absurd for her to carry it further.
+
+ So she set the little creature down, and felt quite relieved to
+see it trot away quietly into the wood. `If it had grown up,'
+she said to herself, `it would have made a dreadfully ugly child:
+but it makes rather a handsome pig, I think.' And she began
+thinking over other children she knew, who might do very well as
+pigs, and was just saying to herself, `if one only knew the right
+way to change them--' when she was a little startled by seeing
+the Cheshire Cat sitting on a bough of a tree a few yards off.
+
+ The Cat only grinned when it saw Alice. It looked good-
+natured, she thought: still it had VERY long claws and a great
+many teeth, so she felt that it ought to be treated with respect.
+
+ `Cheshire Puss,' she began, rather timidly, as she did not at
+all know whether it would like the name: however, it only
+grinned a little wider. `Come, it's pleased so far,' thought
+Alice, and she went on. `Would you tell me, please, which way I
+ought to go from here?'
+
+ `That depends a good deal on where you want to get to,' said
+the Cat.
+
+ `I don't much care where--' said Alice.
+
+ `Then it doesn't matter which way you go,' said the Cat.
+
+ `--so long as I get SOMEWHERE,' Alice added as an explanation.
+
+ `Oh, you're sure to do that,' said the Cat, `if you only walk
+long enough.'
+
+ Alice felt that this could not be denied, so she tried another
+question. `What sort of people live about here?'
+
+ `In THAT direction,' the Cat said, waving its right paw round,
+`lives a Hatter: and in THAT direction,' waving the other paw,
+`lives a March Hare. Visit either you like: they're both mad.'
+
+ `But I don't want to go among mad people,' Alice remarked.
+
+ `Oh, you can't help that,' said the Cat: `we're all mad here.
+I'm mad. You're mad.'
+
+ `How do you know I'm mad?' said Alice.
+
+ `You must be,' said the Cat, `or you wouldn't have come here.'
+
+ Alice didn't think that proved it at all; however, she went on
+`And how do you know that you're mad?'
+
+ `To begin with,' said the Cat, `a dog's not mad. You grant
+that?'
+
+ `I suppose so,' said Alice.
+
+ `Well, then,' the Cat went on, `you see, a dog growls when it's
+angry, and wags its tail when it's pleased. Now I growl when I'm
+pleased, and wag my tail when I'm angry. Therefore I'm mad.'
+
+ `I call it purring, not growling,' said Alice.
+
+ `Call it what you like,' said the Cat. `Do you play croquet
+with the Queen to-day?'
+
+ `I should like it very much,' said Alice, `but I haven't been
+invited yet.'
+
+ `You'll see me there,' said the Cat, and vanished.
+
+ Alice was not much surprised at this, she was getting so used
+to queer things happening. While she was looking at the place
+where it had been, it suddenly appeared again.
+
+ `By-the-bye, what became of the baby?' said the Cat. `I'd
+nearly forgotten to ask.'
+
+ `It turned into a pig,' Alice quietly said, just as if it had
+come back in a natural way.
+
+ `I thought it would,' said the Cat, and vanished again.
+
+ Alice waited a little, half expecting to see it again, but it
+did not appear, and after a minute or two she walked on in the
+direction in which the March Hare was said to live. `I've seen
+hatters before,' she said to herself; `the March Hare will be
+much the most interesting, and perhaps as this is May it won't be
+raving mad--at least not so mad as it was in March.' As she said
+this, she looked up, and there was the Cat again, sitting on a
+branch of a tree.
+
+ `Did you say pig, or fig?' said the Cat.
+
+ `I said pig,' replied Alice; `and I wish you wouldn't keep
+appearing and vanishing so suddenly: you make one quite giddy.'
+
+ `All right,' said the Cat; and this time it vanished quite
+slowly, beginning with the end of the tail, and ending with the
+grin, which remained some time after the rest of it had gone.
+
+ `Well! I've often seen a cat without a grin,' thought Alice;
+`but a grin without a cat! It's the most curious thing I ever
+say in my life!'
+
+ She had not gone much farther before she came in sight of the
+house of the March Hare: she thought it must be the right house,
+because the chimneys were shaped like ears and the roof was
+thatched with fur. It was so large a house, that she did not
+like to go nearer till she had nibbled some more of the lefthand
+bit of mushroom, and raised herself to about two feet high: even
+then she walked up towards it rather timidly, saying to herself
+`Suppose it should be raving mad after all! I almost wish I'd
+gone to see the Hatter instead!'
+
+
+
+ CHAPTER VII
+
+ A Mad Tea-Party
+
+
+ There was a table set out under a tree in front of the house,
+and the March Hare and the Hatter were having tea at it: a
+Dormouse was sitting between them, fast asleep, and the other two
+were using it as a cushion, resting their elbows on it, and the
+talking over its head. `Very uncomfortable for the Dormouse,'
+thought Alice; `only, as it's asleep, I suppose it doesn't mind.'
+
+ The table was a large one, but the three were all crowded
+together at one corner of it: `No room! No room!' they cried
+out when they saw Alice coming. `There's PLENTY of room!' said
+Alice indignantly, and she sat down in a large arm-chair at one
+end of the table.
+
+ `Have some wine,' the March Hare said in an encouraging tone.
+
+ Alice looked all round the table, but there was nothing on it
+but tea. `I don't see any wine,' she remarked.
+
+ `There isn't any,' said the March Hare.
+
+ `Then it wasn't very civil of you to offer it,' said Alice
+angrily.
+
+ `It wasn't very civil of you to sit down without being
+invited,' said the March Hare.
+
+ `I didn't know it was YOUR table,' said Alice; `it's laid for a
+great many more than three.'
+
+ `Your hair wants cutting,' said the Hatter. He had been
+looking at Alice for some time with great curiosity, and this was
+his first speech.
+
+ `You should learn not to make personal remarks,' Alice said
+with some severity; `it's very rude.'
+
+ The Hatter opened his eyes very wide on hearing this; but all
+he SAID was, `Why is a raven like a writing-desk?'
+
+ `Come, we shall have some fun now!' thought Alice. `I'm glad
+they've begun asking riddles.--I believe I can guess that,' she
+added aloud.
+
+ `Do you mean that you think you can find out the answer to it?'
+said the March Hare.
+
+ `Exactly so,' said Alice.
+
+ `Then you should say what you mean,' the March Hare went on.
+
+ `I do,' Alice hastily replied; `at least--at least I mean what
+I say--that's the same thing, you know.'
+
+ `Not the same thing a bit!' said the Hatter. `You might just
+as well say that "I see what I eat" is the same thing as "I eat
+what I see"!'
+
+ `You might just as well say,' added the March Hare, `that "I
+like what I get" is the same thing as "I get what I like"!'
+
+ `You might just as well say,' added the Dormouse, who seemed to
+be talking in his sleep, `that "I breathe when I sleep" is the
+same thing as "I sleep when I breathe"!'
+
+ `It IS the same thing with you,' said the Hatter, and here the
+conversation dropped, and the party sat silent for a minute,
+while Alice thought over all she could remember about ravens and
+writing-desks, which wasn't much.
+
+ The Hatter was the first to break the silence. `What day of
+the month is it?' he said, turning to Alice: he had taken his
+watch out of his pocket, and was looking at it uneasily, shaking
+it every now and then, and holding it to his ear.
+
+ Alice considered a little, and then said `The fourth.'
+
+ `Two days wrong!' sighed the Hatter. `I told you butter
+wouldn't suit the works!' he added looking angrily at the March
+Hare.
+
+ `It was the BEST butter,' the March Hare meekly replied.
+
+ `Yes, but some crumbs must have got in as well,' the Hatter
+grumbled: `you shouldn't have put it in with the bread-knife.'
+
+ The March Hare took the watch and looked at it gloomily: then
+he dipped it into his cup of tea, and looked at it again: but he
+could think of nothing better to say than his first remark, `It
+was the BEST butter, you know.'
+
+ Alice had been looking over his shoulder with some curiosity.
+`What a funny watch!' she remarked. `It tells the day of the
+month, and doesn't tell what o'clock it is!'
+
+ `Why should it?' muttered the Hatter. `Does YOUR watch tell
+you what year it is?'
+
+ `Of course not,' Alice replied very readily: `but that's
+because it stays the same year for such a long time together.'
+
+ `Which is just the case with MINE,' said the Hatter.
+
+ Alice felt dreadfully puzzled. The Hatter's remark seemed to
+have no sort of meaning in it, and yet it was certainly English.
+`I don't quite understand you,' she said, as politely as she
+could.
+
+ `The Dormouse is asleep again,' said the Hatter, and he poured
+a little hot tea upon its nose.
+
+ The Dormouse shook its head impatiently, and said, without
+opening its eyes, `Of course, of course; just what I was going to
+remark myself.'
+
+ `Have you guessed the riddle yet?' the Hatter said, turning to
+Alice again.
+
+ `No, I give it up,' Alice replied: `what's the answer?'
+
+ `I haven't the slightest idea,' said the Hatter.
+
+ `Nor I,' said the March Hare.
+
+ Alice sighed wearily. `I think you might do something better
+with the time,' she said, `than waste it in asking riddles that
+have no answers.'
+
+ `If you knew Time as well as I do,' said the Hatter, `you
+wouldn't talk about wasting IT. It's HIM.'
+
+ `I don't know what you mean,' said Alice.
+
+ `Of course you don't!' the Hatter said, tossing his head
+contemptuously. `I dare say you never even spoke to Time!'
+
+ `Perhaps not,' Alice cautiously replied: `but I know I have to
+beat time when I learn music.'
+
+ `Ah! that accounts for it,' said the Hatter. `He won't stand
+beating. Now, if you only kept on good terms with him, he'd do
+almost anything you liked with the clock. For instance, suppose
+it were nine o'clock in the morning, just time to begin lessons:
+you'd only have to whisper a hint to Time, and round goes the
+clock in a twinkling! Half-past one, time for dinner!'
+
+ (`I only wish it was,' the March Hare said to itself in a
+whisper.)
+
+ `That would be grand, certainly,' said Alice thoughtfully:
+`but then--I shouldn't be hungry for it, you know.'
+
+ `Not at first, perhaps,' said the Hatter: `but you could keep
+it to half-past one as long as you liked.'
+
+ `Is that the way YOU manage?' Alice asked.
+
+ The Hatter shook his head mournfully. `Not I!' he replied.
+`We quarrelled last March--just before HE went mad, you know--'
+(pointing with his tea spoon at the March Hare,) `--it was at the
+great concert given by the Queen of Hearts, and I had to sing
+
+ "Twinkle, twinkle, little bat!
+ How I wonder what you're at!"
+
+You know the song, perhaps?'
+
+ `I've heard something like it,' said Alice.
+
+ `It goes on, you know,' the Hatter continued, `in this way:--
+
+ "Up above the world you fly,
+ Like a tea-tray in the sky.
+ Twinkle, twinkle--"'
+
+Here the Dormouse shook itself, and began singing in its sleep
+`Twinkle, twinkle, twinkle, twinkle--' and went on so long that
+they had to pinch it to make it stop.
+
+ `Well, I'd hardly finished the first verse,' said the Hatter,
+`when the Queen jumped up and bawled out, "He's murdering the
+time! Off with his head!"'
+
+ `How dreadfully savage!' exclaimed Alice.
+
+ `And ever since that,' the Hatter went on in a mournful tone,
+`he won't do a thing I ask! It's always six o'clock now.'
+
+ A bright idea came into Alice's head. `Is that the reason so
+many tea-things are put out here?' she asked.
+
+ `Yes, that's it,' said the Hatter with a sigh: `it's always
+tea-time, and we've no time to wash the things between whiles.'
+
+ `Then you keep moving round, I suppose?' said Alice.
+
+ `Exactly so,' said the Hatter: `as the things get used up.'
+
+ `But what happens when you come to the beginning again?' Alice
+ventured to ask.
+
+ `Suppose we change the subject,' the March Hare interrupted,
+yawning. `I'm getting tired of this. I vote the young lady
+tells us a story.'
+
+ `I'm afraid I don't know one,' said Alice, rather alarmed at
+the proposal.
+
+ `Then the Dormouse shall!' they both cried. `Wake up,
+Dormouse!' And they pinched it on both sides at once.
+
+ The Dormouse slowly opened his eyes. `I wasn't asleep,' he
+said in a hoarse, feeble voice: `I heard every word you fellows
+were saying.'
+
+ `Tell us a story!' said the March Hare.
+
+ `Yes, please do!' pleaded Alice.
+
+ `And be quick about it,' added the Hatter, `or you'll be asleep
+again before it's done.'
+
+ `Once upon a time there were three little sisters,' the
+Dormouse began in a great hurry; `and their names were Elsie,
+Lacie, and Tillie; and they lived at the bottom of a well--'
+
+ `What did they live on?' said Alice, who always took a great
+interest in questions of eating and drinking.
+
+ `They lived on treacle,' said the Dormouse, after thinking a
+minute or two.
+
+ `They couldn't have done that, you know,' Alice gently
+remarked; `they'd have been ill.'
+
+ `So they were,' said the Dormouse; `VERY ill.'
+
+ Alice tried to fancy to herself what such an extraordinary ways
+of living would be like, but it puzzled her too much, so she went
+on: `But why did they live at the bottom of a well?'
+
+ `Take some more tea,' the March Hare said to Alice, very
+earnestly.
+
+ `I've had nothing yet,' Alice replied in an offended tone, `so
+I can't take more.'
+
+ `You mean you can't take LESS,' said the Hatter: `it's very
+easy to take MORE than nothing.'
+
+ `Nobody asked YOUR opinion,' said Alice.
+
+ `Who's making personal remarks now?' the Hatter asked
+triumphantly.
+
+ Alice did not quite know what to say to this: so she helped
+herself to some tea and bread-and-butter, and then turned to the
+Dormouse, and repeated her question. `Why did they live at the
+bottom of a well?'
+
+ The Dormouse again took a minute or two to think about it, and
+then said, `It was a treacle-well.'
+
+ `There's no such thing!' Alice was beginning very angrily, but
+the Hatter and the March Hare went `Sh! sh!' and the Dormouse
+sulkily remarked, `If you can't be civil, you'd better finish the
+story for yourself.'
+
+ `No, please go on!' Alice said very humbly; `I won't interrupt
+again. I dare say there may be ONE.'
+
+ `One, indeed!' said the Dormouse indignantly. However, he
+consented to go on. `And so these three little sisters--they
+were learning to draw, you know--'
+
+ `What did they draw?' said Alice, quite forgetting her promise.
+
+ `Treacle,' said the Dormouse, without considering at all this
+time.
+
+ `I want a clean cup,' interrupted the Hatter: `let's all move
+one place on.'
+
+ He moved on as he spoke, and the Dormouse followed him: the
+March Hare moved into the Dormouse's place, and Alice rather
+unwillingly took the place of the March Hare. The Hatter was the
+only one who got any advantage from the change: and Alice was a
+good deal worse off than before, as the March Hare had just upset
+the milk-jug into his plate.
+
+ Alice did not wish to offend the Dormouse again, so she began
+very cautiously: `But I don't understand. Where did they draw
+the treacle from?'
+
+ `You can draw water out of a water-well,' said the Hatter; `so
+I should think you could draw treacle out of a treacle-well--eh,
+stupid?'
+
+ `But they were IN the well,' Alice said to the Dormouse, not
+choosing to notice this last remark.
+
+ `Of course they were', said the Dormouse; `--well in.'
+
+ This answer so confused poor Alice, that she let the Dormouse
+go on for some time without interrupting it.
+
+ `They were learning to draw,' the Dormouse went on, yawning and
+rubbing its eyes, for it was getting very sleepy; `and they drew
+all manner of things--everything that begins with an M--'
+
+ `Why with an M?' said Alice.
+
+ `Why not?' said the March Hare.
+
+ Alice was silent.
+
+ The Dormouse had closed its eyes by this time, and was going
+off into a doze; but, on being pinched by the Hatter, it woke up
+again with a little shriek, and went on: `--that begins with an
+M, such as mouse-traps, and the moon, and memory, and muchness--
+you know you say things are "much of a muchness"--did you ever
+see such a thing as a drawing of a muchness?'
+
+ `Really, now you ask me,' said Alice, very much confused, `I
+don't think--'
+
+ `Then you shouldn't talk,' said the Hatter.
+
+ This piece of rudeness was more than Alice could bear: she got
+up in great disgust, and walked off; the Dormouse fell asleep
+instantly, and neither of the others took the least notice of her
+going, though she looked back once or twice, half hoping that
+they would call after her: the last time she saw them, they were
+trying to put the Dormouse into the teapot.
+
+ `At any rate I'll never go THERE again!' said Alice as she
+picked her way through the wood. `It's the stupidest tea-party I
+ever was at in all my life!'
+
+ Just as she said this, she noticed that one of the trees had a
+door leading right into it. `That's very curious!' she thought.
+`But everything's curious today. I think I may as well go in at
+once.' And in she went.
+
+ Once more she found herself in the long hall, and close to the
+little glass table. `Now, I'll manage better this time,' she
+said to herself, and began by taking the little golden key, and
+unlocking the door that led into the garden. Then she went to
+work nibbling at the mushroom (she had kept a piece of it in her
+pocked) till she was about a foot high: then she walked down the
+little passage: and THEN--she found herself at last in the
+beautiful garden, among the bright flower-beds and the cool
+fountains.
+
+
+
+ CHAPTER VIII
+
+ The Queen's Croquet-Ground
+
+
+ A large rose-tree stood near the entrance of the garden: the
+roses growing on it were white, but there were three gardeners at
+it, busily painting them red. Alice thought this a very curious
+thing, and she went nearer to watch them, and just as she came up
+to them she heard one of them say, `Look out now, Five! Don't go
+splashing paint over me like that!'
+
+ `I couldn't help it,' said Five, in a sulky tone; `Seven jogged
+my elbow.'
+
+ On which Seven looked up and said, `That's right, Five! Always
+lay the blame on others!'
+
+ `YOU'D better not talk!' said Five. `I heard the Queen say only
+yesterday you deserved to be beheaded!'
+
+ `What for?' said the one who had spoken first.
+
+ `That's none of YOUR business, Two!' said Seven.
+
+ `Yes, it IS his business!' said Five, `and I'll tell him--it
+was for bringing the cook tulip-roots instead of onions.'
+
+ Seven flung down his brush, and had just begun `Well, of all
+the unjust things--' when his eye chanced to fall upon Alice, as
+she stood watching them, and he checked himself suddenly: the
+others looked round also, and all of them bowed low.
+
+ `Would you tell me,' said Alice, a little timidly, `why you are
+painting those roses?'
+
+ Five and Seven said nothing, but looked at Two. Two began in a
+low voice, `Why the fact is, you see, Miss, this here ought to
+have been a RED rose-tree, and we put a white one in by mistake;
+and if the Queen was to find it out, we should all have our heads
+cut off, you know. So you see, Miss, we're doing our best, afore
+she comes, to--' At this moment Five, who had been anxiously
+looking across the garden, called out `The Queen! The Queen!'
+and the three gardeners instantly threw themselves flat upon
+their faces. There was a sound of many footsteps, and Alice
+looked round, eager to see the Queen.
+
+ First came ten soldiers carrying clubs; these were all shaped
+like the three gardeners, oblong and flat, with their hands and
+feet at the corners: next the ten courtiers; these were
+ornamented all over with diamonds, and walked two and two, as the
+soldiers did. After these came the royal children; there were
+ten of them, and the little dears came jumping merrily along hand
+in hand, in couples: they were all ornamented with hearts. Next
+came the guests, mostly Kings and Queens, and among them Alice
+recognised the White Rabbit: it was talking in a hurried nervous
+manner, smiling at everything that was said, and went by without
+noticing her. Then followed the Knave of Hearts, carrying the
+King's crown on a crimson velvet cushion; and, last of all this
+grand procession, came THE KING AND QUEEN OF HEARTS.
+
+ Alice was rather doubtful whether she ought not to lie down on
+her face like the three gardeners, but she could not remember
+every having heard of such a rule at processions; `and besides,
+what would be the use of a procession,' thought she, `if people
+had all to lie down upon their faces, so that they couldn't see
+it?' So she stood still where she was, and waited.
+
+ When the procession came opposite to Alice, they all stopped
+and looked at her, and the Queen said severely `Who is this?'
+She said it to the Knave of Hearts, who only bowed and smiled in
+reply.
+
+ `Idiot!' said the Queen, tossing her head impatiently; and,
+turning to Alice, she went on, `What's your name, child?'
+
+ `My name is Alice, so please your Majesty,' said Alice very
+politely; but she added, to herself, `Why, they're only a pack of
+cards, after all. I needn't be afraid of them!'
+
+ `And who are THESE?' said the Queen, pointing to the three
+gardeners who were lying round the rosetree; for, you see, as
+they were lying on their faces, and the pattern on their backs
+was the same as the rest of the pack, she could not tell whether
+they were gardeners, or soldiers, or courtiers, or three of her
+own children.
+
+ `How should I know?' said Alice, surprised at her own courage.
+`It's no business of MINE.'
+
+ The Queen turned crimson with fury, and, after glaring at her
+for a moment like a wild beast, screamed `Off with her head!
+Off--'
+
+ `Nonsense!' said Alice, very loudly and decidedly, and the
+Queen was silent.
+
+ The King laid his hand upon her arm, and timidly said
+`Consider, my dear: she is only a child!'
+
+ The Queen turned angrily away from him, and said to the Knave
+`Turn them over!'
+
+ The Knave did so, very carefully, with one foot.
+
+ `Get up!' said the Queen, in a shrill, loud voice, and the
+three gardeners instantly jumped up, and began bowing to the
+King, the Queen, the royal children, and everybody else.
+
+ `Leave off that!' screamed the Queen. `You make me giddy.'
+And then, turning to the rose-tree, she went on, `What HAVE you
+been doing here?'
+
+ `May it please your Majesty,' said Two, in a very humble tone,
+going down on one knee as he spoke, `we were trying--'
+
+ `I see!' said the Queen, who had meanwhile been examining the
+roses. `Off with their heads!' and the procession moved on,
+three of the soldiers remaining behind to execute the unfortunate
+gardeners, who ran to Alice for protection.
+
+ `You shan't be beheaded!' said Alice, and she put them into a
+large flower-pot that stood near. The three soldiers wandered
+about for a minute or two, looking for them, and then quietly
+marched off after the others.
+
+ `Are their heads off?' shouted the Queen.
+
+ `Their heads are gone, if it please your Majesty!' the soldiers
+shouted in reply.
+
+ `That's right!' shouted the Queen. `Can you play croquet?'
+
+ The soldiers were silent, and looked at Alice, as the question
+was evidently meant for her.
+
+ `Yes!' shouted Alice.
+
+ `Come on, then!' roared the Queen, and Alice joined the
+procession, wondering very much what would happen next.
+
+ `It's--it's a very fine day!' said a timid voice at her side.
+She was walking by the White Rabbit, who was peeping anxiously
+into her face.
+
+ `Very,' said Alice: `--where's the Duchess?'
+
+ `Hush! Hush!' said the Rabbit in a low, hurried tone. He
+looked anxiously over his shoulder as he spoke, and then raised
+himself upon tiptoe, put his mouth close to her ear, and
+whispered `She's under sentence of execution.'
+
+ `What for?' said Alice.
+
+ `Did you say "What a pity!"?' the Rabbit asked.
+
+ `No, I didn't,' said Alice: `I don't think it's at all a pity.
+I said "What for?"'
+
+ `She boxed the Queen's ears--' the Rabbit began. Alice gave a
+little scream of laughter. `Oh, hush!' the Rabbit whispered in a
+frightened tone. `The Queen will hear you! You see, she came
+rather late, and the Queen said--'
+
+ `Get to your places!' shouted the Queen in a voice of thunder,
+and people began running about in all directions, tumbling up
+against each other; however, they got settled down in a minute or
+two, and the game began. Alice thought she had never seen such a
+curious croquet-ground in her life; it was all ridges and
+furrows; the balls were live hedgehogs, the mallets live
+flamingoes, and the soldiers had to double themselves up and to
+stand on their hands and feet, to make the arches.
+
+ The chief difficulty Alice found at first was in managing her
+flamingo: she succeeded in getting its body tucked away,
+comfortably enough, under her arm, with its legs hanging down,
+but generally, just as she had got its neck nicely straightened
+out, and was going to give the hedgehog a blow with its head, it
+WOULD twist itself round and look up in her face, with such a
+puzzled expression that she could not help bursting out laughing:
+and when she had got its head down, and was going to begin again,
+it was very provoking to find that the hedgehog had unrolled
+itself, and was in the act of crawling away: besides all this,
+there was generally a ridge or furrow in the way wherever she
+wanted to send the hedgehog to, and, as the doubled-up soldiers
+were always getting up and walking off to other parts of the
+ground, Alice soon came to the conclusion that it was a very
+difficult game indeed.
+
+ The players all played at once without waiting for turns,
+quarrelling all the while, and fighting for the hedgehogs; and in
+a very short time the Queen was in a furious passion, and went
+stamping about, and shouting `Off with his head!' or `Off with
+her head!' about once in a minute.
+
+ Alice began to feel very uneasy: to be sure, she had not as
+yet had any dispute with the Queen, but she knew that it might
+happen any minute, `and then,' thought she, `what would become of
+me? They're dreadfully fond of beheading people here; the great
+wonder is, that there's any one left alive!'
+
+ She was looking about for some way of escape, and wondering
+whether she could get away without being seen, when she noticed a
+curious appearance in the air: it puzzled her very much at
+first, but, after watching it a minute or two, she made it out to
+be a grin, and she said to herself `It's the Cheshire Cat: now I
+shall have somebody to talk to.'
+
+ `How are you getting on?' said the Cat, as soon as there was
+mouth enough for it to speak with.
+
+ Alice waited till the eyes appeared, and then nodded. `It's no
+use speaking to it,' she thought, `till its ears have come, or at
+least one of them.' In another minute the whole head appeared,
+and then Alice put down her flamingo, and began an account of the
+game, feeling very glad she had someone to listen to her. The
+Cat seemed to think that there was enough of it now in sight, and
+no more of it appeared.
+
+ `I don't think they play at all fairly,' Alice began, in rather
+a complaining tone, `and they all quarrel so dreadfully one can't
+hear oneself speak--and they don't seem to have any rules in
+particular; at least, if there are, nobody attends to them--and
+you've no idea how confusing it is all the things being alive;
+for instance, there's the arch I've got to go through next
+walking about at the other end of the ground--and I should have
+croqueted the Queen's hedgehog just now, only it ran away when it
+saw mine coming!'
+
+ `How do you like the Queen?' said the Cat in a low voice.
+
+ `Not at all,' said Alice: `she's so extremely--' Just then
+she noticed that the Queen was close behind her, listening: so
+she went on, `--likely to win, that it's hardly worth while
+finishing the game.'
+
+ The Queen smiled and passed on.
+
+ `Who ARE you talking to?' said the King, going up to Alice, and
+looking at the Cat's head with great curiosity.
+
+ `It's a friend of mine--a Cheshire Cat,' said Alice: `allow me
+to introduce it.'
+
+ `I don't like the look of it at all,' said the King: `however,
+it may kiss my hand if it likes.'
+
+ `I'd rather not,' the Cat remarked.
+
+ `Don't be impertinent,' said the King, `and don't look at me
+like that!' He got behind Alice as he spoke.
+
+ `A cat may look at a king,' said Alice. `I've read that in
+some book, but I don't remember where.'
+
+ `Well, it must be removed,' said the King very decidedly, and
+he called the Queen, who was passing at the moment, `My dear! I
+wish you would have this cat removed!'
+
+ The Queen had only one way of settling all difficulties, great
+or small. `Off with his head!' she said, without even looking
+round.
+
+ `I'll fetch the executioner myself,' said the King eagerly, and
+he hurried off.
+
+ Alice thought she might as well go back, and see how the game
+was going on, as she heard the Queen's voice in the distance,
+screaming with passion. She had already heard her sentence three
+of the players to be executed for having missed their turns, and
+she did not like the look of things at all, as the game was in
+such confusion that she never knew whether it was her turn or
+not. So she went in search of her hedgehog.
+
+ The hedgehog was engaged in a fight with another hedgehog,
+which seemed to Alice an excellent opportunity for croqueting one
+of them with the other: the only difficulty was, that her
+flamingo was gone across to the other side of the garden, where
+Alice could see it trying in a helpless sort of way to fly up
+into a tree.
+
+ By the time she had caught the flamingo and brought it back,
+the fight was over, and both the hedgehogs were out of sight:
+`but it doesn't matter much,' thought Alice, `as all the arches
+are gone from this side of the ground.' So she tucked it away
+under her arm, that it might not escape again, and went back for
+a little more conversation with her friend.
+
+ When she got back to the Cheshire Cat, she was surprised to
+find quite a large crowd collected round it: there was a dispute
+going on between the executioner, the King, and the Queen, who
+were all talking at once, while all the rest were quite silent,
+and looked very uncomfortable.
+
+ The moment Alice appeared, she was appealed to by all three to
+settle the question, and they repeated their arguments to her,
+though, as they all spoke at once, she found it very hard indeed
+to make out exactly what they said.
+
+ The executioner's argument was, that you couldn't cut off a
+head unless there was a body to cut it off from: that he had
+never had to do such a thing before, and he wasn't going to begin
+at HIS time of life.
+
+ The King's argument was, that anything that had a head could be
+beheaded, and that you weren't to talk nonsense.
+
+ The Queen's argument was, that if something wasn't done about
+it in less than no time she'd have everybody executed, all round.
+(It was this last remark that had made the whole party look so
+grave and anxious.)
+
+ Alice could think of nothing else to say but `It belongs to the
+Duchess: you'd better ask HER about it.'
+
+ `She's in prison,' the Queen said to the executioner: `fetch
+her here.' And the executioner went off like an arrow.
+
+ The Cat's head began fading away the moment he was gone, and,
+by the time he had come back with the Dutchess, it had entirely
+disappeared; so the King and the executioner ran wildly up and
+down looking for it, while the rest of the party went back to the game.
+
+
+
+ CHAPTER IX
+
+ The Mock Turtle's Story
+
+
+ `You can't think how glad I am to see you again, you dear old
+thing!' said the Duchess, as she tucked her arm affectionately
+into Alice's, and they walked off together.
+
+ Alice was very glad to find her in such a pleasant temper, and
+thought to herself that perhaps it was only the pepper that had
+made her so savage when they met in the kitchen.
+
+ `When I'M a Duchess,' she said to herself, (not in a very
+hopeful tone though), `I won't have any pepper in my kitchen AT
+ALL. Soup does very well without--Maybe it's always pepper that
+makes people hot-tempered,' she went on, very much pleased at
+having found out a new kind of rule, `and vinegar that makes them
+sour--and camomile that makes them bitter--and--and barley-sugar
+and such things that make children sweet-tempered. I only wish
+people knew that: then they wouldn't be so stingy about it, you
+know--'
+
+ She had quite forgotten the Duchess by this time, and was a
+little startled when she heard her voice close to her ear.
+`You're thinking about something, my dear, and that makes you
+forget to talk. I can't tell you just now what the moral of that
+is, but I shall remember it in a bit.'
+
+ `Perhaps it hasn't one,' Alice ventured to remark.
+
+ `Tut, tut, child!' said the Duchess. `Everything's got a
+moral, if only you can find it.' And she squeezed herself up
+closer to Alice's side as she spoke.
+
+ Alice did not much like keeping so close to her: first,
+because the Duchess was VERY ugly; and secondly, because she was
+exactly the right height to rest her chin upon Alice's shoulder,
+and it was an uncomfortably sharp chin. However, she did not
+like to be rude, so she bore it as well as she could.
+
+ `The game's going on rather better now,' she said, by way of
+keeping up the conversation a little.
+
+ `'Tis so,' said the Duchess: `and the moral of that is--"Oh,
+'tis love, 'tis love, that makes the world go round!"'
+
+ `Somebody said,' Alice whispered, `that it's done by everybody
+minding their own business!'
+
+ `Ah, well! It means much the same thing,' said the Duchess,
+digging her sharp little chin into Alice's shoulder as she added,
+`and the moral of THAT is--"Take care of the sense, and the
+sounds will take care of themselves."'
+
+ `How fond she is of finding morals in things!' Alice thought to
+herself.
+
+ `I dare say you're wondering why I don't put my arm round your
+waist,' the Duchess said after a pause: `the reason is, that I'm
+doubtful about the temper of your flamingo. Shall I try the
+experiment?'
+
+ `HE might bite,' Alice cautiously replied, not feeling at all
+anxious to have the experiment tried.
+
+ `Very true,' said the Duchess: `flamingoes and mustard both
+bite. And the moral of that is--"Birds of a feather flock
+together."'
+
+ `Only mustard isn't a bird,' Alice remarked.
+
+ `Right, as usual,' said the Duchess: `what a clear way you
+have of putting things!'
+
+ `It's a mineral, I THINK,' said Alice.
+
+ `Of course it is,' said the Duchess, who seemed ready to agree
+to everything that Alice said; `there's a large mustard-mine near
+here. And the moral of that is--"The more there is of mine, the
+less there is of yours."'
+
+ `Oh, I know!' exclaimed Alice, who had not attended to this
+last remark, `it's a vegetable. It doesn't look like one, but it
+is.'
+
+ `I quite agree with you,' said the Duchess; `and the moral of
+that is--"Be what you would seem to be"--or if you'd like it put
+more simply--"Never imagine yourself not to be otherwise than
+what it might appear to others that what you were or might have
+been was not otherwise than what you had been would have appeared
+to them to be otherwise."'
+
+ `I think I should understand that better,' Alice said very
+politely, `if I had it written down: but I can't quite follow it
+as you say it.'
+
+ `That's nothing to what I could say if I chose,' the Duchess
+replied, in a pleased tone.
+
+ `Pray don't trouble yourself to say it any longer than that,'
+said Alice.
+
+ `Oh, don't talk about trouble!' said the Duchess. `I make you
+a present of everything I've said as yet.'
+
+ `A cheap sort of present!' thought Alice. `I'm glad they don't
+give birthday presents like that!' But she did not venture to
+say it out loud.
+
+ `Thinking again?' the Duchess asked, with another dig of her
+sharp little chin.
+
+ `I've a right to think,' said Alice sharply, for she was
+beginning to feel a little worried.
+
+ `Just about as much right,' said the Duchess, `as pigs have to
+fly; and the m--'
+
+ But here, to Alice's great surprise, the Duchess's voice died
+away, even in the middle of her favourite word `moral,' and the
+arm that was linked into hers began to tremble. Alice looked up,
+and there stood the Queen in front of them, with her arms folded,
+frowning like a thunderstorm.
+
+ `A fine day, your Majesty!' the Duchess began in a low, weak
+voice.
+
+ `Now, I give you fair warning,' shouted the Queen, stamping on
+the ground as she spoke; `either you or your head must be off,
+and that in about half no time! Take your choice!'
+
+ The Duchess took her choice, and was gone in a moment.
+
+ `Let's go on with the game,' the Queen said to Alice; and Alice
+was too much frightened to say a word, but slowly followed her
+back to the croquet-ground.
+
+ The other guests had taken advantage of the Queen's absence,
+and were resting in the shade: however, the moment they saw her,
+they hurried back to the game, the Queen merely remarking that a
+moment's delay would cost them their lives.
+
+ All the time they were playing the Queen never left off
+quarrelling with the other players, and shouting `Off with his
+head!' or `Off with her head!' Those whom she sentenced were
+taken into custody by the soldiers, who of course had to leave
+off being arches to do this, so that by the end of half an hour
+or so there were no arches left, and all the players, except the
+King, the Queen, and Alice, were in custody and under sentence of
+execution.
+
+ Then the Queen left off, quite out of breath, and said to
+Alice, `Have you seen the Mock Turtle yet?'
+
+ `No,' said Alice. `I don't even know what a Mock Turtle is.'
+
+ `It's the thing Mock Turtle Soup is made from,' said the Queen.
+
+ `I never saw one, or heard of one,' said Alice.
+
+ `Come on, then,' said the Queen, `and he shall tell you his
+history,'
+
+ As they walked off together, Alice heard the King say in a low
+voice, to the company generally, `You are all pardoned.' `Come,
+THAT'S a good thing!' she said to herself, for she had felt quite
+unhappy at the number of executions the Queen had ordered.
+
+ They very soon came upon a Gryphon, lying fast asleep in the
+sun. (IF you don't know what a Gryphon is, look at the picture.)
+`Up, lazy thing!' said the Queen, `and take this young lady to
+see the Mock Turtle, and to hear his history. I must go back and
+see after some executions I have ordered'; and she walked off,
+leaving Alice alone with the Gryphon. Alice did not quite like
+the look of the creature, but on the whole she thought it would
+be quite as safe to stay with it as to go after that savage
+Queen: so she waited.
+
+ The Gryphon sat up and rubbed its eyes: then it watched the
+Queen till she was out of sight: then it chuckled. `What fun!'
+said the Gryphon, half to itself, half to Alice.
+
+ `What IS the fun?' said Alice.
+
+ `Why, SHE,' said the Gryphon. `It's all her fancy, that: they
+never executes nobody, you know. Come on!'
+
+ `Everybody says "come on!" here,' thought Alice, as she went
+slowly after it: `I never was so ordered about in all my life,
+never!'
+
+ They had not gone far before they saw the Mock Turtle in the
+distance, sitting sad and lonely on a little ledge of rock, and,
+as they came nearer, Alice could hear him sighing as if his heart
+would break. She pitied him deeply. `What is his sorrow?' she
+asked the Gryphon, and the Gryphon answered, very nearly in the
+same words as before, `It's all his fancy, that: he hasn't got
+no sorrow, you know. Come on!'
+
+ So they went up to the Mock Turtle, who looked at them with
+large eyes full of tears, but said nothing.
+
+ `This here young lady,' said the Gryphon, `she wants for to
+know your history, she do.'
+
+ `I'll tell it her,' said the Mock Turtle in a deep, hollow
+tone: `sit down, both of you, and don't speak a word till I've
+finished.'
+
+ So they sat down, and nobody spoke for some minutes. Alice
+thought to herself, `I don't see how he can EVEN finish, if he
+doesn't begin.' But she waited patiently.
+
+ `Once,' said the Mock Turtle at last, with a deep sigh, `I was
+a real Turtle.'
+
+ These words were followed by a very long silence, broken only
+by an occasional exclamation of `Hjckrrh!' from the Gryphon, and
+the constant heavy sobbing of the Mock Turtle. Alice was very
+nearly getting up and saying, `Thank you, sir, for your
+interesting story,' but she could not help thinking there MUST be
+more to come, so she sat still and said nothing.
+
+ `When we were little,' the Mock Turtle went on at last, more
+calmly, though still sobbing a little now and then, `we went to
+school in the sea. The master was an old Turtle--we used to call
+him Tortoise--'
+
+ `Why did you call him Tortoise, if he wasn't one?' Alice asked.
+
+ `We called him Tortoise because he taught us,' said the Mock
+Turtle angrily: `really you are very dull!'
+
+ `You ought to be ashamed of yourself for asking such a simple
+question,' added the Gryphon; and then they both sat silent and
+looked at poor Alice, who felt ready to sink into the earth. At
+last the Gryphon said to the Mock Turtle, `Drive on, old fellow!
+Don't be all day about it!' and he went on in these words:
+
+ `Yes, we went to school in the sea, though you mayn't believe
+it--'
+
+ `I never said I didn't!' interrupted Alice.
+
+ `You did,' said the Mock Turtle.
+
+ `Hold your tongue!' added the Gryphon, before Alice could speak
+again. The Mock Turtle went on.
+
+ `We had the best of educations--in fact, we went to school
+every day--'
+
+ `I'VE been to a day-school, too,' said Alice; `you needn't be
+so proud as all that.'
+
+ `With extras?' asked the Mock Turtle a little anxiously.
+
+ `Yes,' said Alice, `we learned French and music.'
+
+ `And washing?' said the Mock Turtle.
+
+ `Certainly not!' said Alice indignantly.
+
+ `Ah! then yours wasn't a really good school,' said the Mock
+Turtle in a tone of great relief. `Now at OURS they had at the
+end of the bill, "French, music, AND WASHING--extra."'
+
+ `You couldn't have wanted it much,' said Alice; `living at the
+bottom of the sea.'
+
+ `I couldn't afford to learn it.' said the Mock Turtle with a
+sigh. `I only took the regular course.'
+
+ `What was that?' inquired Alice.
+
+ `Reeling and Writhing, of course, to begin with,' the Mock
+Turtle replied; `and then the different branches of Arithmetic--
+Ambition, Distraction, Uglification, and Derision.'
+
+ `I never heard of "Uglification,"' Alice ventured to say. `What
+is it?'
+
+ The Gryphon lifted up both its paws in surprise. `What! Never
+heard of uglifying!' it exclaimed. `You know what to beautify
+is, I suppose?'
+
+ `Yes,' said Alice doubtfully: `it means--to--make--anything--
+prettier.'
+
+ `Well, then,' the Gryphon went on, `if you don't know what to
+uglify is, you ARE a simpleton.'
+
+ Alice did not feel encouraged to ask any more questions about
+it, so she turned to the Mock Turtle, and said `What else had you
+to learn?'
+
+ `Well, there was Mystery,' the Mock Turtle replied, counting
+off the subjects on his flappers, `--Mystery, ancient and modern,
+with Seaography: then Drawling--the Drawling-master was an old
+conger-eel, that used to come once a week: HE taught us
+Drawling, Stretching, and Fainting in Coils.'
+
+ `What was THAT like?' said Alice.
+
+ `Well, I can't show it you myself,' the Mock Turtle said: `I'm
+too stiff. And the Gryphon never learnt it.'
+
+ `Hadn't time,' said the Gryphon: `I went to the Classics
+master, though. He was an old crab, HE was.'
+
+ `I never went to him,' the Mock Turtle said with a sigh: `he
+taught Laughing and Grief, they used to say.'
+
+ `So he did, so he did,' said the Gryphon, sighing in his turn;
+and both creatures hid their faces in their paws.
+
+ `And how many hours a day did you do lessons?' said Alice, in a
+hurry to change the subject.
+
+ `Ten hours the first day,' said the Mock Turtle: `nine the
+next, and so on.'
+
+ `What a curious plan!' exclaimed Alice.
+
+ `That's the reason they're called lessons,' the Gryphon
+remarked: `because they lessen from day to day.'
+
+ This was quite a new idea to Alice, and she thought it over a
+little before she made her next remark. `Then the eleventh day
+must have been a holiday?'
+
+ `Of course it was,' said the Mock Turtle.
+
+ `And how did you manage on the twelfth?' Alice went on eagerly.
+
+ `That's enough about lessons,' the Gryphon interrupted in a
+very decided tone: `tell her something about the games now.'
+
+
+
+ CHAPTER X
+
+ The Lobster Quadrille
+
+
+ The Mock Turtle sighed deeply, and drew the back of one flapper
+across his eyes. He looked at Alice, and tried to speak, but for
+a minute or two sobs choked his voice. `Same as if he had a bone
+in his throat,' said the Gryphon: and it set to work shaking him
+and punching him in the back. At last the Mock Turtle recovered
+his voice, and, with tears running down his cheeks, he went on
+again:--
+
+ `You may not have lived much under the sea--' (`I haven't,'
+said Alice)--`and perhaps you were never even introduced to a lobster--'
+(Alice began to say `I once tasted--' but checked herself hastily,
+and said `No, never') `--so you can have no idea what a delightful
+thing a Lobster Quadrille is!'
+
+ `No, indeed,' said Alice. `What sort of a dance is it?'
+
+ `Why,' said the Gryphon, `you first form into a line along the
+sea-shore--'
+
+ `Two lines!' cried the Mock Turtle. `Seals, turtles, salmon,
+and so on; then, when you've cleared all the jelly-fish out of
+the way--'
+
+ `THAT generally takes some time,' interrupted the Gryphon.
+
+ `--you advance twice--'
+
+ `Each with a lobster as a partner!' cried the Gryphon.
+
+ `Of course,' the Mock Turtle said: `advance twice, set to
+partners--'
+
+ `--change lobsters, and retire in same order,' continued the
+Gryphon.
+
+ `Then, you know,' the Mock Turtle went on, `you throw the--'
+
+ `The lobsters!' shouted the Gryphon, with a bound into the air.
+
+ `--as far out to sea as you can--'
+
+ `Swim after them!' screamed the Gryphon.
+
+ `Turn a somersault in the sea!' cried the Mock Turtle,
+capering wildly about.
+
+ `Back to land again, and that's all the first figure,' said the
+Mock Turtle, suddenly dropping his voice; and the two creatures,
+who had been jumping about like mad things all this time, sat
+down again very sadly and quietly, and looked at Alice.
+
+ `It must be a very pretty dance,' said Alice timidly.
+
+ `Would you like to see a little of it?' said the Mock Turtle.
+
+ `Very much indeed,' said Alice.
+
+ `Come, let's try the first figure!' said the Mock Turtle to the
+Gryphon. `We can do without lobsters, you know. Which shall
+sing?'
+
+ `Oh, YOU sing,' said the Gryphon. `I've forgotten the words.'
+
+ So they began solemnly dancing round and round Alice, every now
+and then treading on her toes when they passed too close, and
+waving their forepaws to mark the time, while the Mock Turtle
+sang this, very slowly and sadly:--
+
+
+`"Will you walk a little faster?" said a whiting to a snail.
+"There's a porpoise close behind us, and he's treading on my
+ tail.
+See how eagerly the lobsters and the turtles all advance!
+They are waiting on the shingle--will you come and join the
+dance?
+
+Will you, won't you, will you, won't you, will you join the
+dance?
+Will you, won't you, will you, won't you, won't you join the
+dance?
+
+
+"You can really have no notion how delightful it will be
+When they take us up and throw us, with the lobsters, out to
+ sea!"
+But the snail replied "Too far, too far!" and gave a look
+ askance--
+Said he thanked the whiting kindly, but he would not join the
+ dance.
+ Would not, could not, would not, could not, would not join
+ the dance.
+ Would not, could not, would not, could not, could not join
+ the dance.
+
+`"What matters it how far we go?" his scaly friend replied.
+"There is another shore, you know, upon the other side.
+The further off from England the nearer is to France--
+Then turn not pale, beloved snail, but come and join the dance.
+
+ Will you, won't you, will you, won't you, will you join the
+ dance?
+ Will you, won't you, will you, won't you, won't you join the
+ dance?"'
+
+
+
+ `Thank you, it's a very interesting dance to watch,' said
+Alice, feeling very glad that it was over at last: `and I do so
+like that curious song about the whiting!'
+
+ `Oh, as to the whiting,' said the Mock Turtle, `they--you've
+seen them, of course?'
+
+ `Yes,' said Alice, `I've often seen them at dinn--' she
+checked herself hastily.
+
+ `I don't know where Dinn may be,' said the Mock Turtle, `but
+if you've seen them so often, of course you know what they're
+like.'
+
+ `I believe so,' Alice replied thoughtfully. `They have their
+tails in their mouths--and they're all over crumbs.'
+
+ `You're wrong about the crumbs,' said the Mock Turtle:
+`crumbs would all wash off in the sea. But they HAVE their tails
+in their mouths; and the reason is--' here the Mock Turtle
+yawned and shut his eyes.--`Tell her about the reason and all
+that,' he said to the Gryphon.
+
+ `The reason is,' said the Gryphon, `that they WOULD go with
+the lobsters to the dance. So they got thrown out to sea. So
+they had to fall a long way. So they got their tails fast in
+their mouths. So they couldn't get them out again. That's all.'
+
+ `Thank you,' said Alice, `it's very interesting. I never knew
+so much about a whiting before.'
+
+ `I can tell you more than that, if you like,' said the
+Gryphon. `Do you know why it's called a whiting?'
+
+ `I never thought about it,' said Alice. `Why?'
+
+ `IT DOES THE BOOTS AND SHOES.' the Gryphon replied very
+solemnly.
+
+ Alice was thoroughly puzzled. `Does the boots and shoes!' she
+repeated in a wondering tone.
+
+ `Why, what are YOUR shoes done with?' said the Gryphon. `I
+mean, what makes them so shiny?'
+
+ Alice looked down at them, and considered a little before she
+gave her answer. `They're done with blacking, I believe.'
+
+ `Boots and shoes under the sea,' the Gryphon went on in a deep
+voice, `are done with a whiting. Now you know.'
+
+ `And what are they made of?' Alice asked in a tone of great
+curiosity.
+
+ `Soles and eels, of course,' the Gryphon replied rather
+impatiently: `any shrimp could have told you that.'
+
+ `If I'd been the whiting,' said Alice, whose thoughts were
+still running on the song, `I'd have said to the porpoise, "Keep
+back, please: we don't want YOU with us!"'
+
+ `They were obliged to have him with them,' the Mock Turtle
+said: `no wise fish would go anywhere without a porpoise.'
+
+ `Wouldn't it really?' said Alice in a tone of great surprise.
+
+ `Of course not,' said the Mock Turtle: `why, if a fish came
+to ME, and told me he was going a journey, I should say "With
+what porpoise?"'
+
+ `Don't you mean "purpose"?' said Alice.
+
+ `I mean what I say,' the Mock Turtle replied in an offended
+tone. And the Gryphon added `Come, let's hear some of YOUR
+adventures.'
+
+ `I could tell you my adventures--beginning from this morning,'
+said Alice a little timidly: `but it's no use going back to
+yesterday, because I was a different person then.'
+
+ `Explain all that,' said the Mock Turtle.
+
+ `No, no! The adventures first,' said the Gryphon in an
+impatient tone: `explanations take such a dreadful time.'
+
+ So Alice began telling them her adventures from the time when
+she first saw the White Rabbit. She was a little nervous about
+it just at first, the two creatures got so close to her, one on
+each side, and opened their eyes and mouths so VERY wide, but she
+gained courage as she went on. Her listeners were perfectly
+quiet till she got to the part about her repeating `YOU ARE OLD,
+FATHER WILLIAM,' to the Caterpillar, and the words all coming
+different, and then the Mock Turtle drew a long breath, and said
+`That's very curious.'
+
+ `It's all about as curious as it can be,' said the Gryphon.
+
+ `It all came different!' the Mock Turtle repeated
+thoughtfully. `I should like to hear her try and repeat
+something now. Tell her to begin.' He looked at the Gryphon as
+if he thought it had some kind of authority over Alice.
+
+ `Stand up and repeat "'TIS THE VOICE OF THE SLUGGARD,"' said
+the Gryphon.
+
+ `How the creatures order one about, and make one repeat
+lessons!' thought Alice; `I might as well be at school at once.'
+However, she got up, and began to repeat it, but her head was so
+full of the Lobster Quadrille, that she hardly knew what she was
+saying, and the words came very queer indeed:--
+
+ `'Tis the voice of the Lobster; I heard him declare,
+ "You have baked me too brown, I must sugar my hair."
+ As a duck with its eyelids, so he with his nose
+ Trims his belt and his buttons, and turns out his toes.'
+
+ [later editions continued as follows
+ When the sands are all dry, he is gay as a lark,
+ And will talk in contemptuous tones of the Shark,
+ But, when the tide rises and sharks are around,
+ His voice has a timid and tremulous sound.]
+
+ `That's different from what I used to say when I was a child,'
+said the Gryphon.
+
+ `Well, I never heard it before,' said the Mock Turtle; `but it
+sounds uncommon nonsense.'
+
+ Alice said nothing; she had sat down with her face in her
+hands, wondering if anything would EVER happen in a natural way
+again.
+
+ `I should like to have it explained,' said the Mock Turtle.
+
+ `She can't explain it,' said the Gryphon hastily. `Go on with
+the next verse.'
+
+ `But about his toes?' the Mock Turtle persisted. `How COULD
+he turn them out with his nose, you know?'
+
+ `It's the first position in dancing.' Alice said; but was
+dreadfully puzzled by the whole thing, and longed to change the
+subject.
+
+ `Go on with the next verse,' the Gryphon repeated impatiently:
+`it begins "I passed by his garden."'
+
+ Alice did not dare to disobey, though she felt sure it would
+all come wrong, and she went on in a trembling voice:--
+
+ `I passed by his garden, and marked, with one eye,
+ How the Owl and the Panther were sharing a pie--'
+
+ [later editions continued as follows
+ The Panther took pie-crust, and gravy, and meat,
+ While the Owl had the dish as its share of the treat.
+ When the pie was all finished, the Owl, as a boon,
+ Was kindly permitted to pocket the spoon:
+ While the Panther received knife and fork with a growl,
+ And concluded the banquet--]
+
+ `What IS the use of repeating all that stuff,' the Mock Turtle
+interrupted, `if you don't explain it as you go on? It's by far
+the most confusing thing I ever heard!'
+
+ `Yes, I think you'd better leave off,' said the Gryphon: and
+Alice was only too glad to do so.
+
+ `Shall we try another figure of the Lobster Quadrille?' the
+Gryphon went on. `Or would you like the Mock Turtle to sing you
+a song?'
+
+ `Oh, a song, please, if the Mock Turtle would be so kind,'
+Alice replied, so eagerly that the Gryphon said, in a rather
+offended tone, `Hm! No accounting for tastes! Sing her "Turtle
+Soup," will you, old fellow?'
+
+ The Mock Turtle sighed deeply, and began, in a voice sometimes
+choked with sobs, to sing this:--
+
+
+ `Beautiful Soup, so rich and green,
+ Waiting in a hot tureen!
+ Who for such dainties would not stoop?
+ Soup of the evening, beautiful Soup!
+ Soup of the evening, beautiful Soup!
+ Beau--ootiful Soo--oop!
+ Beau--ootiful Soo--oop!
+ Soo--oop of the e--e--evening,
+ Beautiful, beautiful Soup!
+
+ `Beautiful Soup! Who cares for fish,
+ Game, or any other dish?
+ Who would not give all else for two p
+ ennyworth only of beautiful Soup?
+ Pennyworth only of beautiful Soup?
+ Beau--ootiful Soo--oop!
+ Beau--ootiful Soo--oop!
+ Soo--oop of the e--e--evening,
+ Beautiful, beauti--FUL SOUP!'
+
+ `Chorus again!' cried the Gryphon, and the Mock Turtle had
+just begun to repeat it, when a cry of `The trial's beginning!'
+was heard in the distance.
+
+ `Come on!' cried the Gryphon, and, taking Alice by the hand,
+it hurried off, without waiting for the end of the song.
+
+ `What trial is it?' Alice panted as she ran; but the Gryphon
+only answered `Come on!' and ran the faster, while more and more
+faintly came, carried on the breeze that followed them, the
+melancholy words:--
+
+ `Soo--oop of the e--e--evening,
+ Beautiful, beautiful Soup!'
+
+
+
+ CHAPTER XI
+
+ Who Stole the Tarts?
+
+
+ The King and Queen of Hearts were seated on their throne when
+they arrived, with a great crowd assembled about them--all sorts
+of little birds and beasts, as well as the whole pack of cards:
+the Knave was standing before them, in chains, with a soldier on
+each side to guard him; and near the King was the White Rabbit,
+with a trumpet in one hand, and a scroll of parchment in the
+other. In the very middle of the court was a table, with a large
+dish of tarts upon it: they looked so good, that it made Alice
+quite hungry to look at them--`I wish they'd get the trial done,'
+she thought, `and hand round the refreshments!' But there seemed
+to be no chance of this, so she began looking at everything about
+her, to pass away the time.
+
+ Alice had never been in a court of justice before, but she had
+read about them in books, and she was quite pleased to find that
+she knew the name of nearly everything there. `That's the
+judge,' she said to herself, `because of his great wig.'
+
+ The judge, by the way, was the King; and as he wore his crown
+over the wig, (look at the frontispiece if you want to see how he
+did it,) he did not look at all comfortable, and it was certainly
+not becoming.
+
+ `And that's the jury-box,' thought Alice, `and those twelve
+creatures,' (she was obliged to say `creatures,' you see, because
+some of them were animals, and some were birds,) `I suppose they
+are the jurors.' She said this last word two or three times over
+to herself, being rather proud of it: for she thought, and
+rightly too, that very few little girls of her age knew the
+meaning of it at all. However, `jury-men' would have done just
+as well.
+
+ The twelve jurors were all writing very busily on slates.
+`What are they doing?' Alice whispered to the Gryphon. `They
+can't have anything to put down yet, before the trial's begun.'
+
+ `They're putting down their names,' the Gryphon whispered in
+reply, `for fear they should forget them before the end of the
+trial.'
+
+ `Stupid things!' Alice began in a loud, indignant voice, but
+she stopped hastily, for the White Rabbit cried out, `Silence in
+the court!' and the King put on his spectacles and looked
+anxiously round, to make out who was talking.
+
+ Alice could see, as well as if she were looking over their
+shoulders, that all the jurors were writing down `stupid things!'
+on their slates, and she could even make out that one of them
+didn't know how to spell `stupid,' and that he had to ask his
+neighbour to tell him. `A nice muddle their slates'll be in
+before the trial's over!' thought Alice.
+
+ One of the jurors had a pencil that squeaked. This of course,
+Alice could not stand, and she went round the court and got
+behind him, and very soon found an opportunity of taking it
+away. She did it so quickly that the poor little juror (it was
+Bill, the Lizard) could not make out at all what had become of
+it; so, after hunting all about for it, he was obliged to write
+with one finger for the rest of the day; and this was of very
+little use, as it left no mark on the slate.
+
+ `Herald, read the accusation!' said the King.
+
+ On this the White Rabbit blew three blasts on the trumpet, and
+then unrolled the parchment scroll, and read as follows:--
+
+ `The Queen of Hearts, she made some tarts,
+ All on a summer day:
+ The Knave of Hearts, he stole those tarts,
+ And took them quite away!'
+
+ `Consider your verdict,' the King said to the jury.
+
+ `Not yet, not yet!' the Rabbit hastily interrupted. `There's
+a great deal to come before that!'
+
+ `Call the first witness,' said the King; and the White Rabbit
+blew three blasts on the trumpet, and called out, `First
+witness!'
+
+ The first witness was the Hatter. He came in with a teacup in
+one hand and a piece of bread-and-butter in the other. `I beg
+pardon, your Majesty,' he began, `for bringing these in: but I
+hadn't quite finished my tea when I was sent for.'
+
+ `You ought to have finished,' said the King. `When did you
+begin?'
+
+ The Hatter looked at the March Hare, who had followed him into
+the court, arm-in-arm with the Dormouse. `Fourteenth of March, I
+think it was,' he said.
+
+ `Fifteenth,' said the March Hare.
+
+ `Sixteenth,' added the Dormouse.
+
+ `Write that down,' the King said to the jury, and the jury
+eagerly wrote down all three dates on their slates, and then
+added them up, and reduced the answer to shillings and pence.
+
+ `Take off your hat,' the King said to the Hatter.
+
+ `It isn't mine,' said the Hatter.
+
+ `Stolen!' the King exclaimed, turning to the jury, who
+instantly made a memorandum of the fact.
+
+ `I keep them to sell,' the Hatter added as an explanation;
+`I've none of my own. I'm a hatter.'
+
+ Here the Queen put on her spectacles, and began staring at the
+Hatter, who turned pale and fidgeted.
+
+ `Give your evidence,' said the King; `and don't be nervous, or
+I'll have you executed on the spot.'
+
+ This did not seem to encourage the witness at all: he kept
+shifting from one foot to the other, looking uneasily at the
+Queen, and in his confusion he bit a large piece out of his
+teacup instead of the bread-and-butter.
+
+ Just at this moment Alice felt a very curious sensation, which
+puzzled her a good deal until she made out what it was: she was
+beginning to grow larger again, and she thought at first she
+would get up and leave the court; but on second thoughts she
+decided to remain where she was as long as there was room for
+her.
+
+ `I wish you wouldn't squeeze so.' said the Dormouse, who was
+sitting next to her. `I can hardly breathe.'
+
+ `I can't help it,' said Alice very meekly: `I'm growing.'
+
+ `You've no right to grow here,' said the Dormouse.
+
+ `Don't talk nonsense,' said Alice more boldly: `you know
+you're growing too.'
+
+ `Yes, but I grow at a reasonable pace,' said the Dormouse:
+`not in that ridiculous fashion.' And he got up very sulkily
+and crossed over to the other side of the court.
+
+ All this time the Queen had never left off staring at the
+Hatter, and, just as the Dormouse crossed the court, she said to
+one of the officers of the court, `Bring me the list of the
+singers in the last concert!' on which the wretched Hatter
+trembled so, that he shook both his shoes off.
+
+ `Give your evidence,' the King repeated angrily, `or I'll have
+you executed, whether you're nervous or not.'
+
+ `I'm a poor man, your Majesty,' the Hatter began, in a
+trembling voice, `--and I hadn't begun my tea--not above a week
+or so--and what with the bread-and-butter getting so thin--and
+the twinkling of the tea--'
+
+ `The twinkling of the what?' said the King.
+
+ `It began with the tea,' the Hatter replied.
+
+ `Of course twinkling begins with a T!' said the King sharply.
+`Do you take me for a dunce? Go on!'
+
+ `I'm a poor man,' the Hatter went on, `and most things
+twinkled after that--only the March Hare said--'
+
+ `I didn't!' the March Hare interrupted in a great hurry.
+
+ `You did!' said the Hatter.
+
+ `I deny it!' said the March Hare.
+
+ `He denies it,' said the King: `leave out that part.'
+
+ `Well, at any rate, the Dormouse said--' the Hatter went on,
+looking anxiously round to see if he would deny it too: but the
+Dormouse denied nothing, being fast asleep.
+
+ `After that,' continued the Hatter, `I cut some more bread-
+and-butter--'
+
+ `But what did the Dormouse say?' one of the jury asked.
+
+ `That I can't remember,' said the Hatter.
+
+ `You MUST remember,' remarked the King, `or I'll have you
+executed.'
+
+ The miserable Hatter dropped his teacup and bread-and-butter,
+and went down on one knee. `I'm a poor man, your Majesty,' he
+began.
+
+ `You're a very poor speaker,' said the King.
+
+ Here one of the guinea-pigs cheered, and was immediately
+suppressed by the officers of the court. (As that is rather a
+hard word, I will just explain to you how it was done. They had
+a large canvas bag, which tied up at the mouth with strings:
+into this they slipped the guinea-pig, head first, and then sat
+upon it.)
+
+ `I'm glad I've seen that done,' thought Alice. `I've so often
+read in the newspapers, at the end of trials, "There was some
+attempts at applause, which was immediately suppressed by the
+officers of the court," and I never understood what it meant
+till now.'
+
+ `If that's all you know about it, you may stand down,'
+continued the King.
+
+ `I can't go no lower,' said the Hatter: `I'm on the floor, as
+it is.'
+
+ `Then you may SIT down,' the King replied.
+
+ Here the other guinea-pig cheered, and was suppressed.
+
+ `Come, that finished the guinea-pigs!' thought Alice. `Now we
+shall get on better.'
+
+ `I'd rather finish my tea,' said the Hatter, with an anxious
+look at the Queen, who was reading the list of singers.
+
+ `You may go,' said the King, and the Hatter hurriedly left the
+court, without even waiting to put his shoes on.
+
+ `--and just take his head off outside,' the Queen added to one
+of the officers: but the Hatter was out of sight before the
+officer could get to the door.
+
+ `Call the next witness!' said the King.
+
+ The next witness was the Duchess's cook. She carried the
+pepper-box in her hand, and Alice guessed who it was, even before
+she got into the court, by the way the people near the door began
+sneezing all at once.
+
+ `Give your evidence,' said the King.
+
+ `Shan't,' said the cook.
+
+ The King looked anxiously at the White Rabbit, who said in a
+low voice, `Your Majesty must cross-examine THIS witness.'
+
+ `Well, if I must, I must,' the King said, with a melancholy
+air, and, after folding his arms and frowning at the cook till
+his eyes were nearly out of sight, he said in a deep voice, `What
+are tarts made of?'
+
+ `Pepper, mostly,' said the cook.
+
+ `Treacle,' said a sleepy voice behind her.
+
+ `Collar that Dormouse,' the Queen shrieked out. `Behead that
+Dormouse! Turn that Dormouse out of court! Suppress him! Pinch
+him! Off with his whiskers!'
+
+ For some minutes the whole court was in confusion, getting the
+Dormouse turned out, and, by the time they had settled down
+again, the cook had disappeared.
+
+ `Never mind!' said the King, with an air of great relief.
+`Call the next witness.' And he added in an undertone to the
+Queen, `Really, my dear, YOU must cross-examine the next witness.
+It quite makes my forehead ache!'
+
+ Alice watched the White Rabbit as he fumbled over the list,
+feeling very curious to see what the next witness would be like,
+`--for they haven't got much evidence YET,' she said to herself.
+Imagine her surprise, when the White Rabbit read out, at the top
+of his shrill little voice, the name `Alice!'
+
+
+
+ CHAPTER XII
+
+ Alice's Evidence
+
+
+ `Here!' cried Alice, quite forgetting in the flurry of the
+moment how large she had grown in the last few minutes, and she
+jumped up in such a hurry that she tipped over the jury-box with
+the edge of her skirt, upsetting all the jurymen on to the heads
+of the crowd below, and there they lay sprawling about, reminding
+her very much of a globe of goldfish she had accidentally upset
+the week before.
+
+ `Oh, I BEG your pardon!' she exclaimed in a tone of great
+dismay, and began picking them up again as quickly as she could,
+for the accident of the goldfish kept running in her head, and
+she had a vague sort of idea that they must be collected at once
+and put back into the jury-box, or they would die.
+
+ `The trial cannot proceed,' said the King in a very grave
+voice, `until all the jurymen are back in their proper places--
+ALL,' he repeated with great emphasis, looking hard at Alice as
+he said do.
+
+ Alice looked at the jury-box, and saw that, in her haste, she
+had put the Lizard in head downwards, and the poor little thing
+was waving its tail about in a melancholy way, being quite unable
+to move. She soon got it out again, and put it right; `not that
+it signifies much,' she said to herself; `I should think it
+would be QUITE as much use in the trial one way up as the other.'
+
+ As soon as the jury had a little recovered from the shock of
+being upset, and their slates and pencils had been found and
+handed back to them, they set to work very diligently to write
+out a history of the accident, all except the Lizard, who seemed
+too much overcome to do anything but sit with its mouth open,
+gazing up into the roof of the court.
+
+ `What do you know about this business?' the King said to
+Alice.
+
+ `Nothing,' said Alice.
+
+ `Nothing WHATEVER?' persisted the King.
+
+ `Nothing whatever,' said Alice.
+
+ `That's very important,' the King said, turning to the jury.
+They were just beginning to write this down on their slates, when
+the White Rabbit interrupted: `UNimportant, your Majesty means,
+of course,' he said in a very respectful tone, but frowning and
+making faces at him as he spoke.
+
+ `UNimportant, of course, I meant,' the King hastily said, and
+went on to himself in an undertone, `important--unimportant--
+unimportant--important--' as if he were trying which word
+sounded best.
+
+ Some of the jury wrote it down `important,' and some
+`unimportant.' Alice could see this, as she was near enough to
+look over their slates; `but it doesn't matter a bit,' she
+thought to herself.
+
+ At this moment the King, who had been for some time busily
+writing in his note-book, cackled out `Silence!' and read out
+from his book, `Rule Forty-two. ALL PERSONS MORE THAN A MILE
+HIGH TO LEAVE THE COURT.'
+
+ Everybody looked at Alice.
+
+ `I'M not a mile high,' said Alice.
+
+ `You are,' said the King.
+
+ `Nearly two miles high,' added the Queen.
+
+ `Well, I shan't go, at any rate,' said Alice: `besides,
+that's not a regular rule: you invented it just now.'
+
+ `It's the oldest rule in the book,' said the King.
+
+ `Then it ought to be Number One,' said Alice.
+
+ The King turned pale, and shut his note-book hastily.
+`Consider your verdict,' he said to the jury, in a low, trembling
+voice.
+
+ `There's more evidence to come yet, please your Majesty,' said
+the White Rabbit, jumping up in a great hurry; `this paper has
+just been picked up.'
+
+ `What's in it?' said the Queen.
+
+ `I haven't opened it yet,' said the White Rabbit, `but it seems
+to be a letter, written by the prisoner to--to somebody.'
+
+ `It must have been that,' said the King, `unless it was
+written to nobody, which isn't usual, you know.'
+
+ `Who is it directed to?' said one of the jurymen.
+
+ `It isn't directed at all,' said the White Rabbit; `in fact,
+there's nothing written on the OUTSIDE.' He unfolded the paper
+as he spoke, and added `It isn't a letter, after all: it's a set
+of verses.'
+
+ `Are they in the prisoner's handwriting?' asked another of
+they jurymen.
+
+ `No, they're not,' said the White Rabbit, `and that's the
+queerest thing about it.' (The jury all looked puzzled.)
+
+ `He must have imitated somebody else's hand,' said the King.
+(The jury all brightened up again.)
+
+ `Please your Majesty,' said the Knave, `I didn't write it, and
+they can't prove I did: there's no name signed at the end.'
+
+ `If you didn't sign it,' said the King, `that only makes the
+matter worse. You MUST have meant some mischief, or else you'd
+have signed your name like an honest man.'
+
+ There was a general clapping of hands at this: it was the
+first really clever thing the King had said that day.
+
+ `That PROVES his guilt,' said the Queen.
+
+ `It proves nothing of the sort!' said Alice. `Why, you don't
+even know what they're about!'
+
+ `Read them,' said the King.
+
+ The White Rabbit put on his spectacles. `Where shall I begin,
+please your Majesty?' he asked.
+
+ `Begin at the beginning,' the King said gravely, `and go on
+till you come to the end: then stop.'
+
+ These were the verses the White Rabbit read:--
+
+ `They told me you had been to her,
+ And mentioned me to him:
+ She gave me a good character,
+ But said I could not swim.
+
+ He sent them word I had not gone
+ (We know it to be true):
+ If she should push the matter on,
+ What would become of you?
+
+ I gave her one, they gave him two,
+ You gave us three or more;
+ They all returned from him to you,
+ Though they were mine before.
+
+ If I or she should chance to be
+ Involved in this affair,
+ He trusts to you to set them free,
+ Exactly as we were.
+
+ My notion was that you had been
+ (Before she had this fit)
+ An obstacle that came between
+ Him, and ourselves, and it.
+
+ Don't let him know she liked them best,
+ For this must ever be
+ A secret, kept from all the rest,
+ Between yourself and me.'
+
+ `That's the most important piece of evidence we've heard yet,'
+said the King, rubbing his hands; `so now let the jury--'
+
+ `If any one of them can explain it,' said Alice, (she had
+grown so large in the last few minutes that she wasn't a bit
+afraid of interrupting him,) `I'll give him sixpence. _I_ don't
+believe there's an atom of meaning in it.'
+
+ The jury all wrote down on their slates, `SHE doesn't believe
+there's an atom of meaning in it,' but none of them attempted to
+explain the paper.
+
+ `If there's no meaning in it,' said the King, `that saves a
+world of trouble, you know, as we needn't try to find any. And
+yet I don't know,' he went on, spreading out the verses on his
+knee, and looking at them with one eye; `I seem to see some
+meaning in them, after all. "--SAID I COULD NOT SWIM--" you
+can't swim, can you?' he added, turning to the Knave.
+
+ The Knave shook his head sadly. `Do I look like it?' he said.
+(Which he certainly did NOT, being made entirely of cardboard.)
+
+ `All right, so far,' said the King, and he went on muttering
+over the verses to himself: `"WE KNOW IT TO BE TRUE--" that's
+the jury, of course-- "I GAVE HER ONE, THEY GAVE HIM TWO--" why,
+that must be what he did with the tarts, you know--'
+
+ `But, it goes on "THEY ALL RETURNED FROM HIM TO YOU,"' said
+Alice.
+
+ `Why, there they are!' said the King triumphantly, pointing to
+the tarts on the table. `Nothing can be clearer than THAT.
+Then again--"BEFORE SHE HAD THIS FIT--" you never had fits, my
+dear, I think?' he said to the Queen.
+
+ `Never!' said the Queen furiously, throwing an inkstand at the
+Lizard as she spoke. (The unfortunate little Bill had left off
+writing on his slate with one finger, as he found it made no
+mark; but he now hastily began again, using the ink, that was
+trickling down his face, as long as it lasted.)
+
+ `Then the words don't FIT you,' said the King, looking round
+the court with a smile. There was a dead silence.
+
+ `It's a pun!' the King added in an offended tone, and
+everybody laughed, `Let the jury consider their verdict,' the
+King said, for about the twentieth time that day.
+
+ `No, no!' said the Queen. `Sentence first--verdict afterwards.'
+
+ `Stuff and nonsense!' said Alice loudly. `The idea of having
+the sentence first!'
+
+ `Hold your tongue!' said the Queen, turning purple.
+
+ `I won't!' said Alice.
+
+ `Off with her head!' the Queen shouted at the top of her voice.
+Nobody moved.
+
+ `Who cares for you?' said Alice, (she had grown to her full
+size by this time.) `You're nothing but a pack of cards!'
+
+ At this the whole pack rose up into the air, and came flying
+down upon her: she gave a little scream, half of fright and half
+of anger, and tried to beat them off, and found herself lying on
+the bank, with her head in the lap of her sister, who was gently
+brushing away some dead leaves that had fluttered down from the
+trees upon her face.
+
+ `Wake up, Alice dear!' said her sister; `Why, what a long
+sleep you've had!'
+
+ `Oh, I've had such a curious dream!' said Alice, and she told
+her sister, as well as she could remember them, all these strange
+Adventures of hers that you have just been reading about; and
+when she had finished, her sister kissed her, and said, `It WAS a
+curious dream, dear, certainly: but now run in to your tea; it's
+getting late.' So Alice got up and ran off, thinking while she
+ran, as well she might, what a wonderful dream it had been.
+
+ But her sister sat still just as she left her, leaning her
+head on her hand, watching the setting sun, and thinking of
+little Alice and all her wonderful Adventures, till she too began
+dreaming after a fashion, and this was her dream:--
+
+ First, she dreamed of little Alice herself, and once again the
+tiny hands were clasped upon her knee, and the bright eager eyes
+were looking up into hers--she could hear the very tones of her
+voice, and see that queer little toss of her head to keep back
+the wandering hair that WOULD always get into her eyes--and
+still as she listened, or seemed to listen, the whole place
+around her became alive the strange creatures of her little
+sister's dream.
+
+ The long grass rustled at her feet as the White Rabbit hurried
+by--the frightened Mouse splashed his way through the
+neighbouring pool--she could hear the rattle of the teacups as
+the March Hare and his friends shared their never-ending meal,
+and the shrill voice of the Queen ordering off her unfortunate
+guests to execution--once more the pig-baby was sneezing on the
+Duchess's knee, while plates and dishes crashed around it--once
+more the shriek of the Gryphon, the squeaking of the Lizard's
+slate-pencil, and the choking of the suppressed guinea-pigs,
+filled the air, mixed up with the distant sobs of the miserable
+Mock Turtle.
+
+ So she sat on, with closed eyes, and half believed herself in
+Wonderland, though she knew she had but to open them again, and
+all would change to dull reality--the grass would be only
+rustling in the wind, and the pool rippling to the waving of the
+reeds--the rattling teacups would change to tinkling sheep-
+bells, and the Queen's shrill cries to the voice of the shepherd
+boy--and the sneeze of the baby, the shriek of the Gryphon, and
+all thy other queer noises, would change (she knew) to the
+confused clamour of the busy farm-yard--while the lowing of the
+cattle in the distance would take the place of the Mock Turtle's
+heavy sobs.
+
+ Lastly, she pictured to herself how this same little sister of
+hers would, in the after-time, be herself a grown woman; and how
+she would keep, through all her riper years, the simple and
+loving heart of her childhood: and how she would gather about
+her other little children, and make THEIR eyes bright and eager
+with many a strange tale, perhaps even with the dream of
+Wonderland of long ago: and how she would feel with all their
+simple sorrows, and find a pleasure in all their simple joys,
+remembering her own child-life, and the happy summer days.
+
+ THE END
+ \ No newline at end of file
diff --git a/snappy-1.1.0/testdata/asyoulik.txt b/snappy-1.1.0/testdata/asyoulik.txt
new file mode 100644
index 0000000..88dc7b6
--- /dev/null
+++ b/snappy-1.1.0/testdata/asyoulik.txt
@@ -0,0 +1,4122 @@
+ AS YOU LIKE IT
+
+
+ DRAMATIS PERSONAE
+
+
+DUKE SENIOR living in banishment.
+
+DUKE FREDERICK his brother, an usurper of his dominions.
+
+
+AMIENS |
+ | lords attending on the banished duke.
+JAQUES |
+
+
+LE BEAU a courtier attending upon Frederick.
+
+CHARLES wrestler to Frederick.
+
+
+OLIVER |
+ |
+JAQUES (JAQUES DE BOYS:) | sons of Sir Rowland de Boys.
+ |
+ORLANDO |
+
+
+ADAM |
+ | servants to Oliver.
+DENNIS |
+
+
+TOUCHSTONE a clown.
+
+SIR OLIVER MARTEXT a vicar.
+
+
+CORIN |
+ | shepherds.
+SILVIUS |
+
+
+WILLIAM a country fellow in love with Audrey.
+
+ A person representing HYMEN. (HYMEN:)
+
+ROSALIND daughter to the banished duke.
+
+CELIA daughter to Frederick.
+
+PHEBE a shepherdess.
+
+AUDREY a country wench.
+
+ Lords, pages, and attendants, &c.
+ (Forester:)
+ (A Lord:)
+ (First Lord:)
+ (Second Lord:)
+ (First Page:)
+ (Second Page:)
+
+
+SCENE Oliver's house; Duke Frederick's court; and the
+ Forest of Arden.
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT I
+
+
+
+SCENE I Orchard of Oliver's house.
+
+
+ [Enter ORLANDO and ADAM]
+
+ORLANDO As I remember, Adam, it was upon this fashion
+ bequeathed me by will but poor a thousand crowns,
+ and, as thou sayest, charged my brother, on his
+ blessing, to breed me well: and there begins my
+ sadness. My brother Jaques he keeps at school, and
+ report speaks goldenly of his profit: for my part,
+ he keeps me rustically at home, or, to speak more
+ properly, stays me here at home unkept; for call you
+ that keeping for a gentleman of my birth, that
+ differs not from the stalling of an ox? His horses
+ are bred better; for, besides that they are fair
+ with their feeding, they are taught their manage,
+ and to that end riders dearly hired: but I, his
+ brother, gain nothing under him but growth; for the
+ which his animals on his dunghills are as much
+ bound to him as I. Besides this nothing that he so
+ plentifully gives me, the something that nature gave
+ me his countenance seems to take from me: he lets
+ me feed with his hinds, bars me the place of a
+ brother, and, as much as in him lies, mines my
+ gentility with my education. This is it, Adam, that
+ grieves me; and the spirit of my father, which I
+ think is within me, begins to mutiny against this
+ servitude: I will no longer endure it, though yet I
+ know no wise remedy how to avoid it.
+
+ADAM Yonder comes my master, your brother.
+
+ORLANDO Go apart, Adam, and thou shalt hear how he will
+ shake me up.
+
+ [Enter OLIVER]
+
+OLIVER Now, sir! what make you here?
+
+ORLANDO Nothing: I am not taught to make any thing.
+
+OLIVER What mar you then, sir?
+
+ORLANDO Marry, sir, I am helping you to mar that which God
+ made, a poor unworthy brother of yours, with idleness.
+
+OLIVER Marry, sir, be better employed, and be naught awhile.
+
+ORLANDO Shall I keep your hogs and eat husks with them?
+ What prodigal portion have I spent, that I should
+ come to such penury?
+
+OLIVER Know you where your are, sir?
+
+ORLANDO O, sir, very well; here in your orchard.
+
+OLIVER Know you before whom, sir?
+
+ORLANDO Ay, better than him I am before knows me. I know
+ you are my eldest brother; and, in the gentle
+ condition of blood, you should so know me. The
+ courtesy of nations allows you my better, in that
+ you are the first-born; but the same tradition
+ takes not away my blood, were there twenty brothers
+ betwixt us: I have as much of my father in me as
+ you; albeit, I confess, your coming before me is
+ nearer to his reverence.
+
+OLIVER What, boy!
+
+ORLANDO Come, come, elder brother, you are too young in this.
+
+OLIVER Wilt thou lay hands on me, villain?
+
+ORLANDO I am no villain; I am the youngest son of Sir
+ Rowland de Boys; he was my father, and he is thrice
+ a villain that says such a father begot villains.
+ Wert thou not my brother, I would not take this hand
+ from thy throat till this other had pulled out thy
+ tongue for saying so: thou hast railed on thyself.
+
+ADAM Sweet masters, be patient: for your father's
+ remembrance, be at accord.
+
+OLIVER Let me go, I say.
+
+ORLANDO I will not, till I please: you shall hear me. My
+ father charged you in his will to give me good
+ education: you have trained me like a peasant,
+ obscuring and hiding from me all gentleman-like
+ qualities. The spirit of my father grows strong in
+ me, and I will no longer endure it: therefore allow
+ me such exercises as may become a gentleman, or
+ give me the poor allottery my father left me by
+ testament; with that I will go buy my fortunes.
+
+OLIVER And what wilt thou do? beg, when that is spent?
+ Well, sir, get you in: I will not long be troubled
+ with you; you shall have some part of your will: I
+ pray you, leave me.
+
+ORLANDO I will no further offend you than becomes me for my good.
+
+OLIVER Get you with him, you old dog.
+
+ADAM Is 'old dog' my reward? Most true, I have lost my
+ teeth in your service. God be with my old master!
+ he would not have spoke such a word.
+
+ [Exeunt ORLANDO and ADAM]
+
+OLIVER Is it even so? begin you to grow upon me? I will
+ physic your rankness, and yet give no thousand
+ crowns neither. Holla, Dennis!
+
+ [Enter DENNIS]
+
+DENNIS Calls your worship?
+
+OLIVER Was not Charles, the duke's wrestler, here to speak with me?
+
+DENNIS So please you, he is here at the door and importunes
+ access to you.
+
+OLIVER Call him in.
+
+ [Exit DENNIS]
+
+ 'Twill be a good way; and to-morrow the wrestling is.
+
+ [Enter CHARLES]
+
+CHARLES Good morrow to your worship.
+
+OLIVER Good Monsieur Charles, what's the new news at the
+ new court?
+
+CHARLES There's no news at the court, sir, but the old news:
+ that is, the old duke is banished by his younger
+ brother the new duke; and three or four loving lords
+ have put themselves into voluntary exile with him,
+ whose lands and revenues enrich the new duke;
+ therefore he gives them good leave to wander.
+
+OLIVER Can you tell if Rosalind, the duke's daughter, be
+ banished with her father?
+
+CHARLES O, no; for the duke's daughter, her cousin, so loves
+ her, being ever from their cradles bred together,
+ that she would have followed her exile, or have died
+ to stay behind her. She is at the court, and no
+ less beloved of her uncle than his own daughter; and
+ never two ladies loved as they do.
+
+OLIVER Where will the old duke live?
+
+CHARLES They say he is already in the forest of Arden, and
+ a many merry men with him; and there they live like
+ the old Robin Hood of England: they say many young
+ gentlemen flock to him every day, and fleet the time
+ carelessly, as they did in the golden world.
+
+OLIVER What, you wrestle to-morrow before the new duke?
+
+CHARLES Marry, do I, sir; and I came to acquaint you with a
+ matter. I am given, sir, secretly to understand
+ that your younger brother Orlando hath a disposition
+ to come in disguised against me to try a fall.
+ To-morrow, sir, I wrestle for my credit; and he that
+ escapes me without some broken limb shall acquit him
+ well. Your brother is but young and tender; and,
+ for your love, I would be loath to foil him, as I
+ must, for my own honour, if he come in: therefore,
+ out of my love to you, I came hither to acquaint you
+ withal, that either you might stay him from his
+ intendment or brook such disgrace well as he shall
+ run into, in that it is a thing of his own search
+ and altogether against my will.
+
+OLIVER Charles, I thank thee for thy love to me, which
+ thou shalt find I will most kindly requite. I had
+ myself notice of my brother's purpose herein and
+ have by underhand means laboured to dissuade him from
+ it, but he is resolute. I'll tell thee, Charles:
+ it is the stubbornest young fellow of France, full
+ of ambition, an envious emulator of every man's
+ good parts, a secret and villanous contriver against
+ me his natural brother: therefore use thy
+ discretion; I had as lief thou didst break his neck
+ as his finger. And thou wert best look to't; for if
+ thou dost him any slight disgrace or if he do not
+ mightily grace himself on thee, he will practise
+ against thee by poison, entrap thee by some
+ treacherous device and never leave thee till he
+ hath ta'en thy life by some indirect means or other;
+ for, I assure thee, and almost with tears I speak
+ it, there is not one so young and so villanous this
+ day living. I speak but brotherly of him; but
+ should I anatomize him to thee as he is, I must
+ blush and weep and thou must look pale and wonder.
+
+CHARLES I am heartily glad I came hither to you. If he come
+ to-morrow, I'll give him his payment: if ever he go
+ alone again, I'll never wrestle for prize more: and
+ so God keep your worship!
+
+OLIVER Farewell, good Charles.
+
+ [Exit CHARLES]
+
+ Now will I stir this gamester: I hope I shall see
+ an end of him; for my soul, yet I know not why,
+ hates nothing more than he. Yet he's gentle, never
+ schooled and yet learned, full of noble device, of
+ all sorts enchantingly beloved, and indeed so much
+ in the heart of the world, and especially of my own
+ people, who best know him, that I am altogether
+ misprised: but it shall not be so long; this
+ wrestler shall clear all: nothing remains but that
+ I kindle the boy thither; which now I'll go about.
+
+ [Exit]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT I
+
+
+
+SCENE II Lawn before the Duke's palace.
+
+
+ [Enter CELIA and ROSALIND]
+
+CELIA I pray thee, Rosalind, sweet my coz, be merry.
+
+ROSALIND Dear Celia, I show more mirth than I am mistress of;
+ and would you yet I were merrier? Unless you could
+ teach me to forget a banished father, you must not
+ learn me how to remember any extraordinary pleasure.
+
+CELIA Herein I see thou lovest me not with the full weight
+ that I love thee. If my uncle, thy banished father,
+ had banished thy uncle, the duke my father, so thou
+ hadst been still with me, I could have taught my
+ love to take thy father for mine: so wouldst thou,
+ if the truth of thy love to me were so righteously
+ tempered as mine is to thee.
+
+ROSALIND Well, I will forget the condition of my estate, to
+ rejoice in yours.
+
+CELIA You know my father hath no child but I, nor none is
+ like to have: and, truly, when he dies, thou shalt
+ be his heir, for what he hath taken away from thy
+ father perforce, I will render thee again in
+ affection; by mine honour, I will; and when I break
+ that oath, let me turn monster: therefore, my
+ sweet Rose, my dear Rose, be merry.
+
+ROSALIND From henceforth I will, coz, and devise sports. Let
+ me see; what think you of falling in love?
+
+CELIA Marry, I prithee, do, to make sport withal: but
+ love no man in good earnest; nor no further in sport
+ neither than with safety of a pure blush thou mayst
+ in honour come off again.
+
+ROSALIND What shall be our sport, then?
+
+CELIA Let us sit and mock the good housewife Fortune from
+ her wheel, that her gifts may henceforth be bestowed equally.
+
+ROSALIND I would we could do so, for her benefits are
+ mightily misplaced, and the bountiful blind woman
+ doth most mistake in her gifts to women.
+
+CELIA 'Tis true; for those that she makes fair she scarce
+ makes honest, and those that she makes honest she
+ makes very ill-favouredly.
+
+ROSALIND Nay, now thou goest from Fortune's office to
+ Nature's: Fortune reigns in gifts of the world,
+ not in the lineaments of Nature.
+
+ [Enter TOUCHSTONE]
+
+CELIA No? when Nature hath made a fair creature, may she
+ not by Fortune fall into the fire? Though Nature
+ hath given us wit to flout at Fortune, hath not
+ Fortune sent in this fool to cut off the argument?
+
+ROSALIND Indeed, there is Fortune too hard for Nature, when
+ Fortune makes Nature's natural the cutter-off of
+ Nature's wit.
+
+CELIA Peradventure this is not Fortune's work neither, but
+ Nature's; who perceiveth our natural wits too dull
+ to reason of such goddesses and hath sent this
+ natural for our whetstone; for always the dulness of
+ the fool is the whetstone of the wits. How now,
+ wit! whither wander you?
+
+TOUCHSTONE Mistress, you must come away to your father.
+
+CELIA Were you made the messenger?
+
+TOUCHSTONE No, by mine honour, but I was bid to come for you.
+
+ROSALIND Where learned you that oath, fool?
+
+TOUCHSTONE Of a certain knight that swore by his honour they
+ were good pancakes and swore by his honour the
+ mustard was naught: now I'll stand to it, the
+ pancakes were naught and the mustard was good, and
+ yet was not the knight forsworn.
+
+CELIA How prove you that, in the great heap of your
+ knowledge?
+
+ROSALIND Ay, marry, now unmuzzle your wisdom.
+
+TOUCHSTONE Stand you both forth now: stroke your chins, and
+ swear by your beards that I am a knave.
+
+CELIA By our beards, if we had them, thou art.
+
+TOUCHSTONE By my knavery, if I had it, then I were; but if you
+ swear by that that is not, you are not forsworn: no
+ more was this knight swearing by his honour, for he
+ never had any; or if he had, he had sworn it away
+ before ever he saw those pancakes or that mustard.
+
+CELIA Prithee, who is't that thou meanest?
+
+TOUCHSTONE One that old Frederick, your father, loves.
+
+CELIA My father's love is enough to honour him: enough!
+ speak no more of him; you'll be whipped for taxation
+ one of these days.
+
+TOUCHSTONE The more pity, that fools may not speak wisely what
+ wise men do foolishly.
+
+CELIA By my troth, thou sayest true; for since the little
+ wit that fools have was silenced, the little foolery
+ that wise men have makes a great show. Here comes
+ Monsieur Le Beau.
+
+ROSALIND With his mouth full of news.
+
+CELIA Which he will put on us, as pigeons feed their young.
+
+ROSALIND Then shall we be news-crammed.
+
+CELIA All the better; we shall be the more marketable.
+
+ [Enter LE BEAU]
+
+ Bon jour, Monsieur Le Beau: what's the news?
+
+LE BEAU Fair princess, you have lost much good sport.
+
+CELIA Sport! of what colour?
+
+LE BEAU What colour, madam! how shall I answer you?
+
+ROSALIND As wit and fortune will.
+
+TOUCHSTONE Or as the Destinies decree.
+
+CELIA Well said: that was laid on with a trowel.
+
+TOUCHSTONE Nay, if I keep not my rank,--
+
+ROSALIND Thou losest thy old smell.
+
+LE BEAU You amaze me, ladies: I would have told you of good
+ wrestling, which you have lost the sight of.
+
+ROSALIND You tell us the manner of the wrestling.
+
+LE BEAU I will tell you the beginning; and, if it please
+ your ladyships, you may see the end; for the best is
+ yet to do; and here, where you are, they are coming
+ to perform it.
+
+CELIA Well, the beginning, that is dead and buried.
+
+LE BEAU There comes an old man and his three sons,--
+
+CELIA I could match this beginning with an old tale.
+
+LE BEAU Three proper young men, of excellent growth and presence.
+
+ROSALIND With bills on their necks, 'Be it known unto all men
+ by these presents.'
+
+LE BEAU The eldest of the three wrestled with Charles, the
+ duke's wrestler; which Charles in a moment threw him
+ and broke three of his ribs, that there is little
+ hope of life in him: so he served the second, and
+ so the third. Yonder they lie; the poor old man,
+ their father, making such pitiful dole over them
+ that all the beholders take his part with weeping.
+
+ROSALIND Alas!
+
+TOUCHSTONE But what is the sport, monsieur, that the ladies
+ have lost?
+
+LE BEAU Why, this that I speak of.
+
+TOUCHSTONE Thus men may grow wiser every day: it is the first
+ time that ever I heard breaking of ribs was sport
+ for ladies.
+
+CELIA Or I, I promise thee.
+
+ROSALIND But is there any else longs to see this broken music
+ in his sides? is there yet another dotes upon
+ rib-breaking? Shall we see this wrestling, cousin?
+
+LE BEAU You must, if you stay here; for here is the place
+ appointed for the wrestling, and they are ready to
+ perform it.
+
+CELIA Yonder, sure, they are coming: let us now stay and see it.
+
+ [Flourish. Enter DUKE FREDERICK, Lords, ORLANDO,
+ CHARLES, and Attendants]
+
+DUKE FREDERICK Come on: since the youth will not be entreated, his
+ own peril on his forwardness.
+
+ROSALIND Is yonder the man?
+
+LE BEAU Even he, madam.
+
+CELIA Alas, he is too young! yet he looks successfully.
+
+DUKE FREDERICK How now, daughter and cousin! are you crept hither
+ to see the wrestling?
+
+ROSALIND Ay, my liege, so please you give us leave.
+
+DUKE FREDERICK You will take little delight in it, I can tell you;
+ there is such odds in the man. In pity of the
+ challenger's youth I would fain dissuade him, but he
+ will not be entreated. Speak to him, ladies; see if
+ you can move him.
+
+CELIA Call him hither, good Monsieur Le Beau.
+
+DUKE FREDERICK Do so: I'll not be by.
+
+LE BEAU Monsieur the challenger, the princesses call for you.
+
+ORLANDO I attend them with all respect and duty.
+
+ROSALIND Young man, have you challenged Charles the wrestler?
+
+ORLANDO No, fair princess; he is the general challenger: I
+ come but in, as others do, to try with him the
+ strength of my youth.
+
+CELIA Young gentleman, your spirits are too bold for your
+ years. You have seen cruel proof of this man's
+ strength: if you saw yourself with your eyes or
+ knew yourself with your judgment, the fear of your
+ adventure would counsel you to a more equal
+ enterprise. We pray you, for your own sake, to
+ embrace your own safety and give over this attempt.
+
+ROSALIND Do, young sir; your reputation shall not therefore
+ be misprised: we will make it our suit to the duke
+ that the wrestling might not go forward.
+
+ORLANDO I beseech you, punish me not with your hard
+ thoughts; wherein I confess me much guilty, to deny
+ so fair and excellent ladies any thing. But let
+ your fair eyes and gentle wishes go with me to my
+ trial: wherein if I be foiled, there is but one
+ shamed that was never gracious; if killed, but one
+ dead that was willing to be so: I shall do my
+ friends no wrong, for I have none to lament me, the
+ world no injury, for in it I have nothing; only in
+ the world I fill up a place, which may be better
+ supplied when I have made it empty.
+
+ROSALIND The little strength that I have, I would it were with you.
+
+CELIA And mine, to eke out hers.
+
+ROSALIND Fare you well: pray heaven I be deceived in you!
+
+CELIA Your heart's desires be with you!
+
+CHARLES Come, where is this young gallant that is so
+ desirous to lie with his mother earth?
+
+ORLANDO Ready, sir; but his will hath in it a more modest working.
+
+DUKE FREDERICK You shall try but one fall.
+
+CHARLES No, I warrant your grace, you shall not entreat him
+ to a second, that have so mightily persuaded him
+ from a first.
+
+ORLANDO An you mean to mock me after, you should not have
+ mocked me before: but come your ways.
+
+ROSALIND Now Hercules be thy speed, young man!
+
+CELIA I would I were invisible, to catch the strong
+ fellow by the leg.
+
+ [They wrestle]
+
+ROSALIND O excellent young man!
+
+CELIA If I had a thunderbolt in mine eye, I can tell who
+ should down.
+
+ [Shout. CHARLES is thrown]
+
+DUKE FREDERICK No more, no more.
+
+ORLANDO Yes, I beseech your grace: I am not yet well breathed.
+
+DUKE FREDERICK How dost thou, Charles?
+
+LE BEAU He cannot speak, my lord.
+
+DUKE FREDERICK Bear him away. What is thy name, young man?
+
+ORLANDO Orlando, my liege; the youngest son of Sir Rowland de Boys.
+
+DUKE FREDERICK I would thou hadst been son to some man else:
+ The world esteem'd thy father honourable,
+ But I did find him still mine enemy:
+ Thou shouldst have better pleased me with this deed,
+ Hadst thou descended from another house.
+ But fare thee well; thou art a gallant youth:
+ I would thou hadst told me of another father.
+
+ [Exeunt DUKE FREDERICK, train, and LE BEAU]
+
+CELIA Were I my father, coz, would I do this?
+
+ORLANDO I am more proud to be Sir Rowland's son,
+ His youngest son; and would not change that calling,
+ To be adopted heir to Frederick.
+
+ROSALIND My father loved Sir Rowland as his soul,
+ And all the world was of my father's mind:
+ Had I before known this young man his son,
+ I should have given him tears unto entreaties,
+ Ere he should thus have ventured.
+
+CELIA Gentle cousin,
+ Let us go thank him and encourage him:
+ My father's rough and envious disposition
+ Sticks me at heart. Sir, you have well deserved:
+ If you do keep your promises in love
+ But justly, as you have exceeded all promise,
+ Your mistress shall be happy.
+
+ROSALIND Gentleman,
+
+ [Giving him a chain from her neck]
+
+ Wear this for me, one out of suits with fortune,
+ That could give more, but that her hand lacks means.
+ Shall we go, coz?
+
+CELIA Ay. Fare you well, fair gentleman.
+
+ORLANDO Can I not say, I thank you? My better parts
+ Are all thrown down, and that which here stands up
+ Is but a quintain, a mere lifeless block.
+
+ROSALIND He calls us back: my pride fell with my fortunes;
+ I'll ask him what he would. Did you call, sir?
+ Sir, you have wrestled well and overthrown
+ More than your enemies.
+
+CELIA Will you go, coz?
+
+ROSALIND Have with you. Fare you well.
+
+ [Exeunt ROSALIND and CELIA]
+
+ORLANDO What passion hangs these weights upon my tongue?
+ I cannot speak to her, yet she urged conference.
+ O poor Orlando, thou art overthrown!
+ Or Charles or something weaker masters thee.
+
+ [Re-enter LE BEAU]
+
+LE BEAU Good sir, I do in friendship counsel you
+ To leave this place. Albeit you have deserved
+ High commendation, true applause and love,
+ Yet such is now the duke's condition
+ That he misconstrues all that you have done.
+ The duke is humorous; what he is indeed,
+ More suits you to conceive than I to speak of.
+
+ORLANDO I thank you, sir: and, pray you, tell me this:
+ Which of the two was daughter of the duke
+ That here was at the wrestling?
+
+LE BEAU Neither his daughter, if we judge by manners;
+ But yet indeed the lesser is his daughter
+ The other is daughter to the banish'd duke,
+ And here detain'd by her usurping uncle,
+ To keep his daughter company; whose loves
+ Are dearer than the natural bond of sisters.
+ But I can tell you that of late this duke
+ Hath ta'en displeasure 'gainst his gentle niece,
+ Grounded upon no other argument
+ But that the people praise her for her virtues
+ And pity her for her good father's sake;
+ And, on my life, his malice 'gainst the lady
+ Will suddenly break forth. Sir, fare you well:
+ Hereafter, in a better world than this,
+ I shall desire more love and knowledge of you.
+
+ORLANDO I rest much bounden to you: fare you well.
+
+ [Exit LE BEAU]
+
+ Thus must I from the smoke into the smother;
+ From tyrant duke unto a tyrant brother:
+ But heavenly Rosalind!
+
+ [Exit]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT I
+
+
+
+SCENE III A room in the palace.
+
+
+ [Enter CELIA and ROSALIND]
+
+CELIA Why, cousin! why, Rosalind! Cupid have mercy! not a word?
+
+ROSALIND Not one to throw at a dog.
+
+CELIA No, thy words are too precious to be cast away upon
+ curs; throw some of them at me; come, lame me with reasons.
+
+ROSALIND Then there were two cousins laid up; when the one
+ should be lamed with reasons and the other mad
+ without any.
+
+CELIA But is all this for your father?
+
+ROSALIND No, some of it is for my child's father. O, how
+ full of briers is this working-day world!
+
+CELIA They are but burs, cousin, thrown upon thee in
+ holiday foolery: if we walk not in the trodden
+ paths our very petticoats will catch them.
+
+ROSALIND I could shake them off my coat: these burs are in my heart.
+
+CELIA Hem them away.
+
+ROSALIND I would try, if I could cry 'hem' and have him.
+
+CELIA Come, come, wrestle with thy affections.
+
+ROSALIND O, they take the part of a better wrestler than myself!
+
+CELIA O, a good wish upon you! you will try in time, in
+ despite of a fall. But, turning these jests out of
+ service, let us talk in good earnest: is it
+ possible, on such a sudden, you should fall into so
+ strong a liking with old Sir Rowland's youngest son?
+
+ROSALIND The duke my father loved his father dearly.
+
+CELIA Doth it therefore ensue that you should love his son
+ dearly? By this kind of chase, I should hate him,
+ for my father hated his father dearly; yet I hate
+ not Orlando.
+
+ROSALIND No, faith, hate him not, for my sake.
+
+CELIA Why should I not? doth he not deserve well?
+
+ROSALIND Let me love him for that, and do you love him
+ because I do. Look, here comes the duke.
+
+CELIA With his eyes full of anger.
+
+ [Enter DUKE FREDERICK, with Lords]
+
+DUKE FREDERICK Mistress, dispatch you with your safest haste
+ And get you from our court.
+
+ROSALIND Me, uncle?
+
+DUKE FREDERICK You, cousin
+ Within these ten days if that thou be'st found
+ So near our public court as twenty miles,
+ Thou diest for it.
+
+ROSALIND I do beseech your grace,
+ Let me the knowledge of my fault bear with me:
+ If with myself I hold intelligence
+ Or have acquaintance with mine own desires,
+ If that I do not dream or be not frantic,--
+ As I do trust I am not--then, dear uncle,
+ Never so much as in a thought unborn
+ Did I offend your highness.
+
+DUKE FREDERICK Thus do all traitors:
+ If their purgation did consist in words,
+ They are as innocent as grace itself:
+ Let it suffice thee that I trust thee not.
+
+ROSALIND Yet your mistrust cannot make me a traitor:
+ Tell me whereon the likelihood depends.
+
+DUKE FREDERICK Thou art thy father's daughter; there's enough.
+
+ROSALIND So was I when your highness took his dukedom;
+ So was I when your highness banish'd him:
+ Treason is not inherited, my lord;
+ Or, if we did derive it from our friends,
+ What's that to me? my father was no traitor:
+ Then, good my liege, mistake me not so much
+ To think my poverty is treacherous.
+
+CELIA Dear sovereign, hear me speak.
+
+DUKE FREDERICK Ay, Celia; we stay'd her for your sake,
+ Else had she with her father ranged along.
+
+CELIA I did not then entreat to have her stay;
+ It was your pleasure and your own remorse:
+ I was too young that time to value her;
+ But now I know her: if she be a traitor,
+ Why so am I; we still have slept together,
+ Rose at an instant, learn'd, play'd, eat together,
+ And wheresoever we went, like Juno's swans,
+ Still we went coupled and inseparable.
+
+DUKE FREDERICK She is too subtle for thee; and her smoothness,
+ Her very silence and her patience
+ Speak to the people, and they pity her.
+ Thou art a fool: she robs thee of thy name;
+ And thou wilt show more bright and seem more virtuous
+ When she is gone. Then open not thy lips:
+ Firm and irrevocable is my doom
+ Which I have pass'd upon her; she is banish'd.
+
+CELIA Pronounce that sentence then on me, my liege:
+ I cannot live out of her company.
+
+DUKE FREDERICK You are a fool. You, niece, provide yourself:
+ If you outstay the time, upon mine honour,
+ And in the greatness of my word, you die.
+
+ [Exeunt DUKE FREDERICK and Lords]
+
+CELIA O my poor Rosalind, whither wilt thou go?
+ Wilt thou change fathers? I will give thee mine.
+ I charge thee, be not thou more grieved than I am.
+
+ROSALIND I have more cause.
+
+CELIA Thou hast not, cousin;
+ Prithee be cheerful: know'st thou not, the duke
+ Hath banish'd me, his daughter?
+
+ROSALIND That he hath not.
+
+CELIA No, hath not? Rosalind lacks then the love
+ Which teacheth thee that thou and I am one:
+ Shall we be sunder'd? shall we part, sweet girl?
+ No: let my father seek another heir.
+ Therefore devise with me how we may fly,
+ Whither to go and what to bear with us;
+ And do not seek to take your change upon you,
+ To bear your griefs yourself and leave me out;
+ For, by this heaven, now at our sorrows pale,
+ Say what thou canst, I'll go along with thee.
+
+ROSALIND Why, whither shall we go?
+
+CELIA To seek my uncle in the forest of Arden.
+
+ROSALIND Alas, what danger will it be to us,
+ Maids as we are, to travel forth so far!
+ Beauty provoketh thieves sooner than gold.
+
+CELIA I'll put myself in poor and mean attire
+ And with a kind of umber smirch my face;
+ The like do you: so shall we pass along
+ And never stir assailants.
+
+ROSALIND Were it not better,
+ Because that I am more than common tall,
+ That I did suit me all points like a man?
+ A gallant curtle-axe upon my thigh,
+ A boar-spear in my hand; and--in my heart
+ Lie there what hidden woman's fear there will--
+ We'll have a swashing and a martial outside,
+ As many other mannish cowards have
+ That do outface it with their semblances.
+
+CELIA What shall I call thee when thou art a man?
+
+ROSALIND I'll have no worse a name than Jove's own page;
+ And therefore look you call me Ganymede.
+ But what will you be call'd?
+
+CELIA Something that hath a reference to my state
+ No longer Celia, but Aliena.
+
+ROSALIND But, cousin, what if we assay'd to steal
+ The clownish fool out of your father's court?
+ Would he not be a comfort to our travel?
+
+CELIA He'll go along o'er the wide world with me;
+ Leave me alone to woo him. Let's away,
+ And get our jewels and our wealth together,
+ Devise the fittest time and safest way
+ To hide us from pursuit that will be made
+ After my flight. Now go we in content
+ To liberty and not to banishment.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT II
+
+
+
+SCENE I The Forest of Arden.
+
+
+ [Enter DUKE SENIOR, AMIENS, and two or three Lords,
+ like foresters]
+
+DUKE SENIOR Now, my co-mates and brothers in exile,
+ Hath not old custom made this life more sweet
+ Than that of painted pomp? Are not these woods
+ More free from peril than the envious court?
+ Here feel we but the penalty of Adam,
+ The seasons' difference, as the icy fang
+ And churlish chiding of the winter's wind,
+ Which, when it bites and blows upon my body,
+ Even till I shrink with cold, I smile and say
+ 'This is no flattery: these are counsellors
+ That feelingly persuade me what I am.'
+ Sweet are the uses of adversity,
+ Which, like the toad, ugly and venomous,
+ Wears yet a precious jewel in his head;
+ And this our life exempt from public haunt
+ Finds tongues in trees, books in the running brooks,
+ Sermons in stones and good in every thing.
+ I would not change it.
+
+AMIENS Happy is your grace,
+ That can translate the stubbornness of fortune
+ Into so quiet and so sweet a style.
+
+DUKE SENIOR Come, shall we go and kill us venison?
+ And yet it irks me the poor dappled fools,
+ Being native burghers of this desert city,
+ Should in their own confines with forked heads
+ Have their round haunches gored.
+
+First Lord Indeed, my lord,
+ The melancholy Jaques grieves at that,
+ And, in that kind, swears you do more usurp
+ Than doth your brother that hath banish'd you.
+ To-day my Lord of Amiens and myself
+ Did steal behind him as he lay along
+ Under an oak whose antique root peeps out
+ Upon the brook that brawls along this wood:
+ To the which place a poor sequester'd stag,
+ That from the hunter's aim had ta'en a hurt,
+ Did come to languish, and indeed, my lord,
+ The wretched animal heaved forth such groans
+ That their discharge did stretch his leathern coat
+ Almost to bursting, and the big round tears
+ Coursed one another down his innocent nose
+ In piteous chase; and thus the hairy fool
+ Much marked of the melancholy Jaques,
+ Stood on the extremest verge of the swift brook,
+ Augmenting it with tears.
+
+DUKE SENIOR But what said Jaques?
+ Did he not moralize this spectacle?
+
+First Lord O, yes, into a thousand similes.
+ First, for his weeping into the needless stream;
+ 'Poor deer,' quoth he, 'thou makest a testament
+ As worldlings do, giving thy sum of more
+ To that which had too much:' then, being there alone,
+ Left and abandon'd of his velvet friends,
+ ''Tis right:' quoth he; 'thus misery doth part
+ The flux of company:' anon a careless herd,
+ Full of the pasture, jumps along by him
+ And never stays to greet him; 'Ay' quoth Jaques,
+ 'Sweep on, you fat and greasy citizens;
+ 'Tis just the fashion: wherefore do you look
+ Upon that poor and broken bankrupt there?'
+ Thus most invectively he pierceth through
+ The body of the country, city, court,
+ Yea, and of this our life, swearing that we
+ Are mere usurpers, tyrants and what's worse,
+ To fright the animals and to kill them up
+ In their assign'd and native dwelling-place.
+
+DUKE SENIOR And did you leave him in this contemplation?
+
+Second Lord We did, my lord, weeping and commenting
+ Upon the sobbing deer.
+
+DUKE SENIOR Show me the place:
+ I love to cope him in these sullen fits,
+ For then he's full of matter.
+
+First Lord I'll bring you to him straight.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT II
+
+
+
+SCENE II A room in the palace.
+
+
+ [Enter DUKE FREDERICK, with Lords]
+
+DUKE FREDERICK Can it be possible that no man saw them?
+ It cannot be: some villains of my court
+ Are of consent and sufferance in this.
+
+First Lord I cannot hear of any that did see her.
+ The ladies, her attendants of her chamber,
+ Saw her abed, and in the morning early
+ They found the bed untreasured of their mistress.
+
+Second Lord My lord, the roynish clown, at whom so oft
+ Your grace was wont to laugh, is also missing.
+ Hisperia, the princess' gentlewoman,
+ Confesses that she secretly o'erheard
+ Your daughter and her cousin much commend
+ The parts and graces of the wrestler
+ That did but lately foil the sinewy Charles;
+ And she believes, wherever they are gone,
+ That youth is surely in their company.
+
+DUKE FREDERICK Send to his brother; fetch that gallant hither;
+ If he be absent, bring his brother to me;
+ I'll make him find him: do this suddenly,
+ And let not search and inquisition quail
+ To bring again these foolish runaways.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT II
+
+
+
+SCENE III Before OLIVER'S house.
+
+
+ [Enter ORLANDO and ADAM, meeting]
+
+ORLANDO Who's there?
+
+ADAM What, my young master? O, my gentle master!
+ O my sweet master! O you memory
+ Of old Sir Rowland! why, what make you here?
+ Why are you virtuous? why do people love you?
+ And wherefore are you gentle, strong and valiant?
+ Why would you be so fond to overcome
+ The bonny priser of the humorous duke?
+ Your praise is come too swiftly home before you.
+ Know you not, master, to some kind of men
+ Their graces serve them but as enemies?
+ No more do yours: your virtues, gentle master,
+ Are sanctified and holy traitors to you.
+ O, what a world is this, when what is comely
+ Envenoms him that bears it!
+
+ORLANDO Why, what's the matter?
+
+ADAM O unhappy youth!
+ Come not within these doors; within this roof
+ The enemy of all your graces lives:
+ Your brother--no, no brother; yet the son--
+ Yet not the son, I will not call him son
+ Of him I was about to call his father--
+ Hath heard your praises, and this night he means
+ To burn the lodging where you use to lie
+ And you within it: if he fail of that,
+ He will have other means to cut you off.
+ I overheard him and his practises.
+ This is no place; this house is but a butchery:
+ Abhor it, fear it, do not enter it.
+
+ORLANDO Why, whither, Adam, wouldst thou have me go?
+
+ADAM No matter whither, so you come not here.
+
+ORLANDO What, wouldst thou have me go and beg my food?
+ Or with a base and boisterous sword enforce
+ A thievish living on the common road?
+ This I must do, or know not what to do:
+ Yet this I will not do, do how I can;
+ I rather will subject me to the malice
+ Of a diverted blood and bloody brother.
+
+ADAM But do not so. I have five hundred crowns,
+ The thrifty hire I saved under your father,
+ Which I did store to be my foster-nurse
+ When service should in my old limbs lie lame
+ And unregarded age in corners thrown:
+ Take that, and He that doth the ravens feed,
+ Yea, providently caters for the sparrow,
+ Be comfort to my age! Here is the gold;
+ And all this I give you. Let me be your servant:
+ Though I look old, yet I am strong and lusty;
+ For in my youth I never did apply
+ Hot and rebellious liquors in my blood,
+ Nor did not with unbashful forehead woo
+ The means of weakness and debility;
+ Therefore my age is as a lusty winter,
+ Frosty, but kindly: let me go with you;
+ I'll do the service of a younger man
+ In all your business and necessities.
+
+ORLANDO O good old man, how well in thee appears
+ The constant service of the antique world,
+ When service sweat for duty, not for meed!
+ Thou art not for the fashion of these times,
+ Where none will sweat but for promotion,
+ And having that, do choke their service up
+ Even with the having: it is not so with thee.
+ But, poor old man, thou prunest a rotten tree,
+ That cannot so much as a blossom yield
+ In lieu of all thy pains and husbandry
+ But come thy ways; well go along together,
+ And ere we have thy youthful wages spent,
+ We'll light upon some settled low content.
+
+ADAM Master, go on, and I will follow thee,
+ To the last gasp, with truth and loyalty.
+ From seventeen years till now almost fourscore
+ Here lived I, but now live here no more.
+ At seventeen years many their fortunes seek;
+ But at fourscore it is too late a week:
+ Yet fortune cannot recompense me better
+ Than to die well and not my master's debtor.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT II
+
+
+
+SCENE IV The Forest of Arden.
+
+
+ [Enter ROSALIND for Ganymede, CELIA for Aliena,
+ and TOUCHSTONE]
+
+ROSALIND O Jupiter, how weary are my spirits!
+
+TOUCHSTONE I care not for my spirits, if my legs were not weary.
+
+ROSALIND I could find in my heart to disgrace my man's
+ apparel and to cry like a woman; but I must comfort
+ the weaker vessel, as doublet and hose ought to show
+ itself courageous to petticoat: therefore courage,
+ good Aliena!
+
+CELIA I pray you, bear with me; I cannot go no further.
+
+TOUCHSTONE For my part, I had rather bear with you than bear
+ you; yet I should bear no cross if I did bear you,
+ for I think you have no money in your purse.
+
+ROSALIND Well, this is the forest of Arden.
+
+TOUCHSTONE Ay, now am I in Arden; the more fool I; when I was
+ at home, I was in a better place: but travellers
+ must be content.
+
+ROSALIND Ay, be so, good Touchstone.
+
+ [Enter CORIN and SILVIUS]
+
+ Look you, who comes here; a young man and an old in
+ solemn talk.
+
+CORIN That is the way to make her scorn you still.
+
+SILVIUS O Corin, that thou knew'st how I do love her!
+
+CORIN I partly guess; for I have loved ere now.
+
+SILVIUS No, Corin, being old, thou canst not guess,
+ Though in thy youth thou wast as true a lover
+ As ever sigh'd upon a midnight pillow:
+ But if thy love were ever like to mine--
+ As sure I think did never man love so--
+ How many actions most ridiculous
+ Hast thou been drawn to by thy fantasy?
+
+CORIN Into a thousand that I have forgotten.
+
+SILVIUS O, thou didst then ne'er love so heartily!
+ If thou remember'st not the slightest folly
+ That ever love did make thee run into,
+ Thou hast not loved:
+ Or if thou hast not sat as I do now,
+ Wearying thy hearer in thy mistress' praise,
+ Thou hast not loved:
+ Or if thou hast not broke from company
+ Abruptly, as my passion now makes me,
+ Thou hast not loved.
+ O Phebe, Phebe, Phebe!
+
+ [Exit]
+
+ROSALIND Alas, poor shepherd! searching of thy wound,
+ I have by hard adventure found mine own.
+
+TOUCHSTONE And I mine. I remember, when I was in love I broke
+ my sword upon a stone and bid him take that for
+ coming a-night to Jane Smile; and I remember the
+ kissing of her batlet and the cow's dugs that her
+ pretty chopt hands had milked; and I remember the
+ wooing of a peascod instead of her, from whom I took
+ two cods and, giving her them again, said with
+ weeping tears 'Wear these for my sake.' We that are
+ true lovers run into strange capers; but as all is
+ mortal in nature, so is all nature in love mortal in folly.
+
+ROSALIND Thou speakest wiser than thou art ware of.
+
+TOUCHSTONE Nay, I shall ne'er be ware of mine own wit till I
+ break my shins against it.
+
+ROSALIND Jove, Jove! this shepherd's passion
+ Is much upon my fashion.
+
+TOUCHSTONE And mine; but it grows something stale with me.
+
+CELIA I pray you, one of you question yond man
+ If he for gold will give us any food:
+ I faint almost to death.
+
+TOUCHSTONE Holla, you clown!
+
+ROSALIND Peace, fool: he's not thy kinsman.
+
+CORIN Who calls?
+
+TOUCHSTONE Your betters, sir.
+
+CORIN Else are they very wretched.
+
+ROSALIND Peace, I say. Good even to you, friend.
+
+CORIN And to you, gentle sir, and to you all.
+
+ROSALIND I prithee, shepherd, if that love or gold
+ Can in this desert place buy entertainment,
+ Bring us where we may rest ourselves and feed:
+ Here's a young maid with travel much oppress'd
+ And faints for succor.
+
+CORIN Fair sir, I pity her
+ And wish, for her sake more than for mine own,
+ My fortunes were more able to relieve her;
+ But I am shepherd to another man
+ And do not shear the fleeces that I graze:
+ My master is of churlish disposition
+ And little recks to find the way to heaven
+ By doing deeds of hospitality:
+ Besides, his cote, his flocks and bounds of feed
+ Are now on sale, and at our sheepcote now,
+ By reason of his absence, there is nothing
+ That you will feed on; but what is, come see.
+ And in my voice most welcome shall you be.
+
+ROSALIND What is he that shall buy his flock and pasture?
+
+CORIN That young swain that you saw here but erewhile,
+ That little cares for buying any thing.
+
+ROSALIND I pray thee, if it stand with honesty,
+ Buy thou the cottage, pasture and the flock,
+ And thou shalt have to pay for it of us.
+
+CELIA And we will mend thy wages. I like this place.
+ And willingly could waste my time in it.
+
+CORIN Assuredly the thing is to be sold:
+ Go with me: if you like upon report
+ The soil, the profit and this kind of life,
+ I will your very faithful feeder be
+ And buy it with your gold right suddenly.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT II
+
+
+
+SCENE V The Forest.
+
+
+ [Enter AMIENS, JAQUES, and others]
+
+ SONG.
+AMIENS Under the greenwood tree
+ Who loves to lie with me,
+ And turn his merry note
+ Unto the sweet bird's throat,
+ Come hither, come hither, come hither:
+ Here shall he see No enemy
+ But winter and rough weather.
+
+JAQUES More, more, I prithee, more.
+
+AMIENS It will make you melancholy, Monsieur Jaques.
+
+JAQUES I thank it. More, I prithee, more. I can suck
+ melancholy out of a song, as a weasel sucks eggs.
+ More, I prithee, more.
+
+AMIENS My voice is ragged: I know I cannot please you.
+
+JAQUES I do not desire you to please me; I do desire you to
+ sing. Come, more; another stanzo: call you 'em stanzos?
+
+AMIENS What you will, Monsieur Jaques.
+
+JAQUES Nay, I care not for their names; they owe me
+ nothing. Will you sing?
+
+AMIENS More at your request than to please myself.
+
+JAQUES Well then, if ever I thank any man, I'll thank you;
+ but that they call compliment is like the encounter
+ of two dog-apes, and when a man thanks me heartily,
+ methinks I have given him a penny and he renders me
+ the beggarly thanks. Come, sing; and you that will
+ not, hold your tongues.
+
+AMIENS Well, I'll end the song. Sirs, cover the while; the
+ duke will drink under this tree. He hath been all
+ this day to look you.
+
+JAQUES And I have been all this day to avoid him. He is
+ too disputable for my company: I think of as many
+ matters as he, but I give heaven thanks and make no
+ boast of them. Come, warble, come.
+
+ SONG.
+ Who doth ambition shun
+
+ [All together here]
+
+ And loves to live i' the sun,
+ Seeking the food he eats
+ And pleased with what he gets,
+ Come hither, come hither, come hither:
+ Here shall he see No enemy
+ But winter and rough weather.
+
+JAQUES I'll give you a verse to this note that I made
+ yesterday in despite of my invention.
+
+AMIENS And I'll sing it.
+
+JAQUES Thus it goes:--
+
+ If it do come to pass
+ That any man turn ass,
+ Leaving his wealth and ease,
+ A stubborn will to please,
+ Ducdame, ducdame, ducdame:
+ Here shall he see
+ Gross fools as he,
+ An if he will come to me.
+
+AMIENS What's that 'ducdame'?
+
+JAQUES 'Tis a Greek invocation, to call fools into a
+ circle. I'll go sleep, if I can; if I cannot, I'll
+ rail against all the first-born of Egypt.
+
+AMIENS And I'll go seek the duke: his banquet is prepared.
+
+ [Exeunt severally]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT II
+
+
+
+SCENE VI The forest.
+
+
+ [Enter ORLANDO and ADAM]
+
+ADAM Dear master, I can go no further. O, I die for food!
+ Here lie I down, and measure out my grave. Farewell,
+ kind master.
+
+ORLANDO Why, how now, Adam! no greater heart in thee? Live
+ a little; comfort a little; cheer thyself a little.
+ If this uncouth forest yield any thing savage, I
+ will either be food for it or bring it for food to
+ thee. Thy conceit is nearer death than thy powers.
+ For my sake be comfortable; hold death awhile at
+ the arm's end: I will here be with thee presently;
+ and if I bring thee not something to eat, I will
+ give thee leave to die: but if thou diest before I
+ come, thou art a mocker of my labour. Well said!
+ thou lookest cheerly, and I'll be with thee quickly.
+ Yet thou liest in the bleak air: come, I will bear
+ thee to some shelter; and thou shalt not die for
+ lack of a dinner, if there live any thing in this
+ desert. Cheerly, good Adam!
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT II
+
+
+
+SCENE VII The forest.
+
+
+ [A table set out. Enter DUKE SENIOR, AMIENS, and
+ Lords like outlaws]
+
+DUKE SENIOR I think he be transform'd into a beast;
+ For I can no where find him like a man.
+
+First Lord My lord, he is but even now gone hence:
+ Here was he merry, hearing of a song.
+
+DUKE SENIOR If he, compact of jars, grow musical,
+ We shall have shortly discord in the spheres.
+ Go, seek him: tell him I would speak with him.
+
+ [Enter JAQUES]
+
+First Lord He saves my labour by his own approach.
+
+DUKE SENIOR Why, how now, monsieur! what a life is this,
+ That your poor friends must woo your company?
+ What, you look merrily!
+
+JAQUES A fool, a fool! I met a fool i' the forest,
+ A motley fool; a miserable world!
+ As I do live by food, I met a fool
+ Who laid him down and bask'd him in the sun,
+ And rail'd on Lady Fortune in good terms,
+ In good set terms and yet a motley fool.
+ 'Good morrow, fool,' quoth I. 'No, sir,' quoth he,
+ 'Call me not fool till heaven hath sent me fortune:'
+ And then he drew a dial from his poke,
+ And, looking on it with lack-lustre eye,
+ Says very wisely, 'It is ten o'clock:
+ Thus we may see,' quoth he, 'how the world wags:
+ 'Tis but an hour ago since it was nine,
+ And after one hour more 'twill be eleven;
+ And so, from hour to hour, we ripe and ripe,
+ And then, from hour to hour, we rot and rot;
+ And thereby hangs a tale.' When I did hear
+ The motley fool thus moral on the time,
+ My lungs began to crow like chanticleer,
+ That fools should be so deep-contemplative,
+ And I did laugh sans intermission
+ An hour by his dial. O noble fool!
+ A worthy fool! Motley's the only wear.
+
+DUKE SENIOR What fool is this?
+
+JAQUES O worthy fool! One that hath been a courtier,
+ And says, if ladies be but young and fair,
+ They have the gift to know it: and in his brain,
+ Which is as dry as the remainder biscuit
+ After a voyage, he hath strange places cramm'd
+ With observation, the which he vents
+ In mangled forms. O that I were a fool!
+ I am ambitious for a motley coat.
+
+DUKE SENIOR Thou shalt have one.
+
+JAQUES It is my only suit;
+ Provided that you weed your better judgments
+ Of all opinion that grows rank in them
+ That I am wise. I must have liberty
+ Withal, as large a charter as the wind,
+ To blow on whom I please; for so fools have;
+ And they that are most galled with my folly,
+ They most must laugh. And why, sir, must they so?
+ The 'why' is plain as way to parish church:
+ He that a fool doth very wisely hit
+ Doth very foolishly, although he smart,
+ Not to seem senseless of the bob: if not,
+ The wise man's folly is anatomized
+ Even by the squandering glances of the fool.
+ Invest me in my motley; give me leave
+ To speak my mind, and I will through and through
+ Cleanse the foul body of the infected world,
+ If they will patiently receive my medicine.
+
+DUKE SENIOR Fie on thee! I can tell what thou wouldst do.
+
+JAQUES What, for a counter, would I do but good?
+
+DUKE SENIOR Most mischievous foul sin, in chiding sin:
+ For thou thyself hast been a libertine,
+ As sensual as the brutish sting itself;
+ And all the embossed sores and headed evils,
+ That thou with licence of free foot hast caught,
+ Wouldst thou disgorge into the general world.
+
+JAQUES Why, who cries out on pride,
+ That can therein tax any private party?
+ Doth it not flow as hugely as the sea,
+ Till that the weary very means do ebb?
+ What woman in the city do I name,
+ When that I say the city-woman bears
+ The cost of princes on unworthy shoulders?
+ Who can come in and say that I mean her,
+ When such a one as she such is her neighbour?
+ Or what is he of basest function
+ That says his bravery is not of my cost,
+ Thinking that I mean him, but therein suits
+ His folly to the mettle of my speech?
+ There then; how then? what then? Let me see wherein
+ My tongue hath wrong'd him: if it do him right,
+ Then he hath wrong'd himself; if he be free,
+ Why then my taxing like a wild-goose flies,
+ Unclaim'd of any man. But who comes here?
+
+ [Enter ORLANDO, with his sword drawn]
+
+ORLANDO Forbear, and eat no more.
+
+JAQUES Why, I have eat none yet.
+
+ORLANDO Nor shalt not, till necessity be served.
+
+JAQUES Of what kind should this cock come of?
+
+DUKE SENIOR Art thou thus bolden'd, man, by thy distress,
+ Or else a rude despiser of good manners,
+ That in civility thou seem'st so empty?
+
+ORLANDO You touch'd my vein at first: the thorny point
+ Of bare distress hath ta'en from me the show
+ Of smooth civility: yet am I inland bred
+ And know some nurture. But forbear, I say:
+ He dies that touches any of this fruit
+ Till I and my affairs are answered.
+
+JAQUES An you will not be answered with reason, I must die.
+
+DUKE SENIOR What would you have? Your gentleness shall force
+ More than your force move us to gentleness.
+
+ORLANDO I almost die for food; and let me have it.
+
+DUKE SENIOR Sit down and feed, and welcome to our table.
+
+ORLANDO Speak you so gently? Pardon me, I pray you:
+ I thought that all things had been savage here;
+ And therefore put I on the countenance
+ Of stern commandment. But whate'er you are
+ That in this desert inaccessible,
+ Under the shade of melancholy boughs,
+ Lose and neglect the creeping hours of time
+ If ever you have look'd on better days,
+ If ever been where bells have knoll'd to church,
+ If ever sat at any good man's feast,
+ If ever from your eyelids wiped a tear
+ And know what 'tis to pity and be pitied,
+ Let gentleness my strong enforcement be:
+ In the which hope I blush, and hide my sword.
+
+DUKE SENIOR True is it that we have seen better days,
+ And have with holy bell been knoll'd to church
+ And sat at good men's feasts and wiped our eyes
+ Of drops that sacred pity hath engender'd:
+ And therefore sit you down in gentleness
+ And take upon command what help we have
+ That to your wanting may be minister'd.
+
+ORLANDO Then but forbear your food a little while,
+ Whiles, like a doe, I go to find my fawn
+ And give it food. There is an old poor man,
+ Who after me hath many a weary step
+ Limp'd in pure love: till he be first sufficed,
+ Oppress'd with two weak evils, age and hunger,
+ I will not touch a bit.
+
+DUKE SENIOR Go find him out,
+ And we will nothing waste till you return.
+
+ORLANDO I thank ye; and be blest for your good comfort!
+
+ [Exit]
+
+DUKE SENIOR Thou seest we are not all alone unhappy:
+ This wide and universal theatre
+ Presents more woeful pageants than the scene
+ Wherein we play in.
+
+JAQUES All the world's a stage,
+ And all the men and women merely players:
+ They have their exits and their entrances;
+ And one man in his time plays many parts,
+ His acts being seven ages. At first the infant,
+ Mewling and puking in the nurse's arms.
+ And then the whining school-boy, with his satchel
+ And shining morning face, creeping like snail
+ Unwillingly to school. And then the lover,
+ Sighing like furnace, with a woeful ballad
+ Made to his mistress' eyebrow. Then a soldier,
+ Full of strange oaths and bearded like the pard,
+ Jealous in honour, sudden and quick in quarrel,
+ Seeking the bubble reputation
+ Even in the cannon's mouth. And then the justice,
+ In fair round belly with good capon lined,
+ With eyes severe and beard of formal cut,
+ Full of wise saws and modern instances;
+ And so he plays his part. The sixth age shifts
+ Into the lean and slipper'd pantaloon,
+ With spectacles on nose and pouch on side,
+ His youthful hose, well saved, a world too wide
+ For his shrunk shank; and his big manly voice,
+ Turning again toward childish treble, pipes
+ And whistles in his sound. Last scene of all,
+ That ends this strange eventful history,
+ Is second childishness and mere oblivion,
+ Sans teeth, sans eyes, sans taste, sans everything.
+
+ [Re-enter ORLANDO, with ADAM]
+
+DUKE SENIOR Welcome. Set down your venerable burthen,
+ And let him feed.
+
+ORLANDO I thank you most for him.
+
+ADAM So had you need:
+ I scarce can speak to thank you for myself.
+
+DUKE SENIOR Welcome; fall to: I will not trouble you
+ As yet, to question you about your fortunes.
+ Give us some music; and, good cousin, sing.
+
+ SONG.
+AMIENS Blow, blow, thou winter wind.
+ Thou art not so unkind
+ As man's ingratitude;
+ Thy tooth is not so keen,
+ Because thou art not seen,
+ Although thy breath be rude.
+ Heigh-ho! sing, heigh-ho! unto the green holly:
+ Most friendship is feigning, most loving mere folly:
+ Then, heigh-ho, the holly!
+ This life is most jolly.
+ Freeze, freeze, thou bitter sky,
+ That dost not bite so nigh
+ As benefits forgot:
+ Though thou the waters warp,
+ Thy sting is not so sharp
+ As friend remember'd not.
+ Heigh-ho! sing, &c.
+
+DUKE SENIOR If that you were the good Sir Rowland's son,
+ As you have whisper'd faithfully you were,
+ And as mine eye doth his effigies witness
+ Most truly limn'd and living in your face,
+ Be truly welcome hither: I am the duke
+ That loved your father: the residue of your fortune,
+ Go to my cave and tell me. Good old man,
+ Thou art right welcome as thy master is.
+ Support him by the arm. Give me your hand,
+ And let me all your fortunes understand.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT III
+
+
+
+SCENE I A room in the palace.
+
+
+ [Enter DUKE FREDERICK, Lords, and OLIVER]
+
+DUKE FREDERICK Not see him since? Sir, sir, that cannot be:
+ But were I not the better part made mercy,
+ I should not seek an absent argument
+ Of my revenge, thou present. But look to it:
+ Find out thy brother, wheresoe'er he is;
+ Seek him with candle; bring him dead or living
+ Within this twelvemonth, or turn thou no more
+ To seek a living in our territory.
+ Thy lands and all things that thou dost call thine
+ Worth seizure do we seize into our hands,
+ Till thou canst quit thee by thy brothers mouth
+ Of what we think against thee.
+
+OLIVER O that your highness knew my heart in this!
+ I never loved my brother in my life.
+
+DUKE FREDERICK More villain thou. Well, push him out of doors;
+ And let my officers of such a nature
+ Make an extent upon his house and lands:
+ Do this expediently and turn him going.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT III
+
+
+
+SCENE II The forest.
+
+
+ [Enter ORLANDO, with a paper]
+
+ORLANDO Hang there, my verse, in witness of my love:
+ And thou, thrice-crowned queen of night, survey
+ With thy chaste eye, from thy pale sphere above,
+ Thy huntress' name that my full life doth sway.
+ O Rosalind! these trees shall be my books
+ And in their barks my thoughts I'll character;
+ That every eye which in this forest looks
+ Shall see thy virtue witness'd every where.
+ Run, run, Orlando; carve on every tree
+ The fair, the chaste and unexpressive she.
+
+ [Exit]
+
+ [Enter CORIN and TOUCHSTONE]
+
+CORIN And how like you this shepherd's life, Master Touchstone?
+
+TOUCHSTONE Truly, shepherd, in respect of itself, it is a good
+ life, but in respect that it is a shepherd's life,
+ it is naught. In respect that it is solitary, I
+ like it very well; but in respect that it is
+ private, it is a very vile life. Now, in respect it
+ is in the fields, it pleaseth me well; but in
+ respect it is not in the court, it is tedious. As
+ is it a spare life, look you, it fits my humour well;
+ but as there is no more plenty in it, it goes much
+ against my stomach. Hast any philosophy in thee, shepherd?
+
+CORIN No more but that I know the more one sickens the
+ worse at ease he is; and that he that wants money,
+ means and content is without three good friends;
+ that the property of rain is to wet and fire to
+ burn; that good pasture makes fat sheep, and that a
+ great cause of the night is lack of the sun; that
+ he that hath learned no wit by nature nor art may
+ complain of good breeding or comes of a very dull kindred.
+
+TOUCHSTONE Such a one is a natural philosopher. Wast ever in
+ court, shepherd?
+
+CORIN No, truly.
+
+TOUCHSTONE Then thou art damned.
+
+CORIN Nay, I hope.
+
+TOUCHSTONE Truly, thou art damned like an ill-roasted egg, all
+ on one side.
+
+CORIN For not being at court? Your reason.
+
+TOUCHSTONE Why, if thou never wast at court, thou never sawest
+ good manners; if thou never sawest good manners,
+ then thy manners must be wicked; and wickedness is
+ sin, and sin is damnation. Thou art in a parlous
+ state, shepherd.
+
+CORIN Not a whit, Touchstone: those that are good manners
+ at the court are as ridiculous in the country as the
+ behavior of the country is most mockable at the
+ court. You told me you salute not at the court, but
+ you kiss your hands: that courtesy would be
+ uncleanly, if courtiers were shepherds.
+
+TOUCHSTONE Instance, briefly; come, instance.
+
+CORIN Why, we are still handling our ewes, and their
+ fells, you know, are greasy.
+
+TOUCHSTONE Why, do not your courtier's hands sweat? and is not
+ the grease of a mutton as wholesome as the sweat of
+ a man? Shallow, shallow. A better instance, I say; come.
+
+CORIN Besides, our hands are hard.
+
+TOUCHSTONE Your lips will feel them the sooner. Shallow again.
+ A more sounder instance, come.
+
+CORIN And they are often tarred over with the surgery of
+ our sheep: and would you have us kiss tar? The
+ courtier's hands are perfumed with civet.
+
+TOUCHSTONE Most shallow man! thou worms-meat, in respect of a
+ good piece of flesh indeed! Learn of the wise, and
+ perpend: civet is of a baser birth than tar, the
+ very uncleanly flux of a cat. Mend the instance, shepherd.
+
+CORIN You have too courtly a wit for me: I'll rest.
+
+TOUCHSTONE Wilt thou rest damned? God help thee, shallow man!
+ God make incision in thee! thou art raw.
+
+CORIN Sir, I am a true labourer: I earn that I eat, get
+ that I wear, owe no man hate, envy no man's
+ happiness, glad of other men's good, content with my
+ harm, and the greatest of my pride is to see my ewes
+ graze and my lambs suck.
+
+TOUCHSTONE That is another simple sin in you, to bring the ewes
+ and the rams together and to offer to get your
+ living by the copulation of cattle; to be bawd to a
+ bell-wether, and to betray a she-lamb of a
+ twelvemonth to a crooked-pated, old, cuckoldly ram,
+ out of all reasonable match. If thou beest not
+ damned for this, the devil himself will have no
+ shepherds; I cannot see else how thou shouldst
+ 'scape.
+
+CORIN Here comes young Master Ganymede, my new mistress's brother.
+
+ [Enter ROSALIND, with a paper, reading]
+
+ROSALIND From the east to western Ind,
+ No jewel is like Rosalind.
+ Her worth, being mounted on the wind,
+ Through all the world bears Rosalind.
+ All the pictures fairest lined
+ Are but black to Rosalind.
+ Let no fair be kept in mind
+ But the fair of Rosalind.
+
+TOUCHSTONE I'll rhyme you so eight years together, dinners and
+ suppers and sleeping-hours excepted: it is the
+ right butter-women's rank to market.
+
+ROSALIND Out, fool!
+
+TOUCHSTONE For a taste:
+ If a hart do lack a hind,
+ Let him seek out Rosalind.
+ If the cat will after kind,
+ So be sure will Rosalind.
+ Winter garments must be lined,
+ So must slender Rosalind.
+ They that reap must sheaf and bind;
+ Then to cart with Rosalind.
+ Sweetest nut hath sourest rind,
+ Such a nut is Rosalind.
+ He that sweetest rose will find
+ Must find love's prick and Rosalind.
+ This is the very false gallop of verses: why do you
+ infect yourself with them?
+
+ROSALIND Peace, you dull fool! I found them on a tree.
+
+TOUCHSTONE Truly, the tree yields bad fruit.
+
+ROSALIND I'll graff it with you, and then I shall graff it
+ with a medlar: then it will be the earliest fruit
+ i' the country; for you'll be rotten ere you be half
+ ripe, and that's the right virtue of the medlar.
+
+TOUCHSTONE You have said; but whether wisely or no, let the
+ forest judge.
+
+ [Enter CELIA, with a writing]
+
+ROSALIND Peace! Here comes my sister, reading: stand aside.
+
+CELIA [Reads]
+
+ Why should this a desert be?
+ For it is unpeopled? No:
+ Tongues I'll hang on every tree,
+ That shall civil sayings show:
+ Some, how brief the life of man
+ Runs his erring pilgrimage,
+ That the stretching of a span
+ Buckles in his sum of age;
+ Some, of violated vows
+ 'Twixt the souls of friend and friend:
+ But upon the fairest boughs,
+ Or at every sentence end,
+ Will I Rosalinda write,
+ Teaching all that read to know
+ The quintessence of every sprite
+ Heaven would in little show.
+ Therefore Heaven Nature charged
+ That one body should be fill'd
+ With all graces wide-enlarged:
+ Nature presently distill'd
+ Helen's cheek, but not her heart,
+ Cleopatra's majesty,
+ Atalanta's better part,
+ Sad Lucretia's modesty.
+ Thus Rosalind of many parts
+ By heavenly synod was devised,
+ Of many faces, eyes and hearts,
+ To have the touches dearest prized.
+ Heaven would that she these gifts should have,
+ And I to live and die her slave.
+
+ROSALIND O most gentle pulpiter! what tedious homily of love
+ have you wearied your parishioners withal, and never
+ cried 'Have patience, good people!'
+
+CELIA How now! back, friends! Shepherd, go off a little.
+ Go with him, sirrah.
+
+TOUCHSTONE Come, shepherd, let us make an honourable retreat;
+ though not with bag and baggage, yet with scrip and scrippage.
+
+ [Exeunt CORIN and TOUCHSTONE]
+
+CELIA Didst thou hear these verses?
+
+ROSALIND O, yes, I heard them all, and more too; for some of
+ them had in them more feet than the verses would bear.
+
+CELIA That's no matter: the feet might bear the verses.
+
+ROSALIND Ay, but the feet were lame and could not bear
+ themselves without the verse and therefore stood
+ lamely in the verse.
+
+CELIA But didst thou hear without wondering how thy name
+ should be hanged and carved upon these trees?
+
+ROSALIND I was seven of the nine days out of the wonder
+ before you came; for look here what I found on a
+ palm-tree. I was never so be-rhymed since
+ Pythagoras' time, that I was an Irish rat, which I
+ can hardly remember.
+
+CELIA Trow you who hath done this?
+
+ROSALIND Is it a man?
+
+CELIA And a chain, that you once wore, about his neck.
+ Change you colour?
+
+ROSALIND I prithee, who?
+
+CELIA O Lord, Lord! it is a hard matter for friends to
+ meet; but mountains may be removed with earthquakes
+ and so encounter.
+
+ROSALIND Nay, but who is it?
+
+CELIA Is it possible?
+
+ROSALIND Nay, I prithee now with most petitionary vehemence,
+ tell me who it is.
+
+CELIA O wonderful, wonderful, and most wonderful
+ wonderful! and yet again wonderful, and after that,
+ out of all hooping!
+
+ROSALIND Good my complexion! dost thou think, though I am
+ caparisoned like a man, I have a doublet and hose in
+ my disposition? One inch of delay more is a
+ South-sea of discovery; I prithee, tell me who is it
+ quickly, and speak apace. I would thou couldst
+ stammer, that thou mightst pour this concealed man
+ out of thy mouth, as wine comes out of a narrow-
+ mouthed bottle, either too much at once, or none at
+ all. I prithee, take the cork out of thy mouth that
+ may drink thy tidings.
+
+CELIA So you may put a man in your belly.
+
+ROSALIND Is he of God's making? What manner of man? Is his
+ head worth a hat, or his chin worth a beard?
+
+CELIA Nay, he hath but a little beard.
+
+ROSALIND Why, God will send more, if the man will be
+ thankful: let me stay the growth of his beard, if
+ thou delay me not the knowledge of his chin.
+
+CELIA It is young Orlando, that tripped up the wrestler's
+ heels and your heart both in an instant.
+
+ROSALIND Nay, but the devil take mocking: speak, sad brow and
+ true maid.
+
+CELIA I' faith, coz, 'tis he.
+
+ROSALIND Orlando?
+
+CELIA Orlando.
+
+ROSALIND Alas the day! what shall I do with my doublet and
+ hose? What did he when thou sawest him? What said
+ he? How looked he? Wherein went he? What makes
+ him here? Did he ask for me? Where remains he?
+ How parted he with thee? and when shalt thou see
+ him again? Answer me in one word.
+
+CELIA You must borrow me Gargantua's mouth first: 'tis a
+ word too great for any mouth of this age's size. To
+ say ay and no to these particulars is more than to
+ answer in a catechism.
+
+ROSALIND But doth he know that I am in this forest and in
+ man's apparel? Looks he as freshly as he did the
+ day he wrestled?
+
+CELIA It is as easy to count atomies as to resolve the
+ propositions of a lover; but take a taste of my
+ finding him, and relish it with good observance.
+ I found him under a tree, like a dropped acorn.
+
+ROSALIND It may well be called Jove's tree, when it drops
+ forth such fruit.
+
+CELIA Give me audience, good madam.
+
+ROSALIND Proceed.
+
+CELIA There lay he, stretched along, like a wounded knight.
+
+ROSALIND Though it be pity to see such a sight, it well
+ becomes the ground.
+
+CELIA Cry 'holla' to thy tongue, I prithee; it curvets
+ unseasonably. He was furnished like a hunter.
+
+ROSALIND O, ominous! he comes to kill my heart.
+
+CELIA I would sing my song without a burden: thou bringest
+ me out of tune.
+
+ROSALIND Do you not know I am a woman? when I think, I must
+ speak. Sweet, say on.
+
+CELIA You bring me out. Soft! comes he not here?
+
+ [Enter ORLANDO and JAQUES]
+
+ROSALIND 'Tis he: slink by, and note him.
+
+JAQUES I thank you for your company; but, good faith, I had
+ as lief have been myself alone.
+
+ORLANDO And so had I; but yet, for fashion sake, I thank you
+ too for your society.
+
+JAQUES God be wi' you: let's meet as little as we can.
+
+ORLANDO I do desire we may be better strangers.
+
+JAQUES I pray you, mar no more trees with writing
+ love-songs in their barks.
+
+ORLANDO I pray you, mar no more of my verses with reading
+ them ill-favouredly.
+
+JAQUES Rosalind is your love's name?
+
+ORLANDO Yes, just.
+
+JAQUES I do not like her name.
+
+ORLANDO There was no thought of pleasing you when she was
+ christened.
+
+JAQUES What stature is she of?
+
+ORLANDO Just as high as my heart.
+
+JAQUES You are full of pretty answers. Have you not been
+ acquainted with goldsmiths' wives, and conned them
+ out of rings?
+
+ORLANDO Not so; but I answer you right painted cloth, from
+ whence you have studied your questions.
+
+JAQUES You have a nimble wit: I think 'twas made of
+ Atalanta's heels. Will you sit down with me? and
+ we two will rail against our mistress the world and
+ all our misery.
+
+ORLANDO I will chide no breather in the world but myself,
+ against whom I know most faults.
+
+JAQUES The worst fault you have is to be in love.
+
+ORLANDO 'Tis a fault I will not change for your best virtue.
+ I am weary of you.
+
+JAQUES By my troth, I was seeking for a fool when I found
+ you.
+
+ORLANDO He is drowned in the brook: look but in, and you
+ shall see him.
+
+JAQUES There I shall see mine own figure.
+
+ORLANDO Which I take to be either a fool or a cipher.
+
+JAQUES I'll tarry no longer with you: farewell, good
+ Signior Love.
+
+ORLANDO I am glad of your departure: adieu, good Monsieur
+ Melancholy.
+
+ [Exit JAQUES]
+
+ROSALIND [Aside to CELIA] I will speak to him, like a saucy
+ lackey and under that habit play the knave with him.
+ Do you hear, forester?
+
+ORLANDO Very well: what would you?
+
+ROSALIND I pray you, what is't o'clock?
+
+ORLANDO You should ask me what time o' day: there's no clock
+ in the forest.
+
+ROSALIND Then there is no true lover in the forest; else
+ sighing every minute and groaning every hour would
+ detect the lazy foot of Time as well as a clock.
+
+ORLANDO And why not the swift foot of Time? had not that
+ been as proper?
+
+ROSALIND By no means, sir: Time travels in divers paces with
+ divers persons. I'll tell you who Time ambles
+ withal, who Time trots withal, who Time gallops
+ withal and who he stands still withal.
+
+ORLANDO I prithee, who doth he trot withal?
+
+ROSALIND Marry, he trots hard with a young maid between the
+ contract of her marriage and the day it is
+ solemnized: if the interim be but a se'nnight,
+ Time's pace is so hard that it seems the length of
+ seven year.
+
+ORLANDO Who ambles Time withal?
+
+ROSALIND With a priest that lacks Latin and a rich man that
+ hath not the gout, for the one sleeps easily because
+ he cannot study, and the other lives merrily because
+ he feels no pain, the one lacking the burden of lean
+ and wasteful learning, the other knowing no burden
+ of heavy tedious penury; these Time ambles withal.
+
+ORLANDO Who doth he gallop withal?
+
+ROSALIND With a thief to the gallows, for though he go as
+ softly as foot can fall, he thinks himself too soon there.
+
+ORLANDO Who stays it still withal?
+
+ROSALIND With lawyers in the vacation, for they sleep between
+ term and term and then they perceive not how Time moves.
+
+ORLANDO Where dwell you, pretty youth?
+
+ROSALIND With this shepherdess, my sister; here in the
+ skirts of the forest, like fringe upon a petticoat.
+
+ORLANDO Are you native of this place?
+
+ROSALIND As the cony that you see dwell where she is kindled.
+
+ORLANDO Your accent is something finer than you could
+ purchase in so removed a dwelling.
+
+ROSALIND I have been told so of many: but indeed an old
+ religious uncle of mine taught me to speak, who was
+ in his youth an inland man; one that knew courtship
+ too well, for there he fell in love. I have heard
+ him read many lectures against it, and I thank God
+ I am not a woman, to be touched with so many
+ giddy offences as he hath generally taxed their
+ whole sex withal.
+
+ORLANDO Can you remember any of the principal evils that he
+ laid to the charge of women?
+
+ROSALIND There were none principal; they were all like one
+ another as half-pence are, every one fault seeming
+ monstrous till his fellow fault came to match it.
+
+ORLANDO I prithee, recount some of them.
+
+ROSALIND No, I will not cast away my physic but on those that
+ are sick. There is a man haunts the forest, that
+ abuses our young plants with carving 'Rosalind' on
+ their barks; hangs odes upon hawthorns and elegies
+ on brambles, all, forsooth, deifying the name of
+ Rosalind: if I could meet that fancy-monger I would
+ give him some good counsel, for he seems to have the
+ quotidian of love upon him.
+
+ORLANDO I am he that is so love-shaked: I pray you tell me
+ your remedy.
+
+ROSALIND There is none of my uncle's marks upon you: he
+ taught me how to know a man in love; in which cage
+ of rushes I am sure you are not prisoner.
+
+ORLANDO What were his marks?
+
+ROSALIND A lean cheek, which you have not, a blue eye and
+ sunken, which you have not, an unquestionable
+ spirit, which you have not, a beard neglected,
+ which you have not; but I pardon you for that, for
+ simply your having in beard is a younger brother's
+ revenue: then your hose should be ungartered, your
+ bonnet unbanded, your sleeve unbuttoned, your shoe
+ untied and every thing about you demonstrating a
+ careless desolation; but you are no such man; you
+ are rather point-device in your accoutrements as
+ loving yourself than seeming the lover of any other.
+
+ORLANDO Fair youth, I would I could make thee believe I love.
+
+ROSALIND Me believe it! you may as soon make her that you
+ love believe it; which, I warrant, she is apter to
+ do than to confess she does: that is one of the
+ points in the which women still give the lie to
+ their consciences. But, in good sooth, are you he
+ that hangs the verses on the trees, wherein Rosalind
+ is so admired?
+
+ORLANDO I swear to thee, youth, by the white hand of
+ Rosalind, I am that he, that unfortunate he.
+
+ROSALIND But are you so much in love as your rhymes speak?
+
+ORLANDO Neither rhyme nor reason can express how much.
+
+ROSALIND Love is merely a madness, and, I tell you, deserves
+ as well a dark house and a whip as madmen do: and
+ the reason why they are not so punished and cured
+ is, that the lunacy is so ordinary that the whippers
+ are in love too. Yet I profess curing it by counsel.
+
+ORLANDO Did you ever cure any so?
+
+ROSALIND Yes, one, and in this manner. He was to imagine me
+ his love, his mistress; and I set him every day to
+ woo me: at which time would I, being but a moonish
+ youth, grieve, be effeminate, changeable, longing
+ and liking, proud, fantastical, apish, shallow,
+ inconstant, full of tears, full of smiles, for every
+ passion something and for no passion truly any
+ thing, as boys and women are for the most part
+ cattle of this colour; would now like him, now loathe
+ him; then entertain him, then forswear him; now weep
+ for him, then spit at him; that I drave my suitor
+ from his mad humour of love to a living humour of
+ madness; which was, to forswear the full stream of
+ the world, and to live in a nook merely monastic.
+ And thus I cured him; and this way will I take upon
+ me to wash your liver as clean as a sound sheep's
+ heart, that there shall not be one spot of love in't.
+
+ORLANDO I would not be cured, youth.
+
+ROSALIND I would cure you, if you would but call me Rosalind
+ and come every day to my cote and woo me.
+
+ORLANDO Now, by the faith of my love, I will: tell me
+ where it is.
+
+ROSALIND Go with me to it and I'll show it you and by the way
+ you shall tell me where in the forest you live.
+ Will you go?
+
+ORLANDO With all my heart, good youth.
+
+ROSALIND Nay you must call me Rosalind. Come, sister, will you go?
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT III
+
+
+
+SCENE III The forest.
+
+
+ [Enter TOUCHSTONE and AUDREY; JAQUES behind]
+
+TOUCHSTONE Come apace, good Audrey: I will fetch up your
+ goats, Audrey. And how, Audrey? am I the man yet?
+ doth my simple feature content you?
+
+AUDREY Your features! Lord warrant us! what features!
+
+TOUCHSTONE I am here with thee and thy goats, as the most
+ capricious poet, honest Ovid, was among the Goths.
+
+JAQUES [Aside] O knowledge ill-inhabited, worse than Jove
+ in a thatched house!
+
+TOUCHSTONE When a man's verses cannot be understood, nor a
+ man's good wit seconded with the forward child
+ Understanding, it strikes a man more dead than a
+ great reckoning in a little room. Truly, I would
+ the gods had made thee poetical.
+
+AUDREY I do not know what 'poetical' is: is it honest in
+ deed and word? is it a true thing?
+
+TOUCHSTONE No, truly; for the truest poetry is the most
+ feigning; and lovers are given to poetry, and what
+ they swear in poetry may be said as lovers they do feign.
+
+AUDREY Do you wish then that the gods had made me poetical?
+
+TOUCHSTONE I do, truly; for thou swearest to me thou art
+ honest: now, if thou wert a poet, I might have some
+ hope thou didst feign.
+
+AUDREY Would you not have me honest?
+
+TOUCHSTONE No, truly, unless thou wert hard-favoured; for
+ honesty coupled to beauty is to have honey a sauce to sugar.
+
+JAQUES [Aside] A material fool!
+
+AUDREY Well, I am not fair; and therefore I pray the gods
+ make me honest.
+
+TOUCHSTONE Truly, and to cast away honesty upon a foul slut
+ were to put good meat into an unclean dish.
+
+AUDREY I am not a slut, though I thank the gods I am foul.
+
+TOUCHSTONE Well, praised be the gods for thy foulness!
+ sluttishness may come hereafter. But be it as it may
+ be, I will marry thee, and to that end I have been
+ with Sir Oliver Martext, the vicar of the next
+ village, who hath promised to meet me in this place
+ of the forest and to couple us.
+
+JAQUES [Aside] I would fain see this meeting.
+
+AUDREY Well, the gods give us joy!
+
+TOUCHSTONE Amen. A man may, if he were of a fearful heart,
+ stagger in this attempt; for here we have no temple
+ but the wood, no assembly but horn-beasts. But what
+ though? Courage! As horns are odious, they are
+ necessary. It is said, 'many a man knows no end of
+ his goods:' right; many a man has good horns, and
+ knows no end of them. Well, that is the dowry of
+ his wife; 'tis none of his own getting. Horns?
+ Even so. Poor men alone? No, no; the noblest deer
+ hath them as huge as the rascal. Is the single man
+ therefore blessed? No: as a walled town is more
+ worthier than a village, so is the forehead of a
+ married man more honourable than the bare brow of a
+ bachelor; and by how much defence is better than no
+ skill, by so much is a horn more precious than to
+ want. Here comes Sir Oliver.
+
+ [Enter SIR OLIVER MARTEXT]
+
+ Sir Oliver Martext, you are well met: will you
+ dispatch us here under this tree, or shall we go
+ with you to your chapel?
+
+SIR OLIVER MARTEXT Is there none here to give the woman?
+
+TOUCHSTONE I will not take her on gift of any man.
+
+SIR OLIVER MARTEXT Truly, she must be given, or the marriage is not lawful.
+
+JAQUES [Advancing]
+
+ Proceed, proceed I'll give her.
+
+TOUCHSTONE Good even, good Master What-ye-call't: how do you,
+ sir? You are very well met: God 'ild you for your
+ last company: I am very glad to see you: even a
+ toy in hand here, sir: nay, pray be covered.
+
+JAQUES Will you be married, motley?
+
+TOUCHSTONE As the ox hath his bow, sir, the horse his curb and
+ the falcon her bells, so man hath his desires; and
+ as pigeons bill, so wedlock would be nibbling.
+
+JAQUES And will you, being a man of your breeding, be
+ married under a bush like a beggar? Get you to
+ church, and have a good priest that can tell you
+ what marriage is: this fellow will but join you
+ together as they join wainscot; then one of you will
+ prove a shrunk panel and, like green timber, warp, warp.
+
+TOUCHSTONE [Aside] I am not in the mind but I were better to be
+ married of him than of another: for he is not like
+ to marry me well; and not being well married, it
+ will be a good excuse for me hereafter to leave my wife.
+
+JAQUES Go thou with me, and let me counsel thee.
+
+TOUCHSTONE 'Come, sweet Audrey:
+ We must be married, or we must live in bawdry.
+ Farewell, good Master Oliver: not,--
+ O sweet Oliver,
+ O brave Oliver,
+ Leave me not behind thee: but,--
+ Wind away,
+ Begone, I say,
+ I will not to wedding with thee.
+
+ [Exeunt JAQUES, TOUCHSTONE and AUDREY]
+
+SIR OLIVER MARTEXT 'Tis no matter: ne'er a fantastical knave of them
+ all shall flout me out of my calling.
+
+ [Exit]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT III
+
+
+
+SCENE IV The forest.
+
+
+ [Enter ROSALIND and CELIA]
+
+ROSALIND Never talk to me; I will weep.
+
+CELIA Do, I prithee; but yet have the grace to consider
+ that tears do not become a man.
+
+ROSALIND But have I not cause to weep?
+
+CELIA As good cause as one would desire; therefore weep.
+
+ROSALIND His very hair is of the dissembling colour.
+
+CELIA Something browner than Judas's marry, his kisses are
+ Judas's own children.
+
+ROSALIND I' faith, his hair is of a good colour.
+
+CELIA An excellent colour: your chestnut was ever the only colour.
+
+ROSALIND And his kissing is as full of sanctity as the touch
+ of holy bread.
+
+CELIA He hath bought a pair of cast lips of Diana: a nun
+ of winter's sisterhood kisses not more religiously;
+ the very ice of chastity is in them.
+
+ROSALIND But why did he swear he would come this morning, and
+ comes not?
+
+CELIA Nay, certainly, there is no truth in him.
+
+ROSALIND Do you think so?
+
+CELIA Yes; I think he is not a pick-purse nor a
+ horse-stealer, but for his verity in love, I do
+ think him as concave as a covered goblet or a
+ worm-eaten nut.
+
+ROSALIND Not true in love?
+
+CELIA Yes, when he is in; but I think he is not in.
+
+ROSALIND You have heard him swear downright he was.
+
+CELIA 'Was' is not 'is:' besides, the oath of a lover is
+ no stronger than the word of a tapster; they are
+ both the confirmer of false reckonings. He attends
+ here in the forest on the duke your father.
+
+ROSALIND I met the duke yesterday and had much question with
+ him: he asked me of what parentage I was; I told
+ him, of as good as he; so he laughed and let me go.
+ But what talk we of fathers, when there is such a
+ man as Orlando?
+
+CELIA O, that's a brave man! he writes brave verses,
+ speaks brave words, swears brave oaths and breaks
+ them bravely, quite traverse, athwart the heart of
+ his lover; as a puisny tilter, that spurs his horse
+ but on one side, breaks his staff like a noble
+ goose: but all's brave that youth mounts and folly
+ guides. Who comes here?
+
+ [Enter CORIN]
+
+CORIN Mistress and master, you have oft inquired
+ After the shepherd that complain'd of love,
+ Who you saw sitting by me on the turf,
+ Praising the proud disdainful shepherdess
+ That was his mistress.
+
+CELIA Well, and what of him?
+
+CORIN If you will see a pageant truly play'd,
+ Between the pale complexion of true love
+ And the red glow of scorn and proud disdain,
+ Go hence a little and I shall conduct you,
+ If you will mark it.
+
+ROSALIND O, come, let us remove:
+ The sight of lovers feedeth those in love.
+ Bring us to this sight, and you shall say
+ I'll prove a busy actor in their play.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT III
+
+
+
+SCENE V Another part of the forest.
+
+
+ [Enter SILVIUS and PHEBE]
+
+SILVIUS Sweet Phebe, do not scorn me; do not, Phebe;
+ Say that you love me not, but say not so
+ In bitterness. The common executioner,
+ Whose heart the accustom'd sight of death makes hard,
+ Falls not the axe upon the humbled neck
+ But first begs pardon: will you sterner be
+ Than he that dies and lives by bloody drops?
+
+ [Enter ROSALIND, CELIA, and CORIN, behind]
+
+PHEBE I would not be thy executioner:
+ I fly thee, for I would not injure thee.
+ Thou tell'st me there is murder in mine eye:
+ 'Tis pretty, sure, and very probable,
+ That eyes, that are the frail'st and softest things,
+ Who shut their coward gates on atomies,
+ Should be call'd tyrants, butchers, murderers!
+ Now I do frown on thee with all my heart;
+ And if mine eyes can wound, now let them kill thee:
+ Now counterfeit to swoon; why now fall down;
+ Or if thou canst not, O, for shame, for shame,
+ Lie not, to say mine eyes are murderers!
+ Now show the wound mine eye hath made in thee:
+ Scratch thee but with a pin, and there remains
+ Some scar of it; lean but upon a rush,
+ The cicatrice and capable impressure
+ Thy palm some moment keeps; but now mine eyes,
+ Which I have darted at thee, hurt thee not,
+ Nor, I am sure, there is no force in eyes
+ That can do hurt.
+
+SILVIUS O dear Phebe,
+ If ever,--as that ever may be near,--
+ You meet in some fresh cheek the power of fancy,
+ Then shall you know the wounds invisible
+ That love's keen arrows make.
+
+PHEBE But till that time
+ Come not thou near me: and when that time comes,
+ Afflict me with thy mocks, pity me not;
+ As till that time I shall not pity thee.
+
+ROSALIND And why, I pray you? Who might be your mother,
+ That you insult, exult, and all at once,
+ Over the wretched? What though you have no beauty,--
+ As, by my faith, I see no more in you
+ Than without candle may go dark to bed--
+ Must you be therefore proud and pitiless?
+ Why, what means this? Why do you look on me?
+ I see no more in you than in the ordinary
+ Of nature's sale-work. 'Od's my little life,
+ I think she means to tangle my eyes too!
+ No, faith, proud mistress, hope not after it:
+ 'Tis not your inky brows, your black silk hair,
+ Your bugle eyeballs, nor your cheek of cream,
+ That can entame my spirits to your worship.
+ You foolish shepherd, wherefore do you follow her,
+ Like foggy south puffing with wind and rain?
+ You are a thousand times a properer man
+ Than she a woman: 'tis such fools as you
+ That makes the world full of ill-favour'd children:
+ 'Tis not her glass, but you, that flatters her;
+ And out of you she sees herself more proper
+ Than any of her lineaments can show her.
+ But, mistress, know yourself: down on your knees,
+ And thank heaven, fasting, for a good man's love:
+ For I must tell you friendly in your ear,
+ Sell when you can: you are not for all markets:
+ Cry the man mercy; love him; take his offer:
+ Foul is most foul, being foul to be a scoffer.
+ So take her to thee, shepherd: fare you well.
+
+PHEBE Sweet youth, I pray you, chide a year together:
+ I had rather hear you chide than this man woo.
+
+ROSALIND He's fallen in love with your foulness and she'll
+ fall in love with my anger. If it be so, as fast as
+ she answers thee with frowning looks, I'll sauce her
+ with bitter words. Why look you so upon me?
+
+PHEBE For no ill will I bear you.
+
+ROSALIND I pray you, do not fall in love with me,
+ For I am falser than vows made in wine:
+ Besides, I like you not. If you will know my house,
+ 'Tis at the tuft of olives here hard by.
+ Will you go, sister? Shepherd, ply her hard.
+ Come, sister. Shepherdess, look on him better,
+ And be not proud: though all the world could see,
+ None could be so abused in sight as he.
+ Come, to our flock.
+
+ [Exeunt ROSALIND, CELIA and CORIN]
+
+PHEBE Dead Shepherd, now I find thy saw of might,
+ 'Who ever loved that loved not at first sight?'
+
+SILVIUS Sweet Phebe,--
+
+PHEBE Ha, what say'st thou, Silvius?
+
+SILVIUS Sweet Phebe, pity me.
+
+PHEBE Why, I am sorry for thee, gentle Silvius.
+
+SILVIUS Wherever sorrow is, relief would be:
+ If you do sorrow at my grief in love,
+ By giving love your sorrow and my grief
+ Were both extermined.
+
+PHEBE Thou hast my love: is not that neighbourly?
+
+SILVIUS I would have you.
+
+PHEBE Why, that were covetousness.
+ Silvius, the time was that I hated thee,
+ And yet it is not that I bear thee love;
+ But since that thou canst talk of love so well,
+ Thy company, which erst was irksome to me,
+ I will endure, and I'll employ thee too:
+ But do not look for further recompense
+ Than thine own gladness that thou art employ'd.
+
+SILVIUS So holy and so perfect is my love,
+ And I in such a poverty of grace,
+ That I shall think it a most plenteous crop
+ To glean the broken ears after the man
+ That the main harvest reaps: loose now and then
+ A scatter'd smile, and that I'll live upon.
+
+PHEBE Know'st now the youth that spoke to me erewhile?
+
+SILVIUS Not very well, but I have met him oft;
+ And he hath bought the cottage and the bounds
+ That the old carlot once was master of.
+
+PHEBE Think not I love him, though I ask for him:
+ 'Tis but a peevish boy; yet he talks well;
+ But what care I for words? yet words do well
+ When he that speaks them pleases those that hear.
+ It is a pretty youth: not very pretty:
+ But, sure, he's proud, and yet his pride becomes him:
+ He'll make a proper man: the best thing in him
+ Is his complexion; and faster than his tongue
+ Did make offence his eye did heal it up.
+ He is not very tall; yet for his years he's tall:
+ His leg is but so so; and yet 'tis well:
+ There was a pretty redness in his lip,
+ A little riper and more lusty red
+ Than that mix'd in his cheek; 'twas just the difference
+ Between the constant red and mingled damask.
+ There be some women, Silvius, had they mark'd him
+ In parcels as I did, would have gone near
+ To fall in love with him; but, for my part,
+ I love him not nor hate him not; and yet
+ I have more cause to hate him than to love him:
+ For what had he to do to chide at me?
+ He said mine eyes were black and my hair black:
+ And, now I am remember'd, scorn'd at me:
+ I marvel why I answer'd not again:
+ But that's all one; omittance is no quittance.
+ I'll write to him a very taunting letter,
+ And thou shalt bear it: wilt thou, Silvius?
+
+SILVIUS Phebe, with all my heart.
+
+PHEBE I'll write it straight;
+ The matter's in my head and in my heart:
+ I will be bitter with him and passing short.
+ Go with me, Silvius.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT IV
+
+
+
+SCENE I The forest.
+
+
+ [Enter ROSALIND, CELIA, and JAQUES]
+
+JAQUES I prithee, pretty youth, let me be better acquainted
+ with thee.
+
+ROSALIND They say you are a melancholy fellow.
+
+JAQUES I am so; I do love it better than laughing.
+
+ROSALIND Those that are in extremity of either are abominable
+ fellows and betray themselves to every modern
+ censure worse than drunkards.
+
+JAQUES Why, 'tis good to be sad and say nothing.
+
+ROSALIND Why then, 'tis good to be a post.
+
+JAQUES I have neither the scholar's melancholy, which is
+ emulation, nor the musician's, which is fantastical,
+ nor the courtier's, which is proud, nor the
+ soldier's, which is ambitious, nor the lawyer's,
+ which is politic, nor the lady's, which is nice, nor
+ the lover's, which is all these: but it is a
+ melancholy of mine own, compounded of many simples,
+ extracted from many objects, and indeed the sundry's
+ contemplation of my travels, in which my often
+ rumination wraps me m a most humorous sadness.
+
+ROSALIND A traveller! By my faith, you have great reason to
+ be sad: I fear you have sold your own lands to see
+ other men's; then, to have seen much and to have
+ nothing, is to have rich eyes and poor hands.
+
+JAQUES Yes, I have gained my experience.
+
+ROSALIND And your experience makes you sad: I had rather have
+ a fool to make me merry than experience to make me
+ sad; and to travel for it too!
+
+ [Enter ORLANDO]
+
+ORLANDO Good day and happiness, dear Rosalind!
+
+JAQUES Nay, then, God be wi' you, an you talk in blank verse.
+
+ [Exit]
+
+ROSALIND Farewell, Monsieur Traveller: look you lisp and
+ wear strange suits, disable all the benefits of your
+ own country, be out of love with your nativity and
+ almost chide God for making you that countenance you
+ are, or I will scarce think you have swam in a
+ gondola. Why, how now, Orlando! where have you been
+ all this while? You a lover! An you serve me such
+ another trick, never come in my sight more.
+
+ORLANDO My fair Rosalind, I come within an hour of my promise.
+
+ROSALIND Break an hour's promise in love! He that will
+ divide a minute into a thousand parts and break but
+ a part of the thousandth part of a minute in the
+ affairs of love, it may be said of him that Cupid
+ hath clapped him o' the shoulder, but I'll warrant
+ him heart-whole.
+
+ORLANDO Pardon me, dear Rosalind.
+
+ROSALIND Nay, an you be so tardy, come no more in my sight: I
+ had as lief be wooed of a snail.
+
+ORLANDO Of a snail?
+
+ROSALIND Ay, of a snail; for though he comes slowly, he
+ carries his house on his head; a better jointure,
+ I think, than you make a woman: besides he brings
+ his destiny with him.
+
+ORLANDO What's that?
+
+ROSALIND Why, horns, which such as you are fain to be
+ beholding to your wives for: but he comes armed in
+ his fortune and prevents the slander of his wife.
+
+ORLANDO Virtue is no horn-maker; and my Rosalind is virtuous.
+
+ROSALIND And I am your Rosalind.
+
+CELIA It pleases him to call you so; but he hath a
+ Rosalind of a better leer than you.
+
+ROSALIND Come, woo me, woo me, for now I am in a holiday
+ humour and like enough to consent. What would you
+ say to me now, an I were your very very Rosalind?
+
+ORLANDO I would kiss before I spoke.
+
+ROSALIND Nay, you were better speak first, and when you were
+ gravelled for lack of matter, you might take
+ occasion to kiss. Very good orators, when they are
+ out, they will spit; and for lovers lacking--God
+ warn us!--matter, the cleanliest shift is to kiss.
+
+ORLANDO How if the kiss be denied?
+
+ROSALIND Then she puts you to entreaty, and there begins new matter.
+
+ORLANDO Who could be out, being before his beloved mistress?
+
+ROSALIND Marry, that should you, if I were your mistress, or
+ I should think my honesty ranker than my wit.
+
+ORLANDO What, of my suit?
+
+ROSALIND Not out of your apparel, and yet out of your suit.
+ Am not I your Rosalind?
+
+ORLANDO I take some joy to say you are, because I would be
+ talking of her.
+
+ROSALIND Well in her person I say I will not have you.
+
+ORLANDO Then in mine own person I die.
+
+ROSALIND No, faith, die by attorney. The poor world is
+ almost six thousand years old, and in all this time
+ there was not any man died in his own person,
+ videlicit, in a love-cause. Troilus had his brains
+ dashed out with a Grecian club; yet he did what he
+ could to die before, and he is one of the patterns
+ of love. Leander, he would have lived many a fair
+ year, though Hero had turned nun, if it had not been
+ for a hot midsummer night; for, good youth, he went
+ but forth to wash him in the Hellespont and being
+ taken with the cramp was drowned and the foolish
+ coroners of that age found it was 'Hero of Sestos.'
+ But these are all lies: men have died from time to
+ time and worms have eaten them, but not for love.
+
+ORLANDO I would not have my right Rosalind of this mind,
+ for, I protest, her frown might kill me.
+
+ROSALIND By this hand, it will not kill a fly. But come, now
+ I will be your Rosalind in a more coming-on
+ disposition, and ask me what you will. I will grant
+ it.
+
+ORLANDO Then love me, Rosalind.
+
+ROSALIND Yes, faith, will I, Fridays and Saturdays and all.
+
+ORLANDO And wilt thou have me?
+
+ROSALIND Ay, and twenty such.
+
+ORLANDO What sayest thou?
+
+ROSALIND Are you not good?
+
+ORLANDO I hope so.
+
+ROSALIND Why then, can one desire too much of a good thing?
+ Come, sister, you shall be the priest and marry us.
+ Give me your hand, Orlando. What do you say, sister?
+
+ORLANDO Pray thee, marry us.
+
+CELIA I cannot say the words.
+
+ROSALIND You must begin, 'Will you, Orlando--'
+
+CELIA Go to. Will you, Orlando, have to wife this Rosalind?
+
+ORLANDO I will.
+
+ROSALIND Ay, but when?
+
+ORLANDO Why now; as fast as she can marry us.
+
+ROSALIND Then you must say 'I take thee, Rosalind, for wife.'
+
+ORLANDO I take thee, Rosalind, for wife.
+
+ROSALIND I might ask you for your commission; but I do take
+ thee, Orlando, for my husband: there's a girl goes
+ before the priest; and certainly a woman's thought
+ runs before her actions.
+
+ORLANDO So do all thoughts; they are winged.
+
+ROSALIND Now tell me how long you would have her after you
+ have possessed her.
+
+ORLANDO For ever and a day.
+
+ROSALIND Say 'a day,' without the 'ever.' No, no, Orlando;
+ men are April when they woo, December when they wed:
+ maids are May when they are maids, but the sky
+ changes when they are wives. I will be more jealous
+ of thee than a Barbary cock-pigeon over his hen,
+ more clamorous than a parrot against rain, more
+ new-fangled than an ape, more giddy in my desires
+ than a monkey: I will weep for nothing, like Diana
+ in the fountain, and I will do that when you are
+ disposed to be merry; I will laugh like a hyen, and
+ that when thou art inclined to sleep.
+
+ORLANDO But will my Rosalind do so?
+
+ROSALIND By my life, she will do as I do.
+
+ORLANDO O, but she is wise.
+
+ROSALIND Or else she could not have the wit to do this: the
+ wiser, the waywarder: make the doors upon a woman's
+ wit and it will out at the casement; shut that and
+ 'twill out at the key-hole; stop that, 'twill fly
+ with the smoke out at the chimney.
+
+ORLANDO A man that had a wife with such a wit, he might say
+ 'Wit, whither wilt?'
+
+ROSALIND Nay, you might keep that cheque for it till you met
+ your wife's wit going to your neighbour's bed.
+
+ORLANDO And what wit could wit have to excuse that?
+
+ROSALIND Marry, to say she came to seek you there. You shall
+ never take her without her answer, unless you take
+ her without her tongue. O, that woman that cannot
+ make her fault her husband's occasion, let her
+ never nurse her child herself, for she will breed
+ it like a fool!
+
+ORLANDO For these two hours, Rosalind, I will leave thee.
+
+ROSALIND Alas! dear love, I cannot lack thee two hours.
+
+ORLANDO I must attend the duke at dinner: by two o'clock I
+ will be with thee again.
+
+ROSALIND Ay, go your ways, go your ways; I knew what you
+ would prove: my friends told me as much, and I
+ thought no less: that flattering tongue of yours
+ won me: 'tis but one cast away, and so, come,
+ death! Two o'clock is your hour?
+
+ORLANDO Ay, sweet Rosalind.
+
+ROSALIND By my troth, and in good earnest, and so God mend
+ me, and by all pretty oaths that are not dangerous,
+ if you break one jot of your promise or come one
+ minute behind your hour, I will think you the most
+ pathetical break-promise and the most hollow lover
+ and the most unworthy of her you call Rosalind that
+ may be chosen out of the gross band of the
+ unfaithful: therefore beware my censure and keep
+ your promise.
+
+ORLANDO With no less religion than if thou wert indeed my
+ Rosalind: so adieu.
+
+ROSALIND Well, Time is the old justice that examines all such
+ offenders, and let Time try: adieu.
+
+ [Exit ORLANDO]
+
+CELIA You have simply misused our sex in your love-prate:
+ we must have your doublet and hose plucked over your
+ head, and show the world what the bird hath done to
+ her own nest.
+
+ROSALIND O coz, coz, coz, my pretty little coz, that thou
+ didst know how many fathom deep I am in love! But
+ it cannot be sounded: my affection hath an unknown
+ bottom, like the bay of Portugal.
+
+CELIA Or rather, bottomless, that as fast as you pour
+ affection in, it runs out.
+
+ROSALIND No, that same wicked bastard of Venus that was begot
+ of thought, conceived of spleen and born of madness,
+ that blind rascally boy that abuses every one's eyes
+ because his own are out, let him be judge how deep I
+ am in love. I'll tell thee, Aliena, I cannot be out
+ of the sight of Orlando: I'll go find a shadow and
+ sigh till he come.
+
+CELIA And I'll sleep.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT IV
+
+
+
+SCENE II The forest.
+
+
+ [Enter JAQUES, Lords, and Foresters]
+
+JAQUES Which is he that killed the deer?
+
+A Lord Sir, it was I.
+
+JAQUES Let's present him to the duke, like a Roman
+ conqueror; and it would do well to set the deer's
+ horns upon his head, for a branch of victory. Have
+ you no song, forester, for this purpose?
+
+Forester Yes, sir.
+
+JAQUES Sing it: 'tis no matter how it be in tune, so it
+ make noise enough.
+
+ SONG.
+Forester What shall he have that kill'd the deer?
+ His leather skin and horns to wear.
+ Then sing him home;
+
+ [The rest shall bear this burden]
+
+ Take thou no scorn to wear the horn;
+ It was a crest ere thou wast born:
+ Thy father's father wore it,
+ And thy father bore it:
+ The horn, the horn, the lusty horn
+ Is not a thing to laugh to scorn.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT IV
+
+
+
+SCENE III The forest.
+
+
+ [Enter ROSALIND and CELIA]
+
+ROSALIND How say you now? Is it not past two o'clock? and
+ here much Orlando!
+
+CELIA I warrant you, with pure love and troubled brain, he
+ hath ta'en his bow and arrows and is gone forth to
+ sleep. Look, who comes here.
+
+ [Enter SILVIUS]
+
+SILVIUS My errand is to you, fair youth;
+ My gentle Phebe bid me give you this:
+ I know not the contents; but, as I guess
+ By the stern brow and waspish action
+ Which she did use as she was writing of it,
+ It bears an angry tenor: pardon me:
+ I am but as a guiltless messenger.
+
+ROSALIND Patience herself would startle at this letter
+ And play the swaggerer; bear this, bear all:
+ She says I am not fair, that I lack manners;
+ She calls me proud, and that she could not love me,
+ Were man as rare as phoenix. 'Od's my will!
+ Her love is not the hare that I do hunt:
+ Why writes she so to me? Well, shepherd, well,
+ This is a letter of your own device.
+
+SILVIUS No, I protest, I know not the contents:
+ Phebe did write it.
+
+ROSALIND Come, come, you are a fool
+ And turn'd into the extremity of love.
+ I saw her hand: she has a leathern hand.
+ A freestone-colour'd hand; I verily did think
+ That her old gloves were on, but 'twas her hands:
+ She has a huswife's hand; but that's no matter:
+ I say she never did invent this letter;
+ This is a man's invention and his hand.
+
+SILVIUS Sure, it is hers.
+
+ROSALIND Why, 'tis a boisterous and a cruel style.
+ A style for-challengers; why, she defies me,
+ Like Turk to Christian: women's gentle brain
+ Could not drop forth such giant-rude invention
+ Such Ethiope words, blacker in their effect
+ Than in their countenance. Will you hear the letter?
+
+SILVIUS So please you, for I never heard it yet;
+ Yet heard too much of Phebe's cruelty.
+
+ROSALIND She Phebes me: mark how the tyrant writes.
+
+ [Reads]
+
+ Art thou god to shepherd turn'd,
+ That a maiden's heart hath burn'd?
+ Can a woman rail thus?
+
+SILVIUS Call you this railing?
+
+ROSALIND [Reads]
+
+ Why, thy godhead laid apart,
+ Warr'st thou with a woman's heart?
+ Did you ever hear such railing?
+ Whiles the eye of man did woo me,
+ That could do no vengeance to me.
+ Meaning me a beast.
+ If the scorn of your bright eyne
+ Have power to raise such love in mine,
+ Alack, in me what strange effect
+ Would they work in mild aspect!
+ Whiles you chid me, I did love;
+ How then might your prayers move!
+ He that brings this love to thee
+ Little knows this love in me:
+ And by him seal up thy mind;
+ Whether that thy youth and kind
+ Will the faithful offer take
+ Of me and all that I can make;
+ Or else by him my love deny,
+ And then I'll study how to die.
+
+SILVIUS Call you this chiding?
+
+CELIA Alas, poor shepherd!
+
+ROSALIND Do you pity him? no, he deserves no pity. Wilt
+ thou love such a woman? What, to make thee an
+ instrument and play false strains upon thee! not to
+ be endured! Well, go your way to her, for I see
+ love hath made thee a tame snake, and say this to
+ her: that if she love me, I charge her to love
+ thee; if she will not, I will never have her unless
+ thou entreat for her. If you be a true lover,
+ hence, and not a word; for here comes more company.
+
+ [Exit SILVIUS]
+
+ [Enter OLIVER]
+
+OLIVER Good morrow, fair ones: pray you, if you know,
+ Where in the purlieus of this forest stands
+ A sheep-cote fenced about with olive trees?
+
+CELIA West of this place, down in the neighbour bottom:
+ The rank of osiers by the murmuring stream
+ Left on your right hand brings you to the place.
+ But at this hour the house doth keep itself;
+ There's none within.
+
+OLIVER If that an eye may profit by a tongue,
+ Then should I know you by description;
+ Such garments and such years: 'The boy is fair,
+ Of female favour, and bestows himself
+ Like a ripe sister: the woman low
+ And browner than her brother.' Are not you
+ The owner of the house I did inquire for?
+
+CELIA It is no boast, being ask'd, to say we are.
+
+OLIVER Orlando doth commend him to you both,
+ And to that youth he calls his Rosalind
+ He sends this bloody napkin. Are you he?
+
+ROSALIND I am: what must we understand by this?
+
+OLIVER Some of my shame; if you will know of me
+ What man I am, and how, and why, and where
+ This handkercher was stain'd.
+
+CELIA I pray you, tell it.
+
+OLIVER When last the young Orlando parted from you
+ He left a promise to return again
+ Within an hour, and pacing through the forest,
+ Chewing the food of sweet and bitter fancy,
+ Lo, what befell! he threw his eye aside,
+ And mark what object did present itself:
+ Under an oak, whose boughs were moss'd with age
+ And high top bald with dry antiquity,
+ A wretched ragged man, o'ergrown with hair,
+ Lay sleeping on his back: about his neck
+ A green and gilded snake had wreathed itself,
+ Who with her head nimble in threats approach'd
+ The opening of his mouth; but suddenly,
+ Seeing Orlando, it unlink'd itself,
+ And with indented glides did slip away
+ Into a bush: under which bush's shade
+ A lioness, with udders all drawn dry,
+ Lay couching, head on ground, with catlike watch,
+ When that the sleeping man should stir; for 'tis
+ The royal disposition of that beast
+ To prey on nothing that doth seem as dead:
+ This seen, Orlando did approach the man
+ And found it was his brother, his elder brother.
+
+CELIA O, I have heard him speak of that same brother;
+ And he did render him the most unnatural
+ That lived amongst men.
+
+OLIVER And well he might so do,
+ For well I know he was unnatural.
+
+ROSALIND But, to Orlando: did he leave him there,
+ Food to the suck'd and hungry lioness?
+
+OLIVER Twice did he turn his back and purposed so;
+ But kindness, nobler ever than revenge,
+ And nature, stronger than his just occasion,
+ Made him give battle to the lioness,
+ Who quickly fell before him: in which hurtling
+ From miserable slumber I awaked.
+
+CELIA Are you his brother?
+
+ROSALIND Wast you he rescued?
+
+CELIA Was't you that did so oft contrive to kill him?
+
+OLIVER 'Twas I; but 'tis not I I do not shame
+ To tell you what I was, since my conversion
+ So sweetly tastes, being the thing I am.
+
+ROSALIND But, for the bloody napkin?
+
+OLIVER By and by.
+ When from the first to last betwixt us two
+ Tears our recountments had most kindly bathed,
+ As how I came into that desert place:--
+ In brief, he led me to the gentle duke,
+ Who gave me fresh array and entertainment,
+ Committing me unto my brother's love;
+ Who led me instantly unto his cave,
+ There stripp'd himself, and here upon his arm
+ The lioness had torn some flesh away,
+ Which all this while had bled; and now he fainted
+ And cried, in fainting, upon Rosalind.
+ Brief, I recover'd him, bound up his wound;
+ And, after some small space, being strong at heart,
+ He sent me hither, stranger as I am,
+ To tell this story, that you might excuse
+ His broken promise, and to give this napkin
+ Dyed in his blood unto the shepherd youth
+ That he in sport doth call his Rosalind.
+
+ [ROSALIND swoons]
+
+CELIA Why, how now, Ganymede! sweet Ganymede!
+
+OLIVER Many will swoon when they do look on blood.
+
+CELIA There is more in it. Cousin Ganymede!
+
+OLIVER Look, he recovers.
+
+ROSALIND I would I were at home.
+
+CELIA We'll lead you thither.
+ I pray you, will you take him by the arm?
+
+OLIVER Be of good cheer, youth: you a man! you lack a
+ man's heart.
+
+ROSALIND I do so, I confess it. Ah, sirrah, a body would
+ think this was well counterfeited! I pray you, tell
+ your brother how well I counterfeited. Heigh-ho!
+
+OLIVER This was not counterfeit: there is too great
+ testimony in your complexion that it was a passion
+ of earnest.
+
+ROSALIND Counterfeit, I assure you.
+
+OLIVER Well then, take a good heart and counterfeit to be a man.
+
+ROSALIND So I do: but, i' faith, I should have been a woman by right.
+
+CELIA Come, you look paler and paler: pray you, draw
+ homewards. Good sir, go with us.
+
+OLIVER That will I, for I must bear answer back
+ How you excuse my brother, Rosalind.
+
+ROSALIND I shall devise something: but, I pray you, commend
+ my counterfeiting to him. Will you go?
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT V
+
+
+
+SCENE I The forest.
+
+
+ [Enter TOUCHSTONE and AUDREY]
+
+TOUCHSTONE We shall find a time, Audrey; patience, gentle Audrey.
+
+AUDREY Faith, the priest was good enough, for all the old
+ gentleman's saying.
+
+TOUCHSTONE A most wicked Sir Oliver, Audrey, a most vile
+ Martext. But, Audrey, there is a youth here in the
+ forest lays claim to you.
+
+AUDREY Ay, I know who 'tis; he hath no interest in me in
+ the world: here comes the man you mean.
+
+TOUCHSTONE It is meat and drink to me to see a clown: by my
+ troth, we that have good wits have much to answer
+ for; we shall be flouting; we cannot hold.
+
+ [Enter WILLIAM]
+
+WILLIAM Good even, Audrey.
+
+AUDREY God ye good even, William.
+
+WILLIAM And good even to you, sir.
+
+TOUCHSTONE Good even, gentle friend. Cover thy head, cover thy
+ head; nay, prithee, be covered. How old are you, friend?
+
+WILLIAM Five and twenty, sir.
+
+TOUCHSTONE A ripe age. Is thy name William?
+
+WILLIAM William, sir.
+
+TOUCHSTONE A fair name. Wast born i' the forest here?
+
+WILLIAM Ay, sir, I thank God.
+
+TOUCHSTONE 'Thank God;' a good answer. Art rich?
+
+WILLIAM Faith, sir, so so.
+
+TOUCHSTONE 'So so' is good, very good, very excellent good; and
+ yet it is not; it is but so so. Art thou wise?
+
+WILLIAM Ay, sir, I have a pretty wit.
+
+TOUCHSTONE Why, thou sayest well. I do now remember a saying,
+ 'The fool doth think he is wise, but the wise man
+ knows himself to be a fool.' The heathen
+ philosopher, when he had a desire to eat a grape,
+ would open his lips when he put it into his mouth;
+ meaning thereby that grapes were made to eat and
+ lips to open. You do love this maid?
+
+WILLIAM I do, sir.
+
+TOUCHSTONE Give me your hand. Art thou learned?
+
+WILLIAM No, sir.
+
+TOUCHSTONE Then learn this of me: to have, is to have; for it
+ is a figure in rhetoric that drink, being poured out
+ of a cup into a glass, by filling the one doth empty
+ the other; for all your writers do consent that ipse
+ is he: now, you are not ipse, for I am he.
+
+WILLIAM Which he, sir?
+
+TOUCHSTONE He, sir, that must marry this woman. Therefore, you
+ clown, abandon,--which is in the vulgar leave,--the
+ society,--which in the boorish is company,--of this
+ female,--which in the common is woman; which
+ together is, abandon the society of this female, or,
+ clown, thou perishest; or, to thy better
+ understanding, diest; or, to wit I kill thee, make
+ thee away, translate thy life into death, thy
+ liberty into bondage: I will deal in poison with
+ thee, or in bastinado, or in steel; I will bandy
+ with thee in faction; I will o'errun thee with
+ policy; I will kill thee a hundred and fifty ways:
+ therefore tremble and depart.
+
+AUDREY Do, good William.
+
+WILLIAM God rest you merry, sir.
+
+ [Exit]
+
+ [Enter CORIN]
+
+CORIN Our master and mistress seeks you; come, away, away!
+
+TOUCHSTONE Trip, Audrey! trip, Audrey! I attend, I attend.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT V
+
+
+
+SCENE II The forest.
+
+
+ [Enter ORLANDO and OLIVER]
+
+ORLANDO Is't possible that on so little acquaintance you
+ should like her? that but seeing you should love
+ her? and loving woo? and, wooing, she should
+ grant? and will you persever to enjoy her?
+
+OLIVER Neither call the giddiness of it in question, the
+ poverty of her, the small acquaintance, my sudden
+ wooing, nor her sudden consenting; but say with me,
+ I love Aliena; say with her that she loves me;
+ consent with both that we may enjoy each other: it
+ shall be to your good; for my father's house and all
+ the revenue that was old Sir Rowland's will I
+ estate upon you, and here live and die a shepherd.
+
+ORLANDO You have my consent. Let your wedding be to-morrow:
+ thither will I invite the duke and all's contented
+ followers. Go you and prepare Aliena; for look
+ you, here comes my Rosalind.
+
+ [Enter ROSALIND]
+
+ROSALIND God save you, brother.
+
+OLIVER And you, fair sister.
+
+ [Exit]
+
+ROSALIND O, my dear Orlando, how it grieves me to see thee
+ wear thy heart in a scarf!
+
+ORLANDO It is my arm.
+
+ROSALIND I thought thy heart had been wounded with the claws
+ of a lion.
+
+ORLANDO Wounded it is, but with the eyes of a lady.
+
+ROSALIND Did your brother tell you how I counterfeited to
+ swoon when he showed me your handkerchief?
+
+ORLANDO Ay, and greater wonders than that.
+
+ROSALIND O, I know where you are: nay, 'tis true: there was
+ never any thing so sudden but the fight of two rams
+ and Caesar's thrasonical brag of 'I came, saw, and
+ overcame:' for your brother and my sister no sooner
+ met but they looked, no sooner looked but they
+ loved, no sooner loved but they sighed, no sooner
+ sighed but they asked one another the reason, no
+ sooner knew the reason but they sought the remedy;
+ and in these degrees have they made a pair of stairs
+ to marriage which they will climb incontinent, or
+ else be incontinent before marriage: they are in
+ the very wrath of love and they will together; clubs
+ cannot part them.
+
+ORLANDO They shall be married to-morrow, and I will bid the
+ duke to the nuptial. But, O, how bitter a thing it
+ is to look into happiness through another man's
+ eyes! By so much the more shall I to-morrow be at
+ the height of heart-heaviness, by how much I shall
+ think my brother happy in having what he wishes for.
+
+ROSALIND Why then, to-morrow I cannot serve your turn for Rosalind?
+
+ORLANDO I can live no longer by thinking.
+
+ROSALIND I will weary you then no longer with idle talking.
+ Know of me then, for now I speak to some purpose,
+ that I know you are a gentleman of good conceit: I
+ speak not this that you should bear a good opinion
+ of my knowledge, insomuch I say I know you are;
+ neither do I labour for a greater esteem than may in
+ some little measure draw a belief from you, to do
+ yourself good and not to grace me. Believe then, if
+ you please, that I can do strange things: I have,
+ since I was three year old, conversed with a
+ magician, most profound in his art and yet not
+ damnable. If you do love Rosalind so near the heart
+ as your gesture cries it out, when your brother
+ marries Aliena, shall you marry her: I know into
+ what straits of fortune she is driven; and it is
+ not impossible to me, if it appear not inconvenient
+ to you, to set her before your eyes tomorrow human
+ as she is and without any danger.
+
+ORLANDO Speakest thou in sober meanings?
+
+ROSALIND By my life, I do; which I tender dearly, though I
+ say I am a magician. Therefore, put you in your
+ best array: bid your friends; for if you will be
+ married to-morrow, you shall, and to Rosalind, if you will.
+
+ [Enter SILVIUS and PHEBE]
+
+ Look, here comes a lover of mine and a lover of hers.
+
+PHEBE Youth, you have done me much ungentleness,
+ To show the letter that I writ to you.
+
+ROSALIND I care not if I have: it is my study
+ To seem despiteful and ungentle to you:
+ You are there followed by a faithful shepherd;
+ Look upon him, love him; he worships you.
+
+PHEBE Good shepherd, tell this youth what 'tis to love.
+
+SILVIUS It is to be all made of sighs and tears;
+ And so am I for Phebe.
+
+PHEBE And I for Ganymede.
+
+ORLANDO And I for Rosalind.
+
+ROSALIND And I for no woman.
+
+SILVIUS It is to be all made of faith and service;
+ And so am I for Phebe.
+
+PHEBE And I for Ganymede.
+
+ORLANDO And I for Rosalind.
+
+ROSALIND And I for no woman.
+
+SILVIUS It is to be all made of fantasy,
+ All made of passion and all made of wishes,
+ All adoration, duty, and observance,
+ All humbleness, all patience and impatience,
+ All purity, all trial, all observance;
+ And so am I for Phebe.
+
+PHEBE And so am I for Ganymede.
+
+ORLANDO And so am I for Rosalind.
+
+ROSALIND And so am I for no woman.
+
+PHEBE If this be so, why blame you me to love you?
+
+SILVIUS If this be so, why blame you me to love you?
+
+ORLANDO If this be so, why blame you me to love you?
+
+ROSALIND Who do you speak to, 'Why blame you me to love you?'
+
+ORLANDO To her that is not here, nor doth not hear.
+
+ROSALIND Pray you, no more of this; 'tis like the howling
+ of Irish wolves against the moon.
+
+ [To SILVIUS]
+
+ I will help you, if I can:
+
+ [To PHEBE]
+
+ I would love you, if I could. To-morrow meet me all together.
+
+ [To PHEBE]
+
+ I will marry you, if ever I marry woman, and I'll be
+ married to-morrow:
+
+ [To ORLANDO]
+
+ I will satisfy you, if ever I satisfied man, and you
+ shall be married to-morrow:
+
+ [To SILVIUS]
+
+ I will content you, if what pleases you contents
+ you, and you shall be married to-morrow.
+
+ [To ORLANDO]
+
+ As you love Rosalind, meet:
+
+ [To SILVIUS]
+
+ as you love Phebe, meet: and as I love no woman,
+ I'll meet. So fare you well: I have left you commands.
+
+SILVIUS I'll not fail, if I live.
+
+PHEBE Nor I.
+
+ORLANDO Nor I.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT V
+
+
+
+SCENE III The forest.
+
+
+ [Enter TOUCHSTONE and AUDREY]
+
+TOUCHSTONE To-morrow is the joyful day, Audrey; to-morrow will
+ we be married.
+
+AUDREY I do desire it with all my heart; and I hope it is
+ no dishonest desire to desire to be a woman of the
+ world. Here comes two of the banished duke's pages.
+
+ [Enter two Pages]
+
+First Page Well met, honest gentleman.
+
+TOUCHSTONE By my troth, well met. Come, sit, sit, and a song.
+
+Second Page We are for you: sit i' the middle.
+
+First Page Shall we clap into't roundly, without hawking or
+ spitting or saying we are hoarse, which are the only
+ prologues to a bad voice?
+
+Second Page I'faith, i'faith; and both in a tune, like two
+ gipsies on a horse.
+
+ SONG.
+ It was a lover and his lass,
+ With a hey, and a ho, and a hey nonino,
+ That o'er the green corn-field did pass
+ In the spring time, the only pretty ring time,
+ When birds do sing, hey ding a ding, ding:
+ Sweet lovers love the spring.
+
+ Between the acres of the rye,
+ With a hey, and a ho, and a hey nonino
+ These pretty country folks would lie,
+ In spring time, &c.
+
+ This carol they began that hour,
+ With a hey, and a ho, and a hey nonino,
+ How that a life was but a flower
+ In spring time, &c.
+
+ And therefore take the present time,
+ With a hey, and a ho, and a hey nonino;
+ For love is crowned with the prime
+ In spring time, &c.
+
+TOUCHSTONE Truly, young gentlemen, though there was no great
+ matter in the ditty, yet the note was very
+ untuneable.
+
+First Page You are deceived, sir: we kept time, we lost not our time.
+
+TOUCHSTONE By my troth, yes; I count it but time lost to hear
+ such a foolish song. God be wi' you; and God mend
+ your voices! Come, Audrey.
+
+ [Exeunt]
+
+
+
+
+ AS YOU LIKE IT
+
+
+ACT V
+
+
+
+SCENE IV The forest.
+
+
+ [Enter DUKE SENIOR, AMIENS, JAQUES, ORLANDO, OLIVER,
+ and CELIA]
+
+DUKE SENIOR Dost thou believe, Orlando, that the boy
+ Can do all this that he hath promised?
+
+ORLANDO I sometimes do believe, and sometimes do not;
+ As those that fear they hope, and know they fear.
+
+ [Enter ROSALIND, SILVIUS, and PHEBE]
+
+ROSALIND Patience once more, whiles our compact is urged:
+ You say, if I bring in your Rosalind,
+ You will bestow her on Orlando here?
+
+DUKE SENIOR That would I, had I kingdoms to give with her.
+
+ROSALIND And you say, you will have her, when I bring her?
+
+ORLANDO That would I, were I of all kingdoms king.
+
+ROSALIND You say, you'll marry me, if I be willing?
+
+PHEBE That will I, should I die the hour after.
+
+ROSALIND But if you do refuse to marry me,
+ You'll give yourself to this most faithful shepherd?
+
+PHEBE So is the bargain.
+
+ROSALIND You say, that you'll have Phebe, if she will?
+
+SILVIUS Though to have her and death were both one thing.
+
+ROSALIND I have promised to make all this matter even.
+ Keep you your word, O duke, to give your daughter;
+ You yours, Orlando, to receive his daughter:
+ Keep your word, Phebe, that you'll marry me,
+ Or else refusing me, to wed this shepherd:
+ Keep your word, Silvius, that you'll marry her.
+ If she refuse me: and from hence I go,
+ To make these doubts all even.
+
+ [Exeunt ROSALIND and CELIA]
+
+DUKE SENIOR I do remember in this shepherd boy
+ Some lively touches of my daughter's favour.
+
+ORLANDO My lord, the first time that I ever saw him
+ Methought he was a brother to your daughter:
+ But, my good lord, this boy is forest-born,
+ And hath been tutor'd in the rudiments
+ Of many desperate studies by his uncle,
+ Whom he reports to be a great magician,
+ Obscured in the circle of this forest.
+
+ [Enter TOUCHSTONE and AUDREY]
+
+JAQUES There is, sure, another flood toward, and these
+ couples are coming to the ark. Here comes a pair of
+ very strange beasts, which in all tongues are called fools.
+
+TOUCHSTONE Salutation and greeting to you all!
+
+JAQUES Good my lord, bid him welcome: this is the
+ motley-minded gentleman that I have so often met in
+ the forest: he hath been a courtier, he swears.
+
+TOUCHSTONE If any man doubt that, let him put me to my
+ purgation. I have trod a measure; I have flattered
+ a lady; I have been politic with my friend, smooth
+ with mine enemy; I have undone three tailors; I have
+ had four quarrels, and like to have fought one.
+
+JAQUES And how was that ta'en up?
+
+TOUCHSTONE Faith, we met, and found the quarrel was upon the
+ seventh cause.
+
+JAQUES How seventh cause? Good my lord, like this fellow.
+
+DUKE SENIOR I like him very well.
+
+TOUCHSTONE God 'ild you, sir; I desire you of the like. I
+ press in here, sir, amongst the rest of the country
+ copulatives, to swear and to forswear: according as
+ marriage binds and blood breaks: a poor virgin,
+ sir, an ill-favoured thing, sir, but mine own; a poor
+ humour of mine, sir, to take that that no man else
+ will: rich honesty dwells like a miser, sir, in a
+ poor house; as your pearl in your foul oyster.
+
+DUKE SENIOR By my faith, he is very swift and sententious.
+
+TOUCHSTONE According to the fool's bolt, sir, and such dulcet diseases.
+
+JAQUES But, for the seventh cause; how did you find the
+ quarrel on the seventh cause?
+
+TOUCHSTONE Upon a lie seven times removed:--bear your body more
+ seeming, Audrey:--as thus, sir. I did dislike the
+ cut of a certain courtier's beard: he sent me word,
+ if I said his beard was not cut well, he was in the
+ mind it was: this is called the Retort Courteous.
+ If I sent him word again 'it was not well cut,' he
+ would send me word, he cut it to please himself:
+ this is called the Quip Modest. If again 'it was
+ not well cut,' he disabled my judgment: this is
+ called the Reply Churlish. If again 'it was not
+ well cut,' he would answer, I spake not true: this
+ is called the Reproof Valiant. If again 'it was not
+ well cut,' he would say I lied: this is called the
+ Counter-cheque Quarrelsome: and so to the Lie
+ Circumstantial and the Lie Direct.
+
+JAQUES And how oft did you say his beard was not well cut?
+
+TOUCHSTONE I durst go no further than the Lie Circumstantial,
+ nor he durst not give me the Lie Direct; and so we
+ measured swords and parted.
+
+JAQUES Can you nominate in order now the degrees of the lie?
+
+TOUCHSTONE O sir, we quarrel in print, by the book; as you have
+ books for good manners: I will name you the degrees.
+ The first, the Retort Courteous; the second, the
+ Quip Modest; the third, the Reply Churlish; the
+ fourth, the Reproof Valiant; the fifth, the
+ Countercheque Quarrelsome; the sixth, the Lie with
+ Circumstance; the seventh, the Lie Direct. All
+ these you may avoid but the Lie Direct; and you may
+ avoid that too, with an If. I knew when seven
+ justices could not take up a quarrel, but when the
+ parties were met themselves, one of them thought but
+ of an If, as, 'If you said so, then I said so;' and
+ they shook hands and swore brothers. Your If is the
+ only peacemaker; much virtue in If.
+
+JAQUES Is not this a rare fellow, my lord? he's as good at
+ any thing and yet a fool.
+
+DUKE SENIOR He uses his folly like a stalking-horse and under
+ the presentation of that he shoots his wit.
+
+ [Enter HYMEN, ROSALIND, and CELIA]
+
+ [Still Music]
+
+HYMEN Then is there mirth in heaven,
+ When earthly things made even
+ Atone together.
+ Good duke, receive thy daughter
+ Hymen from heaven brought her,
+ Yea, brought her hither,
+ That thou mightst join her hand with his
+ Whose heart within his bosom is.
+
+ROSALIND [To DUKE SENIOR] To you I give myself, for I am yours.
+
+ [To ORLANDO]
+
+ To you I give myself, for I am yours.
+
+DUKE SENIOR If there be truth in sight, you are my daughter.
+
+ORLANDO If there be truth in sight, you are my Rosalind.
+
+PHEBE If sight and shape be true,
+ Why then, my love adieu!
+
+ROSALIND I'll have no father, if you be not he:
+ I'll have no husband, if you be not he:
+ Nor ne'er wed woman, if you be not she.
+
+HYMEN Peace, ho! I bar confusion:
+ 'Tis I must make conclusion
+ Of these most strange events:
+ Here's eight that must take hands
+ To join in Hymen's bands,
+ If truth holds true contents.
+ You and you no cross shall part:
+ You and you are heart in heart
+ You to his love must accord,
+ Or have a woman to your lord:
+ You and you are sure together,
+ As the winter to foul weather.
+ Whiles a wedlock-hymn we sing,
+ Feed yourselves with questioning;
+ That reason wonder may diminish,
+ How thus we met, and these things finish.
+
+ SONG.
+ Wedding is great Juno's crown:
+ O blessed bond of board and bed!
+ 'Tis Hymen peoples every town;
+ High wedlock then be honoured:
+ Honour, high honour and renown,
+ To Hymen, god of every town!
+
+DUKE SENIOR O my dear niece, welcome thou art to me!
+ Even daughter, welcome, in no less degree.
+
+PHEBE I will not eat my word, now thou art mine;
+ Thy faith my fancy to thee doth combine.
+
+ [Enter JAQUES DE BOYS]
+
+JAQUES DE BOYS Let me have audience for a word or two:
+ I am the second son of old Sir Rowland,
+ That bring these tidings to this fair assembly.
+ Duke Frederick, hearing how that every day
+ Men of great worth resorted to this forest,
+ Address'd a mighty power; which were on foot,
+ In his own conduct, purposely to take
+ His brother here and put him to the sword:
+ And to the skirts of this wild wood he came;
+ Where meeting with an old religious man,
+ After some question with him, was converted
+ Both from his enterprise and from the world,
+ His crown bequeathing to his banish'd brother,
+ And all their lands restored to them again
+ That were with him exiled. This to be true,
+ I do engage my life.
+
+DUKE SENIOR Welcome, young man;
+ Thou offer'st fairly to thy brothers' wedding:
+ To one his lands withheld, and to the other
+ A land itself at large, a potent dukedom.
+ First, in this forest, let us do those ends
+ That here were well begun and well begot:
+ And after, every of this happy number
+ That have endured shrewd days and nights with us
+ Shall share the good of our returned fortune,
+ According to the measure of their states.
+ Meantime, forget this new-fall'n dignity
+ And fall into our rustic revelry.
+ Play, music! And you, brides and bridegrooms all,
+ With measure heap'd in joy, to the measures fall.
+
+JAQUES Sir, by your patience. If I heard you rightly,
+ The duke hath put on a religious life
+ And thrown into neglect the pompous court?
+
+JAQUES DE BOYS He hath.
+
+JAQUES To him will I : out of these convertites
+ There is much matter to be heard and learn'd.
+
+ [To DUKE SENIOR]
+
+ You to your former honour I bequeath;
+ Your patience and your virtue well deserves it:
+
+ [To ORLANDO]
+
+ You to a love that your true faith doth merit:
+
+ [To OLIVER]
+
+ You to your land and love and great allies:
+
+ [To SILVIUS]
+
+ You to a long and well-deserved bed:
+
+ [To TOUCHSTONE]
+
+ And you to wrangling; for thy loving voyage
+ Is but for two months victuall'd. So, to your pleasures:
+ I am for other than for dancing measures.
+
+DUKE SENIOR Stay, Jaques, stay.
+
+JAQUES To see no pastime I what you would have
+ I'll stay to know at your abandon'd cave.
+
+ [Exit]
+
+DUKE SENIOR Proceed, proceed: we will begin these rites,
+ As we do trust they'll end, in true delights.
+
+ [A dance]
+
+
+
+
+ AS YOU LIKE IT
+
+ EPILOGUE
+
+
+ROSALIND It is not the fashion to see the lady the epilogue;
+ but it is no more unhandsome than to see the lord
+ the prologue. If it be true that good wine needs
+ no bush, 'tis true that a good play needs no
+ epilogue; yet to good wine they do use good bushes,
+ and good plays prove the better by the help of good
+ epilogues. What a case am I in then, that am
+ neither a good epilogue nor cannot insinuate with
+ you in the behalf of a good play! I am not
+ furnished like a beggar, therefore to beg will not
+ become me: my way is to conjure you; and I'll begin
+ with the women. I charge you, O women, for the love
+ you bear to men, to like as much of this play as
+ please you: and I charge you, O men, for the love
+ you bear to women--as I perceive by your simpering,
+ none of you hates them--that between you and the
+ women the play may please. If I were a woman I
+ would kiss as many of you as had beards that pleased
+ me, complexions that liked me and breaths that I
+ defied not: and, I am sure, as many as have good
+ beards or good faces or sweet breaths will, for my
+ kind offer, when I make curtsy, bid me farewell.
+
+ [Exeunt]
diff --git a/snappy-1.1.0/testdata/baddata1.snappy b/snappy-1.1.0/testdata/baddata1.snappy
new file mode 100644
index 0000000..99d970f
--- /dev/null
+++ b/snappy-1.1.0/testdata/baddata1.snappy
Binary files differ
diff --git a/snappy-1.1.0/testdata/baddata2.snappy b/snappy-1.1.0/testdata/baddata2.snappy
new file mode 100644
index 0000000..8f5cb13
--- /dev/null
+++ b/snappy-1.1.0/testdata/baddata2.snappy
Binary files differ
diff --git a/snappy-1.1.0/testdata/baddata3.snappy b/snappy-1.1.0/testdata/baddata3.snappy
new file mode 100644
index 0000000..774aead
--- /dev/null
+++ b/snappy-1.1.0/testdata/baddata3.snappy
Binary files differ
diff --git a/snappy-1.1.0/testdata/cp.html b/snappy-1.1.0/testdata/cp.html
new file mode 100644
index 0000000..1d0ca37
--- /dev/null
+++ b/snappy-1.1.0/testdata/cp.html
@@ -0,0 +1,645 @@
+<head>
+<title>Compression Pointers</title>
+<META HTTP-EQUIV="Keywords" CONTENT="compression, compression, compression">
+</head>
+<body>
+<BODY BGCOLOR=#FFFFFF>
+
+<center>
+<H1> Compression Pointers </h1>
+
+
+
+</center>
+
+<p>
+<a href="#Resources">Compression resources</a>, <a href="#Conferences">conferences</a>, and some <a href="#Research">research
+groups and companies</a>, are listed towards the end of this page. <p>
+
+Use this <a href="form.html">handy form</a> to add something to this page, or to simply say you liked this page<i> <img src="new.gif">
+<p>
+
+</i>
+
+
+
+<p>
+
+<h2>What's New?</h2><p>
+
+
+<a href="http://www.teaser.fr/~jlgailly/">Jean-loup Gailly</a> -- <i>Mr. gzip,
+PNG, CCR (1996-06-10)</i>
+<img src="new.gif">
+<br>
+
+<a href="http://www.creative.net/~tristan/MPEG">MPEG Pointers and Resources</a>
+<img src="new.gif">
+<br>
+
+<a href="http://www-isl.stanford.edu/~gray/">Robert M. Gray</a> -- <i>Signal
+compression, VQ, image quality evaluation (1996-04-22)</i><img src="new.gif">
+<br>
+
+<a href="http://www-isl.stanford.edu/~gray/compression.html">Compression and
+Classification Group</a> -- <i>ISL,EE,Stanford (1996-04-22)</i><img src="new.gif">
+<br>
+
+<a href="http://www-isl.stanford.edu/~gray/iii.html">Signal Processing
+and the International Information Infrastructure</a> -- <i>Web sites (1996-04-22)</i> <img src="new.gif">
+<br>
+
+<a href="http://www.cs.sc.edu:80/~valenta/">Valenta, Vladimir</a> -- <i>(1996-04-22)</i>
+<br>
+
+
+<a href="http://patpwww.epfl.ch:80/~jordan/Subjects/Parallel/parallel.html">Jordan, Frederic</a> -- <i>Parallel Image Compression (1996-04-12)</i> <img src="new.gif">
+<br>
+<a href="http://www.garlic.com/biz/eotek">Electro-Optical Technologies, Inc.</a> -- <i>Consultant (1996-04-12)</i> <img src="new.gif">
+<br>
+<a href="http://quicktime.apple.com">quicktime.apple.com</a> -- <i>Quicktime site (1996-03-11)</i> <img src="new.gif">
+<br>
+<a href="http://www.chips.ibm.com/products/aldc/index.html">IBM Hardware</a> -- <i>Compression chips (1996-03-11)</i> <img src="new.gif">
+<br>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<!---
+
+<img src="new.gif"><i>Do you have, or know of, a research position where an image compression guru with a Ph.D. would feel at
+home? Let me know if you do...<a
+href="mailto:singlis@cs.waikato.ac.nz"><b>send me some email!</b></a>, or <a
+href="http://www.cs.waikato.ac.nz/~singlis/cv.html"><b>check out my
+c.v.</b>
+</a>
+</i>
+
+-->
+
+<p>
+
+
+<p>
+
+
+<h2><i>People</i></h2>
+<h2>A</h2>
+
+<a href="http://quest.jpl.nasa.gov/Mark.Adler/">Adler, Mark</a> -- <i>Info-ZIP; Zip, UnZip, gzip and zlib co-author; PNG group</i>
+<p>
+
+<h2>B</h2>
+
+<a href="http://www.eese.qut.edu.au/~mbaker/">Baker, Matthew</a> -- <i>Region based video compression</i>
+<p>
+<a href="http://www.eecs.wsu.edu/~bamberg/">Bamberger, Roberto H.</a>
+<p>
+<a href="http://sutherland.eese.qut.edu.au/~dbell">Bell, Daniel</a> -- <i>Region based image compression</i>
+<p>
+<a href="http://www.cosc.canterbury.ac.nz/~tim">Bell, Tim</a> -- <i>compression, computer science for children, and computers and music.</i>
+<p>
+<a href="http://www.polytechnique.fr/poly/~bellard/">Bellard, Fabrice</a> -- <i>Author of LZEXE</I>
+<p>
+<a href="http://www.cevis.uni-bremen.de/~willy/">Berghorn, Willy </a>
+<p>
+<a href="http://www.best.com/~bhaskara">Bhaskaran, Vasudev</a> -- <i>Image and Video compression</i>
+<p>
+<a href="http://wwwvms.utexas.edu/~cbloom/index.html">Bloom, Charles</a> -- <i>text compression, LZ methods, PPM methods...</i>
+<p>
+<a href="http://www.ime.usp.br/~rbrito">Brito, Roger</a> -- <i>Arithmetic Coding, LZW, Text Compression</i>
+<p>
+<a href="http://www.engineering.usu.edu/ece/faculty/scottb.html">Budge, Scott E.</a> -- <i>medical/lossy image compression</i>
+<p>
+<a href="http://www.elec.uow.edu.au/people/staff/burnett/biography.html">Burnett, Ian</a> -- <i>Speech coding, prototype waveform techniques</I> <img src="new.gif">
+<p>
+
+
+<h2>C</h2>
+
+<a href="http://gabor.eecs.berkeley.edu/~wychan/">Chan, Christopher</a> -- <i>universal lossy source coding, adaptive VQ</i>
+<p>
+<a href="http://www.compsci.com/~chao">Chao, Hong-yang</a> -- <I>Lightning strike image compressor </i>
+<p>
+<a href="http://monet.uwaterloo.ca:80/schao/">Chao, Stewart</a>
+<p>
+<a href="http://diana.ecs.soton.ac.uk/~pjc94r/">Cherriman, Peter</a>
+<p>
+<a href="http://www-video.eecs.berkeley.edu/erl/sccheung.html">Cheung, S.C.</a> -- <i>Scalable video compression algorithms (18th Feb 1996)</i> <img src="new.gif">
+<p>
+
+<a href="http://etro.vub.ac.be/chchrist.html">Christopoulos, Charilaos</a> -- <i> Image and Video compression </i>
+<p>
+<a href="http://sipi.usc.edu/~chrysafi/">Chrysafis, Christos</a>
+<p>
+<a href="http://www.ee.gatech.edu/research/DSP/students/wchung/index.html">Chung, Wilson C.</a> -- <i>R-D image and video coding, subband/wavelet, filter banks</i>
+<p>
+<a href="mailto:aclark@hayes.com">Clark, Alan</a> -- <i>primary contact for V.42bis. Developed BTLZ variant of LZW</i>
+<p>
+<a href="http://www.cs.waikato.ac.nz/cs/Staff/jgc.html">Cleary, John</a> -- <i>PPM, PPM*, K*</i>
+<p>
+<a href="http://www.cs.brandeis.edu/dept/faculty/cohn/">Cohn, Martin</a>
+<p>
+
+<a href="http://plg.uwaterloo.ca/~gvcormac">Cormack, Gordon V.</a> -- <I>DMC</i>
+<p>
+<a href="http://www.ee.duke.edu/~cec/index.html">Cramer, Chris</a> -- <i>neural network image compression</i>
+<p>
+
+<h2>D</h2>
+<a href="http://www.cs.dartmouth.edu/~jmd/">Danskin, John</a> -- <i>Protocol compression, document compression (9th Feb 1996)</i>
+<p>
+<a href="http://www.cs.dartmouth.edu/~gdavis">Davis, Geoff</a> -- <i>wavelets, image compression, medical</i>
+<p>
+<a href="http://www-mddsp.enel.ucalgary.ca/People/adilger/">Dilger, Andreas</a> -- <i>fractal block coding of video sequences</i>
+<p>
+
+
+<h2>E</h2>
+<a href="http://info.cipic.ucdavis.edu/~estes/index.html">Estes, Robert</a>
+<p>
+
+
+
+<h2>F</h2>
+<a href="http://inls.ucsd.edu/y/Fractals/">Fisher, Yuval</a> -- <i>Fractal Image Compression</i>
+<p>
+<a href="http://www.wmin.ac.uk/~ajoec1/homepage.html">Ford, Adrian</a> -- <i>Subjective and Objective Compression quality (5th Mar 1996)</i> <img src="new.gif">
+<p>
+
+<h2>G</h2>
+<a href="http://www.teaser.fr/~jlgailly/">Jean-loup Gailly</a> --
+<i>Mr. gzip, PNG, CCR (1996-06-10)</i>
+<p>
+
+<a href="http://www.ece.ucsb.edu/faculty/gersho/default.html">Gersho, Allen</a> -- <i>Vector Quantisation, Image Compression</i>
+<p>
+<a href="http://life.anu.edu.au/ci/vol1/goertzel.html">Goertzel, Ben</a>
+<p>
+<a href="http://info.lut.ac.uk/departments/el/research/sys/compression.html">Gooch, Mark</a> -- <i>High Performance Hardware Compression (7th Feb 1996)</i>
+<p>
+<a href="http://robotics.eecs.berkeley.edu/~vkgoyal/">Goyal, Vivek</a> -- <i>overcomplete representations, adaptive transform coding, VQ</i>
+<p>
+<a href="http://www-isl.stanford.edu/~gray/">Robert M. Gray</a> -- <i>Signal
+compression, VQ, image quality evaluation</i><img src="new.gif">
+<p>
+
+<h2>H</h2>
+<a href="http://cork.informatik.uni-wuerzburg.de/mitarbeiter/ulli">Hafner, Ullrich</a> -- <i>WFA image compression</i>
+<p>
+<a href="http://www.ics.uci.edu/~dan/">Hirschberg, Dan</a> -- <i>algorithm theory, compression</i>
+<p>
+<a href="http://wolfpack.larc.nasa.gov/holland.html">Holland, Scott</a>
+<p>
+<a href="http://www.csc.uvic.ca/home/nigelh/nigelh.html">Horspool, R. Nigel</a> -- <i>text compression, ECG compression</i>
+
+<h2>I</h2>
+<a href="http://www.cs.waikato.ac.nz/~singlis">Inglis, Stuart</a> -- <i>image compression, OCR, lossy/lossless document compression</I>
+<p>
+
+<h2>J</h2>
+<a href="http://www.cs.uiowa.edu/~jones/compress/index.html">Jones, Douglas</a> -- <i>splay-tree based compression and encryption</i>
+<p>
+<a href="http://info.lut.ac.uk/departments/el/research/sys/compression.html">Jones, Simon</a> -- <i>Lossless compression, High Performance Hardware (7th Feb 1996) </i>
+<p>
+<a href="http://patpwww.epfl.ch:80/~jordan/Subjects/Parallel/parallel.html">Jordan, Frederic</a> -- <i>Parallel Image Compression (12th April 1996)</i> <img src="new.gif">
+<p>
+<a href="mailto:robjung@world.std.com">Jung, Robert K.</a> -- <i><a href="http://www.info.fundp.ac.be/~fta/arj.html">ARJ</a> </i>
+<p>
+<a href="http://www.cs.tu-berlin.de/~jutta/toast.html">jutta</a>
+<p>
+
+
+
+<h2>K</h2>
+<a href="http://links.uwaterloo.ca">Kominek, John</a> -- <I>Fractal and spline based compression</i>
+<p>
+<a href="http://info.lut.ac.uk/departments/el/research/sys/elmk3.html">Kjelso, Morten</a> -- <i>Main memory compression, High performance hardware</i>
+<p>
+<a href="http://wwwcip.informatik.uni-erlangen.de/user/mskuhn">Kuhn, Markus</a> -- <i>JBIG implementation</i> <img src="new.gif">
+<p>
+<a href="http://sipi.usc.edu/faculty/Kuo.html">Kuo, C.-C. Jay</a>
+<p>
+<a href="http://kaarna.cc.jyu.fi:80/~kuru/">Kuru, Esa</a>
+<p>
+<a href="http://www.prz.tu-berlin.de:80/~teo/">Kyfonidis, Theodoros</a>
+<p>
+
+<h2>L</h2>
+<a href="http://www.icsi.berkeley.edu/~lampart/">Lamparter, Bernd</a>
+<p>
+<a href="http://www.cse.ucsc.edu/cgi-bin/faculty?langdon">Langdon, Glen</a>
+<p>
+<a href="http://www.dna.lth.se/~jesper/">Larsson, Jesper</a> -- <i>algorithms and data structures, text compression</i> <img src="new.gif">
+<p>
+
+
+<h2>M</h2>
+<a href="http://glimpse.cs.arizona.edu:1994/udi.html">Manber, Udi</a>
+<p>
+<a href="http://www.elec.rma.ac.be/~jma/compression.html">Mangen, Jean-Michel</a> -- <i>image compression, wavelets, satellite</I>
+<p>
+<a href="http://www.cs.mu.oz.au/~alistair">Moffat, Alistair</a> -- <i>text and index compression, coding methods, information retrieval, document databases</i>
+<p>
+<a href="http://deskfish.cs.titech.ac.jp/squish/squish_index.html">Montgomery, Christopher</a> -- <i>OggSquish, audio compression</i>
+<p>
+<a href="mailto:umueller@amiga.physik.unizh.ch">Mueller, Urban Dominik</a> -- <i>XPK system</I>
+<p>
+<h2>N</h2>
+<a href="ftp://ai.toronto.edu/pub/radford/www/index.html">Neal, Radford</a>
+<p>
+<a href="http://www.cs.waikato.ac.nz/~cgn">Nevill-Manning, Craig</a>
+<p>
+<a href="http://phoenix.bath.ac.uk/jez/jez.html">Nicholls, Jeremy</a>
+<p>
+<a href="http://www.acti.com/matt/">Noah, Matt</a> -- <i>speech, ATC, ACELP and IMBE</i>
+<p>
+<a href="http://www.eecs.wsu.edu/~vnuri/">Nuri, Veyis</a> -- <i>wavelets, data compression, DSP (speech & image)</I>
+
+<h2>O</h2>
+<a href="ftp://replicant.csci.unt.edu/pub/oleg/README.html">Oleg</a> -- <i>Lots of code</i>
+<p>
+<a href="http://sipi.usc.edu/faculty/Ortega/Ortega.html">Ortega, Antonio</a> -- <i>Video compression, Packet video, Adaptive quantization</i>
+<p>
+<a href="http://www.cs.dartmouth.edu:80/~cowen/">Owen, Charles</a>
+<p>
+
+<h2>P</h2>
+<a
+href="http://www-mddsp.enel.ucalgary.ca/People/provine/compression.html">Provine,
+Joseph</a> -- <i>Model based coding</i>
+<p>
+
+<h2>R</h2>
+<a href="http://monet.uwaterloo.ca/~john/btpc.html">Robinson, John</a> -- <i>Binary Tree Predictive Coding</i>
+<p>
+<a href="http://quest.jpl.nasa.gov/Info-ZIP/people/greg/">Roelofs, Greg</a> -- <i>Info-ZIP; primary UnZip author; PNG group</i>
+<p>
+<a href="http://www.ece.ucsb.edu/faculty/rose/default.html">Rose, Kenneth</a>
+<p>
+<a href="http://www.nettuno.it/fiera/telvox/telvox.htm">Russo, Roberto Maria</a> -- <I>Multiplatform Data Compression</i>
+<p>
+
+<h2>S</h2>
+<a href="http://harc.edu:80/~schmidt/">Schmidt, Bill</a>
+<p>
+<a href="http://koa.ifa.hawaii.edu/~shaw/shaw.html">Shaw, Sandy C.</a>
+<p>
+<a href="http://www.comm.toronto.edu/~kamran/kamran.html">Sharifi, Kamran</a> -- <i>Video over ATM networks</i>
+<p>
+<a href="http://calypso.unl.edu/~sunil/">Shende, Sunil M.</a>
+<p>
+<a href="http://viewprint2.berkeley.edu/KleinLab/Amnon/Amnon.html">Silverstein, D. Amnon</a>
+<p>
+<a href="http://www-plateau.cs.berkeley.edu/people/smoot">Smoot, Steve</a> -- <i>MPEG</i>
+<p>
+<a href="http://www.cs.brandeis.edu/dept/faculty/storer/">Storer, James A.</a>
+<p>
+<a href="http://rice.ecs.soton.ac.uk/index.html">Streit, Jurgen</a> -- <i>Low bitrate coding</i>
+<p>
+<a href="http://www_nt.e-technik.uni-rostock.de/~ts/index.html">Strutz, Tilo</a> -- <i>Wavelet image compressor, demonstration execs</i> <img src="new.gif">
+<p>
+
+
+<h2>T</h2>
+<a href="http://zaphod.csci.unt.edu:80/~srt/">Tate, Steve</a>
+<p>
+<a href="http://www.cs.waikato.ac.nz/~wjt">Teahan, Bill</a> -- <i>PPM, PPM*, master of the Calgary Corpus</i>
+<p>
+<a href="http://lightning.eee.strath.ac.uk/~duncan/">Thomson, Duncan</a> -- <i>ECG compression with ANNs</i>
+<p>
+<a href="http://outside.gsfc.nasa.gov/GRSS/">Tilton, James C.</a>
+<p>
+<a href="http://www.uni-karlsruhe.de/~un55/">Tomczyk, Marek</a>
+<p>
+<a href="http://munkora.cs.mu.oz.au/~aht">Turpin, Andrew</a> -- <i>Prefix Codes</i>
+<p>
+
+<h2>V</h2>
+<a href="http://gabor.eecs.berkeley.edu/~martin/">Vetterli, Martin</a> -- <i>wavelets, subband coding, video compression, computational complexity</i>
+<p>
+<a href="http://www.cs.duke.edu/~jsv/HomePage.html">Vitter, Jeff</a>
+<p>
+<a href="http://www.eee.strath.ac.uk/~stathis/home.html">Voukelatos, Stathis</a>
+<p>
+<a href="http://www.xs4all.nl/~aipnl">de Vries, Nico</a> -- <i>AIP-NL, UltraCompressor II development</i> <img src="new.gif">
+<p>
+
+<h2>W</h2>
+
+<a href="http://ipcl.ee.queensu.ca/wareham/wareham.html">Wareham, Paul</a> -- <i>Region-oriented video coding</I>
+<p>
+<a href="mailto://Wegs59@aol.com">Wegener, Al</a> -- <i>DSP, lossless audio compression and AC-2</i>
+<p>
+<a href="http://www-dsp.rice.edu:80/~weid/">Wei, Dong</a> -- <i>Wavelet compression</i>
+<p>
+<a href="http://www.rocksoft.com/~ross">Williams, Ross</a>
+<p>
+<a href="http://www.cs.waikato.ac.nz/~ihw">Witten, Ian</a> -- <i>PPM, mg, arithmetic coding</i>
+<p>
+<a href="http://www.sees.bangor.ac.uk/~gerry/sp_summary.html">Wolff, Gerry</a>
+<p>
+<a href="http://sipi.usc.edu/~wwoo/">Woo, Woon-Tack</a> -- <i>stereo image and video compression (12th Feb 1996)</i>
+<p>
+<a href="http://www.csd.uwo.ca/faculty/wu/">Wu, Xiaolin</a> -- <i>CALIC</i>
+<P>
+
+
+<h2>Z</h2>
+<a href="http://www.cs.rmit.edu.au/~jz">Zobel, Justin</a> -- <i>index compression, database compression</i>
+<p>
+
+<br>
+<br>
+
+
+<a name="Conferences">
+
+<h2><i>Conferences</i></h2>
+<a href="http://www.cs.brandeis.edu:80/~dcc/index.html"><b>Data Compression Conference (DCC), Snowbird, Utah, USA.</b></a><br>
+<p>
+
+<a name="Resources">
+
+<h2><i>Resources</i></h2>
+<dt>
+<i><b>Where to get answers...</b></i>
+<dd>
+<dd><a href="http://info.itu.ch/">International Telecommunication Union (ITU)</a> -- <i>standards documents (CCITT)</i>
+<br>
+<dd><a href="http://www.cis.ohio-state.edu/hypertext/faq/usenet/compression-faq/top.html">comp.compression -- Frequently Asked Questions</a> -- <i>Come here 1st!</i>
+<dd>
+<a href="http://www.cis.ohio-state.edu/hypertext/faq/usenet/jpeg-faq/faq.html">JPEG - Frequently Asked Questions</a>
+<dd>
+<a href="http://www.crs4.it/HTML/LUIGI/MPEG/mpegfaq.html">MPEG - Frequently Asked Questions</a>
+<dd>
+<a href="ftp://rtfm.mit.edu:/pub/usenet/news.answers/standards-faq">Standards - Frequenty Asked Questions</a>
+<dd>
+<a href="news:comp.compression.research">usenet newsgroup: comp.compression.research</a>
+<br>
+<dd>
+<a href="http://www.mi.net/act/act.html">Archive Compression Test</a> -- <i>Summary of all archivers</i>
+<br>
+<dd>
+<a href="http://dip1.ee.uct.ac.za/fractal.bib.html">Fractal compression bibliography</a> -- <i>bibtex file</i>
+<br>
+<dd>
+<a href="http://goethe.ira.uka.de/edu/proseminar.html">LZ/Complexity Seminars</a> -- <i>(in German)</i>
+<br>
+<dd>
+<a href="http://www.cs.waikato.ac.nz/~singlis/ratios.html">Comparitive Compression Ratios</a> -- <i>Sofar...B&W, Gray Scale, Text Compression</i>
+<br>
+<dd>
+<a href="http://www.cs.ucl.ac.uk/mice/mpeggloss.html">VCN (Video, Compression, Networking)
+Glossary</a>
+<br>
+<dd>
+<a href="http://www.cs.waikato.ac.nz/~nzdl/">Digital Library -- search for compression</a>
+<br>
+</dt>
+
+<br>
+<dt>
+<i><b>Reports/Ph.D. Theses</b></i>
+<dd>
+<a href="http://www.cs.brown.edu/publications/techreports/reports/CS-93-28.html">Paul Howards Ph.D. thesis</a><br>
+<dd><i>The Design and Analysis of Efficient Lossless Data Compression Systems</i>
+<br>
+</dt>
+
+
+
+<br>
+<dt>
+<i><b>Source code</b></i>
+<dd>
+<a href="ftp://munnari.oz.au/pub/arith_coder">Arithmetic coding routines</a>
+<dd><i>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(from Moffat, Neal and Witten, Proc. DCC, April 1995)</i>
+<br>
+<dd>
+<a href="ftp://ftp.cpsc.ucalgary.ca/pub/projects/ar.cod">CACM Arithmetic coding package</a>
+<dd><i>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(Witten, Neal and Cleary, CACM 30:520-541, June 1987)</i>
+<br>
+<dd>
+<a href="ftp://nic.funet.fi/pub/graphics/misc/test-images/jbig.tar.gz">JBIG Source code</a> <i>Includes a Q-coder</i>
+<br>
+<dd><a href="http://wwwcip.informatik.uni-erlangen.de/user/mskuhn">Markus Kuhn's JBIG implementation</a>
+<br>
+<dd>
+<a href="ftp://media-lab.media.mit.edu/pub/k-arith-code/">k-arithmetic coder</a>
+<br>
+<dd>
+<a href="ftp://garbo.uwasa.fi/pc/programming/lds_11.zip">Lossless Data Compression toolkit 1.1</a>
+<br>
+<dd>
+<a href="http://www.cs.uiowa.edu/~jones/compress/index.html">Splay Trees Code</a> -- <i>by Douglas W. Jones</i>
+<br>
+<dd><a href="ftp://ftp.cl.cam.ac.uk/users/djw3">Block compression code</a> -- <i>Excellent text compressor</i>
+<br>
+
+</dt>
+
+<br>
+<dt>
+<i><b>Test Files</b></i>
+<dd>
+<a href="ftp://nic.funet.fi/pub/graphics/misc/test-images/">Test Images</a> -- <i>CCITT images (pbm), Lena etc. (Sun raster)</i>
+<br>
+<dd>
+Stockholm test images -- <i>You have to buy a CDROM, thats all I know! :-(</i>
+<dd>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp mail me at <a href="mailto:singlis@cs.waikato.ac.nz">singlis@cs.waikato.ac.nz</a> if you know anything about them.
+<br>
+<dd>
+<a href="ftp://ftp.cpsc.ucalgary.ca/pub/projects/text.compression.corpus/">Calgary Text Compression Corpus</a><i> (Text Compression, Bell, Cleary and Witten, 1990)</i>
+<br>
+</dt>
+
+<br>
+
+<a name="Research">
+
+
+<h2><i>Research Projects, Standards & Companies</i></h2>
+
+<p>
+<dt>
+<i><b>Research/Free software Groups</b></i>
+<dd><a href="http://www-isl.stanford.edu/~gray/compression.html">Compression and
+Classification Group</a> -- <i>ISL,EE,Stanford (22th April 1996)</i><img src="new.gif">
+
+<dd><a href="http://www.bonzi.com">Voice email</a> -- <i>Lossless audio compression (18th Feb 1996)</i>
+
+
+<dd><a href="http://www.garlic.com/biz/eotek">Electro-Optical Technologies, Inc.</a> -- <i>Consultant (12th April 1996)</i> <img src="new.gif">
+
+<dd><a href="http://quicktime.apple.com">quicktime.apple.com</a> -- <i>Quicktime site (11th Mar 1996)</i>
+
+<dd><a href="http://www.atinternet.fr/image/">IMAGE etc.</a> -- <i>Commercial image compression software (Fractals/Wavelets) (29th Feb 1996)</i> <img src="new.gif">
+
+<dd><a href="http://re7alpha.epm.ornl.gov/CcmDemo/">NCAR CCM Compression and Visualisation</a> -- <i>(18th Feb 1996)</i> <img src="new.gif">
+<br>
+<dd><a href="http://ipl.rpi.edu/SPIHT/">SPIHT</a> -- <I>Wavelet Natural Image Compressor (12th Feb 1996)</i> <img src="new.gif">
+<br>
+<dd><a href="http://info.lut.ac.uk/departments/el/research/sys/compression.html">Real-Time Lossless Compression Systems</a> -- <i>Loughborough University</i> <img src="new.gif">
+<br>
+<dd><a href="http://saigon.ece.wisc.edu/~waveweb/QMF.html">Web site for Multirate Signal Processing</a> -- <i>University of Wisconsin, Madison</i>
+<br>
+<dd><a href="http://quest.jpl.nasa.gov/Info-ZIP/">Info-ZIP</a> -- <i>free,
+portable Zip and UnZip utilities</i>
+<br>
+<dd><a href="http://cesdis.gsfc.nasa.gov/">CEDIS</a> -- <i>NASA, Maryland, Image/data compression</i>
+<br>
+<dd><a href="http://www.c3.lanl.gov/~brislawn/ftp.html">CIC-3 Image Compression</a> -- <i>FBI Fingerprints</i>
+<br>
+<dd><a href="http://rainbow.ece.ucsb.edu/scl.html">Signal Compression Lab at UCSB</a>
+<br>
+<dd><a href="http://isdl.ee.washington.edu/COMPRESSION/homepage.html">University of
+Washington compression lab</a> -- <I>VQ, Wavelets, Shlomo</i>
+<br>
+</dt>
+
+
+<p>
+<dt>
+<i><b>Snippets</b></i>
+<dd><a href="http://www-isl.stanford.edu/~gray/iii.html">Signal Processing
+and the International Information Infrastructure</a> -- <i>Web sites (22th April 1996)</i> <img src="new.gif">
+<dd><a href="http://www.scu.edu.au/ausweb95/papers/management/vanzyl/">Increasing Web bandwith</a> -- <i>comparing GIF, JPEG, Fractal compression</i>
+<br>
+<dd><a href="http://www.yahoo.com/Art/Computer_Generated/Fractals">Fractal Links on Yahoo</a>
+<br>
+<dd><a href="http://www.ddj.com/old/ddjw001d.htm">Digital Speech Compression GSM 06.10 RPE-LTP</a> -- <i>DDJ</i>
+<br>
+<dd><a href="http://www.crc.ricoh.com/CREW/">CREW</a> -- <i>Continuous tone loss(y/less) wavelet compression</i>
+<br>
+<dd><a href="ftp://ftp.csd.uwo.ca/pub/from_wu/">CALIC -- Context-based adaptive lossless image compressor</a>
+<br>
+<dd><a href="http://www-plateau.cs.berkeley.edu/mpeg/index.html">Berkeley MPEG</a> -- <i>MPEG tools</i>
+<br>
+<dd><a href="http://www.creative.net/~tristan/MPEG">MPEG Pointers and Resources</a>
+<BR>
+</dt>
+
+
+
+
+
+<p>
+<dt>
+<i><b>Wavelets</b></i>
+<dd>
+<a href="http://www.cis.upenn.edu/~eero/epic.html">
+ EPIC (Efficient Pyramid Image Coder)</a> -- <i>by Eero Simoncelli</i>
+<br>
+<dd>
+<a href="mailto://72234.2617@compuserve.com">Tucker, Michael</a> -- <i>FASTWAVE, audio/image compression</i>
+<br>
+<dd>
+<a href="http://www.harc.edu">HARC</a> -- <i>Lossy Wavelet Compression technology</i>
+<br>
+<dd>
+<a href="http://gabor.eecs.berkeley.edu/">UC Berkeley Wavelet Group</a>
+<br>
+<dd>
+<a href="http://www.c3.lanl.gov/~cjhamil/Wavelets/main.html">Khoros Wavetlet and Compression Toolbox</a>
+<br>
+<dd>
+<a href="http://arabigo.math.scarolina.edu:80/~wavelet/">The Wavelet Digest</a>
+<br>
+<dd>
+<a href="http://jazz.rice.edu/publications.html">Rice DSP Publications Archive</a> -- <i>Wavelets, Time Frequency/Scale</i>
+<br>
+</dt>
+
+<p>
+<dt>
+<i><b>Fractals</b></i>
+<dd>
+<a href="http://inls.ucsd.edu/y/Fractals/">Fractal Image Compression</a> -- <i>Software, Pointers, Conferences</i>
+<br>
+<dd>
+<a href="http://www.fractal.com/">Fractal Design Corporation</a>
+<br>
+<dd>
+<a href="http://www.webcom.com/~verrando/university/ifs.html">New Fractal Image Compression program</a>
+<br>
+</dt>
+
+<p>
+<dt>
+<i><b>Companies</b></i>
+<dd><a href="http://www.chips.ibm.com/products/aldc/index.html">IBM Hardware</a> -- <i>Compression chips (11th Mar 1996)</i> <img src="new.gif">
+
+<dd><a href="http://www.summus.com">Summus Wavelet Technology</a> -- <i>Wavelet image and video compressors (11th Mar 1996)</i> <img src="new.gif">
+<dd><a href="http://www.mitsubishi.co.jp/jp/fractal/fractal.html">Fractal Image Compression</a> -- <I>Mitsubishi (18th Feb 1996)</i> <img src="new.gif">
+
+<dd><a href="http://www.terran-int.com/">Terran Interactive</a> -- <i>Video compression for the Mac (1st Feb 1996)</i> <img src="new.gif">
+<br>
+
+<dd><a href="http://darvision.kaist.ac.kr/dvmpeg.html">DV Mpeg</a> -- <i>Windows drivers (18th Feb 1996)</I> <img src="new.gif">
+<br>
+
+<dd><a href="http://www.crawford.com/cs/welcome.html">Crawford Compression Services</a> -- <i>MPEG post-production (18th Feb 1996)</i> <img src="new.gif">
+<br>
+
+<dd><a href="http://www.shore.net/~ict">Intelligent Compression Technologies</a> <i>(18th Feb 1996)</i> <img src="new.gif">
+<br>
+
+<dd><a href="http://www.jpg.com">Pegasus Imaging</a> -- <i>Compression software/dev. kits (12th Feb 1996)</i> <img src="new.gif">
+<br>
+<dd><a href="http://www.aladdinsys.com/">Aladdin Systems</a> -- <i>StuffIt compression products</i>
+<br>
+<dd><a href="http://www.stac.com/">Stac Electronics</a>
+<br>
+<dd><a href="http://www.ccinet.ab.ca/dcp.html">DCP Research</a> -- <i>Hardware solutions</i>
+<br>
+<dd><a href="http://www.aware.com/product_info/compression_overview.html">Aware Inc.</a> -- <i>Specialised compression company</i>
+<br>
+<dd><a href="http://www.inria.fr/rodeo/ivs.html">IVS - INRIA Videoconferencing System</a>
+<br>
+<dd><a href="http://sp25.ianus.cineca.it/telvox/telvoxen.htm">Telvox Teleinformatica</a> -- <i>Multiplatform Data Compressor</i>
+<br>
+<dd><a href="http://www.compression.com">Compression Technologies,
+Inc</a> -- <i>Canada</i>
+<br>
+<dd><a href="http://www.optivision.com/">Optivision</a> -- <i>MPEG</i>
+<br>
+<dd><a href="http://www.pkware.com/">PKWARE</a> -- <i>Makers of PKZIP</i>
+<br>
+<dd><a href="http://www.infoanalytic.com/tayson/index.html">Multimedia Imaging Services</a>
+<br>
+</dt>
+
+<p>
+<dt>
+<i><b>Audio compression</b></i>
+<dd><a href="http://www.iis.fhg.de/departs/amm/index.html"> Fraunhofer Institut fr Integrierte Schaltungen</a>
+<br>
+<dd><a href="http://svr-www.eng.cam.ac.uk/~ajr/speechCoding.html">Shorten</a>
+<br>
+<dd><a href="http://www.ddj.com/old/ddjw001d.htm">digital speech compression</a>
+<br>
+<dd><a href="http://www.cs.tu-berlin.de/~phade/audiowww.html">Audio compression references</a>
+<br>
+<dd><a href="http://www.fourmilab.ch/speakfree/windows/doc/compress.html">SpeakFreely - compression</a>
+<br>
+<dd><a href="http://www.fourmilab.ch/speakfree/windows/speak_freely.html#contents">SpeakFreely - Contents</a>
+<br>
diff --git a/snappy-1.1.0/testdata/fields.c b/snappy-1.1.0/testdata/fields.c
new file mode 100644
index 0000000..63cdc03
--- /dev/null
+++ b/snappy-1.1.0/testdata/fields.c
@@ -0,0 +1,431 @@
+#ifndef lint
+static char Rcs_Id[] =
+ "$Id: fields.c,v 1.7 1994/01/06 05:26:37 geoff Exp $";
+#endif
+
+/*
+ * $Log: fields.c,v $
+ * Revision 1.7 1994/01/06 05:26:37 geoff
+ * Get rid of all references to System V string routines, for portability
+ * (sigh).
+ *
+ * Revision 1.6 1994/01/05 20:13:43 geoff
+ * Add the maxf parameter
+ *
+ * Revision 1.5 1994/01/04 02:40:21 geoff
+ * Make the increments settable (field_line_inc and field_field_inc).
+ * Add support for the FLD_NOSHRINK flag.
+ *
+ * Revision 1.4 1993/09/27 17:48:02 geoff
+ * Fix some lint complaints and some parenthesization errors.
+ *
+ * Revision 1.3 1993/09/09 01:11:11 geoff
+ * Add a return value to fieldwrite. Add support for backquotes and for
+ * unstripped backslashes.
+ *
+ * Revision 1.2 1993/08/26 00:02:50 geoff
+ * Fix a stupid null-pointer bug
+ *
+ * Revision 1.1 1993/08/25 21:32:05 geoff
+ * Initial revision
+ *
+ */
+
+#include <stdio.h>
+#include "config.h"
+#include "fields.h"
+
+field_t * fieldread P ((FILE * file, char * delims,
+ int flags, int maxf));
+ /* Read a line with fields from a file */
+field_t * fieldmake P ((char * line, int allocated, char * delims,
+ int flags, int maxf));
+ /* Make a field structure from a line */
+static field_t * fieldparse P ((field_t * fieldp, char * line, char * delims,
+ int flags, int maxf));
+ /* Parse the fields in a line */
+static int fieldbackch P ((char * str, char ** out, int strip));
+ /* Process backslash sequences */
+int fieldwrite P ((FILE * file, field_t * fieldp, int delim));
+ /* Write a line with fields to a file */
+void fieldfree P ((field_t * fieldp));
+ /* Free a field returned by fieldread */
+
+unsigned int field_field_inc = 20; /* Increment to increase # fields by */
+unsigned int field_line_inc = 512; /* Incr to increase line length by */
+
+#ifndef USG
+#define strchr index
+#endif /* USG */
+
+extern void free ();
+extern char * malloc ();
+extern char * realloc ();
+extern char * strchr ();
+extern int strlen ();
+
+/*
+ * Read one line of the given file into a buffer, break it up into
+ * fields, and return them to the caller. The field_t structure
+ * returned must eventually be freed with fieldfree.
+ */
+field_t * fieldread (file, delims, flags, maxf)
+ FILE * file; /* File to read lines from */
+ char * delims; /* Characters to use for field delimiters */
+ int flags; /* Option flags; see fields.h */
+ int maxf; /* Maximum number of fields to parse */
+ {
+ register char * linebuf; /* Buffer to hold the line read in */
+ int linemax; /* Maximum line buffer size */
+ int linesize; /* Current line buffer size */
+
+ linebuf = (char *) malloc (field_line_inc);
+ if (linebuf == NULL)
+ return NULL;
+ linemax = field_line_inc;
+ linesize = 0;
+ /*
+ * Read in the line.
+ */
+ while (fgets (&linebuf[linesize], linemax - linesize, file)
+ != NULL)
+ {
+ linesize += strlen (&linebuf[linesize]);
+ if (linebuf[linesize - 1] == '\n')
+ break;
+ else
+ {
+ linemax += field_line_inc;
+ linebuf = (char *) realloc (linebuf, linemax);
+ if (linebuf == NULL)
+ return NULL;
+ }
+ }
+ if (linesize == 0)
+ {
+ free (linebuf);
+ return NULL;
+ }
+ return fieldmake (linebuf, 1, delims, flags, maxf);
+ }
+
+field_t * fieldmake (line, allocated, delims, flags, maxf)
+ char * line; /* Line to make into a field structure */
+ int allocated; /* NZ if line allocated with malloc */
+ char * delims; /* Characters to use for field delimiters */
+ int flags; /* Option flags; see fields.h */
+ int maxf; /* Maximum number of fields to parse */
+ {
+ register field_t * fieldp; /* Structure describing the fields */
+ int linesize; /* Current line buffer size */
+
+ fieldp = (field_t *) malloc (sizeof (field_t));
+ if (fieldp == NULL)
+ return NULL;
+ fieldp->nfields = 0;
+ fieldp->linebuf = allocated ? line : NULL;
+ fieldp->fields = NULL;
+ fieldp->hadnl = 0;
+ linesize = strlen (line);
+ if (line[linesize - 1] == '\n')
+ {
+ line[--linesize] = '\0';
+ fieldp->hadnl = 1;
+ }
+ /*
+ * Shrink the line buffer if necessary.
+ */
+ if (allocated && (flags & FLD_NOSHRINK) == 0)
+ {
+ line = fieldp->linebuf =
+ (char *) realloc (fieldp->linebuf, linesize + 1);
+ if (fieldp->linebuf == NULL)
+ {
+ fieldfree (fieldp);
+ return NULL;
+ }
+ }
+ return fieldparse (fieldp, line, delims, flags, maxf);
+ }
+
+static field_t * fieldparse (fieldp, line, delims, flags, maxf)
+ register field_t * fieldp; /* Field structure to parse into */
+ register char * line; /* Line to be parsed */
+ char * delims; /* Characters to use for field delimiters */
+ int flags; /* Option flags; see fields.h */
+ int maxf; /* Maximum number of fields to parse */
+ {
+ int fieldmax; /* Max size of fields array */
+ char * lineout; /* Where to store xlated char in line */
+ char quote; /* Quote character in use */
+
+ fieldp->nfields = 0;
+ fieldmax =
+ (maxf != 0 && maxf < field_field_inc) ? maxf + 2 : field_field_inc;
+ fieldp->fields = (char **) malloc (fieldmax * sizeof (char *));
+ if (fieldp->fields == NULL)
+ {
+ fieldfree (fieldp);
+ return NULL;
+ }
+ if ((flags
+ & (FLD_SHQUOTES | FLD_SNGLQUOTES | FLD_BACKQUOTES | FLD_DBLQUOTES))
+ == FLD_SHQUOTES)
+ flags |= FLD_SNGLQUOTES | FLD_BACKQUOTES | FLD_DBLQUOTES;
+ while (1)
+ {
+ if (flags & FLD_RUNS)
+ {
+ while (*line != '\0' && strchr (delims, *line) != NULL)
+ line++; /* Skip runs of delimiters */
+ if (*line == '\0')
+ break;
+ }
+ fieldp->fields[fieldp->nfields] = lineout = line;
+ /*
+ * Skip to the next delimiter. At the end of skipping, "line" will
+ * point to either a delimiter or a null byte.
+ */
+ if (flags
+ & (FLD_SHQUOTES | FLD_SNGLQUOTES | FLD_BACKQUOTES
+ | FLD_DBLQUOTES | FLD_BACKSLASH))
+ {
+ while (*line != '\0')
+ {
+ if (strchr (delims, *line) != NULL)
+ break;
+ else if (((flags & FLD_SNGLQUOTES) && *line == '\'')
+ || ((flags & FLD_BACKQUOTES) && *line == '`')
+ || ((flags & FLD_DBLQUOTES) && *line == '"'))
+ {
+ if ((flags & FLD_SHQUOTES) == 0
+ && line != fieldp->fields[fieldp->nfields])
+ quote = '\0';
+ else
+ quote = *line;
+ }
+ else
+ quote = '\0';
+ if (quote == '\0')
+ {
+ if (*line == '\\' && (flags & FLD_BACKSLASH))
+ {
+ line++;
+ if (*line == '\0')
+ break;
+ line += fieldbackch (line, &lineout,
+ flags & FLD_STRIPQUOTES);
+ }
+ else
+ *lineout++ = *line++;
+ }
+ else
+ {
+ /* Process quoted string */
+ if ((flags & FLD_STRIPQUOTES) == 0)
+ *lineout++ = quote;
+ ++line;
+ while (*line != '\0')
+ {
+ if (*line == quote)
+ {
+ if ((flags & FLD_STRIPQUOTES) == 0)
+ *lineout++ = quote;
+ line++; /* Go on past quote */
+ if ((flags & FLD_SHQUOTES) == 0)
+ {
+ while (*line != '\0'
+ && strchr (delims, *line) == NULL)
+ line++; /* Skip to delimiter */
+ }
+ break;
+ }
+ else if (*line == '\\')
+ {
+ if (flags & FLD_BACKSLASH)
+ {
+ line++;
+ if (*line == '\0')
+ break;
+ else
+ line += fieldbackch (line, &lineout,
+ flags & FLD_STRIPQUOTES);
+ }
+ else
+ {
+ *lineout++ = '\\';
+ if (*++line == '\0')
+ break;
+ *lineout++ = *line;
+ }
+ }
+ else
+ *lineout++ = *line++;
+ }
+ }
+ }
+ }
+ else
+ {
+ while (*line != '\0' && strchr (delims, *line) == NULL)
+ line++; /* Skip to delimiter */
+ lineout = line;
+ }
+ fieldp->nfields++;
+ if (*line++ == '\0')
+ break;
+ if (maxf != 0 && fieldp->nfields > maxf)
+ break;
+ *lineout = '\0';
+ if (fieldp->nfields >= fieldmax)
+ {
+ fieldmax += field_field_inc;
+ fieldp->fields =
+ (char **) realloc (fieldp->fields, fieldmax * sizeof (char *));
+ if (fieldp->fields == NULL)
+ {
+ fieldfree (fieldp);
+ return NULL;
+ }
+ }
+ }
+ /*
+ * Shrink the field pointers and return the field structure.
+ */
+ if ((flags & FLD_NOSHRINK) == 0 && fieldp->nfields >= fieldmax)
+ {
+ fieldp->fields = (char **) realloc (fieldp->fields,
+ (fieldp->nfields + 1) * sizeof (char *));
+ if (fieldp->fields == NULL)
+ {
+ fieldfree (fieldp);
+ return NULL;
+ }
+ }
+ fieldp->fields[fieldp->nfields] = NULL;
+ return fieldp;
+ }
+
+static int fieldbackch (str, out, strip)
+ register char * str; /* First char of backslash sequence */
+ register char ** out; /* Where to store result */
+ int strip; /* NZ to convert the sequence */
+ {
+ register int ch; /* Character being developed */
+ char * origstr; /* Original value of str */
+
+ if (!strip)
+ {
+ *(*out)++ = '\\';
+ if (*str != 'x' && *str != 'X' && (*str < '0' || *str > '7'))
+ {
+ *(*out)++ = *str;
+ return *str != '\0';
+ }
+ }
+ switch (*str)
+ {
+ case '\0':
+ *(*out)++ = '\0';
+ return 0;
+ case 'a':
+ *(*out)++ = '\007';
+ return 1;
+ case 'b':
+ *(*out)++ = '\b';
+ return 1;
+ case 'f':
+ *(*out)++ = '\f';
+ return 1;
+ case 'n':
+ *(*out)++ = '\n';
+ return 1;
+ case 'r':
+ *(*out)++ = '\r';
+ return 1;
+ case 'v':
+ *(*out)++ = '\v';
+ return 1;
+ case 'X':
+ case 'x':
+ /* Hexadecimal sequence */
+ origstr = str++;
+ ch = 0;
+ if (*str >= '0' && *str <= '9')
+ ch = *str++ - '0';
+ else if (*str >= 'a' && *str <= 'f')
+ ch = *str++ - 'a' + 0xa;
+ else if (*str >= 'A' && *str <= 'F')
+ ch = *str++ - 'A' + 0xa;
+ if (*str >= '0' && *str <= '9')
+ ch = (ch << 4) | (*str++ - '0');
+ else if (*str >= 'a' && *str <= 'f')
+ ch = (ch << 4) | (*str++ - 'a' + 0xa);
+ else if (*str >= 'A' && *str <= 'F')
+ ch = (ch << 4) | (*str++ - 'A' + 0xa);
+ break;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ /* Octal sequence */
+ origstr = str;
+ ch = *str++ - '0';
+ if (*str >= '0' && *str <= '7')
+ ch = (ch << 3) | (*str++ - '0');
+ if (*str >= '0' && *str <= '7')
+ ch = (ch << 3) | (*str++ - '0');
+ break;
+ default:
+ *(*out)++ = *str;
+ return 1;
+ }
+ if (strip)
+ {
+ *(*out)++ = ch;
+ return str - origstr;
+ }
+ else
+ {
+ for (ch = 0; origstr < str; ch++)
+ *(*out)++ = *origstr++;
+ return ch;
+ }
+ }
+
+int fieldwrite (file, fieldp, delim)
+ FILE * file; /* File to write to */
+ register field_t * fieldp; /* Field structure to write */
+ int delim; /* Delimiter to place between fields */
+ {
+ int error; /* NZ if an error occurs */
+ register int fieldno; /* Number of field being written */
+
+ error = 0;
+ for (fieldno = 0; fieldno < fieldp->nfields; fieldno++)
+ {
+ if (fieldno != 0)
+ error |= putc (delim, file) == EOF;
+ error |= fputs (fieldp->fields[fieldno], file) == EOF;
+ }
+ if (fieldp->hadnl)
+ error |= putc ('\n', file) == EOF;
+ return error;
+ }
+
+void fieldfree (fieldp)
+ register field_t * fieldp; /* Field structure to free */
+ {
+
+ if (fieldp == NULL)
+ return;
+ if (fieldp->linebuf != NULL)
+ free ((char *) fieldp->linebuf);
+ if (fieldp->fields != NULL)
+ free ((char *) fieldp->fields);
+ free ((char *) fieldp);
+ }
diff --git a/snappy-1.1.0/testdata/geo.protodata b/snappy-1.1.0/testdata/geo.protodata
new file mode 100644
index 0000000..c4e3e0d
--- /dev/null
+++ b/snappy-1.1.0/testdata/geo.protodata
Binary files differ
diff --git a/snappy-1.1.0/testdata/grammar.lsp b/snappy-1.1.0/testdata/grammar.lsp
new file mode 100644
index 0000000..c60a993
--- /dev/null
+++ b/snappy-1.1.0/testdata/grammar.lsp
@@ -0,0 +1,94 @@
+;;; -*- Mode: Lisp; Syntax: Common-Lisp; -*-
+
+(define-language
+ :grammar
+ '(((S $any) -> (S1 $any))
+ ((S (Compound $s1 $s2)) -> (S1 $s1) (Conjunction) (S1 $s2))
+
+ ((S1 (Statement $v)) -> (NP $subj) (VP $subj $tense $v))
+ ((S1 (Acknowledge $a)) -> (Acknowledge $a))
+ ((S1 (Command $v)) -> (VP Self present $v))
+ ((S1 (Question $v)) -> (Aux $tense) (NP $subj) (VP $subj $tense $v))
+ ((S1 (Question $v)) -> (Be $tense) (NP $subj) (Be-Arg $subj $tense $v))
+
+ ((Be-Arg $subj $tense (Occur $tense (loc $subj $loc))) ->
+ (Loc-Adjunct $tense (loc $subj $loc)))
+
+ ((VP $subj $tense (Occur $tense $v)) -> (VP1 $subj $tense $v))
+ ((VP $subj $tense (Occur $tense $v)) -> (Aux $tense)(VP1 $subj present $v))
+
+ ((VP1 $subj $tense $v) -> (VP2 $subj $tense $v) (Adjunct? $v))
+
+ ((VP2 $subj $tense ($rel $subj $loc)) ->
+ (Verb/in $rel $tense))
+ ((VP2 $subj $tense ($rel $subj $loc $obj)) ->
+ (Verb/tr $rel $tense) (NP $obj))
+ ((VP2 $subj $tense ($rel $subj $loc $obj $obj2)) ->
+ (Verb/di $rel $tense) (NP $obj) (NP $obj2))
+ ((VP2 $subj $tense (loc $subj $loc)) ->
+ (Be $tense) (Loc-Adjunct $tense (loc $subj $loc)))
+
+ ((NP $n) -> (Pronoun $n))
+ ((NP $n) -> (Article) (Noun $n))
+ ((NP $n) -> (Noun $n))
+ ((NP ($x $y)) -> (Number $x) (Number $y))
+
+ ((PP ($prep $n)) -> (Prep $prep) (NP $n))
+ ((Adjunct? $v) ->)
+ ((Adjunct? $v) -> (Loc-Adjunct $tense $v))
+ #+Allegro ((Loc-Adjunct $tense ($rel $subj $loc @rest)) -> (PP $loc))
+ #+Allegro ((Loc-Adjunct $tense ($rel $subj $loc @rest)) -> (Adjunct $loc))
+ #+Lucid ((Loc-Adjunct $tense ($rel $subj $loc . $rest)) -> (PP $loc))
+ #+Lucid ((Loc-Adjunct $tense ($rel $subj $loc . $rest)) -> (Adjunct $loc))
+
+ )
+ :lexicon
+ '(
+ ((Acknowledge $a) -> (yes true) (no false) (maybe unknown) (huh unparsed))
+ ((Adjunct $loc) -> here there (nearby near) near left right up down)
+ ((Article) -> a an the)
+ ((Aux $tense) -> (will future) (did past) (do $finite))
+ ((Be $tense) -> (am present) (are present) (is present) (be $finite)
+ (was past) (were past))
+ ((Conjunction) -> and --)
+ ((Noun $n) -> gold Wumpus pit breeze stench glitter nothing)
+ ((Number $n) -> 0 1 2 3 4 5 6 7 8 9)
+ ((Prep $prep) -> in at to near)
+ ((Pronoun $n) -> (you self) (me master) (I master))
+
+ ((Verb/in $rel $tense) -> (go move $finite) (went move past)
+ (move move $finite) (move move past) (shoot shoot $finite))
+ ((Verb/tr $rel $tense) -> (move carry $finite) (moved carry past)
+ (carry carry $finite) (carry carried past)
+ (grab grab $finite) (grab grabbed past) (get grab $finite)
+ (got grab past) (release release $finite) (release release past)
+ (drop release $finite) (dropped release past) (shoot shoot-at $finite)
+ (shot shoot-at past) (kill shoot-at $finite) (killed shoot-at past)
+ (smell perceive $finite) (feel perceive $finite) (felt perceive past))
+ ((Verb/di $rel $tense) -> (bring bring $finite) (brought bring past)
+ (get bring $finite) (got bring past))
+ ))
+
+(defparameter *sentences*
+ '((I will shoot the wumpus at 4 4)
+ (yes)
+ (You went right -- I will go left)
+ (carry the gold)
+ (yes and no)
+ (did you bring me the gold)
+ (a breeze is here -- I am near 5 3)
+ (a stench is in 3 5)
+ (a pit is nearby)
+ (is the wumpus near)
+ (Did you go to 3 8)
+ (Yes -- Nothing is there)
+ (Shoot -- Shoot left)
+ (Kill the wumpus -- shoot up)))
+
+(defun ss (&optional (sentences *sentences*))
+ "Run some test sentences, and count how many were not parsed."
+ (count-if-not
+ #'(lambda (s)
+ (format t "~2&>>> ~(~{~a ~}~)~%" s)
+ (write (second (parse s)) :pretty t))
+ *sentences*))
diff --git a/snappy-1.1.0/testdata/house.jpg b/snappy-1.1.0/testdata/house.jpg
new file mode 100644
index 0000000..6b3aae8
--- /dev/null
+++ b/snappy-1.1.0/testdata/house.jpg
Binary files differ
diff --git a/snappy-1.1.0/testdata/html b/snappy-1.1.0/testdata/html
new file mode 100644
index 0000000..ef768cc
--- /dev/null
+++ b/snappy-1.1.0/testdata/html
@@ -0,0 +1 @@
+ content: @ 1099872000000000: 'HTTP/1.1 200 OK\r\nX-Google-Crawl-Date: Mon, 08 Nov 2004 17:22:09 GMT\r\nContent-Type: text/html\r\nConnection: close\r\nX-Powered-By: PHP/4.3.8\r\nServer: Apache/1.3.31 (Unix) mod_gzip/1.3.19.1a PHP/4.3.8\r\nDate: Mon, 08 Nov 2004 17:19:07 GMT\r\n\r\n <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\r\n<BASE target=\"_top\">\r\n\n<TITLE>Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux</TITLE>\r\n<META NAME=\"Description\" CONTENT=\"Micro Achat : Ordinateurs, PDA\">\r\n<META NAME=\"Keywords\" CONTENT=\"Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/01net.css\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/tableau_autre.css\">\r\n<STYLE type=text/css>\r\nA{TEXT-DECORATION: none;color:#000000;}\r\nA:visited{TEXT-DECORATION: none;color:#000000;}\r\n</STYLE>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nvar sameAsBigDay = new Date();\r\nvar ord = (sameAsBigDay.getTime());\r\nvar pubsMotsCles = \"\";\r\nvar exc;\r\nvar lienhautdepage = \"\";\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\nsas_tmstp=Math.round(Math.random()*10000000000);\r\nfunction SmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target) {\r\n if ((sas_master!=\'M\')&&(sas_master!=\'S\')) {sas_master=\'S\'};\r\n document.write(\'<SCR\'+\'IPT SRC=\"http://www.smartadserver.com/call/pubj/\' + sas_pageid + \'/\' + sas_formatid + \'/\'+sas_master + \'/\' + sas_tmstp + \'/\' + escape(sas_target) + \'?\"></SCR\'+\'IPT>\');\r\n}\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\" SRC=\"http://www.01net.com/js/exc.js\"></SCRIPT>\r\n<script language=\"javascript\" src=\"http://telecharger.01net.com/shopping/js/headservicesV4.js\"></script>\r\n<noscript>\r\n<a href=\"http://cinema.01net.com\">T\351l\351charger des bandes-annonces, des teasers, des extraits et des making of de vos films cin\351ma pr\351f\351r\351s</a>,\r\n<a href=\"http://www.01net.com/BusinessTechnologies/\">Portail leader de l\'information sur les nouvelles technologies - Actualites et enquetes sur l\'informatique et les NTIC (nouvelles technologies de l\'information et la communication). Exemples de sujets : e-business, telecoms, CRM, VPN, 3G, DSL, fournisseurs d\'acces, Linux, piratage, securite informatique, progiciel...</a><br>\r\n<a href=\"http://www.01net.com/securite_informatique.html\">s\351curit\351 informatique</a>,\r\n<a href=\"http://www.01net.com/strategies_ntic.html\">strat\351gies NTIC</a>,\r\n<a href=\"http://www.01net.com/piratage_informatique.html\">piratage informatique</a>,\r\n<a href=\"http://www.01net.com/technologie_dsl.html\">technologie DSL</a>,\r\n<a href=\"http://www.01net.com/solutions_vpn.html\">solutions VPN</a>,\r\n<a href=\"http://www.01net.com/strategie_e-business.html\">strat\351gies</a>,\r\n<a href=\"http://www.01net.com/outils_crm.html\">outils CRM</a>,\r\n<a href=\"http://www.01net.com/logiciel_linux.html\">logiciel Linux</a>,\r\n<a href=\"http://www.01net.com/fournisseur_d_acces.html\">fournisseur d\'acc\350s</a>,\r\n<a href=\"http://www.01net.com/progiciel.html\">progiciel</a>,\r\n<a href=\"http://www.01net.com/stockage_de_donnees.html\">stockage de donn\351es</a>,\r\n<a href=\"http://www.01net.com/etudes_solution_informatique.html\">\351tudes solution informatique</a>,\r\n<a href=\"http://www.01net.com/NTIC.html\">NTIC</a>,\r\n<a href=\"http://www.01net.com/actualite_technologie.html\">actualit\351 technologie</a>,\r\n<a href=\"http://www.01net.com/etude_materiel_informatique.html\">\351tude mat\351riel informatique</a>,\r\n<a href=\"http://www.01net.com/actus/\">actualit\351s des nouvelles technologies</a>,\r\n<a href=\"http://www.01net.com/MicroPerso/\">enqu\352tes et trucs et astuces sur le mat\351riel informatique, les logiciels, les fournisseurs d\'acc\350s...</a>,\r\n<a href=\"http://www.01net.com/emploi/\">emploi et formations informatiques : offres d\'emploi informatique...</a>,\r\n<a href=\"http://www.01net.com/produits/\">fiches, tests mat\351riels et logiciels en informatique</a>,\r\n<a href=\"http://www.01net.com/01informatique\">01 Informatique</a>,\r\n<a href=\"http://www.caractere.net\">Caract\350re, le site des professionnels de l\'imprim\351 - communication imprim\351e, \351dition, emballage, encres, finition, flexographie, h\351liogravure, impression, imprimerie, imprimeur, industries graphiques, num\351rique, offset, papier, pr\351presse, presse, print, reprographie, s\351rigraphie, typographie</a>,\r\n<a href=\"http://www.01net.com/decisionmicro\">Decision Micro</a>,\r\n<a href=\"http://www.01net.com/decisioninformatique\">D\351cision Informatique</a>,\r\n<a href=\"http://www.01net.com/01reseaux\">01 R\351seaux</a>,\r\n<a href=\"http://logiciel.telecharger.01net.com/\">logiciel</a>,\r\n<a href=\"http://developpeur.telecharger.01net.com/windows/Programmation/\">d\351veloppeur programmation</a>,\r\n<a href=\"http://anti-virus.telecharger.01net.com\">anti-virus</a>,\r\n<a href=\"http://gravure-cd-dvd.telecharger.01net.com/windows/Utilitaire/gravure/\">gravure cd dvd</a>,\r\n<a href=\"http://codec.telecharger.01net.com/windows/Multimedia/encodeurs_et_decodeurs/\">codec encodeur d\351codeur</a>,\r\n<a href=\"http://software.telecharger.01net.com/\">software</a>,\r\n<a href=\"http://logiciels.telecharger.01net.com/\">logiciels</a>,\r\n<a href=\"http://gratuit.telecharger.01net.com/\">gratuit</a>,\r\n<a href=\"http://p2p.telecharger.01net.com/windows/Internet/partage/\">p2p peer to peer partage de fichiers</a>,\r\n<a href=\"http://securite.telecharger.01net.com/windows/Utilitaire/cryptage_et_securite/\">s\351curit\351</a>,\r\n<a href=\"http://compression-decompression.telecharger.01net.com/windows/Utilitaire/compression_et_decompression/\">compression et d\351compression</a>,\r\n<a href=\"http://divx.telecharger.01net.com/\">divx</a>,\r\n<a href=\"http://utilitaire.telecharger.01net.com/windows/Utilitaire/\">utilitaire</a>,\r\n<a href=\"http://jeux.telecharger.01net.com/windows/Jeux/\">jeux</a>,\r\n<a href=\"http://loisirs.telecharger.01net.com/windows/Loisirs/\">loisirs</a>,\r\n<a href=\"http://mac.telecharger.01net.com/mac/\">mac</a>,\r\n<a href=\"http://linux.telecharger.01net.com/linux/\">linux</a>,\r\n<a href=\"http://shareware.telecharger.01net.com/\">shareware</a>,\r\n<a href=\"http://video-dvd.telecharger.01net.com/windows/Multimedia/lecteurs_video_dvd/\">vid\351o dvd</a>,\r\n<a href=\"http://multimedia.telecharger.01net.com/\">multim\351dia</a>,\r\n<a href=\"http://traduction.telecharger.01net.com/windows/Bureautique/traducteur/\">traduction</a>,\r\n<a href=\"http://mp3.telecharger.01net.com/windows/Multimedia/lecteurs_audio_mp3_cd/\">mp3</a>,\r\n<a href=\"http://tchat.telecharger.01net.com/windows/Internet/communication/\">tchat</a>\r\n<a href=\"http://chat.telecharger.01net.com/windows/Internet/communication/\">chat</a>,\r\n<a href=\"http://musique.telecharger.01net.com/\">musique</a>,\r\n<a href=\"http://mobile.telecharger.01net.com/mobile/\">mobile</a>,\r\n<a href=\"http://telephone_portable.telecharger.01net.com/mobile/\">t\351l\351phone portable</a>,\r\n<a href=\"http://telephone_mobile.telecharger.01net.com/mobile/\">t\351l\351phone mobile</a>\r\n</noscript>\r\n</head>\r\n</head>\r\n<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#000000\" marginwidth=0 marginheight=0 topmargin=0 leftmargin=0>\r\n<!-- + ZONE TETE -->\r\n<!-- ********** DEBUT MODELE INTERNE TETES MHA-tetev4 //-->\r\n<table width=100% height=66 cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td height=8 colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=8></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td valign=bottom><a href=\"http://microachat.01net.com\"><img src=\"http://www.01net.com/img/v4/logos_tete/tet_gauche-mha.gif\" border=0></a></td>\r\n\t\t<td valign=bottom bgcolor=#FFFFFF bbackground=\"http://www.01net.com/img/v4/tet_droite.gif\" width=100% style=\"background-image:url(/img/v4/tet_droite-mha.gif);background-position:bottom;background-repeat:repeat-x\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=66 align=left hspace=0 vspace=0></td>\r\n\t</tr>\r\n</table>\r\n<table width=100% cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td valign=top background=\"http://www.01net.com/img/v4/fond_date-mha.gif\" height=18 width=500><img src=\"http://www.01net.com/img/dot.gif\" width=500 height=1><br><img src=\"http://www.01net.com/img/dot.gif\" width=19 height=1><font face=\"Arial\" size=1 color=#666666 style=\"font-size: 11px;\"><b>Derni\350re mise \340 jour de cette page : lundi 8 novembre 2004&nbsp;&nbsp;|&nbsp;&nbsp;16:45</b></font></td>\r\n\t\t<td width=100% background=\"http://www.01net.com/img/v4/fond_date2-mha.gif\" height=18></td>\r\n\t</tr>\r\n</table>\r\n<!-- ********** FIN MODELE INTERNE TETES MHA-tetev4 //--> <!-- - ZONE TETE -->\r\n<!-- ***************************************************************************************************************************************************************************************************************************** //-->\r\n<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n<!-- DEBUT PARTIE PUB //-->\r\n\t<tr>\r\n<td align=center valign=middle colspan=2 background=\"http://www.01net.com/img/v4/fond_bann.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br>\r\n<!-- + ZONE Z0 -->\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\">\r\nvar fa = \"\";\r\nvar fab = document.URL.toString();\r\nif (fab.indexOf(\"?fa\") != -1 || fab.indexOf(\"&fa\") != -1)\r\n{\r\nfa = \";!category=fai\";\r\n}\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nsas_pageid=\'167/3872\';\r\nsas_formatid=95;\t\t\t// Format : Banner/Scope 468x60\r\nsas_master=\'M\';\t\t\t// Master : M=master or S=slave\r\nsas_target=exc + \'rubrique\';\t\t\t// Targeting\r\nSmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target);\r\n</SCRIPT>\r\n <!-- - ZONE Z0 --></td>\r\n\t\t<td valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\" ><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n<td valign=top width=100% bgcolor=\"ffffff\" rowspan=3><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=125><br>\r\n<!-- +ZONE_Dn -->\r\n<!-- + ZONE D0 -->\r\n<!-- DEBUT MA_ColD -->\r\n<div style=\"background-color : #ffffff; width : 150px; padding-left : 5px; padding-right : 5px; font-family : Arial, Helvetica;\">\n\t\t\t\t\t<table style=\"border-spacing : 0; width : 146px; margin-top : 0px;\" cellspacing=\"0\">\n\t\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-produitsrecherches.gif\" alt=\"\" /></th></tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Imagerie&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/12537-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/imagerie/moniteurs-lcd/l1720b/\">LG L1720B</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">332.89 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4043-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/veriton-7600g/\">Acer Veriton 7600G</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">705 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1903-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sn95g5/\">Shuttle SN95G5</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">375 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1259-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/cartes-meres/a7n8x-e-deluxe/\">Asus A7N8X-E Deluxe</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">91.99 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4687-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/ventilateur/sp-94/\">Thermalright SP-94</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">49 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr></table>\n\t\t\t\t<table style=\"border-spacing : 0px 1px; width : 146px; margin-top : 15px;\" cellspacing=\"0\">\n\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-revendeurmisajour.gif\" alt=\"\" /></th></tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">1 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Rhone-Alpes/Ain/pc-look\" style=\"color : #000000; text-decoration : none;\">PC Look</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">2 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Nord-Pas-de-Calais/Pas-de-Calais/atelier-informatique\" style=\"color : #000000; text-decoration : none;\">Atelier Informatique</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">3 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Val-de-Marne/zanax-multimedia\" style=\"color : #000000; text-decoration : none;\">Zanax Multim\351dia</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">4 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Hauts-de-Seine/misteroops\" style=\"color : #000000; text-decoration : none;\">MISTEROOPS</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">5 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/168-golden-avenue\" style=\"color : #000000; text-decoration : none;\">168 Golden Avenue</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">6 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-Saint-Denis/microchoix\" style=\"color : #000000; text-decoration : none;\">microchoix</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">7 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/e-soph\" style=\"color : #000000; text-decoration : none;\">e-Soph</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">8 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/13/pc-price-club\" style=\"color : #000000; text-decoration : none;\">PC Price Club</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">9 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-et-Marne/pc-77\" style=\"color : #000000; text-decoration : none;\">PC 77</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">10 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Alsace/Bas-Rhin/web-in-informatique\" style=\"color : #000000; text-decoration : none;\">Web In Informatique</a></td>\n\t\t\t\t</tr></table>\n\t\t\t\t</div>\n\t\t\t\t<br>\r\n<!-- FIN MA_ColD --> <!-- - ZONE D0 -->\r\n<!-- + ZONE D1 -->\r\n<!-- - ZONE D1 -->\r\n<!-- + ZONE D2 -->\r\n<!-- - ZONE D2 -->\r\n<!-- -ZONE_Dn -->\r\n</td>\r\n\t</tr>\r\n<!-- FIN PARTIE PUB //-->\r\n\t<tr>\r\n\t\t<td valign=top width=193 height=100% background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n\t\t<!-- contenu colonne de gauche //-->\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0 background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<!-- +ZONE_Gn -->\r\n<!-- + ZONE G0 -->\r\n<tr><!-- ********** DEBUT MHA_MenusChainesV4 //-->\r\n<td valign=top>\n<table border=0 cellpadding=0 cellspacing=0 width=193 bgcolor=#FFFFFF>\n<tr>\n<td background=\"/img/v4/menus/motifgauche_menus.gif\" width=20 rowspan=2><img src=\"/img/dot.gif\" width=20 height=20></td>\n<td width=173 colspan=2 bgcolor=#FFFFFF><img src=\"/img/dot.gif\" width=173 height=20></td>\n</tr>\n<tr>\n<td valign=top width=159>\n\n<a href=\"http://www.01net.com\"><img src=\"/img/v4/menus/mha/home01net-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com\"><img src=\"/img/v4/menus/mha/home-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4317.html\"><img src=\"/img/v4/menus/mha/ordinateurs-2.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4318.html\"><img src=\"/img/v4/menus/mha/composants-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4319.html\"><img src=\"/img/v4/menus/mha/stockage-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4320.html\"><img src=\"/img/v4/menus/mha/image-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4321.html\"><img src=\"/img/v4/menus/mha/peripheriques-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4322.html\"><img src=\"/img/v4/menus/mha/reseaux-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4323.html\"><img src=\"/img/v4/menus/mha/accessoires-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/guide-produits/\"><img src=\"/img/v4/menus/mha/comparateur-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/annuaire/\"><img src=\"/img/v4/menus/mha/annuaire-1.gif\" width=159 border=0></a><br></td>\n<td width=14><img src=\"/img/dot.gif\" width=14 height=14></td>\n</tr>\n<tr>\n<td colspan=3><img src=\"/img/v4/menus/bas_menus.gif\" width=193 height=31></td>\n</tr>\n</table></td><!-- ********** FIN MHA_MenusChainesV4 //--> </tr><!-- - ZONE G0 -->\r\n<!-- + ZONE G1 -->\r\n<tr><!-- DEBUT MODELE RUBRIQUE V4ColGaucheMHA //-->\r\n<!-- ********** DEBUT BLOC DernieresNewsTC //-->\r\n<td valign=top>\r\n<!-- DEBUT RECHERCHE MHA -->\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top background=\"http://microachat.01net.com/img/v4/fond_rech_mha.gif\" height=98 style=\"background-repeat:no-repeat;\"><form method=\"get\" name=\"chercher\" action=\"http://www.01net.com/aiguillage_recherche/1,6138,,00.html\"><img src=\"http://microachat.01net.com/img/dot.gif\" width=193 height=17><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"text\" name=\"fullText\" style=\"width:130px;font:12px;\"><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=6><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><select name=\"sousArbo\" style=\"width:130px;font:12px;\">\r\n\t\t\t<option value=\"mha\">dans Micro Achat\r\n\t\t\t<option value=\"cmp\">les prix\r\n\t\t\t<option value=\"ann\">les revendeurs\r\n\t\t\t<option value=\"2641\">tout 01net.\r\n\t\t\t<option value=\"emploi\">les offres d\'emploi\r\n\t\t\t<option value=\"telecharger\"> telecharger.com\r\n\t\t\t<option value=\"web\">le web\r\n\t\t\t</select><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://microachat.01net.com/img/v4/ok_bloc_recher_mha.gif\" border=\"0\"></form>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10 vspace=0>\r\n<!-- FIN RECHERCHE MHA -->\r\n <!-- modele TCFilColgTitV4 //-->\r\n <table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/ban/Ban_v4_DernieresNews01net.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/256059.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">CD et DVD bient\364t insensibles aux rayures<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255796.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">OpenOffice gagne son service<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255731.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">La messagerie en cinq minutes selon Ipswitch<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top colspan=2><A HREF=\"http://www.01net.com/actus/\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\">> toutes les news<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/crochet_bleuhaut_155.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20> <!-- ********** FIN BLOC DernieresNewsTC //-->\r\n<!-- ********** DEBUT BLOC NL_MHA //-->\r\n<SCRIPT language=\"javascript\" src=\"http://www.01net.com/js/lib.js\"></SCRIPT>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"formgen\" method=\"get\" action=\"http://microachat.01net.com/outils/newsletter_MicroAchat.html\" onSubmit=\"return validateForm(this)\">\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/ban/Ban_V4_Newslett.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=153>\r\n\t\t<table width=153 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefinefd_ffffff.gif\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Recevez chaque jour l\'actualit\351 des produits et des promos<br></font>\r\n\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"email\" size=\"14\" style=\"width:130px;font:12px;\" value=\"entrez votre e-mail\" onFocus=\"javascript:document.formgen.email.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://www.01net.com/img/v4/ok_bloc_recher.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/v4/base_newsletters.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n<SCRIPT language=\"Javascript\">\r\ndocument.formgen.email.validator= \'notNullEmailPat\';\r\ndocument.formgen.email.nomvalidator= \'E-mail\';\r\n</SCRIPT>\r\n<!-- ********** FIN BLOC NL_MHA //-->\r\n</td>\r\n</tr>\r\n<tr>\r\n<!-- ********** DEBUT BLOC Actus ActusUneV4 //-->\r\n<td valign=top background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/ban/Ban_v4_LaUne.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/entreprise/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Entreprise</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://www.01net.com/article/255737.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Quand le billet papier s\'envole vers la d\351mat\351rialisation</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255737.html\"><img src=\"http://www.01net.com/img/MEA_v4/billet_virtuel-65.jpg\" border=0></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/pratique/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Trucs et astuces</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255698.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">D\351pannez Windows XP</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255698.html\"><img src=\"http://www.01net.com/img/MEA_v4/depannez_XP-65.jpg\" border=0 ></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t</tr>\r\n\t\t <tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/conso/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Conso</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255524.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Vos photos sur papier imprimante ou labo ?<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t<!-- exemple de lien avec pseudorub pour produits et tests -->\r\n\t\t<!-- <a href=\"/outils/PseudoRub.php?base=test-comp&rub=1730&pseudo=test-comp20041005\"> -->\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/produits/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Produits &amp; Tests</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255782.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">5 programmes d\222encodage vid\351o gratuits<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n</td>\r\n<!-- ********** FIN BLOC Actus ActusUneV4 //--> </tr>\r\n<tr>\r\n<td>\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top><a href=\"mailto:s.cohen@micro-achat.fr\"><img border=0 src=\"http://www.01net.com/img/v4/espace-revendeurs.gif\"></td>\r\n\t</tr>\r\n</table>\r\n<br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20></td>\r\n<!-- FIN MODELE RUBRIQUE V4ColGaucheMHA //--> </tr><!-- - ZONE G1 -->\r\n<!-- + ZONE G2 -->\r\n<!-- - ZONE G2 -->\r\n<!-- + ZONE G3 -->\r\n<!-- - ZONE G3 -->\r\n<!-- + ZONE G4 -->\r\n<!-- - ZONE G4 -->\r\n<!-- + ZONE G5 -->\r\n<!-- - ZONE G5 -->\r\n<!-- + ZONE G6 -->\r\n<!-- - ZONE G6 -->\r\n<!-- + ZONE G7 -->\r\n<!-- - ZONE G7 -->\r\n<!-- + ZONE G8 -->\r\n<!-- - ZONE G8 -->\r\n<!-- + ZONE G9 -->\r\n<!-- - ZONE G9 -->\r\n<!-- + ZONE GA -->\r\n<!-- - ZONE GA -->\r\n<!-- + ZONE GB -->\r\n<!-- - ZONE GB -->\r\n<!-- + ZONE GC -->\r\n<!-- - ZONE GC -->\r\n<!-- + ZONE GD -->\r\n<!-- - ZONE GD -->\r\n<!-- + ZONE GE -->\r\n<!-- - ZONE GE -->\r\n<!-- + ZONE GF -->\r\n<!-- - ZONE GF -->\r\n<!-- -ZONE_Gn -->\r\n\t\t</table>\r\n\t\t<!-- fin contenu colonne de gauche //-->\r\n\t\t</td>\r\n<!-- ***************************************************************** DEBUT VENTRE*********************************************************************************************************************************************** //-->\r\n<!-- DEBUT WORK -->\r\n\t\t<td valign=top width=625 bgcolor=#ffffff><img src=\"http://www.01net.com/img/dot.gif\" width=625 height=1><br>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_hn -->\r\n<!-- + ZONE h0 -->\r\n<!-- MA_ban_int -->\r\n<td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=\"18\"><br>\r\n<!-- pour ordipda -->\r\n<table width=\"625\" cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"/img/v4/MA/Ban_MA_ordis.gif\"></td>\r\n\t</tr>\r\n</table>\r\n\t</td>\r\n<!-- /MA_ban_int --> <!-- - ZONE h0 -->\r\n<!-- + ZONE h1 -->\r\n<!-- - ZONE h1 -->\r\n<!-- + ZONE h2 -->\r\n<!-- - ZONE h2 -->\r\n<!-- -ZONE_hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Hn -->\r\n<!-- + ZONE H0 -->\r\n<!-- Ma_int_Leader -->\r\n <td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=320>\r\n<tr>\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Un nouvel ultra portable r\351alis\351 par Nec</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67509.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Le Versa S940 a un format r\351duit, mais ses performances sont \340 la hauteur.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1663&#160;\200</font>\r\n</td>\r\n<td width=17 background=\"/img/v4/MA/v4-fond-sep-mea-leader.gif\"><img src=\"/img/dot.gif\" width=17 height=1></td>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Asus pr\351sente trois petits nouveaux dans la gamme A3N</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67168.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Ces trois portables Centrino int\350grent, entre autres, une webcam et un contr\364leur Wi-Fi.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1346&#160;\200</font>\r\n</td>\r\n<td width=15><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t\t</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_int_Leader --> <!-- - ZONE H0 -->\r\n<!-- + ZONE H1 -->\r\n<!-- - ZONE H1 -->\r\n<!-- + ZONE H2 -->\r\n<!-- MA_BP_MP -->\r\n<td valign=\"top\" width=\"100%\">\r\n\t<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n\t<tr>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_BonPlan -->\r\n<td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=1 cellspacing=0 width=145 bgcolor=#CC0000>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">BON PLAN</a></font></td>\r\n</tr>\r\n<tr>\r\n<td width=145>\r\n<div style=\"padding:5px;padding-left:5px;padding-fight:5px;margin:0px;margin-left:1px;margin-right:1px;background-color:#FFFFFF;\">\r\n<img src=\"/img/microachat/logo_shuttle_SB83G5.gif\" border=0><br>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:12px;\">Les derni\350res technologies INTEL dans un nouveau design pour ce shuttle haut de gamme, pour un prix abordable.<br></font>\r\n<center><a href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sb83g5/?fabriquant=1&page=1&tri=titre\"><img src=\"/img/microachat/mea_shuttle_SB83G5.gif\" border=0 vspace=5></a><br></center>\r\n<center>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:13px;\"><b>\340 partir de</b><br>\r\n<div style=\"border:solid 2px #CC0000;width:100px;background-color:#FFCC00;\"><b>415 \200</b></div>\r\n</center>\r\n</div>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">publicit\351</a></font></td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_BonPlan --> \t</td>\r\n\t<td width=\"15\"><img src=\"/img/dot.gif\" width=\"15\"></td>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_MeillPrixAct //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=145 height=1><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=18><br>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"prix\" action=\"http://www.micro-achat.01net.com/guide-produits/recherche.php\" method=\"post\">\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/ban/Ban_v4_MeillPrix_MA.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=143>\r\n\t\t<table width=143 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=6><img src=\"http://www.01net.com/img/dot.gif\" width=6 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"http://www.01net.com/img/ban/Ban_MA_trouv_ordi.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Desktops</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/portables/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Portables</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Mini-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/pda---tablets-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Pda / Tablets-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/apple/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Apple</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/gps/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">GPS</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20><br>\r\n\t\t\t\t\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"width:130px;font:12px;\" value=\" recherche directe\" onFocus=\"javascript:document.prix.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/v4/MA/base_meillPrix.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_MeillPrixAct //--> \t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n<!-- /MA_BP_MP --> <!-- - ZONE H2 -->\r\n<!-- -ZONE_Hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Tn -->\r\n<!-- + ZONE T0 -->\r\n <td valign=\"top\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n<tr>\r\n<td width=305><img src=\"http://www.01net.com/img/ban/Ban_v4_DernNews_MA.gif\"><br><img src=\"http://www.01net.com/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n</tr>\r\n<tr>\r\n<td bgcolor=\"#FEF9E0\">\r\n\t<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255149.html\" style=\"color:#000000;text-decoration:none;\">Toshiba consacre deux gammes de machines au multim\351dia</a></b><br>\r\n\t<font color=\"#000000\">Equipement haut de gamme et Windows Media Center sont au menu de ces portables \340 vocation multim\351dia.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Ordinateur&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254686.html\" style=\"color:#000000;text-decoration:none;\">Arriv\351e d\'un Power Mac G5 d\'entr\351e de gamme</a></b><br>\r\n\t<font color=\"#000000\">La firme \340 la pomme propose une station de travail \351volutive et relativement abordable.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>PC&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254549.html\" style=\"color:#000000;text-decoration:none;\">Alienware propose deux machines au look \351trange</a></b><br>\r\n\t<font color=\"#000000\">Aurora et Area 51 sont deux gammes d\'ordinateurs enti\350rement configurables.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254501.html\" style=\"color:#000000;text-decoration:none;\">Trois nouveaux iBook G4 chez Apple</a></b><br>\r\n\t<font color=\"#000000\">Chez Apple, les portables gagnent en vitesse et communiquent sans fil en standard.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t\t<tr>\r\n\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td align=\"right\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4365.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les news</font></a>\r\n\t\t\t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n</td> <!-- - ZONE T0 -->\r\n<!-- + ZONE T1 -->\r\n<!-- Ma_derpromo -->\r\n <td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=13><br>\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td bgcolor=\"#ffffff\"><img src=\"/img/v4/MA/v4-lespromos-mha.gif\"><br><img src=\"/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n</tr>\r\n</table>\r\n<!-- DEBUT MODELE D\'AFFICHAGE POUR LES n PREMIERS ARTICLES //-->\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255806.html\" class=\"nodeco\"><img src=\"/images/67462.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255806.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Asus A3N15-C Pro</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable autonome et puissant gr\342ce \340 la technologie Intel Centrino.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1170&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255688.html\" class=\"nodeco\"><img src=\"/images/67381.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255688.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Soltek EQ3702A Miroir</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Ce mini PC est une solution int\351ressante pour les utilisateurs poss\351dant d\351j\340 un \351cran.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>559&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255513.html\" class=\"nodeco\"><img src=\"/images/67319.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255513.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>IBM ThinkPad R51</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable complet et pourtant relativement l\351ger.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1299&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n</tr>\r\n<tr>\r\n<td background=\"/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"/img/dot.gif\" height=1></td>\r\n</tr>\r\n<tr>\r\n<td align=\"right\" valign=\"top\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4366.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les promos</font></a>\r\n\t\t</td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_derpromo --> <!-- - ZONE T1 -->\r\n<!-- + ZONE T2 -->\r\n<!-- - ZONE T2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE T3 -->\r\n<!-- DEBUT MicroAchat MA_PubG -->\r\n<td valign=top align=center>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45590/[timestamp]?\" target=_blank><img src=\"/img/microachat/Bandeau_FX6021.jpg\" border=0></a></td>\r\n\t\t<td><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubG --> <!-- - ZONE T3 -->\r\n<!-- + ZONE T4 -->\r\n<!-- DEBUT MicroAchat MA_PubD -->\r\n<td valign=top align=center>\r\n<table border=0 width=305 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45591/[timestamp]?\" target=_blank><img src=\"/img/microachat/twc_305x125.jpg\" border=0></a></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubD --> <!-- - ZONE T4 -->\r\n<!-- + ZONE T5 -->\r\n<!-- - ZONE T5 -->\r\n<!-- -ZONE_Tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n<!-- +ZONE_gn -->\r\n<!-- + ZONE g0 -->\r\n<!-- - ZONE g0 -->\r\n<!-- + ZONE g1 -->\r\n<!-- - ZONE g1 -->\r\n<!-- + ZONE g2 -->\r\n<!-- - ZONE g2 -->\r\n<!-- + ZONE g3 -->\r\n<!-- - ZONE g3 -->\r\n<!-- + ZONE g4 -->\r\n<!-- - ZONE g4 -->\r\n<!-- + ZONE g5 -->\r\n<!-- - ZONE g5 -->\r\n<!-- + ZONE g6 -->\r\n<!-- - ZONE g6 -->\r\n<!-- + ZONE g7 -->\r\n<!-- - ZONE g7 -->\r\n<!-- + ZONE g8 -->\r\n<!-- - ZONE g8 -->\r\n<!-- + ZONE g9 -->\r\n<!-- - ZONE g9 -->\r\n<!-- -ZONE_gn -->\r\n\t\t\t</table>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t\t\t<tr>\r\n<!-- +ZONE_Mn -->\r\n<!-- + ZONE M0 -->\r\n<!-- modele Ma_GuideAch //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_GuideAchat_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<center>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67088.jpg.res_121-111.jpg\" border=0 hspace=0 vspace=0></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n</center>\r\n<div style=\"padding:5px;\">\r\n<a href=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\"><b>Les graveurs de DVD</b><br></font></a>\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Quel graveur choisir&#160;? Quel type de format&#160;? Quelle vitesse&#160;? Double couche ou simple couche&#160;? Voici tout ce qu\'il faut savoir pour faire le bon choix.</font></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M0 -->\r\n<!-- + ZONE M1 -->\r\n<!-- modele Ma_DirectLab //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_DirectLab_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255744.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Kodak EasyShare Printer Dock Plus&#160;:</b>\r\n\t\t\t\t\t\tvos photos 10&#160;x&#160;15&#160;cm en 60&#160;secondes</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255780.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>3DMark05&#160;:</b>\r\n\t\t\t\t\t\tun labo 3D \340 domicile</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255691.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>DVDInfoPro 2.6</b>\r\n\t\t\t\t\t\treconna\356t CD et DVD</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255722.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Scaleo PA D3008, de Fujitsu-Siemens&#160;:</b>\r\n\t\t\t\t\t\tune impression d\'inachev\351</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255514.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Carbon 5&#160;Go&#160;: 2&#160;500&#160;chansons dans le creux de la main</font></a></div>\r\n\t\t\t</div></td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M1 -->\r\n<!-- + ZONE M2 -->\r\n<!-- DEBUT MicroAchat MA_AnnTelec -->\r\n<td valign=top>\r\n<script type=\"text/javascript\">\r\nfunction regionChange()\r\n{\r\ndocument.selection.departement.options.length=0;\r\nswitch(document.selection.region.value)\r\n\t{\r\n\t\tcase \"aucun\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Nord-Pas-de-Calais\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pas-de-Calais\", \"Pas-de-Calais\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nord\", \"Nord\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Haute-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure\", \"Eure\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Maritime\", \"Seine-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Basse-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Manche\", \"Manche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Calvados\", \"Calvados\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Orne\", \"Orne\");\r\n\t\tbreak;\r\n\t\tcase \"Picardie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Somme\", \"Somme\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Oise\", \"Oise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aisne\", \"Aisne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bretagne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Finistere\", \"Finistere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cotes-dArmor\", \"Cotes-dArmor\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Morbihan\", \"Morbihan\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ille-et-Vilaine\", \"Ille-et-Vilaine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Pays-de-Loire\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire-Atlantique\", \"Loire-Atlantique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vendee\", \"Vendee\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Maine-et-Loire\", \"Maine-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayenne\", \"Mayenne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Sarthe\", \"Sarthe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Centre\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure-et-Loir\", \"Eure-et-Loir\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loiret\", \"Loiret\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loir-et-Cher\", \"Loir-et-Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre-et-Loire\", \"Indre-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre\", \"Indre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cher\", \"Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Ile-de-France\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-dOise\", \"Val-dOise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yvelines\", \"Yvelines\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Essonne\", \"Essonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-et-Marne\", \"Seine-et-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hauts-de-Seine\", \"Hauts-de-Seine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Saint-Denis\", \"Seine-Saint-Denis\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-de-Marne\", \"Val-de-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Paris\", \"Paris\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Champagnes-Ardennes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardennes\", \"Ardennes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Marne\", \"Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aube\", \"Aube\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Marne\", \"Haute-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Lorraine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vosges\", \"Vosges\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meurthe-et-Moselle\", \"Meurthe-et-Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meuse\", \"Meuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Moselle\", \"Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Alsace\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bas-Rhin\", \"Bas-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haut-Rhin\", \"Haut-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Franche-Compte\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Jura\", \"Jura\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Doubs\", \"Doubs\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Saone\", \"Haute-Saone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Territoire-de-Belfort\", \"Territoire-de-Belfort\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bourgogne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yonne\", \"Yonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nievre\", \"Nievre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cote-dOr\", \"Cote-dOr\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Saone-et-Loire\", \"Saone-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Poitou-Charentes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Deux-Sevres\", \"Deux-Sevres\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente-Maritime\", \"Charente-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente\", \"Charente\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vienne\", \"Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Limousin\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Vienne\", \"Haute-Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Correze\", \"Correze\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Creuse\", \"Creuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Auvergne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Allier\", \"Allier\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Puy-de-Dome\", \"Puy-de-Dome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cantal\", \"Cantal\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Loire\", \"Haute-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Rhone-Alpes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire\", \"Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Rhone\", \"Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ain\", \"Ain\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardeche\", \"Ardeche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Drome\", \"Drome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Isere\", \"Isere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Savoie\", \"Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Savoie\", \"Haute-Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Aquitaine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gironde\", \"Gironde\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Landes\", \"Landes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Atlantiques\", \"Pyrenees-Atlantiques\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot-et-Garonne\", \"Lot-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Dordogne\", \"Dordogne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Midi-Pyrenees\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot\", \"Lot\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn-et-Garonne\", \"Tarn-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gers\", \"Gers\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Pyrenees\", \"Hautes-Pyrenees\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Garonne\", \"Haute-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ariege\", \"Ariege\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn\", \"Tarn\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aveyron\", \"Aveyron\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Languedoc-Roussillon\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Orientales\", \"Pyrenees-Orientales\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aude\", \"Aude\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Herault\", \"Herault\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gard\", \"Gard\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lozere\", \"Lozere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Provence-Alpes-Cote-dazur\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bouches-du-Rhone\", \"Bouches-du-Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vaucluse\", \"Vaucluse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-de-haute-Provence\", \"Alpes-de-haute-Provence\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Alpes\", \"Hautes-Alpes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Var\", \"Var\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-Maritimes\", \"Alpes-Maritimes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Corse\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Corse-du-Sud\", \"Corse-du-Sud\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Corse\", \"Haute-Corse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"DomTom\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guadeloupe\", \"Guadeloupe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guyane\", \"Guyane\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"La-Reunion\", \"La-Reunion\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Martinique\", \"Martinique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayotte\", \"Mayotte\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"St-Pierre-et-Miquelon\", \"St-Pierre-et-Miquelon\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t}\r\n}\r\nfunction deptChange()\r\n{\r\nif (document.selection.departement.value == \'Paris\')\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'inline\';\r\nelse\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'none\';\r\n}\r\n</script>\r\n<table width=305 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td valign=top>\r\n\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_AnnuaiRev_MA.gif\" vspace=1></td>\r\n\t\t\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><form action=\"http://micro-achat.01net.com/annuaire/recherche.php\" method=\"post\" name=\"selection\">\r\n\t\t\t\t<td bgcolor=#FFFFDD>\r\n\t\t\t\t<div style=\"border:solid 1px #FFCC00;width:100%\"><div style=\"padding:2px;\"><img src=\"http://www.01net.com/img/v4/MA/carte_revend.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Choisir une r\351gion</b><br></font>\r\n<select name=\"region\" onChange=\"regionChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n<option value=\"Nord-Pas-de-Calais\">Nord-Pas-de-Calais</option>\r\n<option value=\"Haute-Normandie\">Haute-Normandie</option>\r\n<option value=\"Basse-Normandie\">Basse-Normandie</option>\r\n<option value=\"Picardie\">Picardie</option>\r\n<option value=\"Bretagne\">Bretagne</option>\r\n<option value=\"Pays-de-Loire\">Pays-de-Loire</option>\r\n<option value=\"Centre\">Centre</option>\r\n<option value=\"Ile-de-France\">Ile-de-France</option>\r\n<option value=\"Champagnes-Ardennes\">Champagne ardennes</option>\r\n<option value=\"Lorraine\">Lorraine</option>\r\n<option value=\"Alsace\">Alsace</option>\r\n<option value=\"Franche-Compte\">Franche-Compte</option>\r\n<option value=\"Bourgogne\">Bourgogne</option>\r\n<option value=\"Poitou-Charentes\">Poitou-Charentes</option>\r\n<option value=\"Limousin\">Limousin</option>\r\n<option value=\"Auvergne\">Auvergne</option>\r\n<option value=\"Rhone-Alpes\">Rhone-Alpes</option>\r\n<option value=\"Aquitaine\">Aquitaine</option>\r\n<option value=\"Midi-Pyrenees\">Midi-Pyrenees</option>\r\n<option value=\"Languedoc-Roussillon\">Languedoc roussillon</option>\r\n<option value=\"Provence-Alpes-Cote-dazur\">PACA</option>\r\n<option value=\"Corse\">Corse</option>\r\n<option value=\"DomTom\">DomTom</option>\r\n</select>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un d\351partement</b><br></font>\r\n<select name=\"departement\" onChange=\"deptChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n</select>\r\n<div id=\"arrondissement\" style=\"display : none;\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un arrondissement</b><br></font>\r\n<select name=\"arrondissement\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"0\">-------------</option>\r\n<option value=\"1\">I</option>\r\n<option value=\"2\">II</option>\r\n<option value=\"3\">III</option>\r\n<option value=\"4\">IV</option>\r\n<option value=\"5\">V</option>\r\n<option value=\"6\">VI</option>\r\n<option value=\"7\">VII</option>\r\n<option value=\"8\">VIII</option>\r\n<option value=\"9\">IX</option>\r\n<option value=\"10\">X</option>\r\n<option value=\"11\">XI</option>\r\n<option value=\"12\">XII</option>\r\n<option value=\"13\">XIII</option>\r\n<option value=\"14\">XIV</option>\r\n<option value=\"15\">XV</option>\r\n<option value=\"16\">XVI</option>\r\n<option value=\"17\">XVII</option>\r\n<option value=\"18\">XVIII</option>\r\n<option value=\"19\">XIX</option>\r\n<option value=\"20\">XX</option>\r\n</select>\r\n</div>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche directe</b><br></font>\r\n\t\t\t\t<font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\"><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>rechercher une ville<br><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>et/ou une boutique<br></font>\r\n\t\t\t\t<input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;width:130px;\" value=\"\" onFocus=\"javascript:document.selection.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=3><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1>&nbsp;<input type=\"image\" src=\"http://www.01net.com/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\">\r\n\t\t\t\t<table height=23 width=135 cellspacing=0 cellpadding=0 border=0 bgcolor=#FFEE77>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td bgcolor=#FFEE77 valign=middle align=center><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://micro-achat.01net.com/annuaire/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche avanc\351e</b></font></a></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t</td>\r\n\t\t\t</tr></form>\r\n\t\t</table>\r\n\t\t</td>\r\n<!-- DEBUT MicroAchat MA_Telecharg //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/v4/MA/Ban_v4_MA_telec.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#DFECF6\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"></td>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Bureautique\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Bureautique</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Traducteur, organiseur...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Multimedia\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Multim\351dia</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Photo, audio, vid\351o...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Utilitaire\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Utilitaires</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Antivirus, pilotes, gravure...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Personnaliser\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Personnaliser son PC</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Ecrans de veille, th\350mes...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Programmation\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>D\351veloppement</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Cr\351ation de logiciels, BDD...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Jeux\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Jeux</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Action, simulation...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Internet\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Internet</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Utilitaires, email, FTP...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Loisirs\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Loisirs</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Humour, culture...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_Telecharg //--> \t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_AnnTelec --> <!-- - ZONE M2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE M3 -->\r\n<!-- - ZONE M3 -->\r\n<!-- + ZONE M4 -->\r\n<!-- - ZONE M4 -->\r\n<!-- + ZONE M5 -->\r\n<!-- - ZONE M5 -->\r\n<!-- -ZONE_Mn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_tn -->\r\n<!-- + ZONE t0 -->\r\n<!-- - ZONE t0 -->\r\n<!-- + ZONE t1 -->\r\n<!-- - ZONE t1 -->\r\n<!-- + ZONE t2 -->\r\n<!-- - ZONE t2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE t3 -->\r\n<!-- - ZONE t3 -->\r\n<!-- + ZONE t4 -->\r\n<!-- - ZONE t4 -->\r\n<!-- + ZONE t5 -->\r\n<!-- - ZONE t5 -->\r\n<!-- -ZONE_tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td valign=top>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_dn -->\r\n<!-- + ZONE d0 -->\r\n<!-- - ZONE d0 -->\r\n<!-- + ZONE d1 -->\r\n<!-- - ZONE d1 -->\r\n<!-- + ZONE d2 -->\r\n<!-- - ZONE d2 -->\r\n<!-- + ZONE d3 -->\r\n<!-- - ZONE d3 -->\r\n<!-- + ZONE d4 -->\r\n<!-- - ZONE d4 -->\r\n<!-- + ZONE d5 -->\r\n<!-- - ZONE d5 -->\r\n<!-- + ZONE d6 -->\r\n<!-- - ZONE d6 -->\r\n<!-- + ZONE d7 -->\r\n<!-- - ZONE d7 -->\r\n<!-- + ZONE d8 -->\r\n<!-- - ZONE d8 -->\r\n<!-- + ZONE d9 -->\r\n<!-- - ZONE d9 -->\r\n<!-- -ZONE_dn -->\r\n\t\t\t\t</tr>\r\n\t\t\t</table>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t</table>\r\n<!-- FIN WORK -->\r\n\t\t</td>\r\n<!-- *********************************************************************FIN VENTRE********************************************************************************************************************************************** //-->\r\n\t\t<td rowspan=2 valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t\t<td colspan=2>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=100%>\r\n<!-- +ZONE_Bn -->\r\n<!-- + ZONE B0 -->\r\n<!-- - ZONE B0 -->\r\n<!-- + ZONE B1 -->\r\n<tr><!-- ********** DEBUT BLOC Home NosJournauxV4 //-->\r\n<td valign=top bgcolor=#FFFFFF>\r\n<img src=\"http://www.01net.com/img/ban/Ban_v4_jx.gif\"><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1>\r\n<a href=\"http://www.01net.com/rubrique/3339.html\"><img src=\"http://www.01net.com/img/journaux/01I-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/4051.html\"><img src=\"http://www.01net.com/img/journaux/DSI-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/3345.html\"><img src=\"http://www.01net.com/img/journaux/DIN-small.gif \ No newline at end of file
diff --git a/snappy-1.1.0/testdata/html_x_4 b/snappy-1.1.0/testdata/html_x_4
new file mode 100644
index 0000000..3fe87dc
--- /dev/null
+++ b/snappy-1.1.0/testdata/html_x_4
@@ -0,0 +1 @@
+ content: @ 1099872000000000: 'HTTP/1.1 200 OK\r\nX-Google-Crawl-Date: Mon, 08 Nov 2004 17:22:09 GMT\r\nContent-Type: text/html\r\nConnection: close\r\nX-Powered-By: PHP/4.3.8\r\nServer: Apache/1.3.31 (Unix) mod_gzip/1.3.19.1a PHP/4.3.8\r\nDate: Mon, 08 Nov 2004 17:19:07 GMT\r\n\r\n <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\r\n<BASE target=\"_top\">\r\n\n<TITLE>Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux</TITLE>\r\n<META NAME=\"Description\" CONTENT=\"Micro Achat : Ordinateurs, PDA\">\r\n<META NAME=\"Keywords\" CONTENT=\"Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/01net.css\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/tableau_autre.css\">\r\n<STYLE type=text/css>\r\nA{TEXT-DECORATION: none;color:#000000;}\r\nA:visited{TEXT-DECORATION: none;color:#000000;}\r\n</STYLE>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nvar sameAsBigDay = new Date();\r\nvar ord = (sameAsBigDay.getTime());\r\nvar pubsMotsCles = \"\";\r\nvar exc;\r\nvar lienhautdepage = \"\";\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\nsas_tmstp=Math.round(Math.random()*10000000000);\r\nfunction SmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target) {\r\n if ((sas_master!=\'M\')&&(sas_master!=\'S\')) {sas_master=\'S\'};\r\n document.write(\'<SCR\'+\'IPT SRC=\"http://www.smartadserver.com/call/pubj/\' + sas_pageid + \'/\' + sas_formatid + \'/\'+sas_master + \'/\' + sas_tmstp + \'/\' + escape(sas_target) + \'?\"></SCR\'+\'IPT>\');\r\n}\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\" SRC=\"http://www.01net.com/js/exc.js\"></SCRIPT>\r\n<script language=\"javascript\" src=\"http://telecharger.01net.com/shopping/js/headservicesV4.js\"></script>\r\n<noscript>\r\n<a href=\"http://cinema.01net.com\">T\351l\351charger des bandes-annonces, des teasers, des extraits et des making of de vos films cin\351ma pr\351f\351r\351s</a>,\r\n<a href=\"http://www.01net.com/BusinessTechnologies/\">Portail leader de l\'information sur les nouvelles technologies - Actualites et enquetes sur l\'informatique et les NTIC (nouvelles technologies de l\'information et la communication). Exemples de sujets : e-business, telecoms, CRM, VPN, 3G, DSL, fournisseurs d\'acces, Linux, piratage, securite informatique, progiciel...</a><br>\r\n<a href=\"http://www.01net.com/securite_informatique.html\">s\351curit\351 informatique</a>,\r\n<a href=\"http://www.01net.com/strategies_ntic.html\">strat\351gies NTIC</a>,\r\n<a href=\"http://www.01net.com/piratage_informatique.html\">piratage informatique</a>,\r\n<a href=\"http://www.01net.com/technologie_dsl.html\">technologie DSL</a>,\r\n<a href=\"http://www.01net.com/solutions_vpn.html\">solutions VPN</a>,\r\n<a href=\"http://www.01net.com/strategie_e-business.html\">strat\351gies</a>,\r\n<a href=\"http://www.01net.com/outils_crm.html\">outils CRM</a>,\r\n<a href=\"http://www.01net.com/logiciel_linux.html\">logiciel Linux</a>,\r\n<a href=\"http://www.01net.com/fournisseur_d_acces.html\">fournisseur d\'acc\350s</a>,\r\n<a href=\"http://www.01net.com/progiciel.html\">progiciel</a>,\r\n<a href=\"http://www.01net.com/stockage_de_donnees.html\">stockage de donn\351es</a>,\r\n<a href=\"http://www.01net.com/etudes_solution_informatique.html\">\351tudes solution informatique</a>,\r\n<a href=\"http://www.01net.com/NTIC.html\">NTIC</a>,\r\n<a href=\"http://www.01net.com/actualite_technologie.html\">actualit\351 technologie</a>,\r\n<a href=\"http://www.01net.com/etude_materiel_informatique.html\">\351tude mat\351riel informatique</a>,\r\n<a href=\"http://www.01net.com/actus/\">actualit\351s des nouvelles technologies</a>,\r\n<a href=\"http://www.01net.com/MicroPerso/\">enqu\352tes et trucs et astuces sur le mat\351riel informatique, les logiciels, les fournisseurs d\'acc\350s...</a>,\r\n<a href=\"http://www.01net.com/emploi/\">emploi et formations informatiques : offres d\'emploi informatique...</a>,\r\n<a href=\"http://www.01net.com/produits/\">fiches, tests mat\351riels et logiciels en informatique</a>,\r\n<a href=\"http://www.01net.com/01informatique\">01 Informatique</a>,\r\n<a href=\"http://www.caractere.net\">Caract\350re, le site des professionnels de l\'imprim\351 - communication imprim\351e, \351dition, emballage, encres, finition, flexographie, h\351liogravure, impression, imprimerie, imprimeur, industries graphiques, num\351rique, offset, papier, pr\351presse, presse, print, reprographie, s\351rigraphie, typographie</a>,\r\n<a href=\"http://www.01net.com/decisionmicro\">Decision Micro</a>,\r\n<a href=\"http://www.01net.com/decisioninformatique\">D\351cision Informatique</a>,\r\n<a href=\"http://www.01net.com/01reseaux\">01 R\351seaux</a>,\r\n<a href=\"http://logiciel.telecharger.01net.com/\">logiciel</a>,\r\n<a href=\"http://developpeur.telecharger.01net.com/windows/Programmation/\">d\351veloppeur programmation</a>,\r\n<a href=\"http://anti-virus.telecharger.01net.com\">anti-virus</a>,\r\n<a href=\"http://gravure-cd-dvd.telecharger.01net.com/windows/Utilitaire/gravure/\">gravure cd dvd</a>,\r\n<a href=\"http://codec.telecharger.01net.com/windows/Multimedia/encodeurs_et_decodeurs/\">codec encodeur d\351codeur</a>,\r\n<a href=\"http://software.telecharger.01net.com/\">software</a>,\r\n<a href=\"http://logiciels.telecharger.01net.com/\">logiciels</a>,\r\n<a href=\"http://gratuit.telecharger.01net.com/\">gratuit</a>,\r\n<a href=\"http://p2p.telecharger.01net.com/windows/Internet/partage/\">p2p peer to peer partage de fichiers</a>,\r\n<a href=\"http://securite.telecharger.01net.com/windows/Utilitaire/cryptage_et_securite/\">s\351curit\351</a>,\r\n<a href=\"http://compression-decompression.telecharger.01net.com/windows/Utilitaire/compression_et_decompression/\">compression et d\351compression</a>,\r\n<a href=\"http://divx.telecharger.01net.com/\">divx</a>,\r\n<a href=\"http://utilitaire.telecharger.01net.com/windows/Utilitaire/\">utilitaire</a>,\r\n<a href=\"http://jeux.telecharger.01net.com/windows/Jeux/\">jeux</a>,\r\n<a href=\"http://loisirs.telecharger.01net.com/windows/Loisirs/\">loisirs</a>,\r\n<a href=\"http://mac.telecharger.01net.com/mac/\">mac</a>,\r\n<a href=\"http://linux.telecharger.01net.com/linux/\">linux</a>,\r\n<a href=\"http://shareware.telecharger.01net.com/\">shareware</a>,\r\n<a href=\"http://video-dvd.telecharger.01net.com/windows/Multimedia/lecteurs_video_dvd/\">vid\351o dvd</a>,\r\n<a href=\"http://multimedia.telecharger.01net.com/\">multim\351dia</a>,\r\n<a href=\"http://traduction.telecharger.01net.com/windows/Bureautique/traducteur/\">traduction</a>,\r\n<a href=\"http://mp3.telecharger.01net.com/windows/Multimedia/lecteurs_audio_mp3_cd/\">mp3</a>,\r\n<a href=\"http://tchat.telecharger.01net.com/windows/Internet/communication/\">tchat</a>\r\n<a href=\"http://chat.telecharger.01net.com/windows/Internet/communication/\">chat</a>,\r\n<a href=\"http://musique.telecharger.01net.com/\">musique</a>,\r\n<a href=\"http://mobile.telecharger.01net.com/mobile/\">mobile</a>,\r\n<a href=\"http://telephone_portable.telecharger.01net.com/mobile/\">t\351l\351phone portable</a>,\r\n<a href=\"http://telephone_mobile.telecharger.01net.com/mobile/\">t\351l\351phone mobile</a>\r\n</noscript>\r\n</head>\r\n</head>\r\n<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#000000\" marginwidth=0 marginheight=0 topmargin=0 leftmargin=0>\r\n<!-- + ZONE TETE -->\r\n<!-- ********** DEBUT MODELE INTERNE TETES MHA-tetev4 //-->\r\n<table width=100% height=66 cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td height=8 colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=8></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td valign=bottom><a href=\"http://microachat.01net.com\"><img src=\"http://www.01net.com/img/v4/logos_tete/tet_gauche-mha.gif\" border=0></a></td>\r\n\t\t<td valign=bottom bgcolor=#FFFFFF bbackground=\"http://www.01net.com/img/v4/tet_droite.gif\" width=100% style=\"background-image:url(/img/v4/tet_droite-mha.gif);background-position:bottom;background-repeat:repeat-x\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=66 align=left hspace=0 vspace=0></td>\r\n\t</tr>\r\n</table>\r\n<table width=100% cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td valign=top background=\"http://www.01net.com/img/v4/fond_date-mha.gif\" height=18 width=500><img src=\"http://www.01net.com/img/dot.gif\" width=500 height=1><br><img src=\"http://www.01net.com/img/dot.gif\" width=19 height=1><font face=\"Arial\" size=1 color=#666666 style=\"font-size: 11px;\"><b>Derni\350re mise \340 jour de cette page : lundi 8 novembre 2004&nbsp;&nbsp;|&nbsp;&nbsp;16:45</b></font></td>\r\n\t\t<td width=100% background=\"http://www.01net.com/img/v4/fond_date2-mha.gif\" height=18></td>\r\n\t</tr>\r\n</table>\r\n<!-- ********** FIN MODELE INTERNE TETES MHA-tetev4 //--> <!-- - ZONE TETE -->\r\n<!-- ***************************************************************************************************************************************************************************************************************************** //-->\r\n<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n<!-- DEBUT PARTIE PUB //-->\r\n\t<tr>\r\n<td align=center valign=middle colspan=2 background=\"http://www.01net.com/img/v4/fond_bann.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br>\r\n<!-- + ZONE Z0 -->\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\">\r\nvar fa = \"\";\r\nvar fab = document.URL.toString();\r\nif (fab.indexOf(\"?fa\") != -1 || fab.indexOf(\"&fa\") != -1)\r\n{\r\nfa = \";!category=fai\";\r\n}\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nsas_pageid=\'167/3872\';\r\nsas_formatid=95;\t\t\t// Format : Banner/Scope 468x60\r\nsas_master=\'M\';\t\t\t// Master : M=master or S=slave\r\nsas_target=exc + \'rubrique\';\t\t\t// Targeting\r\nSmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target);\r\n</SCRIPT>\r\n <!-- - ZONE Z0 --></td>\r\n\t\t<td valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\" ><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n<td valign=top width=100% bgcolor=\"ffffff\" rowspan=3><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=125><br>\r\n<!-- +ZONE_Dn -->\r\n<!-- + ZONE D0 -->\r\n<!-- DEBUT MA_ColD -->\r\n<div style=\"background-color : #ffffff; width : 150px; padding-left : 5px; padding-right : 5px; font-family : Arial, Helvetica;\">\n\t\t\t\t\t<table style=\"border-spacing : 0; width : 146px; margin-top : 0px;\" cellspacing=\"0\">\n\t\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-produitsrecherches.gif\" alt=\"\" /></th></tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Imagerie&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/12537-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/imagerie/moniteurs-lcd/l1720b/\">LG L1720B</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">332.89 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4043-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/veriton-7600g/\">Acer Veriton 7600G</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">705 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1903-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sn95g5/\">Shuttle SN95G5</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">375 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1259-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/cartes-meres/a7n8x-e-deluxe/\">Asus A7N8X-E Deluxe</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">91.99 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4687-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/ventilateur/sp-94/\">Thermalright SP-94</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">49 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr></table>\n\t\t\t\t<table style=\"border-spacing : 0px 1px; width : 146px; margin-top : 15px;\" cellspacing=\"0\">\n\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-revendeurmisajour.gif\" alt=\"\" /></th></tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">1 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Rhone-Alpes/Ain/pc-look\" style=\"color : #000000; text-decoration : none;\">PC Look</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">2 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Nord-Pas-de-Calais/Pas-de-Calais/atelier-informatique\" style=\"color : #000000; text-decoration : none;\">Atelier Informatique</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">3 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Val-de-Marne/zanax-multimedia\" style=\"color : #000000; text-decoration : none;\">Zanax Multim\351dia</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">4 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Hauts-de-Seine/misteroops\" style=\"color : #000000; text-decoration : none;\">MISTEROOPS</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">5 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/168-golden-avenue\" style=\"color : #000000; text-decoration : none;\">168 Golden Avenue</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">6 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-Saint-Denis/microchoix\" style=\"color : #000000; text-decoration : none;\">microchoix</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">7 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/e-soph\" style=\"color : #000000; text-decoration : none;\">e-Soph</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">8 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/13/pc-price-club\" style=\"color : #000000; text-decoration : none;\">PC Price Club</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">9 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-et-Marne/pc-77\" style=\"color : #000000; text-decoration : none;\">PC 77</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">10 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Alsace/Bas-Rhin/web-in-informatique\" style=\"color : #000000; text-decoration : none;\">Web In Informatique</a></td>\n\t\t\t\t</tr></table>\n\t\t\t\t</div>\n\t\t\t\t<br>\r\n<!-- FIN MA_ColD --> <!-- - ZONE D0 -->\r\n<!-- + ZONE D1 -->\r\n<!-- - ZONE D1 -->\r\n<!-- + ZONE D2 -->\r\n<!-- - ZONE D2 -->\r\n<!-- -ZONE_Dn -->\r\n</td>\r\n\t</tr>\r\n<!-- FIN PARTIE PUB //-->\r\n\t<tr>\r\n\t\t<td valign=top width=193 height=100% background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n\t\t<!-- contenu colonne de gauche //-->\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0 background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<!-- +ZONE_Gn -->\r\n<!-- + ZONE G0 -->\r\n<tr><!-- ********** DEBUT MHA_MenusChainesV4 //-->\r\n<td valign=top>\n<table border=0 cellpadding=0 cellspacing=0 width=193 bgcolor=#FFFFFF>\n<tr>\n<td background=\"/img/v4/menus/motifgauche_menus.gif\" width=20 rowspan=2><img src=\"/img/dot.gif\" width=20 height=20></td>\n<td width=173 colspan=2 bgcolor=#FFFFFF><img src=\"/img/dot.gif\" width=173 height=20></td>\n</tr>\n<tr>\n<td valign=top width=159>\n\n<a href=\"http://www.01net.com\"><img src=\"/img/v4/menus/mha/home01net-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com\"><img src=\"/img/v4/menus/mha/home-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4317.html\"><img src=\"/img/v4/menus/mha/ordinateurs-2.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4318.html\"><img src=\"/img/v4/menus/mha/composants-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4319.html\"><img src=\"/img/v4/menus/mha/stockage-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4320.html\"><img src=\"/img/v4/menus/mha/image-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4321.html\"><img src=\"/img/v4/menus/mha/peripheriques-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4322.html\"><img src=\"/img/v4/menus/mha/reseaux-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4323.html\"><img src=\"/img/v4/menus/mha/accessoires-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/guide-produits/\"><img src=\"/img/v4/menus/mha/comparateur-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/annuaire/\"><img src=\"/img/v4/menus/mha/annuaire-1.gif\" width=159 border=0></a><br></td>\n<td width=14><img src=\"/img/dot.gif\" width=14 height=14></td>\n</tr>\n<tr>\n<td colspan=3><img src=\"/img/v4/menus/bas_menus.gif\" width=193 height=31></td>\n</tr>\n</table></td><!-- ********** FIN MHA_MenusChainesV4 //--> </tr><!-- - ZONE G0 -->\r\n<!-- + ZONE G1 -->\r\n<tr><!-- DEBUT MODELE RUBRIQUE V4ColGaucheMHA //-->\r\n<!-- ********** DEBUT BLOC DernieresNewsTC //-->\r\n<td valign=top>\r\n<!-- DEBUT RECHERCHE MHA -->\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top background=\"http://microachat.01net.com/img/v4/fond_rech_mha.gif\" height=98 style=\"background-repeat:no-repeat;\"><form method=\"get\" name=\"chercher\" action=\"http://www.01net.com/aiguillage_recherche/1,6138,,00.html\"><img src=\"http://microachat.01net.com/img/dot.gif\" width=193 height=17><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"text\" name=\"fullText\" style=\"width:130px;font:12px;\"><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=6><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><select name=\"sousArbo\" style=\"width:130px;font:12px;\">\r\n\t\t\t<option value=\"mha\">dans Micro Achat\r\n\t\t\t<option value=\"cmp\">les prix\r\n\t\t\t<option value=\"ann\">les revendeurs\r\n\t\t\t<option value=\"2641\">tout 01net.\r\n\t\t\t<option value=\"emploi\">les offres d\'emploi\r\n\t\t\t<option value=\"telecharger\"> telecharger.com\r\n\t\t\t<option value=\"web\">le web\r\n\t\t\t</select><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://microachat.01net.com/img/v4/ok_bloc_recher_mha.gif\" border=\"0\"></form>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10 vspace=0>\r\n<!-- FIN RECHERCHE MHA -->\r\n <!-- modele TCFilColgTitV4 //-->\r\n <table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/ban/Ban_v4_DernieresNews01net.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/256059.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">CD et DVD bient\364t insensibles aux rayures<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255796.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">OpenOffice gagne son service<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255731.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">La messagerie en cinq minutes selon Ipswitch<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top colspan=2><A HREF=\"http://www.01net.com/actus/\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\">> toutes les news<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/crochet_bleuhaut_155.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20> <!-- ********** FIN BLOC DernieresNewsTC //-->\r\n<!-- ********** DEBUT BLOC NL_MHA //-->\r\n<SCRIPT language=\"javascript\" src=\"http://www.01net.com/js/lib.js\"></SCRIPT>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"formgen\" method=\"get\" action=\"http://microachat.01net.com/outils/newsletter_MicroAchat.html\" onSubmit=\"return validateForm(this)\">\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/ban/Ban_V4_Newslett.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=153>\r\n\t\t<table width=153 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefinefd_ffffff.gif\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Recevez chaque jour l\'actualit\351 des produits et des promos<br></font>\r\n\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"email\" size=\"14\" style=\"width:130px;font:12px;\" value=\"entrez votre e-mail\" onFocus=\"javascript:document.formgen.email.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://www.01net.com/img/v4/ok_bloc_recher.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/v4/base_newsletters.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n<SCRIPT language=\"Javascript\">\r\ndocument.formgen.email.validator= \'notNullEmailPat\';\r\ndocument.formgen.email.nomvalidator= \'E-mail\';\r\n</SCRIPT>\r\n<!-- ********** FIN BLOC NL_MHA //-->\r\n</td>\r\n</tr>\r\n<tr>\r\n<!-- ********** DEBUT BLOC Actus ActusUneV4 //-->\r\n<td valign=top background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/ban/Ban_v4_LaUne.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/entreprise/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Entreprise</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://www.01net.com/article/255737.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Quand le billet papier s\'envole vers la d\351mat\351rialisation</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255737.html\"><img src=\"http://www.01net.com/img/MEA_v4/billet_virtuel-65.jpg\" border=0></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/pratique/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Trucs et astuces</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255698.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">D\351pannez Windows XP</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255698.html\"><img src=\"http://www.01net.com/img/MEA_v4/depannez_XP-65.jpg\" border=0 ></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t</tr>\r\n\t\t <tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/conso/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Conso</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255524.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Vos photos sur papier imprimante ou labo ?<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t<!-- exemple de lien avec pseudorub pour produits et tests -->\r\n\t\t<!-- <a href=\"/outils/PseudoRub.php?base=test-comp&rub=1730&pseudo=test-comp20041005\"> -->\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/produits/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Produits &amp; Tests</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255782.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">5 programmes d\222encodage vid\351o gratuits<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n</td>\r\n<!-- ********** FIN BLOC Actus ActusUneV4 //--> </tr>\r\n<tr>\r\n<td>\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top><a href=\"mailto:s.cohen@micro-achat.fr\"><img border=0 src=\"http://www.01net.com/img/v4/espace-revendeurs.gif\"></td>\r\n\t</tr>\r\n</table>\r\n<br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20></td>\r\n<!-- FIN MODELE RUBRIQUE V4ColGaucheMHA //--> </tr><!-- - ZONE G1 -->\r\n<!-- + ZONE G2 -->\r\n<!-- - ZONE G2 -->\r\n<!-- + ZONE G3 -->\r\n<!-- - ZONE G3 -->\r\n<!-- + ZONE G4 -->\r\n<!-- - ZONE G4 -->\r\n<!-- + ZONE G5 -->\r\n<!-- - ZONE G5 -->\r\n<!-- + ZONE G6 -->\r\n<!-- - ZONE G6 -->\r\n<!-- + ZONE G7 -->\r\n<!-- - ZONE G7 -->\r\n<!-- + ZONE G8 -->\r\n<!-- - ZONE G8 -->\r\n<!-- + ZONE G9 -->\r\n<!-- - ZONE G9 -->\r\n<!-- + ZONE GA -->\r\n<!-- - ZONE GA -->\r\n<!-- + ZONE GB -->\r\n<!-- - ZONE GB -->\r\n<!-- + ZONE GC -->\r\n<!-- - ZONE GC -->\r\n<!-- + ZONE GD -->\r\n<!-- - ZONE GD -->\r\n<!-- + ZONE GE -->\r\n<!-- - ZONE GE -->\r\n<!-- + ZONE GF -->\r\n<!-- - ZONE GF -->\r\n<!-- -ZONE_Gn -->\r\n\t\t</table>\r\n\t\t<!-- fin contenu colonne de gauche //-->\r\n\t\t</td>\r\n<!-- ***************************************************************** DEBUT VENTRE*********************************************************************************************************************************************** //-->\r\n<!-- DEBUT WORK -->\r\n\t\t<td valign=top width=625 bgcolor=#ffffff><img src=\"http://www.01net.com/img/dot.gif\" width=625 height=1><br>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_hn -->\r\n<!-- + ZONE h0 -->\r\n<!-- MA_ban_int -->\r\n<td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=\"18\"><br>\r\n<!-- pour ordipda -->\r\n<table width=\"625\" cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"/img/v4/MA/Ban_MA_ordis.gif\"></td>\r\n\t</tr>\r\n</table>\r\n\t</td>\r\n<!-- /MA_ban_int --> <!-- - ZONE h0 -->\r\n<!-- + ZONE h1 -->\r\n<!-- - ZONE h1 -->\r\n<!-- + ZONE h2 -->\r\n<!-- - ZONE h2 -->\r\n<!-- -ZONE_hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Hn -->\r\n<!-- + ZONE H0 -->\r\n<!-- Ma_int_Leader -->\r\n <td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=320>\r\n<tr>\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Un nouvel ultra portable r\351alis\351 par Nec</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67509.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Le Versa S940 a un format r\351duit, mais ses performances sont \340 la hauteur.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1663&#160;\200</font>\r\n</td>\r\n<td width=17 background=\"/img/v4/MA/v4-fond-sep-mea-leader.gif\"><img src=\"/img/dot.gif\" width=17 height=1></td>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Asus pr\351sente trois petits nouveaux dans la gamme A3N</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67168.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Ces trois portables Centrino int\350grent, entre autres, une webcam et un contr\364leur Wi-Fi.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1346&#160;\200</font>\r\n</td>\r\n<td width=15><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t\t</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_int_Leader --> <!-- - ZONE H0 -->\r\n<!-- + ZONE H1 -->\r\n<!-- - ZONE H1 -->\r\n<!-- + ZONE H2 -->\r\n<!-- MA_BP_MP -->\r\n<td valign=\"top\" width=\"100%\">\r\n\t<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n\t<tr>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_BonPlan -->\r\n<td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=1 cellspacing=0 width=145 bgcolor=#CC0000>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">BON PLAN</a></font></td>\r\n</tr>\r\n<tr>\r\n<td width=145>\r\n<div style=\"padding:5px;padding-left:5px;padding-fight:5px;margin:0px;margin-left:1px;margin-right:1px;background-color:#FFFFFF;\">\r\n<img src=\"/img/microachat/logo_shuttle_SB83G5.gif\" border=0><br>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:12px;\">Les derni\350res technologies INTEL dans un nouveau design pour ce shuttle haut de gamme, pour un prix abordable.<br></font>\r\n<center><a href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sb83g5/?fabriquant=1&page=1&tri=titre\"><img src=\"/img/microachat/mea_shuttle_SB83G5.gif\" border=0 vspace=5></a><br></center>\r\n<center>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:13px;\"><b>\340 partir de</b><br>\r\n<div style=\"border:solid 2px #CC0000;width:100px;background-color:#FFCC00;\"><b>415 \200</b></div>\r\n</center>\r\n</div>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">publicit\351</a></font></td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_BonPlan --> \t</td>\r\n\t<td width=\"15\"><img src=\"/img/dot.gif\" width=\"15\"></td>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_MeillPrixAct //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=145 height=1><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=18><br>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"prix\" action=\"http://www.micro-achat.01net.com/guide-produits/recherche.php\" method=\"post\">\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/ban/Ban_v4_MeillPrix_MA.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=143>\r\n\t\t<table width=143 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=6><img src=\"http://www.01net.com/img/dot.gif\" width=6 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"http://www.01net.com/img/ban/Ban_MA_trouv_ordi.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Desktops</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/portables/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Portables</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Mini-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/pda---tablets-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Pda / Tablets-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/apple/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Apple</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/gps/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">GPS</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20><br>\r\n\t\t\t\t\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"width:130px;font:12px;\" value=\" recherche directe\" onFocus=\"javascript:document.prix.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/v4/MA/base_meillPrix.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_MeillPrixAct //--> \t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n<!-- /MA_BP_MP --> <!-- - ZONE H2 -->\r\n<!-- -ZONE_Hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Tn -->\r\n<!-- + ZONE T0 -->\r\n <td valign=\"top\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n<tr>\r\n<td width=305><img src=\"http://www.01net.com/img/ban/Ban_v4_DernNews_MA.gif\"><br><img src=\"http://www.01net.com/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n</tr>\r\n<tr>\r\n<td bgcolor=\"#FEF9E0\">\r\n\t<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255149.html\" style=\"color:#000000;text-decoration:none;\">Toshiba consacre deux gammes de machines au multim\351dia</a></b><br>\r\n\t<font color=\"#000000\">Equipement haut de gamme et Windows Media Center sont au menu de ces portables \340 vocation multim\351dia.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Ordinateur&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254686.html\" style=\"color:#000000;text-decoration:none;\">Arriv\351e d\'un Power Mac G5 d\'entr\351e de gamme</a></b><br>\r\n\t<font color=\"#000000\">La firme \340 la pomme propose une station de travail \351volutive et relativement abordable.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>PC&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254549.html\" style=\"color:#000000;text-decoration:none;\">Alienware propose deux machines au look \351trange</a></b><br>\r\n\t<font color=\"#000000\">Aurora et Area 51 sont deux gammes d\'ordinateurs enti\350rement configurables.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254501.html\" style=\"color:#000000;text-decoration:none;\">Trois nouveaux iBook G4 chez Apple</a></b><br>\r\n\t<font color=\"#000000\">Chez Apple, les portables gagnent en vitesse et communiquent sans fil en standard.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t\t<tr>\r\n\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td align=\"right\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4365.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les news</font></a>\r\n\t\t\t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n</td> <!-- - ZONE T0 -->\r\n<!-- + ZONE T1 -->\r\n<!-- Ma_derpromo -->\r\n <td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=13><br>\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td bgcolor=\"#ffffff\"><img src=\"/img/v4/MA/v4-lespromos-mha.gif\"><br><img src=\"/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n</tr>\r\n</table>\r\n<!-- DEBUT MODELE D\'AFFICHAGE POUR LES n PREMIERS ARTICLES //-->\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255806.html\" class=\"nodeco\"><img src=\"/images/67462.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255806.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Asus A3N15-C Pro</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable autonome et puissant gr\342ce \340 la technologie Intel Centrino.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1170&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255688.html\" class=\"nodeco\"><img src=\"/images/67381.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255688.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Soltek EQ3702A Miroir</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Ce mini PC est une solution int\351ressante pour les utilisateurs poss\351dant d\351j\340 un \351cran.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>559&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255513.html\" class=\"nodeco\"><img src=\"/images/67319.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255513.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>IBM ThinkPad R51</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable complet et pourtant relativement l\351ger.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1299&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n</tr>\r\n<tr>\r\n<td background=\"/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"/img/dot.gif\" height=1></td>\r\n</tr>\r\n<tr>\r\n<td align=\"right\" valign=\"top\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4366.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les promos</font></a>\r\n\t\t</td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_derpromo --> <!-- - ZONE T1 -->\r\n<!-- + ZONE T2 -->\r\n<!-- - ZONE T2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE T3 -->\r\n<!-- DEBUT MicroAchat MA_PubG -->\r\n<td valign=top align=center>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45590/[timestamp]?\" target=_blank><img src=\"/img/microachat/Bandeau_FX6021.jpg\" border=0></a></td>\r\n\t\t<td><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubG --> <!-- - ZONE T3 -->\r\n<!-- + ZONE T4 -->\r\n<!-- DEBUT MicroAchat MA_PubD -->\r\n<td valign=top align=center>\r\n<table border=0 width=305 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45591/[timestamp]?\" target=_blank><img src=\"/img/microachat/twc_305x125.jpg\" border=0></a></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubD --> <!-- - ZONE T4 -->\r\n<!-- + ZONE T5 -->\r\n<!-- - ZONE T5 -->\r\n<!-- -ZONE_Tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n<!-- +ZONE_gn -->\r\n<!-- + ZONE g0 -->\r\n<!-- - ZONE g0 -->\r\n<!-- + ZONE g1 -->\r\n<!-- - ZONE g1 -->\r\n<!-- + ZONE g2 -->\r\n<!-- - ZONE g2 -->\r\n<!-- + ZONE g3 -->\r\n<!-- - ZONE g3 -->\r\n<!-- + ZONE g4 -->\r\n<!-- - ZONE g4 -->\r\n<!-- + ZONE g5 -->\r\n<!-- - ZONE g5 -->\r\n<!-- + ZONE g6 -->\r\n<!-- - ZONE g6 -->\r\n<!-- + ZONE g7 -->\r\n<!-- - ZONE g7 -->\r\n<!-- + ZONE g8 -->\r\n<!-- - ZONE g8 -->\r\n<!-- + ZONE g9 -->\r\n<!-- - ZONE g9 -->\r\n<!-- -ZONE_gn -->\r\n\t\t\t</table>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t\t\t<tr>\r\n<!-- +ZONE_Mn -->\r\n<!-- + ZONE M0 -->\r\n<!-- modele Ma_GuideAch //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_GuideAchat_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<center>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67088.jpg.res_121-111.jpg\" border=0 hspace=0 vspace=0></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n</center>\r\n<div style=\"padding:5px;\">\r\n<a href=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\"><b>Les graveurs de DVD</b><br></font></a>\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Quel graveur choisir&#160;? Quel type de format&#160;? Quelle vitesse&#160;? Double couche ou simple couche&#160;? Voici tout ce qu\'il faut savoir pour faire le bon choix.</font></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M0 -->\r\n<!-- + ZONE M1 -->\r\n<!-- modele Ma_DirectLab //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_DirectLab_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255744.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Kodak EasyShare Printer Dock Plus&#160;:</b>\r\n\t\t\t\t\t\tvos photos 10&#160;x&#160;15&#160;cm en 60&#160;secondes</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255780.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>3DMark05&#160;:</b>\r\n\t\t\t\t\t\tun labo 3D \340 domicile</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255691.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>DVDInfoPro 2.6</b>\r\n\t\t\t\t\t\treconna\356t CD et DVD</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255722.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Scaleo PA D3008, de Fujitsu-Siemens&#160;:</b>\r\n\t\t\t\t\t\tune impression d\'inachev\351</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255514.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Carbon 5&#160;Go&#160;: 2&#160;500&#160;chansons dans le creux de la main</font></a></div>\r\n\t\t\t</div></td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M1 -->\r\n<!-- + ZONE M2 -->\r\n<!-- DEBUT MicroAchat MA_AnnTelec -->\r\n<td valign=top>\r\n<script type=\"text/javascript\">\r\nfunction regionChange()\r\n{\r\ndocument.selection.departement.options.length=0;\r\nswitch(document.selection.region.value)\r\n\t{\r\n\t\tcase \"aucun\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Nord-Pas-de-Calais\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pas-de-Calais\", \"Pas-de-Calais\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nord\", \"Nord\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Haute-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure\", \"Eure\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Maritime\", \"Seine-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Basse-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Manche\", \"Manche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Calvados\", \"Calvados\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Orne\", \"Orne\");\r\n\t\tbreak;\r\n\t\tcase \"Picardie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Somme\", \"Somme\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Oise\", \"Oise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aisne\", \"Aisne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bretagne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Finistere\", \"Finistere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cotes-dArmor\", \"Cotes-dArmor\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Morbihan\", \"Morbihan\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ille-et-Vilaine\", \"Ille-et-Vilaine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Pays-de-Loire\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire-Atlantique\", \"Loire-Atlantique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vendee\", \"Vendee\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Maine-et-Loire\", \"Maine-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayenne\", \"Mayenne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Sarthe\", \"Sarthe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Centre\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure-et-Loir\", \"Eure-et-Loir\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loiret\", \"Loiret\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loir-et-Cher\", \"Loir-et-Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre-et-Loire\", \"Indre-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre\", \"Indre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cher\", \"Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Ile-de-France\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-dOise\", \"Val-dOise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yvelines\", \"Yvelines\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Essonne\", \"Essonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-et-Marne\", \"Seine-et-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hauts-de-Seine\", \"Hauts-de-Seine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Saint-Denis\", \"Seine-Saint-Denis\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-de-Marne\", \"Val-de-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Paris\", \"Paris\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Champagnes-Ardennes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardennes\", \"Ardennes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Marne\", \"Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aube\", \"Aube\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Marne\", \"Haute-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Lorraine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vosges\", \"Vosges\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meurthe-et-Moselle\", \"Meurthe-et-Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meuse\", \"Meuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Moselle\", \"Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Alsace\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bas-Rhin\", \"Bas-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haut-Rhin\", \"Haut-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Franche-Compte\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Jura\", \"Jura\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Doubs\", \"Doubs\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Saone\", \"Haute-Saone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Territoire-de-Belfort\", \"Territoire-de-Belfort\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bourgogne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yonne\", \"Yonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nievre\", \"Nievre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cote-dOr\", \"Cote-dOr\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Saone-et-Loire\", \"Saone-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Poitou-Charentes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Deux-Sevres\", \"Deux-Sevres\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente-Maritime\", \"Charente-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente\", \"Charente\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vienne\", \"Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Limousin\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Vienne\", \"Haute-Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Correze\", \"Correze\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Creuse\", \"Creuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Auvergne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Allier\", \"Allier\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Puy-de-Dome\", \"Puy-de-Dome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cantal\", \"Cantal\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Loire\", \"Haute-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Rhone-Alpes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire\", \"Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Rhone\", \"Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ain\", \"Ain\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardeche\", \"Ardeche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Drome\", \"Drome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Isere\", \"Isere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Savoie\", \"Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Savoie\", \"Haute-Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Aquitaine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gironde\", \"Gironde\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Landes\", \"Landes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Atlantiques\", \"Pyrenees-Atlantiques\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot-et-Garonne\", \"Lot-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Dordogne\", \"Dordogne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Midi-Pyrenees\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot\", \"Lot\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn-et-Garonne\", \"Tarn-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gers\", \"Gers\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Pyrenees\", \"Hautes-Pyrenees\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Garonne\", \"Haute-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ariege\", \"Ariege\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn\", \"Tarn\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aveyron\", \"Aveyron\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Languedoc-Roussillon\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Orientales\", \"Pyrenees-Orientales\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aude\", \"Aude\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Herault\", \"Herault\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gard\", \"Gard\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lozere\", \"Lozere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Provence-Alpes-Cote-dazur\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bouches-du-Rhone\", \"Bouches-du-Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vaucluse\", \"Vaucluse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-de-haute-Provence\", \"Alpes-de-haute-Provence\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Alpes\", \"Hautes-Alpes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Var\", \"Var\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-Maritimes\", \"Alpes-Maritimes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Corse\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Corse-du-Sud\", \"Corse-du-Sud\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Corse\", \"Haute-Corse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"DomTom\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guadeloupe\", \"Guadeloupe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guyane\", \"Guyane\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"La-Reunion\", \"La-Reunion\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Martinique\", \"Martinique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayotte\", \"Mayotte\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"St-Pierre-et-Miquelon\", \"St-Pierre-et-Miquelon\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t}\r\n}\r\nfunction deptChange()\r\n{\r\nif (document.selection.departement.value == \'Paris\')\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'inline\';\r\nelse\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'none\';\r\n}\r\n</script>\r\n<table width=305 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td valign=top>\r\n\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_AnnuaiRev_MA.gif\" vspace=1></td>\r\n\t\t\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><form action=\"http://micro-achat.01net.com/annuaire/recherche.php\" method=\"post\" name=\"selection\">\r\n\t\t\t\t<td bgcolor=#FFFFDD>\r\n\t\t\t\t<div style=\"border:solid 1px #FFCC00;width:100%\"><div style=\"padding:2px;\"><img src=\"http://www.01net.com/img/v4/MA/carte_revend.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Choisir une r\351gion</b><br></font>\r\n<select name=\"region\" onChange=\"regionChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n<option value=\"Nord-Pas-de-Calais\">Nord-Pas-de-Calais</option>\r\n<option value=\"Haute-Normandie\">Haute-Normandie</option>\r\n<option value=\"Basse-Normandie\">Basse-Normandie</option>\r\n<option value=\"Picardie\">Picardie</option>\r\n<option value=\"Bretagne\">Bretagne</option>\r\n<option value=\"Pays-de-Loire\">Pays-de-Loire</option>\r\n<option value=\"Centre\">Centre</option>\r\n<option value=\"Ile-de-France\">Ile-de-France</option>\r\n<option value=\"Champagnes-Ardennes\">Champagne ardennes</option>\r\n<option value=\"Lorraine\">Lorraine</option>\r\n<option value=\"Alsace\">Alsace</option>\r\n<option value=\"Franche-Compte\">Franche-Compte</option>\r\n<option value=\"Bourgogne\">Bourgogne</option>\r\n<option value=\"Poitou-Charentes\">Poitou-Charentes</option>\r\n<option value=\"Limousin\">Limousin</option>\r\n<option value=\"Auvergne\">Auvergne</option>\r\n<option value=\"Rhone-Alpes\">Rhone-Alpes</option>\r\n<option value=\"Aquitaine\">Aquitaine</option>\r\n<option value=\"Midi-Pyrenees\">Midi-Pyrenees</option>\r\n<option value=\"Languedoc-Roussillon\">Languedoc roussillon</option>\r\n<option value=\"Provence-Alpes-Cote-dazur\">PACA</option>\r\n<option value=\"Corse\">Corse</option>\r\n<option value=\"DomTom\">DomTom</option>\r\n</select>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un d\351partement</b><br></font>\r\n<select name=\"departement\" onChange=\"deptChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n</select>\r\n<div id=\"arrondissement\" style=\"display : none;\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un arrondissement</b><br></font>\r\n<select name=\"arrondissement\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"0\">-------------</option>\r\n<option value=\"1\">I</option>\r\n<option value=\"2\">II</option>\r\n<option value=\"3\">III</option>\r\n<option value=\"4\">IV</option>\r\n<option value=\"5\">V</option>\r\n<option value=\"6\">VI</option>\r\n<option value=\"7\">VII</option>\r\n<option value=\"8\">VIII</option>\r\n<option value=\"9\">IX</option>\r\n<option value=\"10\">X</option>\r\n<option value=\"11\">XI</option>\r\n<option value=\"12\">XII</option>\r\n<option value=\"13\">XIII</option>\r\n<option value=\"14\">XIV</option>\r\n<option value=\"15\">XV</option>\r\n<option value=\"16\">XVI</option>\r\n<option value=\"17\">XVII</option>\r\n<option value=\"18\">XVIII</option>\r\n<option value=\"19\">XIX</option>\r\n<option value=\"20\">XX</option>\r\n</select>\r\n</div>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche directe</b><br></font>\r\n\t\t\t\t<font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\"><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>rechercher une ville<br><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>et/ou une boutique<br></font>\r\n\t\t\t\t<input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;width:130px;\" value=\"\" onFocus=\"javascript:document.selection.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=3><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1>&nbsp;<input type=\"image\" src=\"http://www.01net.com/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\">\r\n\t\t\t\t<table height=23 width=135 cellspacing=0 cellpadding=0 border=0 bgcolor=#FFEE77>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td bgcolor=#FFEE77 valign=middle align=center><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://micro-achat.01net.com/annuaire/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche avanc\351e</b></font></a></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t</td>\r\n\t\t\t</tr></form>\r\n\t\t</table>\r\n\t\t</td>\r\n<!-- DEBUT MicroAchat MA_Telecharg //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/v4/MA/Ban_v4_MA_telec.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#DFECF6\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"></td>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Bureautique\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Bureautique</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Traducteur, organiseur...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Multimedia\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Multim\351dia</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Photo, audio, vid\351o...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Utilitaire\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Utilitaires</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Antivirus, pilotes, gravure...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Personnaliser\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Personnaliser son PC</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Ecrans de veille, th\350mes...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Programmation\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>D\351veloppement</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Cr\351ation de logiciels, BDD...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Jeux\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Jeux</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Action, simulation...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Internet\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Internet</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Utilitaires, email, FTP...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Loisirs\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Loisirs</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Humour, culture...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_Telecharg //--> \t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_AnnTelec --> <!-- - ZONE M2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE M3 -->\r\n<!-- - ZONE M3 -->\r\n<!-- + ZONE M4 -->\r\n<!-- - ZONE M4 -->\r\n<!-- + ZONE M5 -->\r\n<!-- - ZONE M5 -->\r\n<!-- -ZONE_Mn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_tn -->\r\n<!-- + ZONE t0 -->\r\n<!-- - ZONE t0 -->\r\n<!-- + ZONE t1 -->\r\n<!-- - ZONE t1 -->\r\n<!-- + ZONE t2 -->\r\n<!-- - ZONE t2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE t3 -->\r\n<!-- - ZONE t3 -->\r\n<!-- + ZONE t4 -->\r\n<!-- - ZONE t4 -->\r\n<!-- + ZONE t5 -->\r\n<!-- - ZONE t5 -->\r\n<!-- -ZONE_tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td valign=top>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_dn -->\r\n<!-- + ZONE d0 -->\r\n<!-- - ZONE d0 -->\r\n<!-- + ZONE d1 -->\r\n<!-- - ZONE d1 -->\r\n<!-- + ZONE d2 -->\r\n<!-- - ZONE d2 -->\r\n<!-- + ZONE d3 -->\r\n<!-- - ZONE d3 -->\r\n<!-- + ZONE d4 -->\r\n<!-- - ZONE d4 -->\r\n<!-- + ZONE d5 -->\r\n<!-- - ZONE d5 -->\r\n<!-- + ZONE d6 -->\r\n<!-- - ZONE d6 -->\r\n<!-- + ZONE d7 -->\r\n<!-- - ZONE d7 -->\r\n<!-- + ZONE d8 -->\r\n<!-- - ZONE d8 -->\r\n<!-- + ZONE d9 -->\r\n<!-- - ZONE d9 -->\r\n<!-- -ZONE_dn -->\r\n\t\t\t\t</tr>\r\n\t\t\t</table>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t</table>\r\n<!-- FIN WORK -->\r\n\t\t</td>\r\n<!-- *********************************************************************FIN VENTRE********************************************************************************************************************************************** //-->\r\n\t\t<td rowspan=2 valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t\t<td colspan=2>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=100%>\r\n<!-- +ZONE_Bn -->\r\n<!-- + ZONE B0 -->\r\n<!-- - ZONE B0 -->\r\n<!-- + ZONE B1 -->\r\n<tr><!-- ********** DEBUT BLOC Home NosJournauxV4 //-->\r\n<td valign=top bgcolor=#FFFFFF>\r\n<img src=\"http://www.01net.com/img/ban/Ban_v4_jx.gif\"><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1>\r\n<a href=\"http://www.01net.com/rubrique/3339.html\"><img src=\"http://www.01net.com/img/journaux/01I-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/4051.html\"><img src=\"http://www.01net.com/img/journaux/DSI-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/3345.html\"><img src=\"http://www.01net.com/img/journaux/DIN-small.gif content: @ 1099872000000000: 'HTTP/1.1 200 OK\r\nX-Google-Crawl-Date: Mon, 08 Nov 2004 17:22:09 GMT\r\nContent-Type: text/html\r\nConnection: close\r\nX-Powered-By: PHP/4.3.8\r\nServer: Apache/1.3.31 (Unix) mod_gzip/1.3.19.1a PHP/4.3.8\r\nDate: Mon, 08 Nov 2004 17:19:07 GMT\r\n\r\n <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\r\n<BASE target=\"_top\">\r\n\n<TITLE>Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux</TITLE>\r\n<META NAME=\"Description\" CONTENT=\"Micro Achat : Ordinateurs, PDA\">\r\n<META NAME=\"Keywords\" CONTENT=\"Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/01net.css\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/tableau_autre.css\">\r\n<STYLE type=text/css>\r\nA{TEXT-DECORATION: none;color:#000000;}\r\nA:visited{TEXT-DECORATION: none;color:#000000;}\r\n</STYLE>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nvar sameAsBigDay = new Date();\r\nvar ord = (sameAsBigDay.getTime());\r\nvar pubsMotsCles = \"\";\r\nvar exc;\r\nvar lienhautdepage = \"\";\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\nsas_tmstp=Math.round(Math.random()*10000000000);\r\nfunction SmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target) {\r\n if ((sas_master!=\'M\')&&(sas_master!=\'S\')) {sas_master=\'S\'};\r\n document.write(\'<SCR\'+\'IPT SRC=\"http://www.smartadserver.com/call/pubj/\' + sas_pageid + \'/\' + sas_formatid + \'/\'+sas_master + \'/\' + sas_tmstp + \'/\' + escape(sas_target) + \'?\"></SCR\'+\'IPT>\');\r\n}\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\" SRC=\"http://www.01net.com/js/exc.js\"></SCRIPT>\r\n<script language=\"javascript\" src=\"http://telecharger.01net.com/shopping/js/headservicesV4.js\"></script>\r\n<noscript>\r\n<a href=\"http://cinema.01net.com\">T\351l\351charger des bandes-annonces, des teasers, des extraits et des making of de vos films cin\351ma pr\351f\351r\351s</a>,\r\n<a href=\"http://www.01net.com/BusinessTechnologies/\">Portail leader de l\'information sur les nouvelles technologies - Actualites et enquetes sur l\'informatique et les NTIC (nouvelles technologies de l\'information et la communication). Exemples de sujets : e-business, telecoms, CRM, VPN, 3G, DSL, fournisseurs d\'acces, Linux, piratage, securite informatique, progiciel...</a><br>\r\n<a href=\"http://www.01net.com/securite_informatique.html\">s\351curit\351 informatique</a>,\r\n<a href=\"http://www.01net.com/strategies_ntic.html\">strat\351gies NTIC</a>,\r\n<a href=\"http://www.01net.com/piratage_informatique.html\">piratage informatique</a>,\r\n<a href=\"http://www.01net.com/technologie_dsl.html\">technologie DSL</a>,\r\n<a href=\"http://www.01net.com/solutions_vpn.html\">solutions VPN</a>,\r\n<a href=\"http://www.01net.com/strategie_e-business.html\">strat\351gies</a>,\r\n<a href=\"http://www.01net.com/outils_crm.html\">outils CRM</a>,\r\n<a href=\"http://www.01net.com/logiciel_linux.html\">logiciel Linux</a>,\r\n<a href=\"http://www.01net.com/fournisseur_d_acces.html\">fournisseur d\'acc\350s</a>,\r\n<a href=\"http://www.01net.com/progiciel.html\">progiciel</a>,\r\n<a href=\"http://www.01net.com/stockage_de_donnees.html\">stockage de donn\351es</a>,\r\n<a href=\"http://www.01net.com/etudes_solution_informatique.html\">\351tudes solution informatique</a>,\r\n<a href=\"http://www.01net.com/NTIC.html\">NTIC</a>,\r\n<a href=\"http://www.01net.com/actualite_technologie.html\">actualit\351 technologie</a>,\r\n<a href=\"http://www.01net.com/etude_materiel_informatique.html\">\351tude mat\351riel informatique</a>,\r\n<a href=\"http://www.01net.com/actus/\">actualit\351s des nouvelles technologies</a>,\r\n<a href=\"http://www.01net.com/MicroPerso/\">enqu\352tes et trucs et astuces sur le mat\351riel informatique, les logiciels, les fournisseurs d\'acc\350s...</a>,\r\n<a href=\"http://www.01net.com/emploi/\">emploi et formations informatiques : offres d\'emploi informatique...</a>,\r\n<a href=\"http://www.01net.com/produits/\">fiches, tests mat\351riels et logiciels en informatique</a>,\r\n<a href=\"http://www.01net.com/01informatique\">01 Informatique</a>,\r\n<a href=\"http://www.caractere.net\">Caract\350re, le site des professionnels de l\'imprim\351 - communication imprim\351e, \351dition, emballage, encres, finition, flexographie, h\351liogravure, impression, imprimerie, imprimeur, industries graphiques, num\351rique, offset, papier, pr\351presse, presse, print, reprographie, s\351rigraphie, typographie</a>,\r\n<a href=\"http://www.01net.com/decisionmicro\">Decision Micro</a>,\r\n<a href=\"http://www.01net.com/decisioninformatique\">D\351cision Informatique</a>,\r\n<a href=\"http://www.01net.com/01reseaux\">01 R\351seaux</a>,\r\n<a href=\"http://logiciel.telecharger.01net.com/\">logiciel</a>,\r\n<a href=\"http://developpeur.telecharger.01net.com/windows/Programmation/\">d\351veloppeur programmation</a>,\r\n<a href=\"http://anti-virus.telecharger.01net.com\">anti-virus</a>,\r\n<a href=\"http://gravure-cd-dvd.telecharger.01net.com/windows/Utilitaire/gravure/\">gravure cd dvd</a>,\r\n<a href=\"http://codec.telecharger.01net.com/windows/Multimedia/encodeurs_et_decodeurs/\">codec encodeur d\351codeur</a>,\r\n<a href=\"http://software.telecharger.01net.com/\">software</a>,\r\n<a href=\"http://logiciels.telecharger.01net.com/\">logiciels</a>,\r\n<a href=\"http://gratuit.telecharger.01net.com/\">gratuit</a>,\r\n<a href=\"http://p2p.telecharger.01net.com/windows/Internet/partage/\">p2p peer to peer partage de fichiers</a>,\r\n<a href=\"http://securite.telecharger.01net.com/windows/Utilitaire/cryptage_et_securite/\">s\351curit\351</a>,\r\n<a href=\"http://compression-decompression.telecharger.01net.com/windows/Utilitaire/compression_et_decompression/\">compression et d\351compression</a>,\r\n<a href=\"http://divx.telecharger.01net.com/\">divx</a>,\r\n<a href=\"http://utilitaire.telecharger.01net.com/windows/Utilitaire/\">utilitaire</a>,\r\n<a href=\"http://jeux.telecharger.01net.com/windows/Jeux/\">jeux</a>,\r\n<a href=\"http://loisirs.telecharger.01net.com/windows/Loisirs/\">loisirs</a>,\r\n<a href=\"http://mac.telecharger.01net.com/mac/\">mac</a>,\r\n<a href=\"http://linux.telecharger.01net.com/linux/\">linux</a>,\r\n<a href=\"http://shareware.telecharger.01net.com/\">shareware</a>,\r\n<a href=\"http://video-dvd.telecharger.01net.com/windows/Multimedia/lecteurs_video_dvd/\">vid\351o dvd</a>,\r\n<a href=\"http://multimedia.telecharger.01net.com/\">multim\351dia</a>,\r\n<a href=\"http://traduction.telecharger.01net.com/windows/Bureautique/traducteur/\">traduction</a>,\r\n<a href=\"http://mp3.telecharger.01net.com/windows/Multimedia/lecteurs_audio_mp3_cd/\">mp3</a>,\r\n<a href=\"http://tchat.telecharger.01net.com/windows/Internet/communication/\">tchat</a>\r\n<a href=\"http://chat.telecharger.01net.com/windows/Internet/communication/\">chat</a>,\r\n<a href=\"http://musique.telecharger.01net.com/\">musique</a>,\r\n<a href=\"http://mobile.telecharger.01net.com/mobile/\">mobile</a>,\r\n<a href=\"http://telephone_portable.telecharger.01net.com/mobile/\">t\351l\351phone portable</a>,\r\n<a href=\"http://telephone_mobile.telecharger.01net.com/mobile/\">t\351l\351phone mobile</a>\r\n</noscript>\r\n</head>\r\n</head>\r\n<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#000000\" marginwidth=0 marginheight=0 topmargin=0 leftmargin=0>\r\n<!-- + ZONE TETE -->\r\n<!-- ********** DEBUT MODELE INTERNE TETES MHA-tetev4 //-->\r\n<table width=100% height=66 cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td height=8 colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=8></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td valign=bottom><a href=\"http://microachat.01net.com\"><img src=\"http://www.01net.com/img/v4/logos_tete/tet_gauche-mha.gif\" border=0></a></td>\r\n\t\t<td valign=bottom bgcolor=#FFFFFF bbackground=\"http://www.01net.com/img/v4/tet_droite.gif\" width=100% style=\"background-image:url(/img/v4/tet_droite-mha.gif);background-position:bottom;background-repeat:repeat-x\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=66 align=left hspace=0 vspace=0></td>\r\n\t</tr>\r\n</table>\r\n<table width=100% cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td valign=top background=\"http://www.01net.com/img/v4/fond_date-mha.gif\" height=18 width=500><img src=\"http://www.01net.com/img/dot.gif\" width=500 height=1><br><img src=\"http://www.01net.com/img/dot.gif\" width=19 height=1><font face=\"Arial\" size=1 color=#666666 style=\"font-size: 11px;\"><b>Derni\350re mise \340 jour de cette page : lundi 8 novembre 2004&nbsp;&nbsp;|&nbsp;&nbsp;16:45</b></font></td>\r\n\t\t<td width=100% background=\"http://www.01net.com/img/v4/fond_date2-mha.gif\" height=18></td>\r\n\t</tr>\r\n</table>\r\n<!-- ********** FIN MODELE INTERNE TETES MHA-tetev4 //--> <!-- - ZONE TETE -->\r\n<!-- ***************************************************************************************************************************************************************************************************************************** //-->\r\n<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n<!-- DEBUT PARTIE PUB //-->\r\n\t<tr>\r\n<td align=center valign=middle colspan=2 background=\"http://www.01net.com/img/v4/fond_bann.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br>\r\n<!-- + ZONE Z0 -->\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\">\r\nvar fa = \"\";\r\nvar fab = document.URL.toString();\r\nif (fab.indexOf(\"?fa\") != -1 || fab.indexOf(\"&fa\") != -1)\r\n{\r\nfa = \";!category=fai\";\r\n}\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nsas_pageid=\'167/3872\';\r\nsas_formatid=95;\t\t\t// Format : Banner/Scope 468x60\r\nsas_master=\'M\';\t\t\t// Master : M=master or S=slave\r\nsas_target=exc + \'rubrique\';\t\t\t// Targeting\r\nSmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target);\r\n</SCRIPT>\r\n <!-- - ZONE Z0 --></td>\r\n\t\t<td valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\" ><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n<td valign=top width=100% bgcolor=\"ffffff\" rowspan=3><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=125><br>\r\n<!-- +ZONE_Dn -->\r\n<!-- + ZONE D0 -->\r\n<!-- DEBUT MA_ColD -->\r\n<div style=\"background-color : #ffffff; width : 150px; padding-left : 5px; padding-right : 5px; font-family : Arial, Helvetica;\">\n\t\t\t\t\t<table style=\"border-spacing : 0; width : 146px; margin-top : 0px;\" cellspacing=\"0\">\n\t\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-produitsrecherches.gif\" alt=\"\" /></th></tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Imagerie&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/12537-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/imagerie/moniteurs-lcd/l1720b/\">LG L1720B</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">332.89 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4043-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/veriton-7600g/\">Acer Veriton 7600G</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">705 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1903-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sn95g5/\">Shuttle SN95G5</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">375 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1259-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/cartes-meres/a7n8x-e-deluxe/\">Asus A7N8X-E Deluxe</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">91.99 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4687-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/ventilateur/sp-94/\">Thermalright SP-94</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">49 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr></table>\n\t\t\t\t<table style=\"border-spacing : 0px 1px; width : 146px; margin-top : 15px;\" cellspacing=\"0\">\n\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-revendeurmisajour.gif\" alt=\"\" /></th></tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">1 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Rhone-Alpes/Ain/pc-look\" style=\"color : #000000; text-decoration : none;\">PC Look</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">2 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Nord-Pas-de-Calais/Pas-de-Calais/atelier-informatique\" style=\"color : #000000; text-decoration : none;\">Atelier Informatique</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">3 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Val-de-Marne/zanax-multimedia\" style=\"color : #000000; text-decoration : none;\">Zanax Multim\351dia</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">4 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Hauts-de-Seine/misteroops\" style=\"color : #000000; text-decoration : none;\">MISTEROOPS</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">5 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/168-golden-avenue\" style=\"color : #000000; text-decoration : none;\">168 Golden Avenue</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">6 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-Saint-Denis/microchoix\" style=\"color : #000000; text-decoration : none;\">microchoix</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">7 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/e-soph\" style=\"color : #000000; text-decoration : none;\">e-Soph</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">8 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/13/pc-price-club\" style=\"color : #000000; text-decoration : none;\">PC Price Club</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">9 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-et-Marne/pc-77\" style=\"color : #000000; text-decoration : none;\">PC 77</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">10 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Alsace/Bas-Rhin/web-in-informatique\" style=\"color : #000000; text-decoration : none;\">Web In Informatique</a></td>\n\t\t\t\t</tr></table>\n\t\t\t\t</div>\n\t\t\t\t<br>\r\n<!-- FIN MA_ColD --> <!-- - ZONE D0 -->\r\n<!-- + ZONE D1 -->\r\n<!-- - ZONE D1 -->\r\n<!-- + ZONE D2 -->\r\n<!-- - ZONE D2 -->\r\n<!-- -ZONE_Dn -->\r\n</td>\r\n\t</tr>\r\n<!-- FIN PARTIE PUB //-->\r\n\t<tr>\r\n\t\t<td valign=top width=193 height=100% background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n\t\t<!-- contenu colonne de gauche //-->\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0 background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<!-- +ZONE_Gn -->\r\n<!-- + ZONE G0 -->\r\n<tr><!-- ********** DEBUT MHA_MenusChainesV4 //-->\r\n<td valign=top>\n<table border=0 cellpadding=0 cellspacing=0 width=193 bgcolor=#FFFFFF>\n<tr>\n<td background=\"/img/v4/menus/motifgauche_menus.gif\" width=20 rowspan=2><img src=\"/img/dot.gif\" width=20 height=20></td>\n<td width=173 colspan=2 bgcolor=#FFFFFF><img src=\"/img/dot.gif\" width=173 height=20></td>\n</tr>\n<tr>\n<td valign=top width=159>\n\n<a href=\"http://www.01net.com\"><img src=\"/img/v4/menus/mha/home01net-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com\"><img src=\"/img/v4/menus/mha/home-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4317.html\"><img src=\"/img/v4/menus/mha/ordinateurs-2.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4318.html\"><img src=\"/img/v4/menus/mha/composants-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4319.html\"><img src=\"/img/v4/menus/mha/stockage-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4320.html\"><img src=\"/img/v4/menus/mha/image-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4321.html\"><img src=\"/img/v4/menus/mha/peripheriques-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4322.html\"><img src=\"/img/v4/menus/mha/reseaux-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4323.html\"><img src=\"/img/v4/menus/mha/accessoires-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/guide-produits/\"><img src=\"/img/v4/menus/mha/comparateur-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/annuaire/\"><img src=\"/img/v4/menus/mha/annuaire-1.gif\" width=159 border=0></a><br></td>\n<td width=14><img src=\"/img/dot.gif\" width=14 height=14></td>\n</tr>\n<tr>\n<td colspan=3><img src=\"/img/v4/menus/bas_menus.gif\" width=193 height=31></td>\n</tr>\n</table></td><!-- ********** FIN MHA_MenusChainesV4 //--> </tr><!-- - ZONE G0 -->\r\n<!-- + ZONE G1 -->\r\n<tr><!-- DEBUT MODELE RUBRIQUE V4ColGaucheMHA //-->\r\n<!-- ********** DEBUT BLOC DernieresNewsTC //-->\r\n<td valign=top>\r\n<!-- DEBUT RECHERCHE MHA -->\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top background=\"http://microachat.01net.com/img/v4/fond_rech_mha.gif\" height=98 style=\"background-repeat:no-repeat;\"><form method=\"get\" name=\"chercher\" action=\"http://www.01net.com/aiguillage_recherche/1,6138,,00.html\"><img src=\"http://microachat.01net.com/img/dot.gif\" width=193 height=17><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"text\" name=\"fullText\" style=\"width:130px;font:12px;\"><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=6><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><select name=\"sousArbo\" style=\"width:130px;font:12px;\">\r\n\t\t\t<option value=\"mha\">dans Micro Achat\r\n\t\t\t<option value=\"cmp\">les prix\r\n\t\t\t<option value=\"ann\">les revendeurs\r\n\t\t\t<option value=\"2641\">tout 01net.\r\n\t\t\t<option value=\"emploi\">les offres d\'emploi\r\n\t\t\t<option value=\"telecharger\"> telecharger.com\r\n\t\t\t<option value=\"web\">le web\r\n\t\t\t</select><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://microachat.01net.com/img/v4/ok_bloc_recher_mha.gif\" border=\"0\"></form>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10 vspace=0>\r\n<!-- FIN RECHERCHE MHA -->\r\n <!-- modele TCFilColgTitV4 //-->\r\n <table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/ban/Ban_v4_DernieresNews01net.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/256059.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">CD et DVD bient\364t insensibles aux rayures<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255796.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">OpenOffice gagne son service<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255731.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">La messagerie en cinq minutes selon Ipswitch<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top colspan=2><A HREF=\"http://www.01net.com/actus/\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\">> toutes les news<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/crochet_bleuhaut_155.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20> <!-- ********** FIN BLOC DernieresNewsTC //-->\r\n<!-- ********** DEBUT BLOC NL_MHA //-->\r\n<SCRIPT language=\"javascript\" src=\"http://www.01net.com/js/lib.js\"></SCRIPT>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"formgen\" method=\"get\" action=\"http://microachat.01net.com/outils/newsletter_MicroAchat.html\" onSubmit=\"return validateForm(this)\">\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/ban/Ban_V4_Newslett.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=153>\r\n\t\t<table width=153 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefinefd_ffffff.gif\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Recevez chaque jour l\'actualit\351 des produits et des promos<br></font>\r\n\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"email\" size=\"14\" style=\"width:130px;font:12px;\" value=\"entrez votre e-mail\" onFocus=\"javascript:document.formgen.email.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://www.01net.com/img/v4/ok_bloc_recher.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/v4/base_newsletters.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n<SCRIPT language=\"Javascript\">\r\ndocument.formgen.email.validator= \'notNullEmailPat\';\r\ndocument.formgen.email.nomvalidator= \'E-mail\';\r\n</SCRIPT>\r\n<!-- ********** FIN BLOC NL_MHA //-->\r\n</td>\r\n</tr>\r\n<tr>\r\n<!-- ********** DEBUT BLOC Actus ActusUneV4 //-->\r\n<td valign=top background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/ban/Ban_v4_LaUne.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/entreprise/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Entreprise</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://www.01net.com/article/255737.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Quand le billet papier s\'envole vers la d\351mat\351rialisation</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255737.html\"><img src=\"http://www.01net.com/img/MEA_v4/billet_virtuel-65.jpg\" border=0></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/pratique/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Trucs et astuces</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255698.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">D\351pannez Windows XP</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255698.html\"><img src=\"http://www.01net.com/img/MEA_v4/depannez_XP-65.jpg\" border=0 ></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t</tr>\r\n\t\t <tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/conso/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Conso</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255524.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Vos photos sur papier imprimante ou labo ?<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t<!-- exemple de lien avec pseudorub pour produits et tests -->\r\n\t\t<!-- <a href=\"/outils/PseudoRub.php?base=test-comp&rub=1730&pseudo=test-comp20041005\"> -->\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/produits/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Produits &amp; Tests</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255782.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">5 programmes d\222encodage vid\351o gratuits<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n</td>\r\n<!-- ********** FIN BLOC Actus ActusUneV4 //--> </tr>\r\n<tr>\r\n<td>\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top><a href=\"mailto:s.cohen@micro-achat.fr\"><img border=0 src=\"http://www.01net.com/img/v4/espace-revendeurs.gif\"></td>\r\n\t</tr>\r\n</table>\r\n<br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20></td>\r\n<!-- FIN MODELE RUBRIQUE V4ColGaucheMHA //--> </tr><!-- - ZONE G1 -->\r\n<!-- + ZONE G2 -->\r\n<!-- - ZONE G2 -->\r\n<!-- + ZONE G3 -->\r\n<!-- - ZONE G3 -->\r\n<!-- + ZONE G4 -->\r\n<!-- - ZONE G4 -->\r\n<!-- + ZONE G5 -->\r\n<!-- - ZONE G5 -->\r\n<!-- + ZONE G6 -->\r\n<!-- - ZONE G6 -->\r\n<!-- + ZONE G7 -->\r\n<!-- - ZONE G7 -->\r\n<!-- + ZONE G8 -->\r\n<!-- - ZONE G8 -->\r\n<!-- + ZONE G9 -->\r\n<!-- - ZONE G9 -->\r\n<!-- + ZONE GA -->\r\n<!-- - ZONE GA -->\r\n<!-- + ZONE GB -->\r\n<!-- - ZONE GB -->\r\n<!-- + ZONE GC -->\r\n<!-- - ZONE GC -->\r\n<!-- + ZONE GD -->\r\n<!-- - ZONE GD -->\r\n<!-- + ZONE GE -->\r\n<!-- - ZONE GE -->\r\n<!-- + ZONE GF -->\r\n<!-- - ZONE GF -->\r\n<!-- -ZONE_Gn -->\r\n\t\t</table>\r\n\t\t<!-- fin contenu colonne de gauche //-->\r\n\t\t</td>\r\n<!-- ***************************************************************** DEBUT VENTRE*********************************************************************************************************************************************** //-->\r\n<!-- DEBUT WORK -->\r\n\t\t<td valign=top width=625 bgcolor=#ffffff><img src=\"http://www.01net.com/img/dot.gif\" width=625 height=1><br>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_hn -->\r\n<!-- + ZONE h0 -->\r\n<!-- MA_ban_int -->\r\n<td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=\"18\"><br>\r\n<!-- pour ordipda -->\r\n<table width=\"625\" cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"/img/v4/MA/Ban_MA_ordis.gif\"></td>\r\n\t</tr>\r\n</table>\r\n\t</td>\r\n<!-- /MA_ban_int --> <!-- - ZONE h0 -->\r\n<!-- + ZONE h1 -->\r\n<!-- - ZONE h1 -->\r\n<!-- + ZONE h2 -->\r\n<!-- - ZONE h2 -->\r\n<!-- -ZONE_hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Hn -->\r\n<!-- + ZONE H0 -->\r\n<!-- Ma_int_Leader -->\r\n <td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=320>\r\n<tr>\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Un nouvel ultra portable r\351alis\351 par Nec</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67509.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Le Versa S940 a un format r\351duit, mais ses performances sont \340 la hauteur.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1663&#160;\200</font>\r\n</td>\r\n<td width=17 background=\"/img/v4/MA/v4-fond-sep-mea-leader.gif\"><img src=\"/img/dot.gif\" width=17 height=1></td>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Asus pr\351sente trois petits nouveaux dans la gamme A3N</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67168.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Ces trois portables Centrino int\350grent, entre autres, une webcam et un contr\364leur Wi-Fi.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1346&#160;\200</font>\r\n</td>\r\n<td width=15><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t\t</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_int_Leader --> <!-- - ZONE H0 -->\r\n<!-- + ZONE H1 -->\r\n<!-- - ZONE H1 -->\r\n<!-- + ZONE H2 -->\r\n<!-- MA_BP_MP -->\r\n<td valign=\"top\" width=\"100%\">\r\n\t<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n\t<tr>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_BonPlan -->\r\n<td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=1 cellspacing=0 width=145 bgcolor=#CC0000>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">BON PLAN</a></font></td>\r\n</tr>\r\n<tr>\r\n<td width=145>\r\n<div style=\"padding:5px;padding-left:5px;padding-fight:5px;margin:0px;margin-left:1px;margin-right:1px;background-color:#FFFFFF;\">\r\n<img src=\"/img/microachat/logo_shuttle_SB83G5.gif\" border=0><br>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:12px;\">Les derni\350res technologies INTEL dans un nouveau design pour ce shuttle haut de gamme, pour un prix abordable.<br></font>\r\n<center><a href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sb83g5/?fabriquant=1&page=1&tri=titre\"><img src=\"/img/microachat/mea_shuttle_SB83G5.gif\" border=0 vspace=5></a><br></center>\r\n<center>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:13px;\"><b>\340 partir de</b><br>\r\n<div style=\"border:solid 2px #CC0000;width:100px;background-color:#FFCC00;\"><b>415 \200</b></div>\r\n</center>\r\n</div>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">publicit\351</a></font></td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_BonPlan --> \t</td>\r\n\t<td width=\"15\"><img src=\"/img/dot.gif\" width=\"15\"></td>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_MeillPrixAct //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=145 height=1><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=18><br>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"prix\" action=\"http://www.micro-achat.01net.com/guide-produits/recherche.php\" method=\"post\">\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/ban/Ban_v4_MeillPrix_MA.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=143>\r\n\t\t<table width=143 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=6><img src=\"http://www.01net.com/img/dot.gif\" width=6 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"http://www.01net.com/img/ban/Ban_MA_trouv_ordi.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Desktops</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/portables/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Portables</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Mini-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/pda---tablets-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Pda / Tablets-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/apple/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Apple</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/gps/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">GPS</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20><br>\r\n\t\t\t\t\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"width:130px;font:12px;\" value=\" recherche directe\" onFocus=\"javascript:document.prix.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/v4/MA/base_meillPrix.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_MeillPrixAct //--> \t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n<!-- /MA_BP_MP --> <!-- - ZONE H2 -->\r\n<!-- -ZONE_Hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Tn -->\r\n<!-- + ZONE T0 -->\r\n <td valign=\"top\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n<tr>\r\n<td width=305><img src=\"http://www.01net.com/img/ban/Ban_v4_DernNews_MA.gif\"><br><img src=\"http://www.01net.com/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n</tr>\r\n<tr>\r\n<td bgcolor=\"#FEF9E0\">\r\n\t<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255149.html\" style=\"color:#000000;text-decoration:none;\">Toshiba consacre deux gammes de machines au multim\351dia</a></b><br>\r\n\t<font color=\"#000000\">Equipement haut de gamme et Windows Media Center sont au menu de ces portables \340 vocation multim\351dia.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Ordinateur&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254686.html\" style=\"color:#000000;text-decoration:none;\">Arriv\351e d\'un Power Mac G5 d\'entr\351e de gamme</a></b><br>\r\n\t<font color=\"#000000\">La firme \340 la pomme propose une station de travail \351volutive et relativement abordable.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>PC&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254549.html\" style=\"color:#000000;text-decoration:none;\">Alienware propose deux machines au look \351trange</a></b><br>\r\n\t<font color=\"#000000\">Aurora et Area 51 sont deux gammes d\'ordinateurs enti\350rement configurables.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254501.html\" style=\"color:#000000;text-decoration:none;\">Trois nouveaux iBook G4 chez Apple</a></b><br>\r\n\t<font color=\"#000000\">Chez Apple, les portables gagnent en vitesse et communiquent sans fil en standard.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t\t<tr>\r\n\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td align=\"right\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4365.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les news</font></a>\r\n\t\t\t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n</td> <!-- - ZONE T0 -->\r\n<!-- + ZONE T1 -->\r\n<!-- Ma_derpromo -->\r\n <td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=13><br>\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td bgcolor=\"#ffffff\"><img src=\"/img/v4/MA/v4-lespromos-mha.gif\"><br><img src=\"/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n</tr>\r\n</table>\r\n<!-- DEBUT MODELE D\'AFFICHAGE POUR LES n PREMIERS ARTICLES //-->\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255806.html\" class=\"nodeco\"><img src=\"/images/67462.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255806.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Asus A3N15-C Pro</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable autonome et puissant gr\342ce \340 la technologie Intel Centrino.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1170&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255688.html\" class=\"nodeco\"><img src=\"/images/67381.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255688.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Soltek EQ3702A Miroir</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Ce mini PC est une solution int\351ressante pour les utilisateurs poss\351dant d\351j\340 un \351cran.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>559&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255513.html\" class=\"nodeco\"><img src=\"/images/67319.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255513.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>IBM ThinkPad R51</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable complet et pourtant relativement l\351ger.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1299&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n</tr>\r\n<tr>\r\n<td background=\"/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"/img/dot.gif\" height=1></td>\r\n</tr>\r\n<tr>\r\n<td align=\"right\" valign=\"top\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4366.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les promos</font></a>\r\n\t\t</td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_derpromo --> <!-- - ZONE T1 -->\r\n<!-- + ZONE T2 -->\r\n<!-- - ZONE T2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE T3 -->\r\n<!-- DEBUT MicroAchat MA_PubG -->\r\n<td valign=top align=center>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45590/[timestamp]?\" target=_blank><img src=\"/img/microachat/Bandeau_FX6021.jpg\" border=0></a></td>\r\n\t\t<td><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubG --> <!-- - ZONE T3 -->\r\n<!-- + ZONE T4 -->\r\n<!-- DEBUT MicroAchat MA_PubD -->\r\n<td valign=top align=center>\r\n<table border=0 width=305 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45591/[timestamp]?\" target=_blank><img src=\"/img/microachat/twc_305x125.jpg\" border=0></a></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubD --> <!-- - ZONE T4 -->\r\n<!-- + ZONE T5 -->\r\n<!-- - ZONE T5 -->\r\n<!-- -ZONE_Tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n<!-- +ZONE_gn -->\r\n<!-- + ZONE g0 -->\r\n<!-- - ZONE g0 -->\r\n<!-- + ZONE g1 -->\r\n<!-- - ZONE g1 -->\r\n<!-- + ZONE g2 -->\r\n<!-- - ZONE g2 -->\r\n<!-- + ZONE g3 -->\r\n<!-- - ZONE g3 -->\r\n<!-- + ZONE g4 -->\r\n<!-- - ZONE g4 -->\r\n<!-- + ZONE g5 -->\r\n<!-- - ZONE g5 -->\r\n<!-- + ZONE g6 -->\r\n<!-- - ZONE g6 -->\r\n<!-- + ZONE g7 -->\r\n<!-- - ZONE g7 -->\r\n<!-- + ZONE g8 -->\r\n<!-- - ZONE g8 -->\r\n<!-- + ZONE g9 -->\r\n<!-- - ZONE g9 -->\r\n<!-- -ZONE_gn -->\r\n\t\t\t</table>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t\t\t<tr>\r\n<!-- +ZONE_Mn -->\r\n<!-- + ZONE M0 -->\r\n<!-- modele Ma_GuideAch //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_GuideAchat_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<center>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67088.jpg.res_121-111.jpg\" border=0 hspace=0 vspace=0></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n</center>\r\n<div style=\"padding:5px;\">\r\n<a href=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\"><b>Les graveurs de DVD</b><br></font></a>\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Quel graveur choisir&#160;? Quel type de format&#160;? Quelle vitesse&#160;? Double couche ou simple couche&#160;? Voici tout ce qu\'il faut savoir pour faire le bon choix.</font></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M0 -->\r\n<!-- + ZONE M1 -->\r\n<!-- modele Ma_DirectLab //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_DirectLab_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255744.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Kodak EasyShare Printer Dock Plus&#160;:</b>\r\n\t\t\t\t\t\tvos photos 10&#160;x&#160;15&#160;cm en 60&#160;secondes</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255780.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>3DMark05&#160;:</b>\r\n\t\t\t\t\t\tun labo 3D \340 domicile</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255691.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>DVDInfoPro 2.6</b>\r\n\t\t\t\t\t\treconna\356t CD et DVD</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255722.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Scaleo PA D3008, de Fujitsu-Siemens&#160;:</b>\r\n\t\t\t\t\t\tune impression d\'inachev\351</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255514.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Carbon 5&#160;Go&#160;: 2&#160;500&#160;chansons dans le creux de la main</font></a></div>\r\n\t\t\t</div></td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M1 -->\r\n<!-- + ZONE M2 -->\r\n<!-- DEBUT MicroAchat MA_AnnTelec -->\r\n<td valign=top>\r\n<script type=\"text/javascript\">\r\nfunction regionChange()\r\n{\r\ndocument.selection.departement.options.length=0;\r\nswitch(document.selection.region.value)\r\n\t{\r\n\t\tcase \"aucun\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Nord-Pas-de-Calais\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pas-de-Calais\", \"Pas-de-Calais\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nord\", \"Nord\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Haute-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure\", \"Eure\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Maritime\", \"Seine-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Basse-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Manche\", \"Manche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Calvados\", \"Calvados\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Orne\", \"Orne\");\r\n\t\tbreak;\r\n\t\tcase \"Picardie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Somme\", \"Somme\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Oise\", \"Oise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aisne\", \"Aisne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bretagne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Finistere\", \"Finistere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cotes-dArmor\", \"Cotes-dArmor\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Morbihan\", \"Morbihan\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ille-et-Vilaine\", \"Ille-et-Vilaine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Pays-de-Loire\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire-Atlantique\", \"Loire-Atlantique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vendee\", \"Vendee\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Maine-et-Loire\", \"Maine-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayenne\", \"Mayenne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Sarthe\", \"Sarthe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Centre\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure-et-Loir\", \"Eure-et-Loir\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loiret\", \"Loiret\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loir-et-Cher\", \"Loir-et-Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre-et-Loire\", \"Indre-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre\", \"Indre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cher\", \"Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Ile-de-France\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-dOise\", \"Val-dOise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yvelines\", \"Yvelines\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Essonne\", \"Essonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-et-Marne\", \"Seine-et-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hauts-de-Seine\", \"Hauts-de-Seine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Saint-Denis\", \"Seine-Saint-Denis\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-de-Marne\", \"Val-de-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Paris\", \"Paris\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Champagnes-Ardennes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardennes\", \"Ardennes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Marne\", \"Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aube\", \"Aube\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Marne\", \"Haute-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Lorraine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vosges\", \"Vosges\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meurthe-et-Moselle\", \"Meurthe-et-Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meuse\", \"Meuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Moselle\", \"Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Alsace\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bas-Rhin\", \"Bas-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haut-Rhin\", \"Haut-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Franche-Compte\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Jura\", \"Jura\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Doubs\", \"Doubs\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Saone\", \"Haute-Saone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Territoire-de-Belfort\", \"Territoire-de-Belfort\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bourgogne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yonne\", \"Yonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nievre\", \"Nievre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cote-dOr\", \"Cote-dOr\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Saone-et-Loire\", \"Saone-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Poitou-Charentes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Deux-Sevres\", \"Deux-Sevres\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente-Maritime\", \"Charente-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente\", \"Charente\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vienne\", \"Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Limousin\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Vienne\", \"Haute-Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Correze\", \"Correze\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Creuse\", \"Creuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Auvergne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Allier\", \"Allier\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Puy-de-Dome\", \"Puy-de-Dome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cantal\", \"Cantal\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Loire\", \"Haute-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Rhone-Alpes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire\", \"Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Rhone\", \"Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ain\", \"Ain\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardeche\", \"Ardeche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Drome\", \"Drome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Isere\", \"Isere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Savoie\", \"Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Savoie\", \"Haute-Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Aquitaine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gironde\", \"Gironde\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Landes\", \"Landes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Atlantiques\", \"Pyrenees-Atlantiques\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot-et-Garonne\", \"Lot-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Dordogne\", \"Dordogne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Midi-Pyrenees\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot\", \"Lot\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn-et-Garonne\", \"Tarn-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gers\", \"Gers\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Pyrenees\", \"Hautes-Pyrenees\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Garonne\", \"Haute-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ariege\", \"Ariege\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn\", \"Tarn\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aveyron\", \"Aveyron\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Languedoc-Roussillon\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Orientales\", \"Pyrenees-Orientales\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aude\", \"Aude\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Herault\", \"Herault\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gard\", \"Gard\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lozere\", \"Lozere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Provence-Alpes-Cote-dazur\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bouches-du-Rhone\", \"Bouches-du-Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vaucluse\", \"Vaucluse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-de-haute-Provence\", \"Alpes-de-haute-Provence\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Alpes\", \"Hautes-Alpes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Var\", \"Var\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-Maritimes\", \"Alpes-Maritimes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Corse\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Corse-du-Sud\", \"Corse-du-Sud\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Corse\", \"Haute-Corse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"DomTom\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guadeloupe\", \"Guadeloupe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guyane\", \"Guyane\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"La-Reunion\", \"La-Reunion\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Martinique\", \"Martinique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayotte\", \"Mayotte\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"St-Pierre-et-Miquelon\", \"St-Pierre-et-Miquelon\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t}\r\n}\r\nfunction deptChange()\r\n{\r\nif (document.selection.departement.value == \'Paris\')\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'inline\';\r\nelse\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'none\';\r\n}\r\n</script>\r\n<table width=305 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td valign=top>\r\n\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_AnnuaiRev_MA.gif\" vspace=1></td>\r\n\t\t\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><form action=\"http://micro-achat.01net.com/annuaire/recherche.php\" method=\"post\" name=\"selection\">\r\n\t\t\t\t<td bgcolor=#FFFFDD>\r\n\t\t\t\t<div style=\"border:solid 1px #FFCC00;width:100%\"><div style=\"padding:2px;\"><img src=\"http://www.01net.com/img/v4/MA/carte_revend.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Choisir une r\351gion</b><br></font>\r\n<select name=\"region\" onChange=\"regionChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n<option value=\"Nord-Pas-de-Calais\">Nord-Pas-de-Calais</option>\r\n<option value=\"Haute-Normandie\">Haute-Normandie</option>\r\n<option value=\"Basse-Normandie\">Basse-Normandie</option>\r\n<option value=\"Picardie\">Picardie</option>\r\n<option value=\"Bretagne\">Bretagne</option>\r\n<option value=\"Pays-de-Loire\">Pays-de-Loire</option>\r\n<option value=\"Centre\">Centre</option>\r\n<option value=\"Ile-de-France\">Ile-de-France</option>\r\n<option value=\"Champagnes-Ardennes\">Champagne ardennes</option>\r\n<option value=\"Lorraine\">Lorraine</option>\r\n<option value=\"Alsace\">Alsace</option>\r\n<option value=\"Franche-Compte\">Franche-Compte</option>\r\n<option value=\"Bourgogne\">Bourgogne</option>\r\n<option value=\"Poitou-Charentes\">Poitou-Charentes</option>\r\n<option value=\"Limousin\">Limousin</option>\r\n<option value=\"Auvergne\">Auvergne</option>\r\n<option value=\"Rhone-Alpes\">Rhone-Alpes</option>\r\n<option value=\"Aquitaine\">Aquitaine</option>\r\n<option value=\"Midi-Pyrenees\">Midi-Pyrenees</option>\r\n<option value=\"Languedoc-Roussillon\">Languedoc roussillon</option>\r\n<option value=\"Provence-Alpes-Cote-dazur\">PACA</option>\r\n<option value=\"Corse\">Corse</option>\r\n<option value=\"DomTom\">DomTom</option>\r\n</select>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un d\351partement</b><br></font>\r\n<select name=\"departement\" onChange=\"deptChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n</select>\r\n<div id=\"arrondissement\" style=\"display : none;\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un arrondissement</b><br></font>\r\n<select name=\"arrondissement\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"0\">-------------</option>\r\n<option value=\"1\">I</option>\r\n<option value=\"2\">II</option>\r\n<option value=\"3\">III</option>\r\n<option value=\"4\">IV</option>\r\n<option value=\"5\">V</option>\r\n<option value=\"6\">VI</option>\r\n<option value=\"7\">VII</option>\r\n<option value=\"8\">VIII</option>\r\n<option value=\"9\">IX</option>\r\n<option value=\"10\">X</option>\r\n<option value=\"11\">XI</option>\r\n<option value=\"12\">XII</option>\r\n<option value=\"13\">XIII</option>\r\n<option value=\"14\">XIV</option>\r\n<option value=\"15\">XV</option>\r\n<option value=\"16\">XVI</option>\r\n<option value=\"17\">XVII</option>\r\n<option value=\"18\">XVIII</option>\r\n<option value=\"19\">XIX</option>\r\n<option value=\"20\">XX</option>\r\n</select>\r\n</div>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche directe</b><br></font>\r\n\t\t\t\t<font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\"><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>rechercher une ville<br><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>et/ou une boutique<br></font>\r\n\t\t\t\t<input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;width:130px;\" value=\"\" onFocus=\"javascript:document.selection.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=3><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1>&nbsp;<input type=\"image\" src=\"http://www.01net.com/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\">\r\n\t\t\t\t<table height=23 width=135 cellspacing=0 cellpadding=0 border=0 bgcolor=#FFEE77>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td bgcolor=#FFEE77 valign=middle align=center><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://micro-achat.01net.com/annuaire/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche avanc\351e</b></font></a></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t</td>\r\n\t\t\t</tr></form>\r\n\t\t</table>\r\n\t\t</td>\r\n<!-- DEBUT MicroAchat MA_Telecharg //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/v4/MA/Ban_v4_MA_telec.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#DFECF6\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"></td>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Bureautique\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Bureautique</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Traducteur, organiseur...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Multimedia\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Multim\351dia</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Photo, audio, vid\351o...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Utilitaire\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Utilitaires</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Antivirus, pilotes, gravure...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Personnaliser\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Personnaliser son PC</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Ecrans de veille, th\350mes...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Programmation\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>D\351veloppement</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Cr\351ation de logiciels, BDD...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Jeux\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Jeux</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Action, simulation...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Internet\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Internet</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Utilitaires, email, FTP...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Loisirs\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Loisirs</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Humour, culture...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_Telecharg //--> \t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_AnnTelec --> <!-- - ZONE M2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE M3 -->\r\n<!-- - ZONE M3 -->\r\n<!-- + ZONE M4 -->\r\n<!-- - ZONE M4 -->\r\n<!-- + ZONE M5 -->\r\n<!-- - ZONE M5 -->\r\n<!-- -ZONE_Mn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_tn -->\r\n<!-- + ZONE t0 -->\r\n<!-- - ZONE t0 -->\r\n<!-- + ZONE t1 -->\r\n<!-- - ZONE t1 -->\r\n<!-- + ZONE t2 -->\r\n<!-- - ZONE t2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE t3 -->\r\n<!-- - ZONE t3 -->\r\n<!-- + ZONE t4 -->\r\n<!-- - ZONE t4 -->\r\n<!-- + ZONE t5 -->\r\n<!-- - ZONE t5 -->\r\n<!-- -ZONE_tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td valign=top>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_dn -->\r\n<!-- + ZONE d0 -->\r\n<!-- - ZONE d0 -->\r\n<!-- + ZONE d1 -->\r\n<!-- - ZONE d1 -->\r\n<!-- + ZONE d2 -->\r\n<!-- - ZONE d2 -->\r\n<!-- + ZONE d3 -->\r\n<!-- - ZONE d3 -->\r\n<!-- + ZONE d4 -->\r\n<!-- - ZONE d4 -->\r\n<!-- + ZONE d5 -->\r\n<!-- - ZONE d5 -->\r\n<!-- + ZONE d6 -->\r\n<!-- - ZONE d6 -->\r\n<!-- + ZONE d7 -->\r\n<!-- - ZONE d7 -->\r\n<!-- + ZONE d8 -->\r\n<!-- - ZONE d8 -->\r\n<!-- + ZONE d9 -->\r\n<!-- - ZONE d9 -->\r\n<!-- -ZONE_dn -->\r\n\t\t\t\t</tr>\r\n\t\t\t</table>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t</table>\r\n<!-- FIN WORK -->\r\n\t\t</td>\r\n<!-- *********************************************************************FIN VENTRE********************************************************************************************************************************************** //-->\r\n\t\t<td rowspan=2 valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t\t<td colspan=2>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=100%>\r\n<!-- +ZONE_Bn -->\r\n<!-- + ZONE B0 -->\r\n<!-- - ZONE B0 -->\r\n<!-- + ZONE B1 -->\r\n<tr><!-- ********** DEBUT BLOC Home NosJournauxV4 //-->\r\n<td valign=top bgcolor=#FFFFFF>\r\n<img src=\"http://www.01net.com/img/ban/Ban_v4_jx.gif\"><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1>\r\n<a href=\"http://www.01net.com/rubrique/3339.html\"><img src=\"http://www.01net.com/img/journaux/01I-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/4051.html\"><img src=\"http://www.01net.com/img/journaux/DSI-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/3345.html\"><img src=\"http://www.01net.com/img/journaux/DIN-small.gif content: @ 1099872000000000: 'HTTP/1.1 200 OK\r\nX-Google-Crawl-Date: Mon, 08 Nov 2004 17:22:09 GMT\r\nContent-Type: text/html\r\nConnection: close\r\nX-Powered-By: PHP/4.3.8\r\nServer: Apache/1.3.31 (Unix) mod_gzip/1.3.19.1a PHP/4.3.8\r\nDate: Mon, 08 Nov 2004 17:19:07 GMT\r\n\r\n <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\r\n<BASE target=\"_top\">\r\n\n<TITLE>Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux</TITLE>\r\n<META NAME=\"Description\" CONTENT=\"Micro Achat : Ordinateurs, PDA\">\r\n<META NAME=\"Keywords\" CONTENT=\"Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/01net.css\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/tableau_autre.css\">\r\n<STYLE type=text/css>\r\nA{TEXT-DECORATION: none;color:#000000;}\r\nA:visited{TEXT-DECORATION: none;color:#000000;}\r\n</STYLE>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nvar sameAsBigDay = new Date();\r\nvar ord = (sameAsBigDay.getTime());\r\nvar pubsMotsCles = \"\";\r\nvar exc;\r\nvar lienhautdepage = \"\";\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\nsas_tmstp=Math.round(Math.random()*10000000000);\r\nfunction SmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target) {\r\n if ((sas_master!=\'M\')&&(sas_master!=\'S\')) {sas_master=\'S\'};\r\n document.write(\'<SCR\'+\'IPT SRC=\"http://www.smartadserver.com/call/pubj/\' + sas_pageid + \'/\' + sas_formatid + \'/\'+sas_master + \'/\' + sas_tmstp + \'/\' + escape(sas_target) + \'?\"></SCR\'+\'IPT>\');\r\n}\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\" SRC=\"http://www.01net.com/js/exc.js\"></SCRIPT>\r\n<script language=\"javascript\" src=\"http://telecharger.01net.com/shopping/js/headservicesV4.js\"></script>\r\n<noscript>\r\n<a href=\"http://cinema.01net.com\">T\351l\351charger des bandes-annonces, des teasers, des extraits et des making of de vos films cin\351ma pr\351f\351r\351s</a>,\r\n<a href=\"http://www.01net.com/BusinessTechnologies/\">Portail leader de l\'information sur les nouvelles technologies - Actualites et enquetes sur l\'informatique et les NTIC (nouvelles technologies de l\'information et la communication). Exemples de sujets : e-business, telecoms, CRM, VPN, 3G, DSL, fournisseurs d\'acces, Linux, piratage, securite informatique, progiciel...</a><br>\r\n<a href=\"http://www.01net.com/securite_informatique.html\">s\351curit\351 informatique</a>,\r\n<a href=\"http://www.01net.com/strategies_ntic.html\">strat\351gies NTIC</a>,\r\n<a href=\"http://www.01net.com/piratage_informatique.html\">piratage informatique</a>,\r\n<a href=\"http://www.01net.com/technologie_dsl.html\">technologie DSL</a>,\r\n<a href=\"http://www.01net.com/solutions_vpn.html\">solutions VPN</a>,\r\n<a href=\"http://www.01net.com/strategie_e-business.html\">strat\351gies</a>,\r\n<a href=\"http://www.01net.com/outils_crm.html\">outils CRM</a>,\r\n<a href=\"http://www.01net.com/logiciel_linux.html\">logiciel Linux</a>,\r\n<a href=\"http://www.01net.com/fournisseur_d_acces.html\">fournisseur d\'acc\350s</a>,\r\n<a href=\"http://www.01net.com/progiciel.html\">progiciel</a>,\r\n<a href=\"http://www.01net.com/stockage_de_donnees.html\">stockage de donn\351es</a>,\r\n<a href=\"http://www.01net.com/etudes_solution_informatique.html\">\351tudes solution informatique</a>,\r\n<a href=\"http://www.01net.com/NTIC.html\">NTIC</a>,\r\n<a href=\"http://www.01net.com/actualite_technologie.html\">actualit\351 technologie</a>,\r\n<a href=\"http://www.01net.com/etude_materiel_informatique.html\">\351tude mat\351riel informatique</a>,\r\n<a href=\"http://www.01net.com/actus/\">actualit\351s des nouvelles technologies</a>,\r\n<a href=\"http://www.01net.com/MicroPerso/\">enqu\352tes et trucs et astuces sur le mat\351riel informatique, les logiciels, les fournisseurs d\'acc\350s...</a>,\r\n<a href=\"http://www.01net.com/emploi/\">emploi et formations informatiques : offres d\'emploi informatique...</a>,\r\n<a href=\"http://www.01net.com/produits/\">fiches, tests mat\351riels et logiciels en informatique</a>,\r\n<a href=\"http://www.01net.com/01informatique\">01 Informatique</a>,\r\n<a href=\"http://www.caractere.net\">Caract\350re, le site des professionnels de l\'imprim\351 - communication imprim\351e, \351dition, emballage, encres, finition, flexographie, h\351liogravure, impression, imprimerie, imprimeur, industries graphiques, num\351rique, offset, papier, pr\351presse, presse, print, reprographie, s\351rigraphie, typographie</a>,\r\n<a href=\"http://www.01net.com/decisionmicro\">Decision Micro</a>,\r\n<a href=\"http://www.01net.com/decisioninformatique\">D\351cision Informatique</a>,\r\n<a href=\"http://www.01net.com/01reseaux\">01 R\351seaux</a>,\r\n<a href=\"http://logiciel.telecharger.01net.com/\">logiciel</a>,\r\n<a href=\"http://developpeur.telecharger.01net.com/windows/Programmation/\">d\351veloppeur programmation</a>,\r\n<a href=\"http://anti-virus.telecharger.01net.com\">anti-virus</a>,\r\n<a href=\"http://gravure-cd-dvd.telecharger.01net.com/windows/Utilitaire/gravure/\">gravure cd dvd</a>,\r\n<a href=\"http://codec.telecharger.01net.com/windows/Multimedia/encodeurs_et_decodeurs/\">codec encodeur d\351codeur</a>,\r\n<a href=\"http://software.telecharger.01net.com/\">software</a>,\r\n<a href=\"http://logiciels.telecharger.01net.com/\">logiciels</a>,\r\n<a href=\"http://gratuit.telecharger.01net.com/\">gratuit</a>,\r\n<a href=\"http://p2p.telecharger.01net.com/windows/Internet/partage/\">p2p peer to peer partage de fichiers</a>,\r\n<a href=\"http://securite.telecharger.01net.com/windows/Utilitaire/cryptage_et_securite/\">s\351curit\351</a>,\r\n<a href=\"http://compression-decompression.telecharger.01net.com/windows/Utilitaire/compression_et_decompression/\">compression et d\351compression</a>,\r\n<a href=\"http://divx.telecharger.01net.com/\">divx</a>,\r\n<a href=\"http://utilitaire.telecharger.01net.com/windows/Utilitaire/\">utilitaire</a>,\r\n<a href=\"http://jeux.telecharger.01net.com/windows/Jeux/\">jeux</a>,\r\n<a href=\"http://loisirs.telecharger.01net.com/windows/Loisirs/\">loisirs</a>,\r\n<a href=\"http://mac.telecharger.01net.com/mac/\">mac</a>,\r\n<a href=\"http://linux.telecharger.01net.com/linux/\">linux</a>,\r\n<a href=\"http://shareware.telecharger.01net.com/\">shareware</a>,\r\n<a href=\"http://video-dvd.telecharger.01net.com/windows/Multimedia/lecteurs_video_dvd/\">vid\351o dvd</a>,\r\n<a href=\"http://multimedia.telecharger.01net.com/\">multim\351dia</a>,\r\n<a href=\"http://traduction.telecharger.01net.com/windows/Bureautique/traducteur/\">traduction</a>,\r\n<a href=\"http://mp3.telecharger.01net.com/windows/Multimedia/lecteurs_audio_mp3_cd/\">mp3</a>,\r\n<a href=\"http://tchat.telecharger.01net.com/windows/Internet/communication/\">tchat</a>\r\n<a href=\"http://chat.telecharger.01net.com/windows/Internet/communication/\">chat</a>,\r\n<a href=\"http://musique.telecharger.01net.com/\">musique</a>,\r\n<a href=\"http://mobile.telecharger.01net.com/mobile/\">mobile</a>,\r\n<a href=\"http://telephone_portable.telecharger.01net.com/mobile/\">t\351l\351phone portable</a>,\r\n<a href=\"http://telephone_mobile.telecharger.01net.com/mobile/\">t\351l\351phone mobile</a>\r\n</noscript>\r\n</head>\r\n</head>\r\n<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#000000\" marginwidth=0 marginheight=0 topmargin=0 leftmargin=0>\r\n<!-- + ZONE TETE -->\r\n<!-- ********** DEBUT MODELE INTERNE TETES MHA-tetev4 //-->\r\n<table width=100% height=66 cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td height=8 colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=8></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td valign=bottom><a href=\"http://microachat.01net.com\"><img src=\"http://www.01net.com/img/v4/logos_tete/tet_gauche-mha.gif\" border=0></a></td>\r\n\t\t<td valign=bottom bgcolor=#FFFFFF bbackground=\"http://www.01net.com/img/v4/tet_droite.gif\" width=100% style=\"background-image:url(/img/v4/tet_droite-mha.gif);background-position:bottom;background-repeat:repeat-x\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=66 align=left hspace=0 vspace=0></td>\r\n\t</tr>\r\n</table>\r\n<table width=100% cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td valign=top background=\"http://www.01net.com/img/v4/fond_date-mha.gif\" height=18 width=500><img src=\"http://www.01net.com/img/dot.gif\" width=500 height=1><br><img src=\"http://www.01net.com/img/dot.gif\" width=19 height=1><font face=\"Arial\" size=1 color=#666666 style=\"font-size: 11px;\"><b>Derni\350re mise \340 jour de cette page : lundi 8 novembre 2004&nbsp;&nbsp;|&nbsp;&nbsp;16:45</b></font></td>\r\n\t\t<td width=100% background=\"http://www.01net.com/img/v4/fond_date2-mha.gif\" height=18></td>\r\n\t</tr>\r\n</table>\r\n<!-- ********** FIN MODELE INTERNE TETES MHA-tetev4 //--> <!-- - ZONE TETE -->\r\n<!-- ***************************************************************************************************************************************************************************************************************************** //-->\r\n<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n<!-- DEBUT PARTIE PUB //-->\r\n\t<tr>\r\n<td align=center valign=middle colspan=2 background=\"http://www.01net.com/img/v4/fond_bann.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br>\r\n<!-- + ZONE Z0 -->\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\">\r\nvar fa = \"\";\r\nvar fab = document.URL.toString();\r\nif (fab.indexOf(\"?fa\") != -1 || fab.indexOf(\"&fa\") != -1)\r\n{\r\nfa = \";!category=fai\";\r\n}\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nsas_pageid=\'167/3872\';\r\nsas_formatid=95;\t\t\t// Format : Banner/Scope 468x60\r\nsas_master=\'M\';\t\t\t// Master : M=master or S=slave\r\nsas_target=exc + \'rubrique\';\t\t\t// Targeting\r\nSmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target);\r\n</SCRIPT>\r\n <!-- - ZONE Z0 --></td>\r\n\t\t<td valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\" ><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n<td valign=top width=100% bgcolor=\"ffffff\" rowspan=3><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=125><br>\r\n<!-- +ZONE_Dn -->\r\n<!-- + ZONE D0 -->\r\n<!-- DEBUT MA_ColD -->\r\n<div style=\"background-color : #ffffff; width : 150px; padding-left : 5px; padding-right : 5px; font-family : Arial, Helvetica;\">\n\t\t\t\t\t<table style=\"border-spacing : 0; width : 146px; margin-top : 0px;\" cellspacing=\"0\">\n\t\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-produitsrecherches.gif\" alt=\"\" /></th></tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Imagerie&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/12537-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/imagerie/moniteurs-lcd/l1720b/\">LG L1720B</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">332.89 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4043-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/veriton-7600g/\">Acer Veriton 7600G</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">705 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1903-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sn95g5/\">Shuttle SN95G5</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">375 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1259-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/cartes-meres/a7n8x-e-deluxe/\">Asus A7N8X-E Deluxe</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">91.99 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4687-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/ventilateur/sp-94/\">Thermalright SP-94</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">49 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr></table>\n\t\t\t\t<table style=\"border-spacing : 0px 1px; width : 146px; margin-top : 15px;\" cellspacing=\"0\">\n\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-revendeurmisajour.gif\" alt=\"\" /></th></tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">1 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Rhone-Alpes/Ain/pc-look\" style=\"color : #000000; text-decoration : none;\">PC Look</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">2 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Nord-Pas-de-Calais/Pas-de-Calais/atelier-informatique\" style=\"color : #000000; text-decoration : none;\">Atelier Informatique</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">3 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Val-de-Marne/zanax-multimedia\" style=\"color : #000000; text-decoration : none;\">Zanax Multim\351dia</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">4 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Hauts-de-Seine/misteroops\" style=\"color : #000000; text-decoration : none;\">MISTEROOPS</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">5 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/168-golden-avenue\" style=\"color : #000000; text-decoration : none;\">168 Golden Avenue</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">6 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-Saint-Denis/microchoix\" style=\"color : #000000; text-decoration : none;\">microchoix</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">7 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/e-soph\" style=\"color : #000000; text-decoration : none;\">e-Soph</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">8 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/13/pc-price-club\" style=\"color : #000000; text-decoration : none;\">PC Price Club</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">9 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-et-Marne/pc-77\" style=\"color : #000000; text-decoration : none;\">PC 77</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">10 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Alsace/Bas-Rhin/web-in-informatique\" style=\"color : #000000; text-decoration : none;\">Web In Informatique</a></td>\n\t\t\t\t</tr></table>\n\t\t\t\t</div>\n\t\t\t\t<br>\r\n<!-- FIN MA_ColD --> <!-- - ZONE D0 -->\r\n<!-- + ZONE D1 -->\r\n<!-- - ZONE D1 -->\r\n<!-- + ZONE D2 -->\r\n<!-- - ZONE D2 -->\r\n<!-- -ZONE_Dn -->\r\n</td>\r\n\t</tr>\r\n<!-- FIN PARTIE PUB //-->\r\n\t<tr>\r\n\t\t<td valign=top width=193 height=100% background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n\t\t<!-- contenu colonne de gauche //-->\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0 background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<!-- +ZONE_Gn -->\r\n<!-- + ZONE G0 -->\r\n<tr><!-- ********** DEBUT MHA_MenusChainesV4 //-->\r\n<td valign=top>\n<table border=0 cellpadding=0 cellspacing=0 width=193 bgcolor=#FFFFFF>\n<tr>\n<td background=\"/img/v4/menus/motifgauche_menus.gif\" width=20 rowspan=2><img src=\"/img/dot.gif\" width=20 height=20></td>\n<td width=173 colspan=2 bgcolor=#FFFFFF><img src=\"/img/dot.gif\" width=173 height=20></td>\n</tr>\n<tr>\n<td valign=top width=159>\n\n<a href=\"http://www.01net.com\"><img src=\"/img/v4/menus/mha/home01net-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com\"><img src=\"/img/v4/menus/mha/home-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4317.html\"><img src=\"/img/v4/menus/mha/ordinateurs-2.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4318.html\"><img src=\"/img/v4/menus/mha/composants-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4319.html\"><img src=\"/img/v4/menus/mha/stockage-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4320.html\"><img src=\"/img/v4/menus/mha/image-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4321.html\"><img src=\"/img/v4/menus/mha/peripheriques-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4322.html\"><img src=\"/img/v4/menus/mha/reseaux-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4323.html\"><img src=\"/img/v4/menus/mha/accessoires-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/guide-produits/\"><img src=\"/img/v4/menus/mha/comparateur-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/annuaire/\"><img src=\"/img/v4/menus/mha/annuaire-1.gif\" width=159 border=0></a><br></td>\n<td width=14><img src=\"/img/dot.gif\" width=14 height=14></td>\n</tr>\n<tr>\n<td colspan=3><img src=\"/img/v4/menus/bas_menus.gif\" width=193 height=31></td>\n</tr>\n</table></td><!-- ********** FIN MHA_MenusChainesV4 //--> </tr><!-- - ZONE G0 -->\r\n<!-- + ZONE G1 -->\r\n<tr><!-- DEBUT MODELE RUBRIQUE V4ColGaucheMHA //-->\r\n<!-- ********** DEBUT BLOC DernieresNewsTC //-->\r\n<td valign=top>\r\n<!-- DEBUT RECHERCHE MHA -->\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top background=\"http://microachat.01net.com/img/v4/fond_rech_mha.gif\" height=98 style=\"background-repeat:no-repeat;\"><form method=\"get\" name=\"chercher\" action=\"http://www.01net.com/aiguillage_recherche/1,6138,,00.html\"><img src=\"http://microachat.01net.com/img/dot.gif\" width=193 height=17><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"text\" name=\"fullText\" style=\"width:130px;font:12px;\"><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=6><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><select name=\"sousArbo\" style=\"width:130px;font:12px;\">\r\n\t\t\t<option value=\"mha\">dans Micro Achat\r\n\t\t\t<option value=\"cmp\">les prix\r\n\t\t\t<option value=\"ann\">les revendeurs\r\n\t\t\t<option value=\"2641\">tout 01net.\r\n\t\t\t<option value=\"emploi\">les offres d\'emploi\r\n\t\t\t<option value=\"telecharger\"> telecharger.com\r\n\t\t\t<option value=\"web\">le web\r\n\t\t\t</select><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://microachat.01net.com/img/v4/ok_bloc_recher_mha.gif\" border=\"0\"></form>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10 vspace=0>\r\n<!-- FIN RECHERCHE MHA -->\r\n <!-- modele TCFilColgTitV4 //-->\r\n <table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/ban/Ban_v4_DernieresNews01net.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/256059.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">CD et DVD bient\364t insensibles aux rayures<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255796.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">OpenOffice gagne son service<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255731.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">La messagerie en cinq minutes selon Ipswitch<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top colspan=2><A HREF=\"http://www.01net.com/actus/\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\">> toutes les news<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/crochet_bleuhaut_155.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20> <!-- ********** FIN BLOC DernieresNewsTC //-->\r\n<!-- ********** DEBUT BLOC NL_MHA //-->\r\n<SCRIPT language=\"javascript\" src=\"http://www.01net.com/js/lib.js\"></SCRIPT>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"formgen\" method=\"get\" action=\"http://microachat.01net.com/outils/newsletter_MicroAchat.html\" onSubmit=\"return validateForm(this)\">\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/ban/Ban_V4_Newslett.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=153>\r\n\t\t<table width=153 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefinefd_ffffff.gif\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Recevez chaque jour l\'actualit\351 des produits et des promos<br></font>\r\n\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"email\" size=\"14\" style=\"width:130px;font:12px;\" value=\"entrez votre e-mail\" onFocus=\"javascript:document.formgen.email.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://www.01net.com/img/v4/ok_bloc_recher.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/v4/base_newsletters.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n<SCRIPT language=\"Javascript\">\r\ndocument.formgen.email.validator= \'notNullEmailPat\';\r\ndocument.formgen.email.nomvalidator= \'E-mail\';\r\n</SCRIPT>\r\n<!-- ********** FIN BLOC NL_MHA //-->\r\n</td>\r\n</tr>\r\n<tr>\r\n<!-- ********** DEBUT BLOC Actus ActusUneV4 //-->\r\n<td valign=top background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/ban/Ban_v4_LaUne.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/entreprise/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Entreprise</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://www.01net.com/article/255737.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Quand le billet papier s\'envole vers la d\351mat\351rialisation</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255737.html\"><img src=\"http://www.01net.com/img/MEA_v4/billet_virtuel-65.jpg\" border=0></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/pratique/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Trucs et astuces</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255698.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">D\351pannez Windows XP</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255698.html\"><img src=\"http://www.01net.com/img/MEA_v4/depannez_XP-65.jpg\" border=0 ></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t</tr>\r\n\t\t <tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/conso/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Conso</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255524.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Vos photos sur papier imprimante ou labo ?<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t<!-- exemple de lien avec pseudorub pour produits et tests -->\r\n\t\t<!-- <a href=\"/outils/PseudoRub.php?base=test-comp&rub=1730&pseudo=test-comp20041005\"> -->\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/produits/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Produits &amp; Tests</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255782.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">5 programmes d\222encodage vid\351o gratuits<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n</td>\r\n<!-- ********** FIN BLOC Actus ActusUneV4 //--> </tr>\r\n<tr>\r\n<td>\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top><a href=\"mailto:s.cohen@micro-achat.fr\"><img border=0 src=\"http://www.01net.com/img/v4/espace-revendeurs.gif\"></td>\r\n\t</tr>\r\n</table>\r\n<br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20></td>\r\n<!-- FIN MODELE RUBRIQUE V4ColGaucheMHA //--> </tr><!-- - ZONE G1 -->\r\n<!-- + ZONE G2 -->\r\n<!-- - ZONE G2 -->\r\n<!-- + ZONE G3 -->\r\n<!-- - ZONE G3 -->\r\n<!-- + ZONE G4 -->\r\n<!-- - ZONE G4 -->\r\n<!-- + ZONE G5 -->\r\n<!-- - ZONE G5 -->\r\n<!-- + ZONE G6 -->\r\n<!-- - ZONE G6 -->\r\n<!-- + ZONE G7 -->\r\n<!-- - ZONE G7 -->\r\n<!-- + ZONE G8 -->\r\n<!-- - ZONE G8 -->\r\n<!-- + ZONE G9 -->\r\n<!-- - ZONE G9 -->\r\n<!-- + ZONE GA -->\r\n<!-- - ZONE GA -->\r\n<!-- + ZONE GB -->\r\n<!-- - ZONE GB -->\r\n<!-- + ZONE GC -->\r\n<!-- - ZONE GC -->\r\n<!-- + ZONE GD -->\r\n<!-- - ZONE GD -->\r\n<!-- + ZONE GE -->\r\n<!-- - ZONE GE -->\r\n<!-- + ZONE GF -->\r\n<!-- - ZONE GF -->\r\n<!-- -ZONE_Gn -->\r\n\t\t</table>\r\n\t\t<!-- fin contenu colonne de gauche //-->\r\n\t\t</td>\r\n<!-- ***************************************************************** DEBUT VENTRE*********************************************************************************************************************************************** //-->\r\n<!-- DEBUT WORK -->\r\n\t\t<td valign=top width=625 bgcolor=#ffffff><img src=\"http://www.01net.com/img/dot.gif\" width=625 height=1><br>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_hn -->\r\n<!-- + ZONE h0 -->\r\n<!-- MA_ban_int -->\r\n<td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=\"18\"><br>\r\n<!-- pour ordipda -->\r\n<table width=\"625\" cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"/img/v4/MA/Ban_MA_ordis.gif\"></td>\r\n\t</tr>\r\n</table>\r\n\t</td>\r\n<!-- /MA_ban_int --> <!-- - ZONE h0 -->\r\n<!-- + ZONE h1 -->\r\n<!-- - ZONE h1 -->\r\n<!-- + ZONE h2 -->\r\n<!-- - ZONE h2 -->\r\n<!-- -ZONE_hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Hn -->\r\n<!-- + ZONE H0 -->\r\n<!-- Ma_int_Leader -->\r\n <td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=320>\r\n<tr>\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Un nouvel ultra portable r\351alis\351 par Nec</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67509.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Le Versa S940 a un format r\351duit, mais ses performances sont \340 la hauteur.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1663&#160;\200</font>\r\n</td>\r\n<td width=17 background=\"/img/v4/MA/v4-fond-sep-mea-leader.gif\"><img src=\"/img/dot.gif\" width=17 height=1></td>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Asus pr\351sente trois petits nouveaux dans la gamme A3N</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67168.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Ces trois portables Centrino int\350grent, entre autres, une webcam et un contr\364leur Wi-Fi.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1346&#160;\200</font>\r\n</td>\r\n<td width=15><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t\t</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_int_Leader --> <!-- - ZONE H0 -->\r\n<!-- + ZONE H1 -->\r\n<!-- - ZONE H1 -->\r\n<!-- + ZONE H2 -->\r\n<!-- MA_BP_MP -->\r\n<td valign=\"top\" width=\"100%\">\r\n\t<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n\t<tr>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_BonPlan -->\r\n<td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=1 cellspacing=0 width=145 bgcolor=#CC0000>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">BON PLAN</a></font></td>\r\n</tr>\r\n<tr>\r\n<td width=145>\r\n<div style=\"padding:5px;padding-left:5px;padding-fight:5px;margin:0px;margin-left:1px;margin-right:1px;background-color:#FFFFFF;\">\r\n<img src=\"/img/microachat/logo_shuttle_SB83G5.gif\" border=0><br>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:12px;\">Les derni\350res technologies INTEL dans un nouveau design pour ce shuttle haut de gamme, pour un prix abordable.<br></font>\r\n<center><a href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sb83g5/?fabriquant=1&page=1&tri=titre\"><img src=\"/img/microachat/mea_shuttle_SB83G5.gif\" border=0 vspace=5></a><br></center>\r\n<center>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:13px;\"><b>\340 partir de</b><br>\r\n<div style=\"border:solid 2px #CC0000;width:100px;background-color:#FFCC00;\"><b>415 \200</b></div>\r\n</center>\r\n</div>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">publicit\351</a></font></td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_BonPlan --> \t</td>\r\n\t<td width=\"15\"><img src=\"/img/dot.gif\" width=\"15\"></td>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_MeillPrixAct //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=145 height=1><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=18><br>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"prix\" action=\"http://www.micro-achat.01net.com/guide-produits/recherche.php\" method=\"post\">\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/ban/Ban_v4_MeillPrix_MA.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=143>\r\n\t\t<table width=143 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=6><img src=\"http://www.01net.com/img/dot.gif\" width=6 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"http://www.01net.com/img/ban/Ban_MA_trouv_ordi.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Desktops</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/portables/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Portables</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Mini-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/pda---tablets-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Pda / Tablets-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/apple/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Apple</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/gps/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">GPS</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20><br>\r\n\t\t\t\t\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"width:130px;font:12px;\" value=\" recherche directe\" onFocus=\"javascript:document.prix.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/v4/MA/base_meillPrix.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_MeillPrixAct //--> \t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n<!-- /MA_BP_MP --> <!-- - ZONE H2 -->\r\n<!-- -ZONE_Hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Tn -->\r\n<!-- + ZONE T0 -->\r\n <td valign=\"top\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n<tr>\r\n<td width=305><img src=\"http://www.01net.com/img/ban/Ban_v4_DernNews_MA.gif\"><br><img src=\"http://www.01net.com/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n</tr>\r\n<tr>\r\n<td bgcolor=\"#FEF9E0\">\r\n\t<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255149.html\" style=\"color:#000000;text-decoration:none;\">Toshiba consacre deux gammes de machines au multim\351dia</a></b><br>\r\n\t<font color=\"#000000\">Equipement haut de gamme et Windows Media Center sont au menu de ces portables \340 vocation multim\351dia.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Ordinateur&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254686.html\" style=\"color:#000000;text-decoration:none;\">Arriv\351e d\'un Power Mac G5 d\'entr\351e de gamme</a></b><br>\r\n\t<font color=\"#000000\">La firme \340 la pomme propose une station de travail \351volutive et relativement abordable.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>PC&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254549.html\" style=\"color:#000000;text-decoration:none;\">Alienware propose deux machines au look \351trange</a></b><br>\r\n\t<font color=\"#000000\">Aurora et Area 51 sont deux gammes d\'ordinateurs enti\350rement configurables.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254501.html\" style=\"color:#000000;text-decoration:none;\">Trois nouveaux iBook G4 chez Apple</a></b><br>\r\n\t<font color=\"#000000\">Chez Apple, les portables gagnent en vitesse et communiquent sans fil en standard.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t\t<tr>\r\n\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td align=\"right\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4365.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les news</font></a>\r\n\t\t\t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n</td> <!-- - ZONE T0 -->\r\n<!-- + ZONE T1 -->\r\n<!-- Ma_derpromo -->\r\n <td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=13><br>\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td bgcolor=\"#ffffff\"><img src=\"/img/v4/MA/v4-lespromos-mha.gif\"><br><img src=\"/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n</tr>\r\n</table>\r\n<!-- DEBUT MODELE D\'AFFICHAGE POUR LES n PREMIERS ARTICLES //-->\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255806.html\" class=\"nodeco\"><img src=\"/images/67462.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255806.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Asus A3N15-C Pro</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable autonome et puissant gr\342ce \340 la technologie Intel Centrino.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1170&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255688.html\" class=\"nodeco\"><img src=\"/images/67381.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255688.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Soltek EQ3702A Miroir</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Ce mini PC est une solution int\351ressante pour les utilisateurs poss\351dant d\351j\340 un \351cran.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>559&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255513.html\" class=\"nodeco\"><img src=\"/images/67319.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255513.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>IBM ThinkPad R51</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable complet et pourtant relativement l\351ger.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1299&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n</tr>\r\n<tr>\r\n<td background=\"/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"/img/dot.gif\" height=1></td>\r\n</tr>\r\n<tr>\r\n<td align=\"right\" valign=\"top\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4366.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les promos</font></a>\r\n\t\t</td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_derpromo --> <!-- - ZONE T1 -->\r\n<!-- + ZONE T2 -->\r\n<!-- - ZONE T2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE T3 -->\r\n<!-- DEBUT MicroAchat MA_PubG -->\r\n<td valign=top align=center>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45590/[timestamp]?\" target=_blank><img src=\"/img/microachat/Bandeau_FX6021.jpg\" border=0></a></td>\r\n\t\t<td><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubG --> <!-- - ZONE T3 -->\r\n<!-- + ZONE T4 -->\r\n<!-- DEBUT MicroAchat MA_PubD -->\r\n<td valign=top align=center>\r\n<table border=0 width=305 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45591/[timestamp]?\" target=_blank><img src=\"/img/microachat/twc_305x125.jpg\" border=0></a></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubD --> <!-- - ZONE T4 -->\r\n<!-- + ZONE T5 -->\r\n<!-- - ZONE T5 -->\r\n<!-- -ZONE_Tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n<!-- +ZONE_gn -->\r\n<!-- + ZONE g0 -->\r\n<!-- - ZONE g0 -->\r\n<!-- + ZONE g1 -->\r\n<!-- - ZONE g1 -->\r\n<!-- + ZONE g2 -->\r\n<!-- - ZONE g2 -->\r\n<!-- + ZONE g3 -->\r\n<!-- - ZONE g3 -->\r\n<!-- + ZONE g4 -->\r\n<!-- - ZONE g4 -->\r\n<!-- + ZONE g5 -->\r\n<!-- - ZONE g5 -->\r\n<!-- + ZONE g6 -->\r\n<!-- - ZONE g6 -->\r\n<!-- + ZONE g7 -->\r\n<!-- - ZONE g7 -->\r\n<!-- + ZONE g8 -->\r\n<!-- - ZONE g8 -->\r\n<!-- + ZONE g9 -->\r\n<!-- - ZONE g9 -->\r\n<!-- -ZONE_gn -->\r\n\t\t\t</table>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t\t\t<tr>\r\n<!-- +ZONE_Mn -->\r\n<!-- + ZONE M0 -->\r\n<!-- modele Ma_GuideAch //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_GuideAchat_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<center>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67088.jpg.res_121-111.jpg\" border=0 hspace=0 vspace=0></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n</center>\r\n<div style=\"padding:5px;\">\r\n<a href=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\"><b>Les graveurs de DVD</b><br></font></a>\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Quel graveur choisir&#160;? Quel type de format&#160;? Quelle vitesse&#160;? Double couche ou simple couche&#160;? Voici tout ce qu\'il faut savoir pour faire le bon choix.</font></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M0 -->\r\n<!-- + ZONE M1 -->\r\n<!-- modele Ma_DirectLab //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_DirectLab_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255744.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Kodak EasyShare Printer Dock Plus&#160;:</b>\r\n\t\t\t\t\t\tvos photos 10&#160;x&#160;15&#160;cm en 60&#160;secondes</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255780.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>3DMark05&#160;:</b>\r\n\t\t\t\t\t\tun labo 3D \340 domicile</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255691.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>DVDInfoPro 2.6</b>\r\n\t\t\t\t\t\treconna\356t CD et DVD</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255722.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Scaleo PA D3008, de Fujitsu-Siemens&#160;:</b>\r\n\t\t\t\t\t\tune impression d\'inachev\351</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255514.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Carbon 5&#160;Go&#160;: 2&#160;500&#160;chansons dans le creux de la main</font></a></div>\r\n\t\t\t</div></td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M1 -->\r\n<!-- + ZONE M2 -->\r\n<!-- DEBUT MicroAchat MA_AnnTelec -->\r\n<td valign=top>\r\n<script type=\"text/javascript\">\r\nfunction regionChange()\r\n{\r\ndocument.selection.departement.options.length=0;\r\nswitch(document.selection.region.value)\r\n\t{\r\n\t\tcase \"aucun\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Nord-Pas-de-Calais\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pas-de-Calais\", \"Pas-de-Calais\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nord\", \"Nord\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Haute-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure\", \"Eure\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Maritime\", \"Seine-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Basse-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Manche\", \"Manche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Calvados\", \"Calvados\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Orne\", \"Orne\");\r\n\t\tbreak;\r\n\t\tcase \"Picardie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Somme\", \"Somme\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Oise\", \"Oise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aisne\", \"Aisne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bretagne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Finistere\", \"Finistere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cotes-dArmor\", \"Cotes-dArmor\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Morbihan\", \"Morbihan\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ille-et-Vilaine\", \"Ille-et-Vilaine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Pays-de-Loire\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire-Atlantique\", \"Loire-Atlantique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vendee\", \"Vendee\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Maine-et-Loire\", \"Maine-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayenne\", \"Mayenne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Sarthe\", \"Sarthe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Centre\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure-et-Loir\", \"Eure-et-Loir\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loiret\", \"Loiret\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loir-et-Cher\", \"Loir-et-Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre-et-Loire\", \"Indre-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre\", \"Indre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cher\", \"Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Ile-de-France\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-dOise\", \"Val-dOise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yvelines\", \"Yvelines\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Essonne\", \"Essonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-et-Marne\", \"Seine-et-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hauts-de-Seine\", \"Hauts-de-Seine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Saint-Denis\", \"Seine-Saint-Denis\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-de-Marne\", \"Val-de-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Paris\", \"Paris\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Champagnes-Ardennes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardennes\", \"Ardennes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Marne\", \"Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aube\", \"Aube\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Marne\", \"Haute-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Lorraine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vosges\", \"Vosges\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meurthe-et-Moselle\", \"Meurthe-et-Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meuse\", \"Meuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Moselle\", \"Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Alsace\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bas-Rhin\", \"Bas-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haut-Rhin\", \"Haut-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Franche-Compte\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Jura\", \"Jura\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Doubs\", \"Doubs\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Saone\", \"Haute-Saone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Territoire-de-Belfort\", \"Territoire-de-Belfort\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bourgogne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yonne\", \"Yonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nievre\", \"Nievre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cote-dOr\", \"Cote-dOr\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Saone-et-Loire\", \"Saone-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Poitou-Charentes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Deux-Sevres\", \"Deux-Sevres\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente-Maritime\", \"Charente-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente\", \"Charente\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vienne\", \"Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Limousin\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Vienne\", \"Haute-Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Correze\", \"Correze\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Creuse\", \"Creuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Auvergne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Allier\", \"Allier\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Puy-de-Dome\", \"Puy-de-Dome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cantal\", \"Cantal\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Loire\", \"Haute-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Rhone-Alpes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire\", \"Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Rhone\", \"Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ain\", \"Ain\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardeche\", \"Ardeche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Drome\", \"Drome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Isere\", \"Isere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Savoie\", \"Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Savoie\", \"Haute-Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Aquitaine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gironde\", \"Gironde\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Landes\", \"Landes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Atlantiques\", \"Pyrenees-Atlantiques\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot-et-Garonne\", \"Lot-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Dordogne\", \"Dordogne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Midi-Pyrenees\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot\", \"Lot\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn-et-Garonne\", \"Tarn-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gers\", \"Gers\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Pyrenees\", \"Hautes-Pyrenees\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Garonne\", \"Haute-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ariege\", \"Ariege\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn\", \"Tarn\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aveyron\", \"Aveyron\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Languedoc-Roussillon\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Orientales\", \"Pyrenees-Orientales\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aude\", \"Aude\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Herault\", \"Herault\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gard\", \"Gard\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lozere\", \"Lozere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Provence-Alpes-Cote-dazur\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bouches-du-Rhone\", \"Bouches-du-Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vaucluse\", \"Vaucluse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-de-haute-Provence\", \"Alpes-de-haute-Provence\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Alpes\", \"Hautes-Alpes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Var\", \"Var\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-Maritimes\", \"Alpes-Maritimes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Corse\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Corse-du-Sud\", \"Corse-du-Sud\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Corse\", \"Haute-Corse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"DomTom\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guadeloupe\", \"Guadeloupe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guyane\", \"Guyane\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"La-Reunion\", \"La-Reunion\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Martinique\", \"Martinique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayotte\", \"Mayotte\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"St-Pierre-et-Miquelon\", \"St-Pierre-et-Miquelon\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t}\r\n}\r\nfunction deptChange()\r\n{\r\nif (document.selection.departement.value == \'Paris\')\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'inline\';\r\nelse\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'none\';\r\n}\r\n</script>\r\n<table width=305 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td valign=top>\r\n\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_AnnuaiRev_MA.gif\" vspace=1></td>\r\n\t\t\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><form action=\"http://micro-achat.01net.com/annuaire/recherche.php\" method=\"post\" name=\"selection\">\r\n\t\t\t\t<td bgcolor=#FFFFDD>\r\n\t\t\t\t<div style=\"border:solid 1px #FFCC00;width:100%\"><div style=\"padding:2px;\"><img src=\"http://www.01net.com/img/v4/MA/carte_revend.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Choisir une r\351gion</b><br></font>\r\n<select name=\"region\" onChange=\"regionChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n<option value=\"Nord-Pas-de-Calais\">Nord-Pas-de-Calais</option>\r\n<option value=\"Haute-Normandie\">Haute-Normandie</option>\r\n<option value=\"Basse-Normandie\">Basse-Normandie</option>\r\n<option value=\"Picardie\">Picardie</option>\r\n<option value=\"Bretagne\">Bretagne</option>\r\n<option value=\"Pays-de-Loire\">Pays-de-Loire</option>\r\n<option value=\"Centre\">Centre</option>\r\n<option value=\"Ile-de-France\">Ile-de-France</option>\r\n<option value=\"Champagnes-Ardennes\">Champagne ardennes</option>\r\n<option value=\"Lorraine\">Lorraine</option>\r\n<option value=\"Alsace\">Alsace</option>\r\n<option value=\"Franche-Compte\">Franche-Compte</option>\r\n<option value=\"Bourgogne\">Bourgogne</option>\r\n<option value=\"Poitou-Charentes\">Poitou-Charentes</option>\r\n<option value=\"Limousin\">Limousin</option>\r\n<option value=\"Auvergne\">Auvergne</option>\r\n<option value=\"Rhone-Alpes\">Rhone-Alpes</option>\r\n<option value=\"Aquitaine\">Aquitaine</option>\r\n<option value=\"Midi-Pyrenees\">Midi-Pyrenees</option>\r\n<option value=\"Languedoc-Roussillon\">Languedoc roussillon</option>\r\n<option value=\"Provence-Alpes-Cote-dazur\">PACA</option>\r\n<option value=\"Corse\">Corse</option>\r\n<option value=\"DomTom\">DomTom</option>\r\n</select>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un d\351partement</b><br></font>\r\n<select name=\"departement\" onChange=\"deptChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n</select>\r\n<div id=\"arrondissement\" style=\"display : none;\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un arrondissement</b><br></font>\r\n<select name=\"arrondissement\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"0\">-------------</option>\r\n<option value=\"1\">I</option>\r\n<option value=\"2\">II</option>\r\n<option value=\"3\">III</option>\r\n<option value=\"4\">IV</option>\r\n<option value=\"5\">V</option>\r\n<option value=\"6\">VI</option>\r\n<option value=\"7\">VII</option>\r\n<option value=\"8\">VIII</option>\r\n<option value=\"9\">IX</option>\r\n<option value=\"10\">X</option>\r\n<option value=\"11\">XI</option>\r\n<option value=\"12\">XII</option>\r\n<option value=\"13\">XIII</option>\r\n<option value=\"14\">XIV</option>\r\n<option value=\"15\">XV</option>\r\n<option value=\"16\">XVI</option>\r\n<option value=\"17\">XVII</option>\r\n<option value=\"18\">XVIII</option>\r\n<option value=\"19\">XIX</option>\r\n<option value=\"20\">XX</option>\r\n</select>\r\n</div>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche directe</b><br></font>\r\n\t\t\t\t<font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\"><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>rechercher une ville<br><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>et/ou une boutique<br></font>\r\n\t\t\t\t<input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;width:130px;\" value=\"\" onFocus=\"javascript:document.selection.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=3><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1>&nbsp;<input type=\"image\" src=\"http://www.01net.com/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\">\r\n\t\t\t\t<table height=23 width=135 cellspacing=0 cellpadding=0 border=0 bgcolor=#FFEE77>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td bgcolor=#FFEE77 valign=middle align=center><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://micro-achat.01net.com/annuaire/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche avanc\351e</b></font></a></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t</td>\r\n\t\t\t</tr></form>\r\n\t\t</table>\r\n\t\t</td>\r\n<!-- DEBUT MicroAchat MA_Telecharg //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/v4/MA/Ban_v4_MA_telec.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#DFECF6\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"></td>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Bureautique\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Bureautique</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Traducteur, organiseur...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Multimedia\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Multim\351dia</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Photo, audio, vid\351o...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Utilitaire\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Utilitaires</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Antivirus, pilotes, gravure...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Personnaliser\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Personnaliser son PC</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Ecrans de veille, th\350mes...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Programmation\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>D\351veloppement</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Cr\351ation de logiciels, BDD...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Jeux\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Jeux</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Action, simulation...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Internet\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Internet</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Utilitaires, email, FTP...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Loisirs\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Loisirs</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Humour, culture...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_Telecharg //--> \t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_AnnTelec --> <!-- - ZONE M2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE M3 -->\r\n<!-- - ZONE M3 -->\r\n<!-- + ZONE M4 -->\r\n<!-- - ZONE M4 -->\r\n<!-- + ZONE M5 -->\r\n<!-- - ZONE M5 -->\r\n<!-- -ZONE_Mn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_tn -->\r\n<!-- + ZONE t0 -->\r\n<!-- - ZONE t0 -->\r\n<!-- + ZONE t1 -->\r\n<!-- - ZONE t1 -->\r\n<!-- + ZONE t2 -->\r\n<!-- - ZONE t2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE t3 -->\r\n<!-- - ZONE t3 -->\r\n<!-- + ZONE t4 -->\r\n<!-- - ZONE t4 -->\r\n<!-- + ZONE t5 -->\r\n<!-- - ZONE t5 -->\r\n<!-- -ZONE_tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td valign=top>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_dn -->\r\n<!-- + ZONE d0 -->\r\n<!-- - ZONE d0 -->\r\n<!-- + ZONE d1 -->\r\n<!-- - ZONE d1 -->\r\n<!-- + ZONE d2 -->\r\n<!-- - ZONE d2 -->\r\n<!-- + ZONE d3 -->\r\n<!-- - ZONE d3 -->\r\n<!-- + ZONE d4 -->\r\n<!-- - ZONE d4 -->\r\n<!-- + ZONE d5 -->\r\n<!-- - ZONE d5 -->\r\n<!-- + ZONE d6 -->\r\n<!-- - ZONE d6 -->\r\n<!-- + ZONE d7 -->\r\n<!-- - ZONE d7 -->\r\n<!-- + ZONE d8 -->\r\n<!-- - ZONE d8 -->\r\n<!-- + ZONE d9 -->\r\n<!-- - ZONE d9 -->\r\n<!-- -ZONE_dn -->\r\n\t\t\t\t</tr>\r\n\t\t\t</table>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t</table>\r\n<!-- FIN WORK -->\r\n\t\t</td>\r\n<!-- *********************************************************************FIN VENTRE********************************************************************************************************************************************** //-->\r\n\t\t<td rowspan=2 valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t\t<td colspan=2>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=100%>\r\n<!-- +ZONE_Bn -->\r\n<!-- + ZONE B0 -->\r\n<!-- - ZONE B0 -->\r\n<!-- + ZONE B1 -->\r\n<tr><!-- ********** DEBUT BLOC Home NosJournauxV4 //-->\r\n<td valign=top bgcolor=#FFFFFF>\r\n<img src=\"http://www.01net.com/img/ban/Ban_v4_jx.gif\"><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1>\r\n<a href=\"http://www.01net.com/rubrique/3339.html\"><img src=\"http://www.01net.com/img/journaux/01I-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/4051.html\"><img src=\"http://www.01net.com/img/journaux/DSI-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/3345.html\"><img src=\"http://www.01net.com/img/journaux/DIN-small.gif content: @ 1099872000000000: 'HTTP/1.1 200 OK\r\nX-Google-Crawl-Date: Mon, 08 Nov 2004 17:22:09 GMT\r\nContent-Type: text/html\r\nConnection: close\r\nX-Powered-By: PHP/4.3.8\r\nServer: Apache/1.3.31 (Unix) mod_gzip/1.3.19.1a PHP/4.3.8\r\nDate: Mon, 08 Nov 2004 17:19:07 GMT\r\n\r\n <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\r\n<BASE target=\"_top\">\r\n\n<TITLE>Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux</TITLE>\r\n<META NAME=\"Description\" CONTENT=\"Micro Achat : Ordinateurs, PDA\">\r\n<META NAME=\"Keywords\" CONTENT=\"Micro Achat : Ordinateurs, PDA - Toute l\'informatique avec 01Informatique, L\'Ordinateur Individuel, Micro Hebdo, D\351cision Informatique et 01R\351seaux\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/01net.css\">\r\n<LINK REL=\"STYLESHEET\" TYPE=\"text/css\" HREF=\"http://www.01net.com/styles/tableau_autre.css\">\r\n<STYLE type=text/css>\r\nA{TEXT-DECORATION: none;color:#000000;}\r\nA:visited{TEXT-DECORATION: none;color:#000000;}\r\n</STYLE>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nvar sameAsBigDay = new Date();\r\nvar ord = (sameAsBigDay.getTime());\r\nvar pubsMotsCles = \"\";\r\nvar exc;\r\nvar lienhautdepage = \"\";\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\nsas_tmstp=Math.round(Math.random()*10000000000);\r\nfunction SmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target) {\r\n if ((sas_master!=\'M\')&&(sas_master!=\'S\')) {sas_master=\'S\'};\r\n document.write(\'<SCR\'+\'IPT SRC=\"http://www.smartadserver.com/call/pubj/\' + sas_pageid + \'/\' + sas_formatid + \'/\'+sas_master + \'/\' + sas_tmstp + \'/\' + escape(sas_target) + \'?\"></SCR\'+\'IPT>\');\r\n}\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\" SRC=\"http://www.01net.com/js/exc.js\"></SCRIPT>\r\n<script language=\"javascript\" src=\"http://telecharger.01net.com/shopping/js/headservicesV4.js\"></script>\r\n<noscript>\r\n<a href=\"http://cinema.01net.com\">T\351l\351charger des bandes-annonces, des teasers, des extraits et des making of de vos films cin\351ma pr\351f\351r\351s</a>,\r\n<a href=\"http://www.01net.com/BusinessTechnologies/\">Portail leader de l\'information sur les nouvelles technologies - Actualites et enquetes sur l\'informatique et les NTIC (nouvelles technologies de l\'information et la communication). Exemples de sujets : e-business, telecoms, CRM, VPN, 3G, DSL, fournisseurs d\'acces, Linux, piratage, securite informatique, progiciel...</a><br>\r\n<a href=\"http://www.01net.com/securite_informatique.html\">s\351curit\351 informatique</a>,\r\n<a href=\"http://www.01net.com/strategies_ntic.html\">strat\351gies NTIC</a>,\r\n<a href=\"http://www.01net.com/piratage_informatique.html\">piratage informatique</a>,\r\n<a href=\"http://www.01net.com/technologie_dsl.html\">technologie DSL</a>,\r\n<a href=\"http://www.01net.com/solutions_vpn.html\">solutions VPN</a>,\r\n<a href=\"http://www.01net.com/strategie_e-business.html\">strat\351gies</a>,\r\n<a href=\"http://www.01net.com/outils_crm.html\">outils CRM</a>,\r\n<a href=\"http://www.01net.com/logiciel_linux.html\">logiciel Linux</a>,\r\n<a href=\"http://www.01net.com/fournisseur_d_acces.html\">fournisseur d\'acc\350s</a>,\r\n<a href=\"http://www.01net.com/progiciel.html\">progiciel</a>,\r\n<a href=\"http://www.01net.com/stockage_de_donnees.html\">stockage de donn\351es</a>,\r\n<a href=\"http://www.01net.com/etudes_solution_informatique.html\">\351tudes solution informatique</a>,\r\n<a href=\"http://www.01net.com/NTIC.html\">NTIC</a>,\r\n<a href=\"http://www.01net.com/actualite_technologie.html\">actualit\351 technologie</a>,\r\n<a href=\"http://www.01net.com/etude_materiel_informatique.html\">\351tude mat\351riel informatique</a>,\r\n<a href=\"http://www.01net.com/actus/\">actualit\351s des nouvelles technologies</a>,\r\n<a href=\"http://www.01net.com/MicroPerso/\">enqu\352tes et trucs et astuces sur le mat\351riel informatique, les logiciels, les fournisseurs d\'acc\350s...</a>,\r\n<a href=\"http://www.01net.com/emploi/\">emploi et formations informatiques : offres d\'emploi informatique...</a>,\r\n<a href=\"http://www.01net.com/produits/\">fiches, tests mat\351riels et logiciels en informatique</a>,\r\n<a href=\"http://www.01net.com/01informatique\">01 Informatique</a>,\r\n<a href=\"http://www.caractere.net\">Caract\350re, le site des professionnels de l\'imprim\351 - communication imprim\351e, \351dition, emballage, encres, finition, flexographie, h\351liogravure, impression, imprimerie, imprimeur, industries graphiques, num\351rique, offset, papier, pr\351presse, presse, print, reprographie, s\351rigraphie, typographie</a>,\r\n<a href=\"http://www.01net.com/decisionmicro\">Decision Micro</a>,\r\n<a href=\"http://www.01net.com/decisioninformatique\">D\351cision Informatique</a>,\r\n<a href=\"http://www.01net.com/01reseaux\">01 R\351seaux</a>,\r\n<a href=\"http://logiciel.telecharger.01net.com/\">logiciel</a>,\r\n<a href=\"http://developpeur.telecharger.01net.com/windows/Programmation/\">d\351veloppeur programmation</a>,\r\n<a href=\"http://anti-virus.telecharger.01net.com\">anti-virus</a>,\r\n<a href=\"http://gravure-cd-dvd.telecharger.01net.com/windows/Utilitaire/gravure/\">gravure cd dvd</a>,\r\n<a href=\"http://codec.telecharger.01net.com/windows/Multimedia/encodeurs_et_decodeurs/\">codec encodeur d\351codeur</a>,\r\n<a href=\"http://software.telecharger.01net.com/\">software</a>,\r\n<a href=\"http://logiciels.telecharger.01net.com/\">logiciels</a>,\r\n<a href=\"http://gratuit.telecharger.01net.com/\">gratuit</a>,\r\n<a href=\"http://p2p.telecharger.01net.com/windows/Internet/partage/\">p2p peer to peer partage de fichiers</a>,\r\n<a href=\"http://securite.telecharger.01net.com/windows/Utilitaire/cryptage_et_securite/\">s\351curit\351</a>,\r\n<a href=\"http://compression-decompression.telecharger.01net.com/windows/Utilitaire/compression_et_decompression/\">compression et d\351compression</a>,\r\n<a href=\"http://divx.telecharger.01net.com/\">divx</a>,\r\n<a href=\"http://utilitaire.telecharger.01net.com/windows/Utilitaire/\">utilitaire</a>,\r\n<a href=\"http://jeux.telecharger.01net.com/windows/Jeux/\">jeux</a>,\r\n<a href=\"http://loisirs.telecharger.01net.com/windows/Loisirs/\">loisirs</a>,\r\n<a href=\"http://mac.telecharger.01net.com/mac/\">mac</a>,\r\n<a href=\"http://linux.telecharger.01net.com/linux/\">linux</a>,\r\n<a href=\"http://shareware.telecharger.01net.com/\">shareware</a>,\r\n<a href=\"http://video-dvd.telecharger.01net.com/windows/Multimedia/lecteurs_video_dvd/\">vid\351o dvd</a>,\r\n<a href=\"http://multimedia.telecharger.01net.com/\">multim\351dia</a>,\r\n<a href=\"http://traduction.telecharger.01net.com/windows/Bureautique/traducteur/\">traduction</a>,\r\n<a href=\"http://mp3.telecharger.01net.com/windows/Multimedia/lecteurs_audio_mp3_cd/\">mp3</a>,\r\n<a href=\"http://tchat.telecharger.01net.com/windows/Internet/communication/\">tchat</a>\r\n<a href=\"http://chat.telecharger.01net.com/windows/Internet/communication/\">chat</a>,\r\n<a href=\"http://musique.telecharger.01net.com/\">musique</a>,\r\n<a href=\"http://mobile.telecharger.01net.com/mobile/\">mobile</a>,\r\n<a href=\"http://telephone_portable.telecharger.01net.com/mobile/\">t\351l\351phone portable</a>,\r\n<a href=\"http://telephone_mobile.telecharger.01net.com/mobile/\">t\351l\351phone mobile</a>\r\n</noscript>\r\n</head>\r\n</head>\r\n<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#000000\" marginwidth=0 marginheight=0 topmargin=0 leftmargin=0>\r\n<!-- + ZONE TETE -->\r\n<!-- ********** DEBUT MODELE INTERNE TETES MHA-tetev4 //-->\r\n<table width=100% height=66 cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td height=8 colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=8></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td valign=bottom><a href=\"http://microachat.01net.com\"><img src=\"http://www.01net.com/img/v4/logos_tete/tet_gauche-mha.gif\" border=0></a></td>\r\n\t\t<td valign=bottom bgcolor=#FFFFFF bbackground=\"http://www.01net.com/img/v4/tet_droite.gif\" width=100% style=\"background-image:url(/img/v4/tet_droite-mha.gif);background-position:bottom;background-repeat:repeat-x\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=66 align=left hspace=0 vspace=0></td>\r\n\t</tr>\r\n</table>\r\n<table width=100% cellspacing=0 cellpadding=0 border=0 bgcolor=#ffffff>\r\n\t<tr>\r\n\t\t<td valign=top background=\"http://www.01net.com/img/v4/fond_date-mha.gif\" height=18 width=500><img src=\"http://www.01net.com/img/dot.gif\" width=500 height=1><br><img src=\"http://www.01net.com/img/dot.gif\" width=19 height=1><font face=\"Arial\" size=1 color=#666666 style=\"font-size: 11px;\"><b>Derni\350re mise \340 jour de cette page : lundi 8 novembre 2004&nbsp;&nbsp;|&nbsp;&nbsp;16:45</b></font></td>\r\n\t\t<td width=100% background=\"http://www.01net.com/img/v4/fond_date2-mha.gif\" height=18></td>\r\n\t</tr>\r\n</table>\r\n<!-- ********** FIN MODELE INTERNE TETES MHA-tetev4 //--> <!-- - ZONE TETE -->\r\n<!-- ***************************************************************************************************************************************************************************************************************************** //-->\r\n<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n<!-- DEBUT PARTIE PUB //-->\r\n\t<tr>\r\n<td align=center valign=middle colspan=2 background=\"http://www.01net.com/img/v4/fond_bann.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br>\r\n<!-- + ZONE Z0 -->\r\n<SCRIPT LANGUAGE=\"JAVASCRIPT\">\r\nvar fa = \"\";\r\nvar fab = document.URL.toString();\r\nif (fab.indexOf(\"?fa\") != -1 || fab.indexOf(\"&fa\") != -1)\r\n{\r\nfa = \";!category=fai\";\r\n}\r\nvar etatmessage = false;\r\nvar enchainement = false;\r\n</SCRIPT>\r\n<SCRIPT LANGUAGE=\"JavaScript1.1\">\r\nsas_pageid=\'167/3872\';\r\nsas_formatid=95;\t\t\t// Format : Banner/Scope 468x60\r\nsas_master=\'M\';\t\t\t// Master : M=master or S=slave\r\nsas_target=exc + \'rubrique\';\t\t\t// Targeting\r\nSmartAdServer(sas_pageid,sas_formatid,sas_master,sas_target);\r\n</SCRIPT>\r\n <!-- - ZONE Z0 --></td>\r\n\t\t<td valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\" ><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n<td valign=top width=100% bgcolor=\"ffffff\" rowspan=3><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=125><br>\r\n<!-- +ZONE_Dn -->\r\n<!-- + ZONE D0 -->\r\n<!-- DEBUT MA_ColD -->\r\n<div style=\"background-color : #ffffff; width : 150px; padding-left : 5px; padding-right : 5px; font-family : Arial, Helvetica;\">\n\t\t\t\t\t<table style=\"border-spacing : 0; width : 146px; margin-top : 0px;\" cellspacing=\"0\">\n\t\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-produitsrecherches.gif\" alt=\"\" /></th></tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Imagerie&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/12537-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/imagerie/moniteurs-lcd/l1720b/\">LG L1720B</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">332.89 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4043-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/veriton-7600g/\">Acer Veriton 7600G</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">705 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Ordinateurs&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1903-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sn95g5/\">Shuttle SN95G5</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">375 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/1259-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/cartes-meres/a7n8x-e-deluxe/\">Asus A7N8X-E Deluxe</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">91.99 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr><tr>\n\t\t\t\t\t\t\t<td style=\"height : 12px; vertical-align : top; padding : 0; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/point.gif); background-repeat: repeat-x; background-position : 0px 3px;\" colspan=\"2\"><span style=\"float : left; position : relative; font-size : 10px; color : #cc0003; background-color : #ffffff;\">Composants&nbsp;</span></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td style=\"width : 65px; vertical-align : top;\"><img src=\"http://micro-achat.01net.com/img/photoproduit/4687-vignette.png\" alt=\"\" style=\"border : 1px solid #000000;\" /></td>\n\t\t\t\t\t\t\t<td style=\"width : 75px; font-size : 11px; font-weight : 700;\">\n\t\t\t\t\t\t\t\t<a style=\"color : #cc0003; text-decoration : none;\" href=\"http://micro-achat.01net.com/guide-produits/composants/ventilateur/sp-94/\">Thermalright SP-94</a>\n\t\t\t\t\t\t\t\t<div style=\"text-align : center; width : 100%; font-size : 9px; font-weight : 100; margin-top : 5px;\">\n\t\t\t\t\t\t\t\t\t\340 partir de\n\t\t\t\t\t\t\t\t\t<div style=\"width : 75px; height : 21px; color : #ffffff; font-size : 12px; font-weight : 700; background-image : url(http://micro-achat.01net.com/img/utils/micro-achat/fond-prix.gif);\"><span style=\"position : relative; top : 3px;\">49 &#128;</span></div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr></table>\n\t\t\t\t<table style=\"border-spacing : 0px 1px; width : 146px; margin-top : 15px;\" cellspacing=\"0\">\n\t\t\t\t<tr><th colspan=\"2\" style=\"padding : 0;\"><img src=\"http://micro-achat.01net.com/img/utils/micro-achat/tete-revendeurmisajour.gif\" alt=\"\" /></th></tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">1 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Rhone-Alpes/Ain/pc-look\" style=\"color : #000000; text-decoration : none;\">PC Look</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">2 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Nord-Pas-de-Calais/Pas-de-Calais/atelier-informatique\" style=\"color : #000000; text-decoration : none;\">Atelier Informatique</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">3 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Val-de-Marne/zanax-multimedia\" style=\"color : #000000; text-decoration : none;\">Zanax Multim\351dia</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">4 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Hauts-de-Seine/misteroops\" style=\"color : #000000; text-decoration : none;\">MISTEROOPS</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">5 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/168-golden-avenue\" style=\"color : #000000; text-decoration : none;\">168 Golden Avenue</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">6 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-Saint-Denis/microchoix\" style=\"color : #000000; text-decoration : none;\">microchoix</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">7 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/12/e-soph\" style=\"color : #000000; text-decoration : none;\">e-Soph</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">8 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Paris/13/pc-price-club\" style=\"color : #000000; text-decoration : none;\">PC Price Club</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ddeeee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">9 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Ile-de-France/Seine-et-Marne/pc-77\" style=\"color : #000000; text-decoration : none;\">PC 77</a></td>\n\t\t\t\t</tr><tr style=\"background-color : #ccddee; font-size : 10px; font-weight : 700; color : #cc0003;\">\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 32px;\">10 <img src=\"http://micro-achat.01net.com/img/utils/micro-achat/flechefine_fondtransp.gif\" alt=\"&gt;\" /></td>\n\t\t\t\t\t<td style=\"border-top : 1px solid #ffffff; width : 110px;\"><a href=\"http://micro-achat.01net.com/annuaire/Alsace/Bas-Rhin/web-in-informatique\" style=\"color : #000000; text-decoration : none;\">Web In Informatique</a></td>\n\t\t\t\t</tr></table>\n\t\t\t\t</div>\n\t\t\t\t<br>\r\n<!-- FIN MA_ColD --> <!-- - ZONE D0 -->\r\n<!-- + ZONE D1 -->\r\n<!-- - ZONE D1 -->\r\n<!-- + ZONE D2 -->\r\n<!-- - ZONE D2 -->\r\n<!-- -ZONE_Dn -->\r\n</td>\r\n\t</tr>\r\n<!-- FIN PARTIE PUB //-->\r\n\t<tr>\r\n\t\t<td valign=top width=193 height=100% background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n\t\t<!-- contenu colonne de gauche //-->\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0 background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<!-- +ZONE_Gn -->\r\n<!-- + ZONE G0 -->\r\n<tr><!-- ********** DEBUT MHA_MenusChainesV4 //-->\r\n<td valign=top>\n<table border=0 cellpadding=0 cellspacing=0 width=193 bgcolor=#FFFFFF>\n<tr>\n<td background=\"/img/v4/menus/motifgauche_menus.gif\" width=20 rowspan=2><img src=\"/img/dot.gif\" width=20 height=20></td>\n<td width=173 colspan=2 bgcolor=#FFFFFF><img src=\"/img/dot.gif\" width=173 height=20></td>\n</tr>\n<tr>\n<td valign=top width=159>\n\n<a href=\"http://www.01net.com\"><img src=\"/img/v4/menus/mha/home01net-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com\"><img src=\"/img/v4/menus/mha/home-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4317.html\"><img src=\"/img/v4/menus/mha/ordinateurs-2.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4318.html\"><img src=\"/img/v4/menus/mha/composants-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4319.html\"><img src=\"/img/v4/menus/mha/stockage-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4320.html\"><img src=\"/img/v4/menus/mha/image-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4321.html\"><img src=\"/img/v4/menus/mha/peripheriques-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4322.html\"><img src=\"/img/v4/menus/mha/reseaux-1.gif\" width=159 border=0></a><br>\n<a href=\"http://microachat.01net.com/rubrique/4323.html\"><img src=\"/img/v4/menus/mha/accessoires-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/guide-produits/\"><img src=\"/img/v4/menus/mha/comparateur-1.gif\" width=159 border=0></a><br>\n<a href=\"http://micro-achat.01net.com/annuaire/\"><img src=\"/img/v4/menus/mha/annuaire-1.gif\" width=159 border=0></a><br></td>\n<td width=14><img src=\"/img/dot.gif\" width=14 height=14></td>\n</tr>\n<tr>\n<td colspan=3><img src=\"/img/v4/menus/bas_menus.gif\" width=193 height=31></td>\n</tr>\n</table></td><!-- ********** FIN MHA_MenusChainesV4 //--> </tr><!-- - ZONE G0 -->\r\n<!-- + ZONE G1 -->\r\n<tr><!-- DEBUT MODELE RUBRIQUE V4ColGaucheMHA //-->\r\n<!-- ********** DEBUT BLOC DernieresNewsTC //-->\r\n<td valign=top>\r\n<!-- DEBUT RECHERCHE MHA -->\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top background=\"http://microachat.01net.com/img/v4/fond_rech_mha.gif\" height=98 style=\"background-repeat:no-repeat;\"><form method=\"get\" name=\"chercher\" action=\"http://www.01net.com/aiguillage_recherche/1,6138,,00.html\"><img src=\"http://microachat.01net.com/img/dot.gif\" width=193 height=17><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"text\" name=\"fullText\" style=\"width:130px;font:12px;\"><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=6><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><select name=\"sousArbo\" style=\"width:130px;font:12px;\">\r\n\t\t\t<option value=\"mha\">dans Micro Achat\r\n\t\t\t<option value=\"cmp\">les prix\r\n\t\t\t<option value=\"ann\">les revendeurs\r\n\t\t\t<option value=\"2641\">tout 01net.\r\n\t\t\t<option value=\"emploi\">les offres d\'emploi\r\n\t\t\t<option value=\"telecharger\"> telecharger.com\r\n\t\t\t<option value=\"web\">le web\r\n\t\t\t</select><br><img src=\"http://microachat.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://microachat.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://microachat.01net.com/img/v4/ok_bloc_recher_mha.gif\" border=\"0\"></form>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10 vspace=0>\r\n<!-- FIN RECHERCHE MHA -->\r\n <!-- modele TCFilColgTitV4 //-->\r\n <table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/ban/Ban_v4_DernieresNews01net.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/256059.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">CD et DVD bient\364t insensibles aux rayures<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255796.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">OpenOffice gagne son service<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"></td>\r\n\t\t\t\t<td valign=top><A HREF=\"http://www.01net.com/article/255731.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">La messagerie en cinq minutes selon Ipswitch<br></font></a><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=2></td>\r\n\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t<td valign=top colspan=2><A HREF=\"http://www.01net.com/actus/\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\">> toutes les news<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t<td colspan=2><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/crochet_bleuhaut_155.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20> <!-- ********** FIN BLOC DernieresNewsTC //-->\r\n<!-- ********** DEBUT BLOC NL_MHA //-->\r\n<SCRIPT language=\"javascript\" src=\"http://www.01net.com/js/lib.js\"></SCRIPT>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"formgen\" method=\"get\" action=\"http://microachat.01net.com/outils/newsletter_MicroAchat.html\" onSubmit=\"return validateForm(this)\">\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/ban/Ban_V4_Newslett.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=153>\r\n\t\t<table width=153 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=10><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefinefd_ffffff.gif\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Recevez chaque jour l\'actualit\351 des produits et des promos<br></font>\r\n\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"email\" size=\"14\" style=\"width:130px;font:12px;\" value=\"entrez votre e-mail\" onFocus=\"javascript:document.formgen.email.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"http://www.01net.com/img/v4/ok_bloc_recher.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#CC0000><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td width=155 colspan=4><img src=\"http://www.01net.com/img/v4/base_newsletters.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n<SCRIPT language=\"Javascript\">\r\ndocument.formgen.email.validator= \'notNullEmailPat\';\r\ndocument.formgen.email.nomvalidator= \'E-mail\';\r\n</SCRIPT>\r\n<!-- ********** FIN BLOC NL_MHA //-->\r\n</td>\r\n</tr>\r\n<tr>\r\n<!-- ********** DEBUT BLOC Actus ActusUneV4 //-->\r\n<td valign=top background=\"http://www.01net.com/img/v4/sepgrisedroite.gif\">\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top>\r\n\t\t<table width=155 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/ban/Ban_v4_LaUne.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/entreprise/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Entreprise</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://www.01net.com/article/255737.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Quand le billet papier s\'envole vers la d\351mat\351rialisation</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255737.html\"><img src=\"http://www.01net.com/img/MEA_v4/billet_virtuel-65.jpg\" border=0></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/pratique/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Trucs et astuces</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255698.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">D\351pannez Windows XP</font></a></td>\r\n\t\t\t\t<td valign=top width=2><img src=\"http://www.01net.com/img/dot.gif\" width=2 height=1></td>\r\n\t\t\t\t<td valign=top><a href=\"http://www.01net.com/article/255698.html\"><img src=\"http://www.01net.com/img/MEA_v4/depannez_XP-65.jpg\" border=0 ></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t</tr>\r\n\t\t <tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/conso/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Conso</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255524.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">Vos photos sur papier imprimante ou labo ?<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t<!-- exemple de lien avec pseudorub pour produits et tests -->\r\n\t\t<!-- <a href=\"/outils/PseudoRub.php?base=test-comp&rub=1730&pseudo=test-comp20041005\"> -->\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=top width=1><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t\t\t<td valign=top colspan=3><a href=\"http://www.01net.com/produits/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b><u>Produits &amp; Tests</u></b><br></font></a>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"/article/255782.html\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 11px; text-decoration:none;\">5 programmes d\222encodage vid\351o gratuits<br></font></a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan=4><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/LaUne_Sep.gif\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t</tr>\r\n</table>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20>\r\n</td>\r\n<!-- ********** FIN BLOC Actus ActusUneV4 //--> </tr>\r\n<tr>\r\n<td>\r\n<table width=193 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" width=10 height=1></td>\r\n\t\t<td valign=top><a href=\"mailto:s.cohen@micro-achat.fr\"><img border=0 src=\"http://www.01net.com/img/v4/espace-revendeurs.gif\"></td>\r\n\t</tr>\r\n</table>\r\n<br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20></td>\r\n<!-- FIN MODELE RUBRIQUE V4ColGaucheMHA //--> </tr><!-- - ZONE G1 -->\r\n<!-- + ZONE G2 -->\r\n<!-- - ZONE G2 -->\r\n<!-- + ZONE G3 -->\r\n<!-- - ZONE G3 -->\r\n<!-- + ZONE G4 -->\r\n<!-- - ZONE G4 -->\r\n<!-- + ZONE G5 -->\r\n<!-- - ZONE G5 -->\r\n<!-- + ZONE G6 -->\r\n<!-- - ZONE G6 -->\r\n<!-- + ZONE G7 -->\r\n<!-- - ZONE G7 -->\r\n<!-- + ZONE G8 -->\r\n<!-- - ZONE G8 -->\r\n<!-- + ZONE G9 -->\r\n<!-- - ZONE G9 -->\r\n<!-- + ZONE GA -->\r\n<!-- - ZONE GA -->\r\n<!-- + ZONE GB -->\r\n<!-- - ZONE GB -->\r\n<!-- + ZONE GC -->\r\n<!-- - ZONE GC -->\r\n<!-- + ZONE GD -->\r\n<!-- - ZONE GD -->\r\n<!-- + ZONE GE -->\r\n<!-- - ZONE GE -->\r\n<!-- + ZONE GF -->\r\n<!-- - ZONE GF -->\r\n<!-- -ZONE_Gn -->\r\n\t\t</table>\r\n\t\t<!-- fin contenu colonne de gauche //-->\r\n\t\t</td>\r\n<!-- ***************************************************************** DEBUT VENTRE*********************************************************************************************************************************************** //-->\r\n<!-- DEBUT WORK -->\r\n\t\t<td valign=top width=625 bgcolor=#ffffff><img src=\"http://www.01net.com/img/dot.gif\" width=625 height=1><br>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_hn -->\r\n<!-- + ZONE h0 -->\r\n<!-- MA_ban_int -->\r\n<td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=\"18\"><br>\r\n<!-- pour ordipda -->\r\n<table width=\"625\" cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td><img src=\"/img/v4/MA/Ban_MA_ordis.gif\"></td>\r\n\t</tr>\r\n</table>\r\n\t</td>\r\n<!-- /MA_ban_int --> <!-- - ZONE h0 -->\r\n<!-- + ZONE h1 -->\r\n<!-- - ZONE h1 -->\r\n<!-- + ZONE h2 -->\r\n<!-- - ZONE h2 -->\r\n<!-- -ZONE_hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Hn -->\r\n<!-- + ZONE H0 -->\r\n<!-- Ma_int_Leader -->\r\n <td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=320>\r\n<tr>\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Un nouvel ultra portable r\351alis\351 par Nec</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/256198.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67509.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Le Versa S940 a un format r\351duit, mais ses performances sont \340 la hauteur.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1663&#160;\200</font>\r\n</td>\r\n<td width=17 background=\"/img/v4/MA/v4-fond-sep-mea-leader.gif\"><img src=\"/img/dot.gif\" width=17 height=1></td>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<td width=144 valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=143 height=1 vspace=0><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:11px;>Portable</font><br>\r\n<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=font-size:14px;><b>Asus pr\351sente trois petits nouveaux dans la gamme A3N</b></font></a><br>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255194.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67168.jpg.res_100-100.jpg\" border=0 hspace=0 vspace=0></a><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n<font face=arial,helvetica size=2 color=#000000 style=font-size:12px;><img src=\"/img/v4/flechefine_fondtransp.gif\">Ces trois portables Centrino int\350grent, entre autres, une webcam et un contr\364leur Wi-Fi.</font><br>\r\n<font face=arial,helvetica size=1 color=#CC0000 style=font-size:12px;>\340 partir de 1346&#160;\200</font>\r\n</td>\r\n<td width=15><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t\t</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_int_Leader --> <!-- - ZONE H0 -->\r\n<!-- + ZONE H1 -->\r\n<!-- - ZONE H1 -->\r\n<!-- + ZONE H2 -->\r\n<!-- MA_BP_MP -->\r\n<td valign=\"top\" width=\"100%\">\r\n\t<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\r\n\t<tr>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_BonPlan -->\r\n<td valign=top>\r\n<img src=\"/img/dot.gif\" width=1 height=18><br>\r\n<table border=0 cellpadding=1 cellspacing=0 width=145 bgcolor=#CC0000>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">BON PLAN</a></font></td>\r\n</tr>\r\n<tr>\r\n<td width=145>\r\n<div style=\"padding:5px;padding-left:5px;padding-fight:5px;margin:0px;margin-left:1px;margin-right:1px;background-color:#FFFFFF;\">\r\n<img src=\"/img/microachat/logo_shuttle_SB83G5.gif\" border=0><br>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:12px;\">Les derni\350res technologies INTEL dans un nouveau design pour ce shuttle haut de gamme, pour un prix abordable.<br></font>\r\n<center><a href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/sb83g5/?fabriquant=1&page=1&tri=titre\"><img src=\"/img/microachat/mea_shuttle_SB83G5.gif\" border=0 vspace=5></a><br></center>\r\n<center>\r\n<font face=arial,helvetica size=2 color=#CC0000 style=\"font-size:13px;\"><b>\340 partir de</b><br>\r\n<div style=\"border:solid 2px #CC0000;width:100px;background-color:#FFCC00;\"><b>415 \200</b></div>\r\n</center>\r\n</div>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td align=center><font face=arial,helvetica size=1 color=#FFFFFF style=\"font-size:11px;\">publicit\351</a></font></td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_BonPlan --> \t</td>\r\n\t<td width=\"15\"><img src=\"/img/dot.gif\" width=\"15\"></td>\r\n\t<td width=\"50%\" valign=\"top\">\r\n\t<!-- DEBUT MicroAchat MA_MeillPrixAct //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=145 height=1><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=18><br>\r\n<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<FORM name=\"prix\" action=\"http://www.micro-achat.01net.com/guide-produits/recherche.php\" method=\"post\">\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/ban/Ban_v4_MeillPrix_MA.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t\t<td width=143>\r\n\t\t<table width=143 cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=6><img src=\"http://www.01net.com/img/dot.gif\" width=6 height=1></td>\r\n\t\t\t\t<td valign=top><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"http://www.01net.com/img/ban/Ban_MA_trouv_ordi.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/desktops/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Desktops</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/portables/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Portables</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/mini-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Mini-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/pda---tablets-pc/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Pda / Tablets-PC</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/apple/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">Apple</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/MA/fleche_rouge_maigre.gif\"><a style=\"font-size: 10px; text-decoration:none;\" href=\"http://micro-achat.01net.com/guide-produits/ordinateurs/gps/\"><font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\">GPS</a><br></font>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=20><br>\r\n\t\t\t\t\t\t\t\t<table width=* cellspacing=0 cellpadding=0 border=0>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td><input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"width:130px;font:12px;\" value=\" recherche directe\" onFocus=\"javascript:document.prix.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=9><br>\r\n\t\t\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1><input type=\"image\" src=\"/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\"></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td width=1 bgcolor=#FFCC00><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td width=145 colspan=3><img src=\"http://www.01net.com/img/v4/MA/base_meillPrix.gif\"></td>\r\n\t\t</FORM>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_MeillPrixAct //--> \t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n<!-- /MA_BP_MP --> <!-- - ZONE H2 -->\r\n<!-- -ZONE_Hn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- +ZONE_Tn -->\r\n<!-- + ZONE T0 -->\r\n <td valign=\"top\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n<tr>\r\n<td width=305><img src=\"http://www.01net.com/img/ban/Ban_v4_DernNews_MA.gif\"><br><img src=\"http://www.01net.com/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n</tr>\r\n<tr>\r\n<td bgcolor=\"#FEF9E0\">\r\n\t<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255149.html\" style=\"color:#000000;text-decoration:none;\">Toshiba consacre deux gammes de machines au multim\351dia</a></b><br>\r\n\t<font color=\"#000000\">Equipement haut de gamme et Windows Media Center sont au menu de ces portables \340 vocation multim\351dia.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Ordinateur&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254686.html\" style=\"color:#000000;text-decoration:none;\">Arriv\351e d\'un Power Mac G5 d\'entr\351e de gamme</a></b><br>\r\n\t<font color=\"#000000\">La firme \340 la pomme propose une station de travail \351volutive et relativement abordable.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>PC&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254549.html\" style=\"color:#000000;text-decoration:none;\">Alienware propose deux machines au look \351trange</a></b><br>\r\n\t<font color=\"#000000\">Aurora et Area 51 sont deux gammes d\'ordinateurs enti\350rement configurables.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t<tr>\r\n\t<td><div style=\"padding:2px;width:100%;\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#CC0000\" style=\"font-size:11px;\"><b>Portable&nbsp;<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/254501.html\" style=\"color:#000000;text-decoration:none;\">Trois nouveaux iBook G4 chez Apple</a></b><br>\r\n\t<font color=\"#000000\">Chez Apple, les portables gagnent en vitesse et communiquent sans fil en standard.<br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=4><br></font></td>\r\n\t</tr>\r\n\t\t\t\t\t<tr>\r\n\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td align=\"right\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4365.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les news</font></a>\r\n\t\t\t</td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n</td> <!-- - ZONE T0 -->\r\n<!-- + ZONE T1 -->\r\n<!-- Ma_derpromo -->\r\n <td valign=\"top\">\r\n<img src=\"/img/dot.gif\" height=13><br>\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td bgcolor=\"#ffffff\"><img src=\"/img/v4/MA/v4-lespromos-mha.gif\"><br><img src=\"/img/v4/MA/v4-tiret-hauts-mha.gif\"></td>\r\n</tr>\r\n</table>\r\n<!-- DEBUT MODELE D\'AFFICHAGE POUR LES n PREMIERS ARTICLES //-->\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255806.html\" class=\"nodeco\"><img src=\"/images/67462.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255806.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Asus A3N15-C Pro</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable autonome et puissant gr\342ce \340 la technologie Intel Centrino.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1170&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255688.html\" class=\"nodeco\"><img src=\"/images/67381.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255688.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>Soltek EQ3702A Miroir</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Ce mini PC est une solution int\351ressante pour les utilisateurs poss\351dant d\351j\340 un \351cran.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>559&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td colspan=\"5\"><img src=\"/img/dot.gif\" width=\"9\"></td>\r\n</tr>\r\n<tr>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"42\" valign=\"top\">\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"/article/255513.html\" class=\"nodeco\"><img src=\"/images/67319.jpg\" border=0 hspace=0 vspace=0 width=\"42\" height=\"42\"></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t</td>\r\n<td width=\"16\"><img src=\"/img/dot.gif\" width=\"16\"></td>\r\n<td width=\"*\" valign=\"top\"><A HREF=\"/article/255513.html\" class=\"nodeco\"><font face=\"arial,helvetica\" size=2 color=\"#000000\" style=\"font-size:11px;\"><b>IBM ThinkPad R51</b></a><br>\r\n&nbsp;<img src=\"/img/v4/flechefine_fondtransp.gif\">Voici un portable complet et pourtant relativement l\351ger.<br></font></td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"5\" align=\"right\">\r\n\t<table width=\"80\" border=\"0\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t<td width=\"76\" align=\"center\" bgcolor=\"#CC0000\">\r\n\t<font face=\"arial,helvetica\" size=2 color=\"#ffffff\" style=\"font-size:11px;\"><b>1299&#160;\200</b></font></td>\r\n\t<td><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t<tr>\r\n\t<td colspan=\"3\"><img src=\"/img/dot.gif\" width=2></td>\r\n\t</tr>\r\n\t</table>\r\n</td>\r\n</tr>\r\n</table>\r\n\t\t\t\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"305\" bgcolor=\"#E9EDFC\">\r\n<tr>\r\n<td><img src=\"http://www.01net.com/img/dot.gif\" height=10></td>\r\n</tr>\r\n<tr>\r\n<td background=\"/img/v4/MA/v4-sep-red-mha.gif\"><img src=\"/img/dot.gif\" height=1></td>\r\n</tr>\r\n<tr>\r\n<td align=\"right\" valign=\"top\">\r\n\t\t\t\t<A HREF=\"http://microachat.01net.com/rubrique/4366.html\" style=\"text-decoration:none;\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 10px;\">> toutes les promos</font></a>\r\n\t\t</td>\r\n</tr>\r\n</table>\r\n</td>\r\n<!-- /Ma_derpromo --> <!-- - ZONE T1 -->\r\n<!-- + ZONE T2 -->\r\n<!-- - ZONE T2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE T3 -->\r\n<!-- DEBUT MicroAchat MA_PubG -->\r\n<td valign=top align=center>\r\n<table border=0 width=320 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45590/[timestamp]?\" target=_blank><img src=\"/img/microachat/Bandeau_FX6021.jpg\" border=0></a></td>\r\n\t\t<td><img src=\"/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubG --> <!-- - ZONE T3 -->\r\n<!-- + ZONE T4 -->\r\n<!-- DEBUT MicroAchat MA_PubD -->\r\n<td valign=top align=center>\r\n<table border=0 width=305 cellpadding=0 cellspacing=0>\r\n\t<tr>\r\n\t\t<td width=305><img src=\"/img/dot.gif\" width=1 height=12><br><a href=\"http://www.smartadserver.com/call/cliccommand/45591/[timestamp]?\" target=_blank><img src=\"/img/microachat/twc_305x125.jpg\" border=0></a></td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_PubD --> <!-- - ZONE T4 -->\r\n<!-- + ZONE T5 -->\r\n<!-- - ZONE T5 -->\r\n<!-- -ZONE_Tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n\t\t\t<td valign=top>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n<!-- +ZONE_gn -->\r\n<!-- + ZONE g0 -->\r\n<!-- - ZONE g0 -->\r\n<!-- + ZONE g1 -->\r\n<!-- - ZONE g1 -->\r\n<!-- + ZONE g2 -->\r\n<!-- - ZONE g2 -->\r\n<!-- + ZONE g3 -->\r\n<!-- - ZONE g3 -->\r\n<!-- + ZONE g4 -->\r\n<!-- - ZONE g4 -->\r\n<!-- + ZONE g5 -->\r\n<!-- - ZONE g5 -->\r\n<!-- + ZONE g6 -->\r\n<!-- - ZONE g6 -->\r\n<!-- + ZONE g7 -->\r\n<!-- - ZONE g7 -->\r\n<!-- + ZONE g8 -->\r\n<!-- - ZONE g8 -->\r\n<!-- + ZONE g9 -->\r\n<!-- - ZONE g9 -->\r\n<!-- -ZONE_gn -->\r\n\t\t\t</table>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t\t\t<tr>\r\n<!-- +ZONE_Mn -->\r\n<!-- + ZONE M0 -->\r\n<!-- modele Ma_GuideAch //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_GuideAchat_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t<!-- ****DEBUT EXTRACTION OBJET XML *********** //-->\r\n<!-- ****FIN EXTRACTION OBJET XML *********** //-->\r\n<center>\r\n<!--debut insertion image //-->\r\n\t\t\t\t\t \t \t\t\t\t\t\t\t\t\t\t\t\t\t<A HREF=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><img src=\"/images/67088.jpg.res_121-111.jpg\" border=0 hspace=0 vspace=0></a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t \t<!-- fin insertion image //-->\r\n</center>\r\n<div style=\"padding:5px;\">\r\n<a href=\"http://microachat.01net.com/article/254561.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\"><b>Les graveurs de DVD</b><br></font></a>\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Quel graveur choisir&#160;? Quel type de format&#160;? Quelle vitesse&#160;? Double couche ou simple couche&#160;? Voici tout ce qu\'il faut savoir pour faire le bon choix.</font></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M0 -->\r\n<!-- + ZONE M1 -->\r\n<!-- modele Ma_DirectLab //-->\r\n <td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t<tr>\r\n\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_DirectLab_MA.gif\" vspace=1></td>\r\n\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<div style=\"border:solid 1px #FFCC00;width:100%\">\r\n\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255744.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Kodak EasyShare Printer Dock Plus&#160;:</b>\r\n\t\t\t\t\t\tvos photos 10&#160;x&#160;15&#160;cm en 60&#160;secondes</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255780.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>3DMark05&#160;:</b>\r\n\t\t\t\t\t\tun labo 3D \340 domicile</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255691.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>DVDInfoPro 2.6</b>\r\n\t\t\t\t\t\treconna\356t CD et DVD</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255722.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">\t\t\t\t\t\t\t<b>Scaleo PA D3008, de Fujitsu-Siemens&#160;:</b>\r\n\t\t\t\t\t\tune impression d\'inachev\351</font></a></div>\r\n\t\t\t\t<div style=\"padding:4px;\">\r\n<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://microachat.01net.com/article/255514.html\" style=\"text-decoration:none;color:#000000;\"><font face=arial,helvetica size=2 color=#000000 style=\"font-size:12px;\">Carbon 5&#160;Go&#160;: 2&#160;500&#160;chansons dans le creux de la main</font></a></div>\r\n\t\t\t</div></td>\r\n\t</tr>\r\n</table>\r\n</td> <!-- - ZONE M1 -->\r\n<!-- + ZONE M2 -->\r\n<!-- DEBUT MicroAchat MA_AnnTelec -->\r\n<td valign=top>\r\n<script type=\"text/javascript\">\r\nfunction regionChange()\r\n{\r\ndocument.selection.departement.options.length=0;\r\nswitch(document.selection.region.value)\r\n\t{\r\n\t\tcase \"aucun\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Nord-Pas-de-Calais\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pas-de-Calais\", \"Pas-de-Calais\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nord\", \"Nord\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Haute-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure\", \"Eure\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Maritime\", \"Seine-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Basse-Normandie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Manche\", \"Manche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Calvados\", \"Calvados\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Orne\", \"Orne\");\r\n\t\tbreak;\r\n\t\tcase \"Picardie\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Somme\", \"Somme\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Oise\", \"Oise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aisne\", \"Aisne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bretagne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Finistere\", \"Finistere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cotes-dArmor\", \"Cotes-dArmor\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Morbihan\", \"Morbihan\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ille-et-Vilaine\", \"Ille-et-Vilaine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Pays-de-Loire\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire-Atlantique\", \"Loire-Atlantique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vendee\", \"Vendee\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Maine-et-Loire\", \"Maine-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayenne\", \"Mayenne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Sarthe\", \"Sarthe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Centre\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Eure-et-Loir\", \"Eure-et-Loir\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loiret\", \"Loiret\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loir-et-Cher\", \"Loir-et-Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre-et-Loire\", \"Indre-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Indre\", \"Indre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cher\", \"Cher\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Ile-de-France\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-dOise\", \"Val-dOise\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yvelines\", \"Yvelines\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Essonne\", \"Essonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-et-Marne\", \"Seine-et-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hauts-de-Seine\", \"Hauts-de-Seine\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Seine-Saint-Denis\", \"Seine-Saint-Denis\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Val-de-Marne\", \"Val-de-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Paris\", \"Paris\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Champagnes-Ardennes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardennes\", \"Ardennes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Marne\", \"Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aube\", \"Aube\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Marne\", \"Haute-Marne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Lorraine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vosges\", \"Vosges\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meurthe-et-Moselle\", \"Meurthe-et-Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Meuse\", \"Meuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Moselle\", \"Moselle\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Alsace\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bas-Rhin\", \"Bas-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haut-Rhin\", \"Haut-Rhin\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Franche-Compte\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Jura\", \"Jura\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Doubs\", \"Doubs\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Saone\", \"Haute-Saone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Territoire-de-Belfort\", \"Territoire-de-Belfort\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Bourgogne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Yonne\", \"Yonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Nievre\", \"Nievre\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cote-dOr\", \"Cote-dOr\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Saone-et-Loire\", \"Saone-et-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Poitou-Charentes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Deux-Sevres\", \"Deux-Sevres\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente-Maritime\", \"Charente-Maritime\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Charente\", \"Charente\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vienne\", \"Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Limousin\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Vienne\", \"Haute-Vienne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Correze\", \"Correze\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Creuse\", \"Creuse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Auvergne\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Allier\", \"Allier\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Puy-de-Dome\", \"Puy-de-Dome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Cantal\", \"Cantal\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Loire\", \"Haute-Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Rhone-Alpes\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Loire\", \"Loire\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Rhone\", \"Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ain\", \"Ain\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ardeche\", \"Ardeche\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Drome\", \"Drome\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Isere\", \"Isere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Savoie\", \"Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Savoie\", \"Haute-Savoie\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Aquitaine\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gironde\", \"Gironde\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Landes\", \"Landes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Atlantiques\", \"Pyrenees-Atlantiques\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot-et-Garonne\", \"Lot-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Dordogne\", \"Dordogne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Midi-Pyrenees\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lot\", \"Lot\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn-et-Garonne\", \"Tarn-et-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gers\", \"Gers\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Pyrenees\", \"Hautes-Pyrenees\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Garonne\", \"Haute-Garonne\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Ariege\", \"Ariege\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Tarn\", \"Tarn\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aveyron\", \"Aveyron\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Languedoc-Roussillon\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Pyrenees-Orientales\", \"Pyrenees-Orientales\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Aude\", \"Aude\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Herault\", \"Herault\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Gard\", \"Gard\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Lozere\", \"Lozere\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Provence-Alpes-Cote-dazur\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Bouches-du-Rhone\", \"Bouches-du-Rhone\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Vaucluse\", \"Vaucluse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-de-haute-Provence\", \"Alpes-de-haute-Provence\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Hautes-Alpes\", \"Hautes-Alpes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Var\", \"Var\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Alpes-Maritimes\", \"Alpes-Maritimes\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"Corse\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Corse-du-Sud\", \"Corse-du-Sud\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Haute-Corse\", \"Haute-Corse\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t\tcase \"DomTom\" :\r\n\t\t\tvar o=new Option(\"D\351partement\", \"aucun\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guadeloupe\", \"Guadeloupe\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Guyane\", \"Guyane\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"La-Reunion\", \"La-Reunion\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Martinique\", \"Martinique\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"Mayotte\", \"Mayotte\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\t\tvar o=new Option(\"St-Pierre-et-Miquelon\", \"St-Pierre-et-Miquelon\");\r\n\t\t\tdocument.selection.departement.options[document.selection.departement.options.length]=o;\r\n\t\tbreak;\r\n\t}\r\n}\r\nfunction deptChange()\r\n{\r\nif (document.selection.departement.value == \'Paris\')\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'inline\';\r\nelse\r\n\tdocument.getElementById(\'arrondissement\').style.display = \'none\';\r\n}\r\n</script>\r\n<table width=305 cellspacing=0 cellpadding=0 border=0>\r\n\t<tr>\r\n\t\t<td valign=top>\r\n\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=160>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width=145><img src=\"http://www.01net.com/img/ban/Ban_v4_AnnuaiRev_MA.gif\" vspace=1></td>\r\n\t\t\t\t<td rowspan=2 width=15><img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><form action=\"http://micro-achat.01net.com/annuaire/recherche.php\" method=\"post\" name=\"selection\">\r\n\t\t\t\t<td bgcolor=#FFFFDD>\r\n\t\t\t\t<div style=\"border:solid 1px #FFCC00;width:100%\"><div style=\"padding:2px;\"><img src=\"http://www.01net.com/img/v4/MA/carte_revend.gif\"><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Choisir une r\351gion</b><br></font>\r\n<select name=\"region\" onChange=\"regionChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n<option value=\"Nord-Pas-de-Calais\">Nord-Pas-de-Calais</option>\r\n<option value=\"Haute-Normandie\">Haute-Normandie</option>\r\n<option value=\"Basse-Normandie\">Basse-Normandie</option>\r\n<option value=\"Picardie\">Picardie</option>\r\n<option value=\"Bretagne\">Bretagne</option>\r\n<option value=\"Pays-de-Loire\">Pays-de-Loire</option>\r\n<option value=\"Centre\">Centre</option>\r\n<option value=\"Ile-de-France\">Ile-de-France</option>\r\n<option value=\"Champagnes-Ardennes\">Champagne ardennes</option>\r\n<option value=\"Lorraine\">Lorraine</option>\r\n<option value=\"Alsace\">Alsace</option>\r\n<option value=\"Franche-Compte\">Franche-Compte</option>\r\n<option value=\"Bourgogne\">Bourgogne</option>\r\n<option value=\"Poitou-Charentes\">Poitou-Charentes</option>\r\n<option value=\"Limousin\">Limousin</option>\r\n<option value=\"Auvergne\">Auvergne</option>\r\n<option value=\"Rhone-Alpes\">Rhone-Alpes</option>\r\n<option value=\"Aquitaine\">Aquitaine</option>\r\n<option value=\"Midi-Pyrenees\">Midi-Pyrenees</option>\r\n<option value=\"Languedoc-Roussillon\">Languedoc roussillon</option>\r\n<option value=\"Provence-Alpes-Cote-dazur\">PACA</option>\r\n<option value=\"Corse\">Corse</option>\r\n<option value=\"DomTom\">DomTom</option>\r\n</select>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un d\351partement</b><br></font>\r\n<select name=\"departement\" onChange=\"deptChange()\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"aucun\">-------------</option>\r\n</select>\r\n<div id=\"arrondissement\" style=\"display : none;\">\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=5><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Un arrondissement</b><br></font>\r\n<select name=\"arrondissement\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;\">\r\n<option value=\"0\">-------------</option>\r\n<option value=\"1\">I</option>\r\n<option value=\"2\">II</option>\r\n<option value=\"3\">III</option>\r\n<option value=\"4\">IV</option>\r\n<option value=\"5\">V</option>\r\n<option value=\"6\">VI</option>\r\n<option value=\"7\">VII</option>\r\n<option value=\"8\">VIII</option>\r\n<option value=\"9\">IX</option>\r\n<option value=\"10\">X</option>\r\n<option value=\"11\">XI</option>\r\n<option value=\"12\">XII</option>\r\n<option value=\"13\">XIII</option>\r\n<option value=\"14\">XIV</option>\r\n<option value=\"15\">XV</option>\r\n<option value=\"16\">XVI</option>\r\n<option value=\"17\">XVII</option>\r\n<option value=\"18\">XVIII</option>\r\n<option value=\"19\">XIX</option>\r\n<option value=\"20\">XX</option>\r\n</select>\r\n</div>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=10><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche directe</b><br></font>\r\n\t\t\t\t<font face=\"Arial\" size=1 color=#000000 style=\"font-size: 10px; text-decoration:none;\"><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>rechercher une ville<br><img src=\"http://www.01net.com/img/dot.gif\" width=8 height=1>et/ou une boutique<br></font>\r\n\t\t\t\t<input type=\"text\" name=\"recherchedirecte\" size=\"14\" style=\"display : block; font-size:9px;font-variant:arial,helvetica,sans-serif;width:130px;\" value=\"\" onFocus=\"javascript:document.selection.recherchedirecte.value=\'\'\"><br><img src=\"http://www.01net.com/img/dot.gif\" width=1 height=3><br>\r\n\t\t\t\t<img src=\"http://www.01net.com/img/dot.gif\" width=28 height=1>&nbsp;<input type=\"image\" src=\"http://www.01net.com/img/v4/MA/ok_bloc_recher_MA.gif\" border=\"0\">\r\n\t\t\t\t<table height=23 width=135 cellspacing=0 cellpadding=0 border=0 bgcolor=#FFEE77>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td bgcolor=#FFEE77 valign=middle align=center><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://micro-achat.01net.com/annuaire/\"><font face=\"Arial\" size=1 color=#CC0000 style=\"font-size: 11px; text-decoration:none;\"><b>Recherche avanc\351e</b></font></a></td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t</td>\r\n\t\t\t</tr></form>\r\n\t\t</table>\r\n\t\t</td>\r\n<!-- DEBUT MicroAchat MA_Telecharg //-->\r\n<td valign=top>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=13><br>\r\n<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/v4/MA/Ban_v4_MA_telec.gif\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>\r\n\t\t<table width=\"145\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#DFECF6\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"></td>\r\n\t\t\t\t<td rowspan=\"17\"><img src=\"http://www.01net.com/img/dot.gif\" width=\"6\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Bureautique\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Bureautique</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Traducteur, organiseur...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Multimedia\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Multim\351dia</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Photo, audio, vid\351o...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Utilitaire\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Utilitaires</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Antivirus, pilotes, gravure...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Personnaliser\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Personnaliser son PC</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Ecrans de veille, th\350mes...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Programmation\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>D\351veloppement</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Cr\351ation de logiciels, BDD...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Jeux\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Jeux</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Action, simulation...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Internet\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Internet</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Utilitaires, email, FTP...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br><img src=\"http://www.01net.com/img/v4/flechefine_fondtransp.gif\"><a href=\"http://telecharger.01net.com/windows/Loisirs\" class=\"nodeco\"><font face=\"Arial,Helvetica\" size=\"2\" color=\"#124478\" style=\"font-size: 12px;\"><b>Loisirs</b></a><br></font>\r\n\t\t\t\t<font face=\"Arial,Helvetica\" size=\"2\" color=\"#000000\" style=\"font-size: 10px;\">Humour, culture...<br></font><img src=\"http://www.01net.com/img/dot.gif\" height=\"3\"><br>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td background=\"http://www.01net.com/img/v4/MA/v4-sep-blue-mha.gif\"><img src=\"http://www.01net.com/img/dot.gif\" height=\"1\"></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_Telecharg //--> \t</tr>\r\n</table>\r\n</td>\r\n<!-- FIN MicroAchat MA_AnnTelec --> <!-- - ZONE M2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE M3 -->\r\n<!-- - ZONE M3 -->\r\n<!-- + ZONE M4 -->\r\n<!-- - ZONE M4 -->\r\n<!-- + ZONE M5 -->\r\n<!-- - ZONE M5 -->\r\n<!-- -ZONE_Mn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_tn -->\r\n<!-- + ZONE t0 -->\r\n<!-- - ZONE t0 -->\r\n<!-- + ZONE t1 -->\r\n<!-- - ZONE t1 -->\r\n<!-- + ZONE t2 -->\r\n<!-- - ZONE t2 -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t<table width=100% cellspacing=0 cellpadding=0 border=0>\r\n\t\t<tr>\r\n<!-- + ZONE t3 -->\r\n<!-- - ZONE t3 -->\r\n<!-- + ZONE t4 -->\r\n<!-- - ZONE t4 -->\r\n<!-- + ZONE t5 -->\r\n<!-- - ZONE t5 -->\r\n<!-- -ZONE_tn -->\r\n\t\t</tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td valign=top>\r\n\t\t<table border=0 cellpadding=0 cellspacing=0 width=*>\r\n\t\t<tr>\r\n<!-- +ZONE_dn -->\r\n<!-- + ZONE d0 -->\r\n<!-- - ZONE d0 -->\r\n<!-- + ZONE d1 -->\r\n<!-- - ZONE d1 -->\r\n<!-- + ZONE d2 -->\r\n<!-- - ZONE d2 -->\r\n<!-- + ZONE d3 -->\r\n<!-- - ZONE d3 -->\r\n<!-- + ZONE d4 -->\r\n<!-- - ZONE d4 -->\r\n<!-- + ZONE d5 -->\r\n<!-- - ZONE d5 -->\r\n<!-- + ZONE d6 -->\r\n<!-- - ZONE d6 -->\r\n<!-- + ZONE d7 -->\r\n<!-- - ZONE d7 -->\r\n<!-- + ZONE d8 -->\r\n<!-- - ZONE d8 -->\r\n<!-- + ZONE d9 -->\r\n<!-- - ZONE d9 -->\r\n<!-- -ZONE_dn -->\r\n\t\t\t\t</tr>\r\n\t\t\t</table>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t</table>\r\n<!-- FIN WORK -->\r\n\t\t</td>\r\n<!-- *********************************************************************FIN VENTRE********************************************************************************************************************************************** //-->\r\n\t\t<td rowspan=2 valign=top width=23 background=\"http://www.01net.com/img/v4/sep_verticale.gif\"><img src=\"http://www.01net.com/img/dot.gif\" width=23 height=1><br></td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t\t<td colspan=2>\r\n\t\t\t<table border=0 cellpadding=0 cellspacing=0 width=100%>\r\n<!-- +ZONE_Bn -->\r\n<!-- + ZONE B0 -->\r\n<!-- - ZONE B0 -->\r\n<!-- + ZONE B1 -->\r\n<tr><!-- ********** DEBUT BLOC Home NosJournauxV4 //-->\r\n<td valign=top bgcolor=#FFFFFF>\r\n<img src=\"http://www.01net.com/img/ban/Ban_v4_jx.gif\"><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=1 height=15><br>\r\n<img src=\"http://www.01net.com/img/dot.gif\" width=15 height=1>\r\n<a href=\"http://www.01net.com/rubrique/3339.html\"><img src=\"http://www.01net.com/img/journaux/01I-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/4051.html\"><img src=\"http://www.01net.com/img/journaux/DSI-small.gif\" border=0 vspace=0 hspace=12 align=top></a>\r\n<a href=\"http://www.01net.com/rubrique/3345.html\"><img src=\"http://www.01net.com/img/journaux/DIN-small.gif \ No newline at end of file
diff --git a/snappy-1.1.0/testdata/kennedy.xls b/snappy-1.1.0/testdata/kennedy.xls
new file mode 100644
index 0000000..9a85115
--- /dev/null
+++ b/snappy-1.1.0/testdata/kennedy.xls
Binary files differ
diff --git a/snappy-1.1.0/testdata/kppkn.gtb b/snappy-1.1.0/testdata/kppkn.gtb
new file mode 100644
index 0000000..8ccea79
--- /dev/null
+++ b/snappy-1.1.0/testdata/kppkn.gtb
Binary files differ
diff --git a/snappy-1.1.0/testdata/lcet10.txt b/snappy-1.1.0/testdata/lcet10.txt
new file mode 100644
index 0000000..25dda6b
--- /dev/null
+++ b/snappy-1.1.0/testdata/lcet10.txt
@@ -0,0 +1,7519 @@
+
+
+The Project Gutenberg Etext of LOC WORKSHOP ON ELECTRONIC TEXTS
+
+
+
+
+ WORKSHOP ON ELECTRONIC TEXTS
+
+ PROCEEDINGS
+
+
+
+ Edited by James Daly
+
+
+
+
+
+
+
+ 9-10 June 1992
+
+
+ Library of Congress
+ Washington, D.C.
+
+
+
+ Supported by a Grant from the David and Lucile Packard Foundation
+
+
+ *** *** *** ****** *** *** ***
+
+
+ TABLE OF CONTENTS
+
+
+Acknowledgements
+
+Introduction
+
+Proceedings
+ Welcome
+ Prosser Gifford and Carl Fleischhauer
+
+ Session I. Content in a New Form: Who Will Use It and What Will They Do?
+ James Daly (Moderator)
+ Avra Michelson, Overview
+ Susan H. Veccia, User Evaluation
+ Joanne Freeman, Beyond the Scholar
+ Discussion
+
+ Session II. Show and Tell
+ Jacqueline Hess (Moderator)
+ Elli Mylonas, Perseus Project
+ Discussion
+ Eric M. Calaluca, Patrologia Latina Database
+ Carl Fleischhauer and Ricky Erway, American Memory
+ Discussion
+ Dorothy Twohig, The Papers of George Washington
+ Discussion
+ Maria L. Lebron, The Online Journal of Current Clinical Trials
+ Discussion
+ Lynne K. Personius, Cornell mathematics books
+ Discussion
+
+ Session III. Distribution, Networks, and Networking:
+ Options for Dissemination
+ Robert G. Zich (Moderator)
+ Clifford A. Lynch
+ Discussion
+ Howard Besser
+ Discussion
+ Ronald L. Larsen
+ Edwin B. Brownrigg
+ Discussion
+
+ Session IV. Image Capture, Text Capture, Overview of Text and
+ Image Storage Formats
+ William L. Hooton (Moderator)
+ A) Principal Methods for Image Capture of Text:
+ direct scanning, use of microform
+ Anne R. Kenney
+ Pamela Q.J. Andre
+ Judith A. Zidar
+ Donald J. Waters
+ Discussion
+ B) Special Problems: bound volumes, conservation,
+ reproducing printed halftones
+ George Thoma
+ Carl Fleischhauer
+ Discussion
+ C) Image Standards and Implications for Preservation
+ Jean Baronas
+ Patricia Battin
+ Discussion
+ D) Text Conversion: OCR vs. rekeying, standards of accuracy
+ and use of imperfect texts, service bureaus
+ Michael Lesk
+ Ricky Erway
+ Judith A. Zidar
+ Discussion
+
+ Session V. Approaches to Preparing Electronic Texts
+ Susan Hockey (Moderator)
+ Stuart Weibel
+ Discussion
+ C.M. Sperberg-McQueen
+ Discussion
+ Eric M. Calaluca
+ Discussion
+
+ Session VI. Copyright Issues
+ Marybeth Peters
+
+ Session VII. Conclusion
+ Prosser Gifford (Moderator)
+ General discussion
+
+Appendix I: Program
+
+Appendix II: Abstracts
+
+Appendix III: Directory of Participants
+
+
+ *** *** *** ****** *** *** ***
+
+
+ Acknowledgements
+
+I would like to thank Carl Fleischhauer and Prosser Gifford for the
+opportunity to learn about areas of human activity unknown to me a scant
+ten months ago, and the David and Lucile Packard Foundation for
+supporting that opportunity. The help given by others is acknowledged on
+a separate page.
+
+ 19 October 1992
+
+
+ *** *** *** ****** *** *** ***
+
+
+ INTRODUCTION
+
+The Workshop on Electronic Texts (1) drew together representatives of
+various projects and interest groups to compare ideas, beliefs,
+experiences, and, in particular, methods of placing and presenting
+historical textual materials in computerized form. Most attendees gained
+much in insight and outlook from the event. But the assembly did not
+form a new nation, or, to put it another way, the diversity of projects
+and interests was too great to draw the representatives into a cohesive,
+action-oriented body.(2)
+
+Everyone attending the Workshop shared an interest in preserving and
+providing access to historical texts. But within this broad field the
+attendees represented a variety of formal, informal, figurative, and
+literal groups, with many individuals belonging to more than one. These
+groups may be defined roughly according to the following topics or
+activities:
+
+* Imaging
+* Searchable coded texts
+* National and international computer networks
+* CD-ROM production and dissemination
+* Methods and technology for converting older paper materials into
+electronic form
+* Study of the use of digital materials by scholars and others
+
+This summary is arranged thematically and does not follow the actual
+sequence of presentations.
+
+NOTES:
+ (1) In this document, the phrase electronic text is used to mean
+ any computerized reproduction or version of a document, book,
+ article, or manuscript (including images), and not merely a machine-
+ readable or machine-searchable text.
+
+ (2) The Workshop was held at the Library of Congress on 9-10 June
+ 1992, with funding from the David and Lucile Packard Foundation.
+ The document that follows represents a summary of the presentations
+ made at the Workshop and was compiled by James DALY. This
+ introduction was written by DALY and Carl FLEISCHHAUER.
+
+
+PRESERVATION AND IMAGING
+
+Preservation, as that term is used by archivists,(3) was most explicitly
+discussed in the context of imaging. Anne KENNEY and Lynne PERSONIUS
+explained how the concept of a faithful copy and the user-friendliness of
+the traditional book have guided their project at Cornell University.(4)
+Although interested in computerized dissemination, participants in the
+Cornell project are creating digital image sets of older books in the
+public domain as a source for a fresh paper facsimile or, in a future
+phase, microfilm. The books returned to the library shelves are
+high-quality and useful replacements on acid-free paper that should last
+a long time. To date, the Cornell project has placed little or no
+emphasis on creating searchable texts; one would not be surprised to find
+that the project participants view such texts as new editions, and thus
+not as faithful reproductions.
+
+In her talk on preservation, Patricia BATTIN struck an ecumenical and
+flexible note as she endorsed the creation and dissemination of a variety
+of types of digital copies. Do not be too narrow in defining what counts
+as a preservation element, BATTIN counseled; for the present, at least,
+digital copies made with preservation in mind cannot be as narrowly
+standardized as, say, microfilm copies with the same objective. Setting
+standards precipitously can inhibit creativity, but delay can result in
+chaos, she advised.
+
+In part, BATTIN's position reflected the unsettled nature of image-format
+standards, and attendees could hear echoes of this unsettledness in the
+comments of various speakers. For example, Jean BARONAS reviewed the
+status of several formal standards moving through committees of experts;
+and Clifford LYNCH encouraged the use of a new guideline for transmitting
+document images on Internet. Testimony from participants in the National
+Agricultural Library's (NAL) Text Digitization Program and LC's American
+Memory project highlighted some of the challenges to the actual creation
+or interchange of images, including difficulties in converting
+preservation microfilm to digital form. Donald WATERS reported on the
+progress of a master plan for a project at Yale University to convert
+books on microfilm to digital image sets, Project Open Book (POB).
+
+The Workshop offered rather less of an imaging practicum than planned,
+but "how-to" hints emerge at various points, for example, throughout
+KENNEY's presentation and in the discussion of arcana such as
+thresholding and dithering offered by George THOMA and FLEISCHHAUER.
+
+NOTES:
+ (3) Although there is a sense in which any reproductions of
+ historical materials preserve the human record, specialists in the
+ field have developed particular guidelines for the creation of
+ acceptable preservation copies.
+
+ (4) Titles and affiliations of presenters are given at the
+ beginning of their respective talks and in the Directory of
+ Participants (Appendix III).
+
+
+THE MACHINE-READABLE TEXT: MARKUP AND USE
+
+The sections of the Workshop that dealt with machine-readable text tended
+to be more concerned with access and use than with preservation, at least
+in the narrow technical sense. Michael SPERBERG-McQUEEN made a forceful
+presentation on the Text Encoding Initiative's (TEI) implementation of
+the Standard Generalized Markup Language (SGML). His ideas were echoed
+by Susan HOCKEY, Elli MYLONAS, and Stuart WEIBEL. While the
+presentations made by the TEI advocates contained no practicum, their
+discussion focused on the value of the finished product, what the
+European Community calls reusability, but what may also be termed
+durability. They argued that marking up--that is, coding--a text in a
+well-conceived way will permit it to be moved from one computer
+environment to another, as well as to be used by various users. Two
+kinds of markup were distinguished: 1) procedural markup, which
+describes the features of a text (e.g., dots on a page), and 2)
+descriptive markup, which describes the structure or elements of a
+document (e.g., chapters, paragraphs, and front matter).
+
+The TEI proponents emphasized the importance of texts to scholarship.
+They explained how heavily coded (and thus analyzed and annotated) texts
+can underlie research, play a role in scholarly communication, and
+facilitate classroom teaching. SPERBERG-McQUEEN reminded listeners that
+a written or printed item (e.g., a particular edition of a book) is
+merely a representation of the abstraction we call a text. To concern
+ourselves with faithfully reproducing a printed instance of the text,
+SPERBERG-McQUEEN argued, is to concern ourselves with the representation
+of a representation ("images as simulacra for the text"). The TEI proponents'
+interest in images tends to focus on corollary materials for use in teaching,
+for example, photographs of the Acropolis to accompany a Greek text.
+
+By the end of the Workshop, SPERBERG-McQUEEN confessed to having been
+converted to a limited extent to the view that electronic images
+constitute a promising alternative to microfilming; indeed, an
+alternative probably superior to microfilming. But he was not convinced
+that electronic images constitute a serious attempt to represent text in
+electronic form. HOCKEY and MYLONAS also conceded that their experience
+at the Pierce Symposium the previous week at Georgetown University and
+the present conference at the Library of Congress had compelled them to
+reevaluate their perspective on the usefulness of text as images.
+Attendees could see that the text and image advocates were in
+constructive tension, so to say.
+
+Three nonTEI presentations described approaches to preparing
+machine-readable text that are less rigorous and thus less expensive. In
+the case of the Papers of George Washington, Dorothy TWOHIG explained
+that the digital version will provide a not-quite-perfect rendering of
+the transcribed text--some 135,000 documents, available for research
+during the decades while the perfect or print version is completed.
+Members of the American Memory team and the staff of NAL's Text
+Digitization Program (see below) also outlined a middle ground concerning
+searchable texts. In the case of American Memory, contractors produce
+texts with about 99-percent accuracy that serve as "browse" or
+"reference" versions of written or printed originals. End users who need
+faithful copies or perfect renditions must refer to accompanying sets of
+digital facsimile images or consult copies of the originals in a nearby
+library or archive. American Memory staff argued that the high cost of
+producing 100-percent accurate copies would prevent LC from offering
+access to large parts of its collections.
+
+
+THE MACHINE-READABLE TEXT: METHODS OF CONVERSION
+
+Although the Workshop did not include a systematic examination of the
+methods for converting texts from paper (or from facsimile images) into
+machine-readable form, nevertheless, various speakers touched upon this
+matter. For example, WEIBEL reported that OCLC has experimented with a
+merging of multiple optical character recognition systems that will
+reduce errors from an unacceptable rate of 5 characters out of every
+l,000 to an unacceptable rate of 2 characters out of every l,000.
+
+Pamela ANDRE presented an overview of NAL's Text Digitization Program and
+Judith ZIDAR discussed the technical details. ZIDAR explained how NAL
+purchased hardware and software capable of performing optical character
+recognition (OCR) and text conversion and used its own staff to convert
+texts. The process, ZIDAR said, required extensive editing and project
+staff found themselves considering alternatives, including rekeying
+and/or creating abstracts or summaries of texts. NAL reckoned costs at
+$7 per page. By way of contrast, Ricky ERWAY explained that American
+Memory had decided from the start to contract out conversion to external
+service bureaus. The criteria used to select these contractors were cost
+and quality of results, as opposed to methods of conversion. ERWAY noted
+that historical documents or books often do not lend themselves to OCR.
+Bound materials represent a special problem. In her experience, quality
+control--inspecting incoming materials, counting errors in samples--posed
+the most time-consuming aspect of contracting out conversion. ERWAY
+reckoned American Memory's costs at $4 per page, but cautioned that fewer
+cost-elements had been included than in NAL's figure.
+
+
+OPTIONS FOR DISSEMINATION
+
+The topic of dissemination proper emerged at various points during the
+Workshop. At the session devoted to national and international computer
+networks, LYNCH, Howard BESSER, Ronald LARSEN, and Edwin BROWNRIGG
+highlighted the virtues of Internet today and of the network that will
+evolve from Internet. Listeners could discern in these narratives a
+vision of an information democracy in which millions of citizens freely
+find and use what they need. LYNCH noted that a lack of standards
+inhibits disseminating multimedia on the network, a topic also discussed
+by BESSER. LARSEN addressed the issues of network scalability and
+modularity and commented upon the difficulty of anticipating the effects
+of growth in orders of magnitude. BROWNRIGG talked about the ability of
+packet radio to provide certain links in a network without the need for
+wiring. However, the presenters also called attention to the
+shortcomings and incongruities of present-day computer networks. For
+example: 1) Network use is growing dramatically, but much network
+traffic consists of personal communication (E-mail). 2) Large bodies of
+information are available, but a user's ability to search across their
+entirety is limited. 3) There are significant resources for science and
+technology, but few network sources provide content in the humanities.
+4) Machine-readable texts are commonplace, but the capability of the
+system to deal with images (let alone other media formats) lags behind.
+A glimpse of a multimedia future for networks, however, was provided by
+Maria LEBRON in her overview of the Online Journal of Current Clinical
+Trials (OJCCT), and the process of scholarly publishing on-line.
+
+The contrasting form of the CD-ROM disk was never systematically
+analyzed, but attendees could glean an impression from several of the
+show-and-tell presentations. The Perseus and American Memory examples
+demonstrated recently published disks, while the descriptions of the
+IBYCUS version of the Papers of George Washington and Chadwyck-Healey's
+Patrologia Latina Database (PLD) told of disks to come. According to
+Eric CALALUCA, PLD's principal focus has been on converting Jacques-Paul
+Migne's definitive collection of Latin texts to machine-readable form.
+Although everyone could share the network advocates' enthusiasm for an
+on-line future, the possibility of rolling up one's sleeves for a session
+with a CD-ROM containing both textual materials and a powerful retrieval
+engine made the disk seem an appealing vessel indeed. The overall
+discussion suggested that the transition from CD-ROM to on-line networked
+access may prove far slower and more difficult than has been anticipated.
+
+
+WHO ARE THE USERS AND WHAT DO THEY DO?
+
+Although concerned with the technicalities of production, the Workshop
+never lost sight of the purposes and uses of electronic versions of
+textual materials. As noted above, those interested in imaging discussed
+the problematical matter of digital preservation, while the TEI proponents
+described how machine-readable texts can be used in research. This latter
+topic received thorough treatment in the paper read by Avra MICHELSON.
+She placed the phenomenon of electronic texts within the context of
+broader trends in information technology and scholarly communication.
+
+Among other things, MICHELSON described on-line conferences that
+represent a vigorous and important intellectual forum for certain
+disciplines. Internet now carries more than 700 conferences, with about
+80 percent of these devoted to topics in the social sciences and the
+humanities. Other scholars use on-line networks for "distance learning."
+Meanwhile, there has been a tremendous growth in end-user computing;
+professors today are less likely than their predecessors to ask the
+campus computer center to process their data. Electronic texts are one
+key to these sophisticated applications, MICHELSON reported, and more and
+more scholars in the humanities now work in an on-line environment.
+Toward the end of the Workshop, Michael LESK presented a corollary to
+MICHELSON's talk, reporting the results of an experiment that compared
+the work of one group of chemistry students using traditional printed
+texts and two groups using electronic sources. The experiment
+demonstrated that in the event one does not know what to read, one needs
+the electronic systems; the electronic systems hold no advantage at the
+moment if one knows what to read, but neither do they impose a penalty.
+
+DALY provided an anecdotal account of the revolutionizing impact of the
+new technology on his previous methods of research in the field of classics.
+His account, by extrapolation, served to illustrate in part the arguments
+made by MICHELSON concerning the positive effects of the sudden and radical
+transformation being wrought in the ways scholars work.
+
+Susan VECCIA and Joanne FREEMAN delineated the use of electronic
+materials outside the university. The most interesting aspect of their
+use, FREEMAN said, could be seen as a paradox: teachers in elementary
+and secondary schools requested access to primary source materials but,
+at the same time, found that "primariness" itself made these materials
+difficult for their students to use.
+
+
+OTHER TOPICS
+
+Marybeth PETERS reviewed copyright law in the United States and offered
+advice during a lively discussion of this subject. But uncertainty
+remains concerning the price of copyright in a digital medium, because a
+solution remains to be worked out concerning management and synthesis of
+copyrighted and out-of-copyright pieces of a database.
+
+As moderator of the final session of the Workshop, Prosser GIFFORD directed
+discussion to future courses of action and the potential role of LC in
+advancing them. Among the recommendations that emerged were the following:
+
+ * Workshop participants should 1) begin to think about working
+ with image material, but structure and digitize it in such a
+ way that at a later stage it can be interpreted into text, and
+ 2) find a common way to build text and images together so that
+ they can be used jointly at some stage in the future, with
+ appropriate network support, because that is how users will want
+ to access these materials. The Library might encourage attempts
+ to bring together people who are working on texts and images.
+
+ * A network version of American Memory should be developed or
+ consideration should be given to making the data in it
+ available to people interested in doing network multimedia.
+ Given the current dearth of digital data that is appealing and
+ unencumbered by extremely complex rights problems, developing a
+ network version of American Memory could do much to help make
+ network multimedia a reality.
+
+ * Concerning the thorny issue of electronic deposit, LC should
+ initiate a catalytic process in terms of distributed
+ responsibility, that is, bring together the distributed
+ organizations and set up a study group to look at all the
+ issues related to electronic deposit and see where we as a
+ nation should move. For example, LC might attempt to persuade
+ one major library in each state to deal with its state
+ equivalent publisher, which might produce a cooperative project
+ that would be equitably distributed around the country, and one
+ in which LC would be dealing with a minimal number of publishers
+ and minimal copyright problems. LC must also deal with the
+ concept of on-line publishing, determining, among other things,
+ how serials such as OJCCT might be deposited for copyright.
+
+ * Since a number of projects are planning to carry out
+ preservation by creating digital images that will end up in
+ on-line or near-line storage at some institution, LC might play
+ a helpful role, at least in the near term, by accelerating how
+ to catalog that information into the Research Library Information
+ Network (RLIN) and then into OCLC, so that it would be accessible.
+ This would reduce the possibility of multiple institutions digitizing
+ the same work.
+
+
+CONCLUSION
+
+The Workshop was valuable because it brought together partisans from
+various groups and provided an occasion to compare goals and methods.
+The more committed partisans frequently communicate with others in their
+groups, but less often across group boundaries. The Workshop was also
+valuable to attendees--including those involved with American Memory--who
+came less committed to particular approaches or concepts. These
+attendees learned a great deal, and plan to select and employ elements of
+imaging, text-coding, and networked distribution that suit their
+respective projects and purposes.
+
+Still, reality rears its ugly head: no breakthrough has been achieved.
+On the imaging side, one confronts a proliferation of competing
+data-interchange standards and a lack of consensus on the role of digital
+facsimiles in preservation. In the realm of machine-readable texts, one
+encounters a reasonably mature standard but methodological difficulties
+and high costs. These latter problems, of course, represent a special
+impediment to the desire, as it is sometimes expressed in the popular
+press, "to put the [contents of the] Library of Congress on line." In
+the words of one participant, there was "no solution to the economic
+problems--the projects that are out there are surviving, but it is going
+to be a lot of work to transform the information industry, and so far the
+investment to do that is not forthcoming" (LESK, per litteras).
+
+
+ *** *** *** ****** *** *** ***
+
+
+ PROCEEDINGS
+
+
+WELCOME
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+GIFFORD * Origin of Workshop in current Librarian's desire to make LC's
+collections more widely available * Desiderata arising from the prospect
+of greater interconnectedness *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+After welcoming participants on behalf of the Library of Congress,
+American Memory (AM), and the National Demonstration Lab, Prosser
+GIFFORD, director for scholarly programs, Library of Congress, located
+the origin of the Workshop on Electronic Texts in a conversation he had
+had considerably more than a year ago with Carl FLEISCHHAUER concerning
+some of the issues faced by AM. On the assumption that numerous other
+people were asking the same questions, the decision was made to bring
+together as many of these people as possible to ask the same questions
+together. In a deeper sense, GIFFORD said, the origin of the Workshop
+lay in the desire of the current Librarian of Congress, James H.
+Billington, to make the collections of the Library, especially those
+offering unique or unusual testimony on aspects of the American
+experience, available to a much wider circle of users than those few
+people who can come to Washington to use them. This meant that the
+emphasis of AM, from the outset, has been on archival collections of the
+basic material, and on making these collections themselves available,
+rather than selected or heavily edited products.
+
+From AM's emphasis followed the questions with which the Workshop began:
+who will use these materials, and in what form will they wish to use
+them. But an even larger issue deserving mention, in GIFFORD's view, was
+the phenomenal growth in Internet connectivity. He expressed the hope
+that the prospect of greater interconnectedness than ever before would
+lead to: 1) much more cooperative and mutually supportive endeavors; 2)
+development of systems of shared and distributed responsibilities to
+avoid duplication and to ensure accuracy and preservation of unique
+materials; and 3) agreement on the necessary standards and development of
+the appropriate directories and indices to make navigation
+straightforward among the varied resources that are, and increasingly
+will be, available. In this connection, GIFFORD requested that
+participants reflect from the outset upon the sorts of outcomes they
+thought the Workshop might have. Did those present constitute a group
+with sufficient common interests to propose a next step or next steps,
+and if so, what might those be? They would return to these questions the
+following afternoon.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+FLEISCHHAUER * Core of Workshop concerns preparation and production of
+materials * Special challenge in conversion of textual materials *
+Quality versus quantity * Do the several groups represented share common
+interests? *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Carl FLEISCHHAUER, coordinator, American Memory, Library of Congress,
+emphasized that he would attempt to represent the people who perform some
+of the work of converting or preparing materials and that the core of
+the Workshop had to do with preparation and production. FLEISCHHAUER
+then drew a distinction between the long term, when many things would be
+available and connected in the ways that GIFFORD described, and the short
+term, in which AM not only has wrestled with the issue of what is the
+best course to pursue but also has faced a variety of technical
+challenges.
+
+FLEISCHHAUER remarked AM's endeavors to deal with a wide range of library
+formats, such as motion picture collections, sound-recording collections,
+and pictorial collections of various sorts, especially collections of
+photographs. In the course of these efforts, AM kept coming back to
+textual materials--manuscripts or rare printed matter, bound materials,
+etc. Text posed the greatest conversion challenge of all. Thus, the
+genesis of the Workshop, which reflects the problems faced by AM. These
+problems include physical problems. For example, those in the library
+and archive business deal with collections made up of fragile and rare
+manuscript items, bound materials, especially the notoriously brittle
+bound materials of the late nineteenth century. These are precious
+cultural artifacts, however, as well as interesting sources of
+information, and LC desires to retain and conserve them. AM needs to
+handle things without damaging them. Guillotining a book to run it
+through a sheet feeder must be avoided at all costs.
+
+Beyond physical problems, issues pertaining to quality arose. For
+example, the desire to provide users with a searchable text is affected
+by the question of acceptable level of accuracy. One hundred percent
+accuracy is tremendously expensive. On the other hand, the output of
+optical character recognition (OCR) can be tremendously inaccurate.
+Although AM has attempted to find a middle ground, uncertainty persists
+as to whether or not it has discovered the right solution.
+
+Questions of quality arose concerning images as well. FLEISCHHAUER
+contrasted the extremely high level of quality of the digital images in
+the Cornell Xerox Project with AM's efforts to provide a browse-quality
+or access-quality image, as opposed to an archival or preservation image.
+FLEISCHHAUER therefore welcomed the opportunity to compare notes.
+
+FLEISCHHAUER observed in passing that conversations he had had about
+networks have begun to signal that for various forms of media a
+determination may be made that there is a browse-quality item, or a
+distribution-and-access-quality item that may coexist in some systems
+with a higher quality archival item that would be inconvenient to send
+through the network because of its size. FLEISCHHAUER referred, of
+course, to images more than to searchable text.
+
+As AM considered those questions, several conceptual issues arose: ought
+AM occasionally to reproduce materials entirely through an image set, at
+other times, entirely through a text set, and in some cases, a mix?
+There probably would be times when the historical authenticity of an
+artifact would require that its image be used. An image might be
+desirable as a recourse for users if one could not provide 100-percent
+accurate text. Again, AM wondered, as a practical matter, if a
+distinction could be drawn between rare printed matter that might exist
+in multiple collections--that is, in ten or fifteen libraries. In such
+cases, the need for perfect reproduction would be less than for unique
+items. Implicit in his remarks, FLEISCHHAUER conceded, was the admission
+that AM has been tilting strongly towards quantity and drawing back a
+little from perfect quality. That is, it seemed to AM that society would
+be better served if more things were distributed by LC--even if they were
+not quite perfect--than if fewer things, perfectly represented, were
+distributed. This was stated as a proposition to be tested, with
+responses to be gathered from users.
+
+In thinking about issues related to reproduction of materials and seeing
+other people engaged in parallel activities, AM deemed it useful to
+convene a conference. Hence, the Workshop. FLEISCHHAUER thereupon
+surveyed the several groups represented: 1) the world of images (image
+users and image makers); 2) the world of text and scholarship and, within
+this group, those concerned with language--FLEISCHHAUER confessed to finding
+delightful irony in the fact that some of the most advanced thinkers on
+computerized texts are those dealing with ancient Greek and Roman materials;
+3) the network world; and 4) the general world of library science, which
+includes people interested in preservation and cataloging.
+
+FLEISCHHAUER concluded his remarks with special thanks to the David and
+Lucile Packard Foundation for its support of the meeting, the American
+Memory group, the Office for Scholarly Programs, the National
+Demonstration Lab, and the Office of Special Events. He expressed the
+hope that David Woodley Packard might be able to attend, noting that
+Packard's work and the work of the foundation had sponsored a number of
+projects in the text area.
+
+ ******
+
+SESSION I. CONTENT IN A NEW FORM: WHO WILL USE IT AND WHAT WILL THEY DO?
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DALY * Acknowledgements * A new Latin authors disk * Effects of the new
+technology on previous methods of research *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Serving as moderator, James DALY acknowledged the generosity of all the
+presenters for giving of their time, counsel, and patience in planning
+the Workshop, as well as of members of the American Memory project and
+other Library of Congress staff, and the David and Lucile Packard
+Foundation and its executive director, Colburn S. Wilbur.
+
+DALY then recounted his visit in March to the Center for Electronic Texts
+in the Humanities (CETH) and the Department of Classics at Rutgers
+University, where an old friend, Lowell Edmunds, introduced him to the
+department's IBYCUS scholarly personal computer, and, in particular, the
+new Latin CD-ROM, containing, among other things, almost all classical
+Latin literary texts through A.D. 200. Packard Humanities Institute
+(PHI), Los Altos, California, released this disk late in 1991, with a
+nominal triennial licensing fee.
+
+Playing with the disk for an hour or so at Rutgers brought home to DALY
+at once the revolutionizing impact of the new technology on his previous
+methods of research. Had this disk been available two or three years
+earlier, DALY contended, when he was engaged in preparing a commentary on
+Book 10 of Virgil's Aeneid for Cambridge University Press, he would not
+have required a forty-eight-square-foot table on which to spread the
+numerous, most frequently consulted items, including some ten or twelve
+concordances to key Latin authors, an almost equal number of lexica to
+authors who lacked concordances, and where either lexica or concordances
+were lacking, numerous editions of authors antedating and postdating Virgil.
+
+Nor, when checking each of the average six to seven words contained in
+the Virgilian hexameter for its usage elsewhere in Virgil's works or
+other Latin authors, would DALY have had to maintain the laborious
+mechanical process of flipping through these concordances, lexica, and
+editions each time. Nor would he have had to frequent as often the
+Milton S. Eisenhower Library at the Johns Hopkins University to consult
+the Thesaurus Linguae Latinae. Instead of devoting countless hours, or
+the bulk of his research time, to gathering data concerning Virgil's use
+of words, DALY--now freed by PHI's Latin authors disk from the
+tyrannical, yet in some ways paradoxically happy scholarly drudgery--
+would have been able to devote that same bulk of time to analyzing and
+interpreting Virgilian verbal usage.
+
+Citing Theodore Brunner, Gregory Crane, Elli MYLONAS, and Avra MICHELSON,
+DALY argued that this reversal in his style of work, made possible by the
+new technology, would perhaps have resulted in better, more productive
+research. Indeed, even in the course of his browsing the Latin authors
+disk at Rutgers, its powerful search, retrieval, and highlighting
+capabilities suggested to him several new avenues of research into
+Virgil's use of sound effects. This anecdotal account, DALY maintained,
+may serve to illustrate in part the sudden and radical transformation
+being wrought in the ways scholars work.
+
+ ******
+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+MICHELSON * Elements related to scholarship and technology * Electronic
+texts within the context of broader trends within information technology
+and scholarly communication * Evaluation of the prospects for the use of
+electronic texts * Relationship of electronic texts to processes of
+scholarly communication in humanities research * New exchange formats
+created by scholars * Projects initiated to increase scholarly access to
+converted text * Trend toward making electronic resources available
+through research and education networks * Changes taking place in
+scholarly communication among humanities scholars * Network-mediated
+scholarship transforming traditional scholarly practices * Key
+information technology trends affecting the conduct of scholarly
+communication over the next decade * The trend toward end-user computing
+* The trend toward greater connectivity * Effects of these trends * Key
+transformations taking place * Summary of principal arguments *
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Avra MICHELSON, Archival Research and Evaluation Staff, National Archives
+and Records Administration (NARA), argued that establishing who will use
+electronic texts and what they will use them for involves a consideration
+of both information technology and scholarship trends. This
+consideration includes several elements related to scholarship and
+technology: 1) the key trends in information technology that are most
+relevant to scholarship; 2) the key trends in the use of currently
+available technology by scholars in the nonscientific community; and 3)
+the relationship between these two very distinct but interrelated trends.
+The investment in understanding this relationship being made by
+information providers, technologists, and public policy developers, as
+well as by scholars themselves, seems to be pervasive and growing,
+MICHELSON contended. She drew on collaborative work with Jeff Rothenberg
+on the scholarly use of technology.
+
+MICHELSON sought to place the phenomenon of electronic texts within the
+context of broader trends within information technology and scholarly
+communication. She argued that electronic texts are of most use to
+researchers to the extent that the researchers' working context (i.e.,
+their relevant bibliographic sources, collegial feedback, analytic tools,
+notes, drafts, etc.), along with their field's primary and secondary
+sources, also is accessible in electronic form and can be integrated in
+ways that are unique to the on-line environment.
+
+Evaluation of the prospects for the use of electronic texts includes two
+elements: 1) an examination of the ways in which researchers currently
+are using electronic texts along with other electronic resources, and 2)
+an analysis of key information technology trends that are affecting the
+long-term conduct of scholarly communication. MICHELSON limited her
+discussion of the use of electronic texts to the practices of humanists
+and noted that the scientific community was outside the panel's overview.
+
+MICHELSON examined the nature of the current relationship of electronic
+texts in particular, and electronic resources in general, to what she
+maintained were, essentially, five processes of scholarly communication
+in humanities research. Researchers 1) identify sources, 2) communicate
+with their colleagues, 3) interpret and analyze data, 4) disseminate
+their research findings, and 5) prepare curricula to instruct the next
+generation of scholars and students. This examination would produce a
+clearer understanding of the synergy among these five processes that
+fuels the tendency of the use of electronic resources for one process to
+stimulate its use for other processes of scholarly communication.
+
+For the first process of scholarly communication, the identification of
+sources, MICHELSON remarked the opportunity scholars now enjoy to
+supplement traditional word-of-mouth searches for sources among their
+colleagues with new forms of electronic searching. So, for example,
+instead of having to visit the library, researchers are able to explore
+descriptions of holdings in their offices. Furthermore, if their own
+institutions' holdings prove insufficient, scholars can access more than
+200 major American library catalogues over Internet, including the
+universities of California, Michigan, Pennsylvania, and Wisconsin.
+Direct access to the bibliographic databases offers intellectual
+empowerment to scholars by presenting a comprehensive means of browsing
+through libraries from their homes and offices at their convenience.
+
+The second process of communication involves communication among
+scholars. Beyond the most common methods of communication, scholars are
+using E-mail and a variety of new electronic communications formats
+derived from it for further academic interchange. E-mail exchanges are
+growing at an astonishing rate, reportedly 15 percent a month. They
+currently constitute approximately half the traffic on research and
+education networks. Moreover, the global spread of E-mail has been so
+rapid that it is now possible for American scholars to use it to
+communicate with colleagues in close to 140 other countries.
+
+Other new exchange formats created by scholars and operating on Internet
+include more than 700 conferences, with about 80 percent of these devoted
+to topics in the social sciences and humanities. The rate of growth of
+these scholarly electronic conferences also is astonishing. From l990 to
+l991, 200 new conferences were identified on Internet. From October 1991
+to June 1992, an additional 150 conferences in the social sciences and
+humanities were added to this directory of listings. Scholars have
+established conferences in virtually every field, within every different
+discipline. For example, there are currently close to 600 active social
+science and humanities conferences on topics such as art and
+architecture, ethnomusicology, folklore, Japanese culture, medical
+education, and gifted and talented education. The appeal to scholars of
+communicating through these conferences is that, unlike any other medium,
+electronic conferences today provide a forum for global communication
+with peers at the front end of the research process.
+
+Interpretation and analysis of sources constitutes the third process of
+scholarly communication that MICHELSON discussed in terms of texts and
+textual resources. The methods used to analyze sources fall somewhere on
+a continuum from quantitative analysis to qualitative analysis.
+Typically, evidence is culled and evaluated using methods drawn from both
+ends of this continuum. At one end, quantitative analysis involves the
+use of mathematical processes such as a count of frequencies and
+distributions of occurrences or, on a higher level, regression analysis.
+At the other end of the continuum, qualitative analysis typically
+involves nonmathematical processes oriented toward language
+interpretation or the building of theory. Aspects of this work involve
+the processing--either manual or computational--of large and sometimes
+massive amounts of textual sources, although the use of nontextual
+sources as evidence, such as photographs, sound recordings, film footage,
+and artifacts, is significant as well.
+
+Scholars have discovered that many of the methods of interpretation and
+analysis that are related to both quantitative and qualitative methods
+are processes that can be performed by computers. For example, computers
+can count. They can count brush strokes used in a Rembrandt painting or
+perform regression analysis for understanding cause and effect. By means
+of advanced technologies, computers can recognize patterns, analyze text,
+and model concepts. Furthermore, computers can complete these processes
+faster with more sources and with greater precision than scholars who
+must rely on manual interpretation of data. But if scholars are to use
+computers for these processes, source materials must be in a form
+amenable to computer-assisted analysis. For this reason many scholars,
+once they have identified the sources that are key to their research, are
+converting them to machine-readable form. Thus, a representative example
+of the numerous textual conversion projects organized by scholars around
+the world in recent years to support computational text analysis is the
+TLG, the Thesaurus Linguae Graecae. This project is devoted to
+converting the extant ancient texts of classical Greece. (Editor's note:
+according to the TLG Newsletter of May l992, TLG was in use in thirty-two
+different countries. This figure updates MICHELSON's previous count by one.)
+
+The scholars performing these conversions have been asked to recognize
+that the electronic sources they are converting for one use possess value
+for other research purposes as well. As a result, during the past few
+years, humanities scholars have initiated a number of projects to
+increase scholarly access to converted text. So, for example, the Text
+Encoding Initiative (TEI), about which more is said later in the program,
+was established as an effort by scholars to determine standard elements
+and methods for encoding machine-readable text for electronic exchange.
+In a second effort to facilitate the sharing of converted text, scholars
+have created a new institution, the Center for Electronic Texts in the
+Humanities (CETH). The center estimates that there are 8,000 series of
+source texts in the humanities that have been converted to
+machine-readable form worldwide. CETH is undertaking an international
+search for converted text in the humanities, compiling it into an
+electronic library, and preparing bibliographic descriptions of the
+sources for the Research Libraries Information Network's (RLIN)
+machine-readable data file. The library profession has begun to initiate
+large conversion projects as well, such as American Memory.
+
+While scholars have been making converted text available to one another,
+typically on disk or on CD-ROM, the clear trend is toward making these
+resources available through research and education networks. Thus, the
+American and French Research on the Treasury of the French Language
+(ARTFL) and the Dante Project are already available on Internet.
+MICHELSON summarized this section on interpretation and analysis by
+noting that: 1) increasing numbers of humanities scholars in the library
+community are recognizing the importance to the advancement of
+scholarship of retrospective conversion of source materials in the arts
+and humanities; and 2) there is a growing realization that making the
+sources available on research and education networks maximizes their
+usefulness for the analysis performed by humanities scholars.
+
+The fourth process of scholarly communication is dissemination of
+research findings, that is, publication. Scholars are using existing
+research and education networks to engineer a new type of publication:
+scholarly-controlled journals that are electronically produced and
+disseminated. Although such journals are still emerging as a
+communication format, their number has grown, from approximately twelve
+to thirty-six during the past year (July 1991 to June 1992). Most of
+these electronic scholarly journals are devoted to topics in the
+humanities. As with network conferences, scholarly enthusiasm for these
+electronic journals stems from the medium's unique ability to advance
+scholarship in a way that no other medium can do by supporting global
+feedback and interchange, practically in real time, early in the research
+process. Beyond scholarly journals, MICHELSON remarked the delivery of
+commercial full-text products, such as articles in professional journals,
+newsletters, magazines, wire services, and reference sources. These are
+being delivered via on-line local library catalogues, especially through
+CD-ROMs. Furthermore, according to MICHELSON, there is general optimism
+that the copyright and fees issues impeding the delivery of full text on
+existing research and education networks soon will be resolved.
+
+The final process of scholarly communication is curriculum development
+and instruction, and this involves the use of computer information
+technologies in two areas. The first is the development of
+computer-oriented instructional tools, which includes simulations,
+multimedia applications, and computer tools that are used to assist in
+the analysis of sources in the classroom, etc. The Perseus Project, a
+database that provides a multimedia curriculum on classical Greek
+civilization, is a good example of the way in which entire curricula are
+being recast using information technologies. It is anticipated that the
+current difficulty in exchanging electronically computer-based
+instructional software, which in turn makes it difficult for one scholar
+to build upon the work of others, will be resolved before too long.
+Stand-alone curricular applications that involve electronic text will be
+sharable through networks, reinforcing their significance as intellectual
+products as well as instructional tools.
+
+The second aspect of electronic learning involves the use of research and
+education networks for distance education programs. Such programs
+interactively link teachers with students in geographically scattered
+locations and rely on the availability of electronic instructional
+resources. Distance education programs are gaining wide appeal among
+state departments of education because of their demonstrated capacity to
+bring advanced specialized course work and an array of experts to many
+classrooms. A recent report found that at least 32 states operated at
+least one statewide network for education in 1991, with networks under
+development in many of the remaining states.
+
+MICHELSON summarized this section by noting two striking changes taking
+place in scholarly communication among humanities scholars. First is the
+extent to which electronic text in particular, and electronic resources
+in general, are being infused into each of the five processes described
+above. As mentioned earlier, there is a certain synergy at work here.
+The use of electronic resources for one process tends to stimulate its
+use for other processes, because the chief course of movement is toward a
+comprehensive on-line working context for humanities scholars that
+includes on-line availability of key bibliographies, scholarly feedback,
+sources, analytical tools, and publications. MICHELSON noted further
+that the movement toward a comprehensive on-line working context for
+humanities scholars is not new. In fact, it has been underway for more
+than forty years in the humanities, since Father Roberto Busa began
+developing an electronic concordance of the works of Saint Thomas Aquinas
+in 1949. What we are witnessing today, MICHELSON contended, is not the
+beginning of this on-line transition but, for at least some humanities
+scholars, the turning point in the transition from a print to an
+electronic working context. Coinciding with the on-line transition, the
+second striking change is the extent to which research and education
+networks are becoming the new medium of scholarly communication. The
+existing Internet and the pending National Education and Research Network
+(NREN) represent the new meeting ground where scholars are going for
+bibliographic information, scholarly dialogue and feedback, the most
+current publications in their field, and high-level educational
+offerings. Traditional scholarly practices are undergoing tremendous
+transformations as a result of the emergence and growing prominence of
+what is called network-mediated scholarship.
+
+MICHELSON next turned to the second element of the framework she proposed
+at the outset of her talk for evaluating the prospects for electronic
+text, namely the key information technology trends affecting the conduct
+of scholarly communication over the next decade: 1) end-user computing
+and 2) connectivity.
+
+End-user computing means that the person touching the keyboard, or
+performing computations, is the same as the person who initiates or
+consumes the computation. The emergence of personal computers, along
+with a host of other forces, such as ubiquitous computing, advances in
+interface design, and the on-line transition, is prompting the consumers
+of computation to do their own computing, and is thus rendering obsolete
+the traditional distinction between end users and ultimate users.
+
+The trend toward end-user computing is significant to consideration of
+the prospects for electronic texts because it means that researchers are
+becoming more adept at doing their own computations and, thus, more
+competent in the use of electronic media. By avoiding programmer
+intermediaries, computation is becoming central to the researcher's
+thought process. This direct involvement in computing is changing the
+researcher's perspective on the nature of research itself, that is, the
+kinds of questions that can be posed, the analytical methodologies that
+can be used, the types and amount of sources that are appropriate for
+analyses, and the form in which findings are presented. The trend toward
+end-user computing means that, increasingly, electronic media and
+computation are being infused into all processes of humanities
+scholarship, inspiring remarkable transformations in scholarly
+communication.
+
+The trend toward greater connectivity suggests that researchers are using
+computation increasingly in network environments. Connectivity is
+important to scholarship because it erases the distance that separates
+students from teachers and scholars from their colleagues, while allowing
+users to access remote databases, share information in many different
+media, connect to their working context wherever they are, and
+collaborate in all phases of research.
+
+The combination of the trend toward end-user computing and the trend
+toward connectivity suggests that the scholarly use of electronic
+resources, already evident among some researchers, will soon become an
+established feature of scholarship. The effects of these trends, along
+with ongoing changes in scholarly practices, point to a future in which
+humanities researchers will use computation and electronic communication
+to help them formulate ideas, access sources, perform research,
+collaborate with colleagues, seek peer review, publish and disseminate
+results, and engage in many other professional and educational activities.
+
+In summary, MICHELSON emphasized four points: 1) A portion of humanities
+scholars already consider electronic texts the preferred format for
+analysis and dissemination. 2) Scholars are using these electronic
+texts, in conjunction with other electronic resources, in all the
+processes of scholarly communication. 3) The humanities scholars'
+working context is in the process of changing from print technology to
+electronic technology, in many ways mirroring transformations that have
+occurred or are occurring within the scientific community. 4) These
+changes are occurring in conjunction with the development of a new
+communication medium: research and education networks that are
+characterized by their capacity to advance scholarship in a wholly unique
+way.
+
+MICHELSON also reiterated her three principal arguments: l) Electronic
+texts are best understood in terms of the relationship to other
+electronic resources and the growing prominence of network-mediated
+scholarship. 2) The prospects for electronic texts lie in their capacity
+to be integrated into the on-line network of electronic resources that
+comprise the new working context for scholars. 3) Retrospective conversion
+of portions of the scholarly record should be a key strategy as information
+providers respond to changes in scholarly communication practices.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+VECCIA * AM's evaluation project and public users of electronic resources
+* AM and its design * Site selection and evaluating the Macintosh
+implementation of AM * Characteristics of the six public libraries
+selected * Characteristics of AM's users in these libraries * Principal
+ways AM is being used *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Susan VECCIA, team leader, and Joanne FREEMAN, associate coordinator,
+American Memory, Library of Congress, gave a joint presentation. First,
+by way of introduction, VECCIA explained her and FREEMAN's roles in
+American Memory (AM). Serving principally as an observer, VECCIA has
+assisted with the evaluation project of AM, placing AM collections in a
+variety of different sites around the country and helping to organize and
+implement that project. FREEMAN has been an associate coordinator of AM
+and has been involved principally with the interpretative materials,
+preparing some of the electronic exhibits and printed historical
+information that accompanies AM and that is requested by users. VECCIA
+and FREEMAN shared anecdotal observations concerning AM with public users
+of electronic resources. Notwithstanding a fairly structured evaluation
+in progress, both VECCIA and FREEMAN chose not to report on specifics in
+terms of numbers, etc., because they felt it was too early in the
+evaluation project to do so.
+
+AM is an electronic archive of primary source materials from the Library
+of Congress, selected collections representing a variety of formats--
+photographs, graphic arts, recorded sound, motion pictures, broadsides,
+and soon, pamphlets and books. In terms of the design of this system,
+the interpretative exhibits have been kept separate from the primary
+resources, with good reason. Accompanying this collection are printed
+documentation and user guides, as well as guides that FREEMAN prepared for
+teachers so that they may begin using the content of the system at once.
+
+VECCIA described the evaluation project before talking about the public
+users of AM, limiting her remarks to public libraries, because FREEMAN
+would talk more specifically about schools from kindergarten to twelfth
+grade (K-12). Having started in spring 1991, the evaluation currently
+involves testing of the Macintosh implementation of AM. Since the
+primary goal of this evaluation is to determine the most appropriate
+audience or audiences for AM, very different sites were selected. This
+makes evaluation difficult because of the varying degrees of technology
+literacy among the sites. AM is situated in forty-four locations, of
+which six are public libraries and sixteen are schools. Represented
+among the schools are elementary, junior high, and high schools.
+District offices also are involved in the evaluation, which will
+conclude in summer 1993.
+
+VECCIA focused the remainder of her talk on the six public libraries, one
+of which doubles as a state library. They represent a range of
+geographic areas and a range of demographic characteristics. For
+example, three are located in urban settings, two in rural settings, and
+one in a suburban setting. A range of technical expertise is to be found
+among these facilities as well. For example, one is an "Apple library of
+the future," while two others are rural one-room libraries--in one, AM
+sits at the front desk next to a tractor manual.
+
+All public libraries have been extremely enthusiastic, supportive, and
+appreciative of the work that AM has been doing. VECCIA characterized
+various users: Most users in public libraries describe themselves as
+general readers; of the students who use AM in the public libraries,
+those in fourth grade and above seem most interested. Public libraries
+in rural sites tend to attract retired people, who have been highly
+receptive to AM. Users tend to fall into two additional categories:
+people interested in the content and historical connotations of these
+primary resources, and those fascinated by the technology. The format
+receiving the most comments has been motion pictures. The adult users in
+public libraries are more comfortable with IBM computers, whereas young
+people seem comfortable with either IBM or Macintosh, although most of
+them seem to come from a Macintosh background. This same tendency is
+found in the schools.
+
+What kinds of things do users do with AM? In a public library there are
+two main goals or ways that AM is being used: as an individual learning
+tool, and as a leisure activity. Adult learning was one area that VECCIA
+would highlight as a possible application for a tool such as AM. She
+described a patron of a rural public library who comes in every day on
+his lunch hour and literally reads AM, methodically going through the
+collection image by image. At the end of his hour he makes an electronic
+bookmark, puts it in his pocket, and returns to work. The next day he
+comes in and resumes where he left off. Interestingly, this man had
+never been in the library before he used AM. In another small, rural
+library, the coordinator reports that AM is a popular activity for some
+of the older, retired people in the community, who ordinarily would not
+use "those things,"--computers. Another example of adult learning in
+public libraries is book groups, one of which, in particular, is using AM
+as part of its reading on industrialization, integration, and urbanization
+in the early 1900s.
+
+One library reports that a family is using AM to help educate their
+children. In another instance, individuals from a local museum came in
+to use AM to prepare an exhibit on toys of the past. These two examples
+emphasize the mission of the public library as a cultural institution,
+reaching out to people who do not have the same resources available to
+those who live in a metropolitan area or have access to a major library.
+One rural library reports that junior high school students in large
+numbers came in one afternoon to use AM for entertainment. A number of
+public libraries reported great interest among postcard collectors in the
+Detroit collection, which was essentially a collection of images used on
+postcards around the turn of the century. Train buffs are similarly
+interested because that was a time of great interest in railroading.
+People, it was found, relate to things that they know of firsthand. For
+example, in both rural public libraries where AM was made available,
+observers reported that the older people with personal remembrances of
+the turn of the century were gravitating to the Detroit collection.
+These examples served to underscore MICHELSON's observation re the
+integration of electronic tools and ideas--that people learn best when
+the material relates to something they know.
+
+VECCIA made the final point that in many cases AM serves as a
+public-relations tool for the public libraries that are testing it. In
+one case, AM is being used as a vehicle to secure additional funding for
+the library. In another case, AM has served as an inspiration to the
+staff of a major local public library in the South to think about ways to
+make its own collection of photographs more accessible to the public.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+FREEMAN * AM and archival electronic resources in a school environment *
+Questions concerning context * Questions concerning the electronic format
+itself * Computer anxiety * Access and availability of the system *
+Hardware * Strengths gained through the use of archival resources in
+schools *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Reiterating an observation made by VECCIA, that AM is an archival
+resource made up of primary materials with very little interpretation,
+FREEMAN stated that the project has attempted to bridge the gap between
+these bare primary materials and a school environment, and in that cause
+has created guided introductions to AM collections. Loud demand from the
+educational community, chiefly from teachers working with the upper
+grades of elementary school through high school, greeted the announcement
+that AM would be tested around the country.
+
+FREEMAN reported not only on what was learned about AM in a school
+environment, but also on several universal questions that were raised
+concerning archival electronic resources in schools. She discussed
+several strengths of this type of material in a school environment as
+opposed to a highly structured resource that offers a limited number of
+paths to follow.
+
+FREEMAN first raised several questions about using AM in a school
+environment. There is often some difficulty in developing a sense of
+what the system contains. Many students sit down at a computer resource
+and assume that, because AM comes from the Library of Congress, all of
+American history is now at their fingertips. As a result of that sort of
+mistaken judgment, some students are known to conclude that AM contains
+nothing of use to them when they look for one or two things and do not
+find them. It is difficult to discover that middle ground where one has
+a sense of what the system contains. Some students grope toward the idea
+of an archive, a new idea to them, since they have not previously
+experienced what it means to have access to a vast body of somewhat
+random information.
+
+Other questions raised by FREEMAN concerned the electronic format itself.
+For instance, in a school environment it is often difficult both for
+teachers and students to gain a sense of what it is they are viewing.
+They understand that it is a visual image, but they do not necessarily
+know that it is a postcard from the turn of the century, a panoramic
+photograph, or even machine-readable text of an eighteenth-century
+broadside, a twentieth-century printed book, or a nineteenth-century
+diary. That distinction is often difficult for people in a school
+environment to grasp. Because of that, it occasionally becomes difficult
+to draw conclusions from what one is viewing.
+
+FREEMAN also noted the obvious fear of the computer, which constitutes a
+difficulty in using an electronic resource. Though students in general
+did not suffer from this anxiety, several older students feared that they
+were computer-illiterate, an assumption that became self-fulfilling when
+they searched for something but failed to find it. FREEMAN said she
+believed that some teachers also fear computer resources, because they
+believe they lack complete control. FREEMAN related the example of
+teachers shooing away students because it was not their time to use the
+system. This was a case in which the situation had to be extremely
+structured so that the teachers would not feel that they had lost their
+grasp on what the system contained.
+
+A final question raised by FREEMAN concerned access and availability of
+the system. She noted the occasional existence of a gap in communication
+between school librarians and teachers. Often AM sits in a school
+library and the librarian is the person responsible for monitoring the
+system. Teachers do not always take into their world new library
+resources about which the librarian is excited. Indeed, at the sites
+where AM had been used most effectively within a library, the librarian
+was required to go to specific teachers and instruct them in its use. As
+a result, several AM sites will have in-service sessions over a summer,
+in the hope that perhaps, with a more individualized link, teachers will
+be more likely to use the resource.
+
+A related issue in the school context concerned the number of
+workstations available at any one location. Centralization of equipment
+at the district level, with teachers invited to download things and walk
+away with them, proved unsuccessful because the hours these offices were
+open were also school hours.
+
+Another issue was hardware. As VECCIA observed, a range of sites exists,
+some technologically advanced and others essentially acquiring their
+first computer for the primary purpose of using it in conjunction with
+AM's testing. Users at technologically sophisticated sites want even
+more sophisticated hardware, so that they can perform even more
+sophisticated tasks with the materials in AM. But once they acquire a
+newer piece of hardware, they must learn how to use that also; at an
+unsophisticated site it takes an extremely long time simply to become
+accustomed to the computer, not to mention the program offered with the
+computer. All of these small issues raise one large question, namely,
+are systems like AM truly rewarding in a school environment, or do they
+simply act as innovative toys that do little more than spark interest?
+
+FREEMAN contended that the evaluation project has revealed several strengths
+that were gained through the use of archival resources in schools, including:
+
+ * Psychic rewards from using AM as a vast, rich database, with
+ teachers assigning various projects to students--oral presentations,
+ written reports, a documentary, a turn-of-the-century newspaper--
+ projects that start with the materials in AM but are completed using
+ other resources; AM thus is used as a research tool in conjunction
+ with other electronic resources, as well as with books and items in
+ the library where the system is set up.
+
+ * Students are acquiring computer literacy in a humanities context.
+
+ * This sort of system is overcoming the isolation between disciplines
+ that often exists in schools. For example, many English teachers are
+ requiring their students to write papers on historical topics
+ represented in AM. Numerous teachers have reported that their
+ students are learning critical thinking skills using the system.
+
+ * On a broader level, AM is introducing primary materials, not only
+ to students but also to teachers, in an environment where often
+ simply none exist--an exciting thing for the students because it
+ helps them learn to conduct research, to interpret, and to draw
+ their own conclusions. In learning to conduct research and what it
+ means, students are motivated to seek knowledge. That relates to
+ another positive outcome--a high level of personal involvement of
+ students with the materials in this system and greater motivation to
+ conduct their own research and draw their own conclusions.
+
+ * Perhaps the most ironic strength of these kinds of archival
+ electronic resources is that many of the teachers AM interviewed
+ were desperate, it is no exaggeration to say, not only for primary
+ materials but for unstructured primary materials. These would, they
+ thought, foster personally motivated research, exploration, and
+ excitement in their students. Indeed, these materials have done
+ just that. Ironically, however, this lack of structure produces
+ some of the confusion to which the newness of these kinds of
+ resources may also contribute. The key to effective use of archival
+ products in a school environment is a clear, effective introduction
+ to the system and to what it contains.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Nothing known, quantitatively, about the number of
+humanities scholars who must see the original versus those who would
+settle for an edited transcript, or about the ways in which humanities
+scholars are using information technology * Firm conclusions concerning
+the manner and extent of the use of supporting materials in print
+provided by AM to await completion of evaluative study * A listener's
+reflections on additional applications of electronic texts * Role of
+electronic resources in teaching elementary research skills to students *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the discussion that followed the presentations by MICHELSON,
+VECCIA, and FREEMAN, additional points emerged.
+
+LESK asked if MICHELSON could give any quantitative estimate of the
+number of humanities scholars who must see or want to see the original,
+or the best possible version of the material, versus those who typically
+would settle for an edited transcript. While unable to provide a figure,
+she offered her impressions as an archivist who has done some reference
+work and has discussed this issue with other archivists who perform
+reference, that those who use archives and those who use primary sources
+for what would be considered very high-level scholarly research, as
+opposed to, say, undergraduate papers, were few in number, especially
+given the public interest in using primary sources to conduct
+genealogical or avocational research and the kind of professional
+research done by people in private industry or the federal government.
+More important in MICHELSON's view was that, quantitatively, nothing is
+known about the ways in which, for example, humanities scholars are using
+information technology. No studies exist to offer guidance in creating
+strategies. The most recent study was conducted in 1985 by the American
+Council of Learned Societies (ACLS), and what it showed was that 50
+percent of humanities scholars at that time were using computers. That
+constitutes the extent of our knowledge.
+
+Concerning AM's strategy for orienting people toward the scope of
+electronic resources, FREEMAN could offer no hard conclusions at this
+point, because she and her colleagues were still waiting to see,
+particularly in the schools, what has been made of their efforts. Within
+the system, however, AM has provided what are called electronic exhibits-
+-such as introductions to time periods and materials--and these are
+intended to offer a student user a sense of what a broadside is and what
+it might tell her or him. But FREEMAN conceded that the project staff
+would have to talk with students next year, after teachers have had a
+summer to use the materials, and attempt to discover what the students
+were learning from the materials. In addition, FREEMAN described
+supporting materials in print provided by AM at the request of local
+teachers during a meeting held at LC. These included time lines,
+bibliographies, and other materials that could be reproduced on a
+photocopier in a classroom. Teachers could walk away with and use these,
+and in this way gain a better understanding of the contents. But again,
+reaching firm conclusions concerning the manner and extent of their use
+would have to wait until next year.
+
+As to the changes she saw occurring at the National Archives and Records
+Administration (NARA) as a result of the increasing emphasis on
+technology in scholarly research, MICHELSON stated that NARA at this
+point was absorbing the report by her and Jeff Rothenberg addressing
+strategies for the archival profession in general, although not for the
+National Archives specifically. NARA is just beginning to establish its
+role and what it can do. In terms of changes and initiatives that NARA
+can take, no clear response could be given at this time.
+
+GREENFIELD remarked two trends mentioned in the session. Reflecting on
+DALY's opening comments on how he could have used a Latin collection of
+text in an electronic form, he said that at first he thought most scholars
+would be unwilling to do that. But as he thought of that in terms of the
+original meaning of research--that is, having already mastered these texts,
+researching them for critical and comparative purposes--for the first time,
+the electronic format made a lot of sense. GREENFIELD could envision
+growing numbers of scholars learning the new technologies for that very
+aspect of their scholarship and for convenience's sake.
+
+Listening to VECCIA and FREEMAN, GREENFIELD thought of an additional
+application of electronic texts. He realized that AM could be used as a
+guide to lead someone to original sources. Students cannot be expected
+to have mastered these sources, things they have never known about
+before. Thus, AM is leading them, in theory, to a vast body of
+information and giving them a superficial overview of it, enabling them
+to select parts of it. GREENFIELD asked if any evidence exists that this
+resource will indeed teach the new user, the K-12 students, how to do
+research. Scholars already know how to do research and are applying
+these new tools. But he wondered why students would go beyond picking
+out things that were most exciting to them.
+
+FREEMAN conceded the correctness of GREENFIELD's observation as applied
+to a school environment. The risk is that a student would sit down at a
+system, play with it, find some things of interest, and then walk away.
+But in the relatively controlled situation of a school library, much will
+depend on the instructions a teacher or a librarian gives a student. She
+viewed the situation not as one of fine-tuning research skills but of
+involving students at a personal level in understanding and researching
+things. Given the guidance one can receive at school, it then becomes
+possible to teach elementary research skills to students, which in fact
+one particular librarian said she was teaching her fifth graders.
+FREEMAN concluded that introducing the idea of following one's own path
+of inquiry, which is essentially what research entails, involves more
+than teaching specific skills. To these comments VECCIA added the
+observation that the individual teacher and the use of a creative
+resource, rather than AM itself, seemed to make the key difference.
+Some schools and some teachers are making excellent use of the nature
+of critical thinking and teaching skills, she said.
+
+Concurring with these remarks, DALY closed the session with the thought that
+the more that producers produced for teachers and for scholars to use with
+their students, the more successful their electronic products would prove.
+
+ ******
+
+SESSION II. SHOW AND TELL
+
+Jacqueline HESS, director, National Demonstration Laboratory, served as
+moderator of the "show-and-tell" session. She noted that a
+question-and-answer period would follow each presentation.
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+MYLONAS * Overview and content of Perseus * Perseus' primary materials
+exist in a system-independent, archival form * A concession * Textual
+aspects of Perseus * Tools to use with the Greek text * Prepared indices
+and full-text searches in Perseus * English-Greek word search leads to
+close study of words and concepts * Navigating Perseus by tracing down
+indices * Using the iconography to perform research *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Elli MYLONAS, managing editor, Perseus Project, Harvard University, first
+gave an overview of Perseus, a large, collaborative effort based at
+Harvard University but with contributors and collaborators located at
+numerous universities and colleges in the United States (e.g., Bowdoin,
+Maryland, Pomona, Chicago, Virginia). Funded primarily by the
+Annenberg/CPB Project, with additional funding from Apple, Harvard, and
+the Packard Humanities Institute, among others, Perseus is a multimedia,
+hypertextual database for teaching and research on classical Greek
+civilization, which was released in February 1992 in version 1.0 and
+distributed by Yale University Press.
+
+Consisting entirely of primary materials, Perseus includes ancient Greek
+texts and translations of those texts; catalog entries--that is, museum
+catalog entries, not library catalog entries--on vases, sites, coins,
+sculpture, and archaeological objects; maps; and a dictionary, among
+other sources. The number of objects and the objects for which catalog
+entries exist are accompanied by thousands of color images, which
+constitute a major feature of the database. Perseus contains
+approximately 30 megabytes of text, an amount that will double in
+subsequent versions. In addition to these primary materials, the Perseus
+Project has been building tools for using them, making access and
+navigation easier, the goal being to build part of the electronic
+environment discussed earlier in the morning in which students or
+scholars can work with their sources.
+
+The demonstration of Perseus will show only a fraction of the real work
+that has gone into it, because the project had to face the dilemma of
+what to enter when putting something into machine-readable form: should
+one aim for very high quality or make concessions in order to get the
+material in? Since Perseus decided to opt for very high quality, all of
+its primary materials exist in a system-independent--insofar as it is
+possible to be system-independent--archival form. Deciding what that
+archival form would be and attaining it required much work and thought.
+For example, all the texts are marked up in SGML, which will be made
+compatible with the guidelines of the Text Encoding Initiative (TEI) when
+they are issued.
+
+Drawings are postscript files, not meeting international standards, but
+at least designed to go across platforms. Images, or rather the real
+archival forms, consist of the best available slides, which are being
+digitized. Much of the catalog material exists in database form--a form
+that the average user could use, manipulate, and display on a personal
+computer, but only at great cost. Thus, this is where the concession
+comes in: All of this rich, well-marked-up information is stripped of
+much of its content; the images are converted into bit-maps and the text
+into small formatted chunks. All this information can then be imported
+into HyperCard and run on a mid-range Macintosh, which is what Perseus
+users have. This fact has made it possible for Perseus to attain wide
+use fairly rapidly. Without those archival forms the HyperCard version
+being demonstrated could not be made easily, and the project could not
+have the potential to move to other forms and machines and software as
+they appear, none of which information is in Perseus on the CD.
+
+Of the numerous multimedia aspects of Perseus, MYLONAS focused on the
+textual. Part of what makes Perseus such a pleasure to use, MYLONAS
+said, is this effort at seamless integration and the ability to move
+around both visual and textual material. Perseus also made the decision
+not to attempt to interpret its material any more than one interprets by
+selecting. But, MYLONAS emphasized, Perseus is not courseware: No
+syllabus exists. There is no effort to define how one teaches a topic
+using Perseus, although the project may eventually collect papers by
+people who have used it to teach. Rather, Perseus aims to provide
+primary material in a kind of electronic library, an electronic sandbox,
+so to say, in which students and scholars who are working on this
+material can explore by themselves. With that, MYLONAS demonstrated
+Perseus, beginning with the Perseus gateway, the first thing one sees
+upon opening Perseus--an effort in part to solve the contextualizing
+problem--which tells the user what the system contains.
+
+MYLONAS demonstrated only a very small portion, beginning with primary
+texts and running off the CD-ROM. Having selected Aeschylus' Prometheus
+Bound, which was viewable in Greek and English pretty much in the same
+segments together, MYLONAS demonstrated tools to use with the Greek text,
+something not possible with a book: looking up the dictionary entry form
+of an unfamiliar word in Greek after subjecting it to Perseus'
+morphological analysis for all the texts. After finding out about a
+word, a user may then decide to see if it is used anywhere else in Greek.
+Because vast amounts of indexing support all of the primary material, one
+can find out where else all forms of a particular Greek word appear--
+often not a trivial matter because Greek is highly inflected. Further,
+since the story of Prometheus has to do with the origins of sacrifice, a
+user may wish to study and explore sacrifice in Greek literature; by
+typing sacrifice into a small window, a user goes to the English-Greek
+word list--something one cannot do without the computer (Perseus has
+indexed the definitions of its dictionary)--the string sacrifice appears
+in the definitions of these sixty-five words. One may then find out
+where any of those words is used in the work(s) of a particular author.
+The English definitions are not lemmatized.
+
+All of the indices driving this kind of usage were originally devised for
+speed, MYLONAS observed; in other words, all that kind of information--
+all forms of all words, where they exist, the dictionary form they belong
+to--were collected into databases, which will expedite searching. Then
+it was discovered that one can do things searching in these databases
+that could not be done searching in the full texts. Thus, although there
+are full-text searches in Perseus, much of the work is done behind the
+scenes, using prepared indices. Re the indexing that is done behind the
+scenes, MYLONAS pointed out that without the SGML forms of the text, it
+could not be done effectively. Much of this indexing is based on the
+structures that are made explicit by the SGML tagging.
+
+It was found that one of the things many of Perseus' non-Greek-reading
+users do is start from the dictionary and then move into the close study
+of words and concepts via this kind of English-Greek word search, by which
+means they might select a concept. This exercise has been assigned to
+students in core courses at Harvard--to study a concept by looking for the
+English word in the dictionary, finding the Greek words, and then finding
+the words in the Greek but, of course, reading across in the English.
+That tells them a great deal about what a translation means as well.
+
+Should one also wish to see images that have to do with sacrifice, that
+person would go to the object key word search, which allows one to
+perform a similar kind of index retrieval on the database of
+archaeological objects. Without words, pictures are useless; Perseus has
+not reached the point where it can do much with images that are not
+cataloged. Thus, although it is possible in Perseus with text and images
+to navigate by knowing where one wants to end up--for example, a
+red-figure vase from the Boston Museum of Fine Arts--one can perform this
+kind of navigation very easily by tracing down indices. MYLONAS
+illustrated several generic scenes of sacrifice on vases. The features
+demonstrated derived from Perseus 1.0; version 2.0 will implement even
+better means of retrieval.
+
+MYLONAS closed by looking at one of the pictures and noting again that
+one can do a great deal of research using the iconography as well as the
+texts. For instance, students in a core course at Harvard this year were
+highly interested in Greek concepts of foreigners and representations of
+non-Greeks. So they performed a great deal of research, both with texts
+(e.g., Herodotus) and with iconography on vases and coins, on how the
+Greeks portrayed non-Greeks. At the same time, art historians who study
+iconography were also interested, and were able to use this material.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Indexing and searchability of all English words in Perseus *
+Several features of Perseus 1.0 * Several levels of customization
+possible * Perseus used for general education * Perseus' effects on
+education * Contextual information in Perseus * Main challenge and
+emphasis of Perseus *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Several points emerged in the discussion that followed MYLONAS's presentation.
+
+Although MYLONAS had not demonstrated Perseus' ability to cross-search
+documents, she confirmed that all English words in Perseus are indexed
+and can be searched. So, for example, sacrifice could have been searched
+in all texts, the historical essay, and all the catalogue entries with
+their descriptions--in short, in all of Perseus.
+
+Boolean logic is not in Perseus 1.0 but will be added to the next
+version, although an effort is being made not to restrict Perseus to a
+database in which one just performs searching, Boolean or otherwise. It
+is possible to move laterally through the documents by selecting a word
+one is interested in and selecting an area of information one is
+interested in and trying to look that word up in that area.
+
+Since Perseus was developed in HyperCard, several levels of customization
+are possible. Simple authoring tools exist that allow one to create
+annotated paths through the information, which are useful for note-taking
+and for guided tours for teaching purposes and for expository writing.
+With a little more ingenuity it is possible to begin to add or substitute
+material in Perseus.
+
+Perseus has not been used so much for classics education as for general
+education, where it seemed to have an impact on the students in the core
+course at Harvard (a general required course that students must take in
+certain areas). Students were able to use primary material much more.
+
+The Perseus Project has an evaluation team at the University of Maryland
+that has been documenting Perseus' effects on education. Perseus is very
+popular, and anecdotal evidence indicates that it is having an effect at
+places other than Harvard, for example, test sites at Ball State
+University, Drury College, and numerous small places where opportunities
+to use vast amounts of primary data may not exist. One documented effect
+is that archaeological, anthropological, and philological research is
+being done by the same person instead of by three different people.
+
+The contextual information in Perseus includes an overview essay, a
+fairly linear historical essay on the fifth century B.C. that provides
+links into the primary material (e.g., Herodotus, Thucydides, and
+Plutarch), via small gray underscoring (on the screen) of linked
+passages. These are handmade links into other material.
+
+To different extents, most of the production work was done at Harvard,
+where the people and the equipment are located. Much of the
+collaborative activity involved data collection and structuring, because
+the main challenge and the emphasis of Perseus is the gathering of
+primary material, that is, building a useful environment for studying
+classical Greece, collecting data, and making it useful.
+Systems-building is definitely not the main concern. Thus, much of the
+work has involved writing essays, collecting information, rewriting it,
+and tagging it. That can be done off site. The creative link for the
+overview essay as well as for both systems and data was collaborative,
+and was forged via E-mail and paper mail with professors at Pomona and
+Bowdoin.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CALALUCA * PLD's principal focus and contribution to scholarship *
+Various questions preparatory to beginning the project * Basis for
+project * Basic rule in converting PLD * Concerning the images in PLD *
+Running PLD under a variety of retrieval softwares * Encoding the
+database a hard-fought issue * Various features demonstrated * Importance
+of user documentation * Limitations of the CD-ROM version *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Eric CALALUCA, vice president, Chadwyck-Healey, Inc., demonstrated a
+software interpretation of the Patrologia Latina Database (PLD). PLD's
+principal focus from the beginning of the project about three-and-a-half
+years ago was on converting Migne's Latin series, and in the end,
+CALALUCA suggested, conversion of the text will be the major contribution
+to scholarship. CALALUCA stressed that, as possibly the only private
+publishing organization at the Workshop, Chadwyck-Healey had sought no
+federal funds or national foundation support before embarking upon the
+project, but instead had relied upon a great deal of homework and
+marketing to accomplish the task of conversion.
+
+Ever since the possibilities of computer-searching have emerged, scholars
+in the field of late ancient and early medieval studies (philosophers,
+theologians, classicists, and those studying the history of natural law
+and the history of the legal development of Western civilization) have
+been longing for a fully searchable version of Western literature, for
+example, all the texts of Augustine and Bernard of Clairvaux and
+Boethius, not to mention all the secondary and tertiary authors.
+
+Various questions arose, CALALUCA said. Should one convert Migne?
+Should the database be encoded? Is it necessary to do that? How should
+it be delivered? What about CD-ROM? Since this is a transitional
+medium, why even bother to create software to run on a CD-ROM? Since
+everybody knows people will be networking information, why go to the
+trouble--which is far greater with CD-ROM than with the production of
+magnetic data? Finally, how does one make the data available? Can many
+of the hurdles to using electronic information that some publishers have
+imposed upon databases be eliminated?
+
+The PLD project was based on the principle that computer-searching of
+texts is most effective when it is done with a large database. Because
+PLD represented a collection that serves so many disciplines across so
+many periods, it was irresistible.
+
+The basic rule in converting PLD was to do no harm, to avoid the sins of
+intrusion in such a database: no introduction of newer editions, no
+on-the-spot changes, no eradicating of all possible falsehoods from an
+edition. Thus, PLD is not the final act in electronic publishing for
+this discipline, but simply the beginning. The conversion of PLD has
+evoked numerous unanticipated questions: How will information be used?
+What about networking? Can the rights of a database be protected?
+Should one protect the rights of a database? How can it be made
+available?
+
+Those converting PLD also tried to avoid the sins of omission, that is,
+excluding portions of the collections or whole sections. What about the
+images? PLD is full of images, some are extremely pious
+nineteenth-century representations of the Fathers, while others contain
+highly interesting elements. The goal was to cover all the text of Migne
+(including notes, in Greek and in Hebrew, the latter of which, in
+particular, causes problems in creating a search structure), all the
+indices, and even the images, which are being scanned in separately
+searchable files.
+
+Several North American institutions that have placed acquisition requests
+for the PLD database have requested it in magnetic form without software,
+which means they are already running it without software, without
+anything demonstrated at the Workshop.
+
+What cannot practically be done is go back and reconvert and re-encode
+data, a time-consuming and extremely costly enterprise. CALALUCA sees
+PLD as a database that can, and should, be run under a variety of
+retrieval softwares. This will permit the widest possible searches.
+Consequently, the need to produce a CD-ROM of PLD, as well as to develop
+software that could handle some 1.3 gigabyte of heavily encoded text,
+developed out of conversations with collection development and reference
+librarians who wanted software both compassionate enough for the
+pedestrian but also capable of incorporating the most detailed
+lexicographical studies that a user desires to conduct. In the end, the
+encoding and conversion of the data will prove the most enduring
+testament to the value of the project.
+
+The encoding of the database was also a hard-fought issue: Did the
+database need to be encoded? Were there normative structures for encoding
+humanist texts? Should it be SGML? What about the TEI--will it last,
+will it prove useful? CALALUCA expressed some minor doubts as to whether
+a data bank can be fully TEI-conformant. Every effort can be made, but
+in the end to be TEI-conformant means to accept the need to make some
+firm encoding decisions that can, indeed, be disputed. The TEI points
+the publisher in a proper direction but does not presume to make all the
+decisions for him or her. Essentially, the goal of encoding was to
+eliminate, as much as possible, the hindrances to information-networking,
+so that if an institution acquires a database, everybody associated with
+the institution can have access to it.
+
+CALALUCA demonstrated a portion of Volume 160, because it had the most
+anomalies in it. The software was created by Electronic Book
+Technologies of Providence, RI, and is called Dynatext. The software
+works only with SGML-coded data.
+
+Viewing a table of contents on the screen, the audience saw how Dynatext
+treats each element as a book and attempts to simplify movement through a
+volume. Familiarity with the Patrologia in print (i.e., the text, its
+source, and the editions) will make the machine-readable versions highly
+useful. (Software with a Windows application was sought for PLD,
+CALALUCA said, because this was the main trend for scholarly use.)
+
+CALALUCA also demonstrated how a user can perform a variety of searches
+and quickly move to any part of a volume; the look-up screen provides
+some basic, simple word-searching.
+
+CALALUCA argued that one of the major difficulties is not the software.
+Rather, in creating a product that will be used by scholars representing
+a broad spectrum of computer sophistication, user documentation proves
+to be the most important service one can provide.
+
+CALALUCA next illustrated a truncated search under mysterium within ten
+words of virtus and how one would be able to find its contents throughout
+the entire database. He said that the exciting thing about PLD is that
+many of the applications in the retrieval software being written for it
+will exceed the capabilities of the software employed now for the CD-ROM
+version. The CD-ROM faces genuine limitations, in terms of speed and
+comprehensiveness, in the creation of a retrieval software to run it.
+CALALUCA said he hoped that individual scholars will download the data,
+if they wish, to their personal computers, and have ready access to
+important texts on a constant basis, which they will be able to use in
+their research and from which they might even be able to publish.
+
+(CALALUCA explained that the blue numbers represented Migne's column numbers,
+which are the standard scholarly references. Pulling up a note, he stated
+that these texts were heavily edited and the image files would appear simply
+as a note as well, so that one could quickly access an image.)
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+FLEISCHHAUER/ERWAY * Several problems with which AM is still wrestling *
+Various search and retrieval capabilities * Illustration of automatic
+stemming and a truncated search * AM's attempt to find ways to connect
+cataloging to the texts * AM's gravitation towards SGML * Striking a
+balance between quantity and quality * How AM furnishes users recourse to
+images * Conducting a search in a full-text environment * Macintosh and
+IBM prototypes of AM * Multimedia aspects of AM *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+A demonstration of American Memory by its coordinator, Carl FLEISCHHAUER,
+and Ricky ERWAY, associate coordinator, Library of Congress, concluded
+the morning session. Beginning with a collection of broadsides from the
+Continental Congress and the Constitutional Convention, the only text
+collection in a presentable form at the time of the Workshop, FLEISCHHAUER
+highlighted several of the problems with which AM is still wrestling.
+(In its final form, the disk will contain two collections, not only the
+broadsides but also the full text with illustrations of a set of
+approximately 300 African-American pamphlets from the period 1870 to 1910.)
+
+As FREEMAN had explained earlier, AM has attempted to use a small amount
+of interpretation to introduce collections. In the present case, the
+contractor, a company named Quick Source, in Silver Spring, MD., used
+software called Toolbook and put together a modestly interactive
+introduction to the collection. Like the two preceding speakers,
+FLEISCHHAUER argued that the real asset was the underlying collection.
+
+FLEISCHHAUER proceeded to describe various search and retrieval
+capabilities while ERWAY worked the computer. In this particular package
+the "go to" pull-down allowed the user in effect to jump out of Toolbook,
+where the interactive program was located, and enter the third-party
+software used by AM for this text collection, which is called Personal
+Librarian. This was the Windows version of Personal Librarian, a
+software application put together by a company in Rockville, Md.
+
+Since the broadsides came from the Revolutionary War period, a search was
+conducted using the words British or war, with the default operator reset
+as or. FLEISCHHAUER demonstrated both automatic stemming (which finds
+other forms of the same root) and a truncated search. One of Personal
+Librarian's strongest features, the relevance ranking, was represented by
+a chart that indicated how often words being sought appeared in
+documents, with the one receiving the most "hits" obtaining the highest
+score. The "hit list" that is supplied takes the relevance ranking into
+account, making the first hit, in effect, the one the software has
+selected as the most relevant example.
+
+While in the text of one of the broadside documents, FLEISCHHAUER
+remarked AM's attempt to find ways to connect cataloging to the texts,
+which it does in different ways in different manifestations. In the case
+shown, the cataloging was pasted on: AM took MARC records that were
+written as on-line records right into one of the Library's mainframe
+retrieval programs, pulled them out, and handed them off to the contractor,
+who massaged them somewhat to display them in the manner shown. One of
+AM's questions is, Does the cataloguing normally performed in the mainframe
+work in this context, or had AM ought to think through adjustments?
+
+FLEISCHHAUER made the additional point that, as far as the text goes, AM
+has gravitated towards SGML (he pointed to the boldface in the upper part
+of the screen). Although extremely limited in its ability to translate
+or interpret SGML, Personal Librarian will furnish both bold and italics
+on screen; a fairly easy thing to do, but it is one of the ways in which
+SGML is useful.
+
+Striking a balance between quantity and quality has been a major concern
+of AM, with accuracy being one of the places where project staff have
+felt that less than 100-percent accuracy was not unacceptable.
+FLEISCHHAUER cited the example of the standard of the rekeying industry,
+namely 99.95 percent; as one service bureau informed him, to go from
+99.95 to 100 percent would double the cost.
+
+FLEISCHHAUER next demonstrated how AM furnishes users recourse to images,
+and at the same time recalled LESK's pointed question concerning the
+number of people who would look at those images and the number who would
+work only with the text. If the implication of LESK's question was
+sound, FLEISCHHAUER said, it raised the stakes for text accuracy and
+reduced the value of the strategy for images.
+
+Contending that preservation is always a bugaboo, FLEISCHHAUER
+demonstrated several images derived from a scan of a preservation
+microfilm that AM had made. He awarded a grade of C at best, perhaps a
+C minus or a C plus, for how well it worked out. Indeed, the matter of
+learning if other people had better ideas about scanning in general, and,
+in particular, scanning from microfilm, was one of the factors that drove
+AM to attempt to think through the agenda for the Workshop. Skew, for
+example, was one of the issues that AM in its ignorance had not reckoned
+would prove so difficult.
+
+Further, the handling of images of the sort shown, in a desktop computer
+environment, involved a considerable amount of zooming and scrolling.
+Ultimately, AM staff feel that perhaps the paper copy that is printed out
+might be the most useful one, but they remain uncertain as to how much
+on-screen reading users will do.
+
+Returning to the text, FLEISCHHAUER asked viewers to imagine a person who
+might be conducting a search in a full-text environment. With this
+scenario, he proceeded to illustrate other features of Personal Librarian
+that he considered helpful; for example, it provides the ability to
+notice words as one reads. Clicking the "include" button on the bottom
+of the search window pops the words that have been highlighted into the
+search. Thus, a user can refine the search as he or she reads,
+re-executing the search and continuing to find things in the quest for
+materials. This software not only contains relevance ranking, Boolean
+operators, and truncation, it also permits one to perform word algebra,
+so to say, where one puts two or three words in parentheses and links
+them with one Boolean operator and then a couple of words in another set
+of parentheses and asks for things within so many words of others.
+
+Until they became acquainted recently with some of the work being done in
+classics, the AM staff had not realized that a large number of the
+projects that involve electronic texts were being done by people with a
+profound interest in language and linguistics. Their search strategies
+and thinking are oriented to those fields, as is shown in particular by
+the Perseus example. As amateur historians, the AM staff were thinking
+more of searching for concepts and ideas than for particular words.
+Obviously, FLEISCHHAUER conceded, searching for concepts and ideas and
+searching for words may be two rather closely related things.
+
+While displaying several images, FLEISCHHAUER observed that the Macintosh
+prototype built by AM contains a greater diversity of formats. Echoing a
+previous speaker, he said that it was easier to stitch things together in
+the Macintosh, though it tended to be a little more anemic in search and
+retrieval. AM, therefore, increasingly has been investigating
+sophisticated retrieval engines in the IBM format.
+
+FLEISCHHAUER demonstrated several additional examples of the prototype
+interfaces: One was AM's metaphor for the network future, in which a
+kind of reading-room graphic suggests how one would be able to go around
+to different materials. AM contains a large number of photographs in
+analog video form worked up from a videodisc, which enable users to make
+copies to print or incorporate in digital documents. A frame-grabber is
+built into the system, making it possible to bring an image into a window
+and digitize or print it out.
+
+FLEISCHHAUER next demonstrated sound recording, which included texts.
+Recycled from a previous project, the collection included sixty 78-rpm
+phonograph records of political speeches that were made during and
+immediately after World War I. These constituted approximately three
+hours of audio, as AM has digitized it, which occupy 150 megabytes on a
+CD. Thus, they are considerably compressed. From the catalogue card,
+FLEISCHHAUER proceeded to a transcript of a speech with the audio
+available and with highlighted text following it as it played.
+A photograph has been added and a transcription made.
+
+Considerable value has been added beyond what the Library of Congress
+normally would do in cataloguing a sound recording, which raises several
+questions for AM concerning where to draw lines about how much value it can
+afford to add and at what point, perhaps, this becomes more than AM could
+reasonably do or reasonably wish to do. FLEISCHHAUER also demonstrated
+a motion picture. As FREEMAN had reported earlier, the motion picture
+materials have proved the most popular, not surprisingly. This says more
+about the medium, he thought, than about AM's presentation of it.
+
+Because AM's goal was to bring together things that could be used by
+historians or by people who were curious about history,
+turn-of-the-century footage seemed to represent the most appropriate
+collections from the Library of Congress in motion pictures. These were
+the very first films made by Thomas Edison's company and some others at
+that time. The particular example illustrated was a Biograph film,
+brought in with a frame-grabber into a window. A single videodisc
+contains about fifty titles and pieces of film from that period, all of
+New York City. Taken together, AM believes, they provide an interesting
+documentary resource.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Using the frame-grabber in AM * Volume of material processed
+and to be processed * Purpose of AM within LC * Cataloguing and the
+nature of AM's material * SGML coding and the question of quality versus
+quantity *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the question-and-answer period that followed FLEISCHHAUER's
+presentation, several clarifications were made.
+
+AM is bringing in motion pictures from a videodisc. The frame-grabber
+devices create a window on a computer screen, which permits users to
+digitize a single frame of the movie or one of the photographs. It
+produces a crude, rough-and-ready image that high school students can
+incorporate into papers, and that has worked very nicely in this way.
+
+Commenting on FLEISCHHAUER's assertion that AM was looking more at
+searching ideas than words, MYLONAS argued that without words an idea
+does not exist. FLEISCHHAUER conceded that he ought to have articulated
+his point more clearly. MYLONAS stated that they were in fact both
+talking about the same thing. By searching for words and by forcing
+people to focus on the word, the Perseus Project felt that they would get
+them to the idea. The way one reviews results is tailored more to one
+kind of user than another.
+
+Concerning the total volume of material that has been processed in this
+way, AM at this point has in retrievable form seven or eight collections,
+all of them photographic. In the Macintosh environment, for example,
+there probably are 35,000-40,000 photographs. The sound recordings
+number sixty items. The broadsides number about 300 items. There are
+500 political cartoons in the form of drawings. The motion pictures, as
+individual items, number sixty to seventy.
+
+AM also has a manuscript collection, the life history portion of one of
+the federal project series, which will contain 2,900 individual
+documents, all first-person narratives. AM has in process about 350
+African-American pamphlets, or about 12,000 printed pages for the period
+1870-1910. Also in the works are some 4,000 panoramic photographs. AM
+has recycled a fair amount of the work done by LC's Prints and
+Photographs Division during the Library's optical disk pilot project in
+the 1980s. For example, a special division of LC has tooled up and
+thought through all the ramifications of electronic presentation of
+photographs. Indeed, they are wheeling them out in great barrel loads.
+The purpose of AM within the Library, it is hoped, is to catalyze several
+of the other special collection divisions which have no particular
+experience with, in some cases, mixed feelings about, an activity such as
+AM. Moreover, in many cases the divisions may be characterized as not
+only lacking experience in "electronifying" things but also in automated
+cataloguing. MARC cataloguing as practiced in the United States is
+heavily weighted toward the description of monograph and serial
+materials, but is much thinner when one enters the world of manuscripts
+and things that are held in the Library's music collection and other
+units. In response to a comment by LESK, that AM's material is very
+heavily photographic, and is so primarily because individual records have
+been made for each photograph, FLEISCHHAUER observed that an item-level
+catalog record exists, for example, for each photograph in the Detroit
+Publishing collection of 25,000 pictures. In the case of the Federal
+Writers Project, for which nearly 3,000 documents exist, representing
+information from twenty-six different states, AM with the assistance of
+Karen STUART of the Manuscript Division will attempt to find some way not
+only to have a collection-level record but perhaps a MARC record for each
+state, which will then serve as an umbrella for the 100-200 documents
+that come under it. But that drama remains to be enacted. The AM staff
+is conservative and clings to cataloguing, though of course visitors tout
+artificial intelligence and neural networks in a manner that suggests that
+perhaps one need not have cataloguing or that much of it could be put aside.
+
+The matter of SGML coding, FLEISCHHAUER conceded, returned the discussion
+to the earlier treated question of quality versus quantity in the Library
+of Congress. Of course, text conversion can be done with 100-percent
+accuracy, but it means that when one's holdings are as vast as LC's only
+a tiny amount will be exposed, whereas permitting lower levels of
+accuracy can lead to exposing or sharing larger amounts, but with the
+quality correspondingly impaired.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+TWOHIG * A contrary experience concerning electronic options * Volume of
+material in the Washington papers and a suggestion of David Packard *
+Implications of Packard's suggestion * Transcribing the documents for the
+CD-ROM * Accuracy of transcriptions * The CD-ROM edition of the Founding
+Fathers documents *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Finding encouragement in a comment of MICHELSON's from the morning
+session--that numerous people in the humanities were choosing electronic
+options to do their work--Dorothy TWOHIG, editor, The Papers of George
+Washington, opened her illustrated talk by noting that her experience
+with literary scholars and numerous people in editing was contrary to
+MICHELSON's. TWOHIG emphasized literary scholars' complete ignorance of
+the technological options available to them or their reluctance or, in
+some cases, their downright hostility toward these options.
+
+After providing an overview of the five Founding Fathers projects
+(Jefferson at Princeton, Franklin at Yale, John Adams at the
+Massachusetts Historical Society, and Madison down the hall from her at
+the University of Virginia), TWOHIG observed that the Washington papers,
+like all of the projects, include both sides of the Washington
+correspondence and deal with some 135,000 documents to be published with
+extensive annotation in eighty to eighty-five volumes, a project that
+will not be completed until well into the next century. Thus, it was
+with considerable enthusiasm several years ago that the Washington Papers
+Project (WPP) greeted David Packard's suggestion that the papers of the
+Founding Fathers could be published easily and inexpensively, and to the
+great benefit of American scholarship, via CD-ROM.
+
+In pragmatic terms, funding from the Packard Foundation would expedite
+the transcription of thousands of documents waiting to be put on disk in
+the WPP offices. Further, since the costs of collecting, editing, and
+converting the Founding Fathers documents into letterpress editions were
+running into the millions of dollars, and the considerable staffs
+involved in all of these projects were devoting their careers to
+producing the work, the Packard Foundation's suggestion had a
+revolutionary aspect: Transcriptions of the entire corpus of the
+Founding Fathers papers would be available on CD-ROM to public and
+college libraries, even high schools, at a fraction of the cost--
+$100-$150 for the annual license fee--to produce a limited university
+press run of 1,000 of each volume of the published papers at $45-$150 per
+printed volume. Given the current budget crunch in educational systems
+and the corresponding constraints on librarians in smaller institutions
+who wish to add these volumes to their collections, producing the
+documents on CD-ROM would likely open a greatly expanded audience for the
+papers. TWOHIG stressed, however, that development of the Founding
+Fathers CD-ROM is still in its infancy. Serious software problems remain
+to be resolved before the material can be put into readable form.
+
+Funding from the Packard Foundation resulted in a major push to
+transcribe the 75,000 or so documents of the Washington papers remaining
+to be transcribed onto computer disks. Slides illustrated several of the
+problems encountered, for example, the present inability of CD-ROM to
+indicate the cross-outs (deleted material) in eighteenth century
+documents. TWOHIG next described documents from various periods in the
+eighteenth century that have been transcribed in chronological order and
+delivered to the Packard offices in California, where they are converted
+to the CD-ROM, a process that is expected to consume five years to
+complete (that is, reckoning from David Packard's suggestion made several
+years ago, until about July 1994). TWOHIG found an encouraging
+indication of the project's benefits in the ongoing use made by scholars
+of the search functions of the CD-ROM, particularly in reducing the time
+spent in manually turning the pages of the Washington papers.
+
+TWOHIG next furnished details concerning the accuracy of transcriptions.
+For instance, the insertion of thousands of documents on the CD-ROM
+currently does not permit each document to be verified against the
+original manuscript several times as in the case of documents that appear
+in the published edition. However, the transcriptions receive a cursory
+check for obvious typos, the misspellings of proper names, and other
+errors from the WPP CD-ROM editor. Eventually, all documents that appear
+in the electronic version will be checked by project editors. Although
+this process has met with opposition from some of the editors on the
+grounds that imperfect work may leave their offices, the advantages in
+making this material available as a research tool outweigh fears about the
+misspelling of proper names and other relatively minor editorial matters.
+
+Completion of all five Founding Fathers projects (i.e., retrievability
+and searchability of all of the documents by proper names, alternate
+spellings, or varieties of subjects) will provide one of the richest
+sources of this size for the history of the United States in the latter
+part of the eighteenth century. Further, publication on CD-ROM will
+allow editors to include even minutiae, such as laundry lists, not
+included in the printed volumes.
+
+It seems possible that the extensive annotation provided in the printed
+volumes eventually will be added to the CD-ROM edition, pending
+negotiations with the publishers of the papers. At the moment, the
+Founding Fathers CD-ROM is accessible only on the IBYCUS, a computer
+developed out of the Thesaurus Linguae Graecae project and designed for
+the use of classical scholars. There are perhaps 400 IBYCUS computers in
+the country, most of which are in university classics departments.
+Ultimately, it is anticipated that the CD-ROM edition of the Founding
+Fathers documents will run on any IBM-compatible or Macintosh computer
+with a CD-ROM drive. Numerous changes in the software will also occur
+before the project is completed. (Editor's note: an IBYCUS was
+unavailable to demonstrate the CD-ROM.)
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Several additional features of WPP clarified *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Discussion following TWOHIG's presentation served to clarify several
+additional features, including (1) that the project's primary
+intellectual product consists in the electronic transcription of the
+material; (2) that the text transmitted to the CD-ROM people is not
+marked up; (3) that cataloging and subject-indexing of the material
+remain to be worked out (though at this point material can be retrieved
+by name); and (4) that because all the searching is done in the hardware,
+the IBYCUS is designed to read a CD-ROM which contains only sequential
+text files. Technically, it then becomes very easy to read the material
+off and put it on another device.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+LEBRON * Overview of the history of the joint project between AAAS and
+OCLC * Several practices the on-line environment shares with traditional
+publishing on hard copy * Several technical and behavioral barriers to
+electronic publishing * How AAAS and OCLC arrived at the subject of
+clinical trials * Advantages of the electronic format and other features
+of OJCCT * An illustrated tour of the journal *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Maria LEBRON, managing editor, The Online Journal of Current Clinical
+Trials (OJCCT), presented an illustrated overview of the history of the
+joint project between the American Association for the Advancement of
+Science (AAAS) and the Online Computer Library Center, Inc. (OCLC). The
+joint venture between AAAS and OCLC owes its beginning to a
+reorganization launched by the new chief executive officer at OCLC about
+three years ago and combines the strengths of these two disparate
+organizations. In short, OJCCT represents the process of scholarly
+publishing on line.
+
+LEBRON next discussed several practices the on-line environment shares
+with traditional publishing on hard copy--for example, peer review of
+manuscripts--that are highly important in the academic world. LEBRON
+noted in particular the implications of citation counts for tenure
+committees and grants committees. In the traditional hard-copy
+environment, citation counts are readily demonstrable, whereas the
+on-line environment represents an ethereal medium to most academics.
+
+LEBRON remarked several technical and behavioral barriers to electronic
+publishing, for instance, the problems in transmission created by special
+characters or by complex graphics and halftones. In addition, she noted
+economic limitations such as the storage costs of maintaining back issues
+and market or audience education.
+
+Manuscripts cannot be uploaded to OJCCT, LEBRON explained, because it is
+not a bulletin board or E-mail, forms of electronic transmission of
+information that have created an ambience clouding people's understanding
+of what the journal is attempting to do. OJCCT, which publishes
+peer-reviewed medical articles dealing with the subject of clinical
+trials, includes text, tabular material, and graphics, although at this
+time it can transmit only line illustrations.
+
+Next, LEBRON described how AAAS and OCLC arrived at the subject of
+clinical trials: It is 1) a highly statistical discipline that 2) does
+not require halftones but can satisfy the needs of its audience with line
+illustrations and graphic material, and 3) there is a need for the speedy
+dissemination of high-quality research results. Clinical trials are
+research activities that involve the administration of a test treatment
+to some experimental unit in order to test its usefulness before it is
+made available to the general population. LEBRON proceeded to give
+additional information on OJCCT concerning its editor-in-chief, editorial
+board, editorial content, and the types of articles it publishes
+(including peer-reviewed research reports and reviews), as well as
+features shared by other traditional hard-copy journals.
+
+Among the advantages of the electronic format are faster dissemination of
+information, including raw data, and the absence of space constraints
+because pages do not exist. (This latter fact creates an interesting
+situation when it comes to citations.) Nor are there any issues. AAAS's
+capacity to download materials directly from the journal to a
+subscriber's printer, hard drive, or floppy disk helps ensure highly
+accurate transcription. Other features of OJCCT include on-screen alerts
+that allow linkage of subsequently published documents to the original
+documents; on-line searching by subject, author, title, etc.; indexing of
+every single word that appears in an article; viewing access to an
+article by component (abstract, full text, or graphs); numbered
+paragraphs to replace page counts; publication in Science every thirty
+days of indexing of all articles published in the journal;
+typeset-quality screens; and Hypertext links that enable subscribers to
+bring up Medline abstracts directly without leaving the journal.
+
+After detailing the two primary ways to gain access to the journal,
+through the OCLC network and Compuserv if one desires graphics or through
+the Internet if just an ASCII file is desired, LEBRON illustrated the
+speedy editorial process and the coding of the document using SGML tags
+after it has been accepted for publication. She also gave an illustrated
+tour of the journal, its search-and-retrieval capabilities in particular,
+but also including problems associated with scanning in illustrations,
+and the importance of on-screen alerts to the medical profession re
+retractions or corrections, or more frequently, editorials, letters to
+the editors, or follow-up reports. She closed by inviting the audience
+to join AAAS on 1 July, when OJCCT was scheduled to go on-line.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Additional features of OJCCT *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+In the lengthy discussion that followed LEBRON's presentation, these
+points emerged:
+
+ * The SGML text can be tailored as users wish.
+
+ * All these articles have a fairly simple document definition.
+
+ * Document-type definitions (DTDs) were developed and given to OJCCT
+ for coding.
+
+ * No articles will be removed from the journal. (Because there are
+ no back issues, there are no lost issues either. Once a subscriber
+ logs onto the journal he or she has access not only to the currently
+ published materials, but retrospectively to everything that has been
+ published in it. Thus the table of contents grows bigger. The date
+ of publication serves to distinguish between currently published
+ materials and older materials.)
+
+ * The pricing system for the journal resembles that for most medical
+ journals: for 1992, $95 for a year, plus telecommunications charges
+ (there are no connect time charges); for 1993, $110 for the
+ entire year for single users, though the journal can be put on a
+ local area network (LAN). However, only one person can access the
+ journal at a time. Site licenses may come in the future.
+
+ * AAAS is working closely with colleagues at OCLC to display
+ mathematical equations on screen.
+
+ * Without compromising any steps in the editorial process, the
+ technology has reduced the time lag between when a manuscript is
+ originally submitted and the time it is accepted; the review process
+ does not differ greatly from the standard six-to-eight weeks
+ employed by many of the hard-copy journals. The process still
+ depends on people.
+
+ * As far as a preservation copy is concerned, articles will be
+ maintained on the computer permanently and subscribers, as part of
+ their subscription, will receive a microfiche-quality archival copy
+ of everything published during that year; in addition, reprints can
+ be purchased in much the same way as in a hard-copy environment.
+ Hard copies are prepared but are not the primary medium for the
+ dissemination of the information.
+
+ * Because OJCCT is not yet on line, it is difficult to know how many
+ people would simply browse through the journal on the screen as
+ opposed to downloading the whole thing and printing it out; a mix of
+ both types of users likely will result.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+PERSONIUS * Developments in technology over the past decade * The CLASS
+Project * Advantages for technology and for the CLASS Project *
+Developing a network application an underlying assumption of the project
+* Details of the scanning process * Print-on-demand copies of books *
+Future plans include development of a browsing tool *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Lynne PERSONIUS, assistant director, Cornell Information Technologies for
+Scholarly Information Services, Cornell University, first commented on
+the tremendous impact that developments in technology over the past ten
+years--networking, in particular--have had on the way information is
+handled, and how, in her own case, these developments have counterbalanced
+Cornell's relative geographical isolation. Other significant technologies
+include scanners, which are much more sophisticated than they were ten years
+ago; mass storage and the dramatic savings that result from it in terms of
+both space and money relative to twenty or thirty years ago; new and
+improved printing technologies, which have greatly affected the distribution
+of information; and, of course, digital technologies, whose applicability to
+library preservation remains at issue.
+
+Given that context, PERSONIUS described the College Library Access and
+Storage System (CLASS) Project, a library preservation project,
+primarily, and what has been accomplished. Directly funded by the
+Commission on Preservation and Access and by the Xerox Corporation, which
+has provided a significant amount of hardware, the CLASS Project has been
+working with a development team at Xerox to develop a software
+application tailored to library preservation requirements. Within
+Cornell, participants in the project have been working jointly with both
+library and information technologies. The focus of the project has been
+on reformatting and saving books that are in brittle condition.
+PERSONIUS showed Workshop participants a brittle book, and described how
+such books were the result of developments in papermaking around the
+beginning of the Industrial Revolution. The papermaking process was
+changed so that a significant amount of acid was introduced into the
+actual paper itself, which deteriorates as it sits on library shelves.
+
+One of the advantages for technology and for the CLASS Project is that
+the information in brittle books is mostly out of copyright and thus
+offers an opportunity to work with material that requires library
+preservation, and to create and work on an infrastructure to save the
+material. Acknowledging the familiarity of those working in preservation
+with this information, PERSONIUS noted that several things are being
+done: the primary preservation technology used today is photocopying of
+brittle material. Saving the intellectual content of the material is the
+main goal. With microfilm copy, the intellectual content is preserved on
+the assumption that in the future the image can be reformatted in any
+other way that then exists.
+
+An underlying assumption of the CLASS Project from the beginning was
+that it would develop a network application. Project staff scan books
+at a workstation located in the library, near the brittle material.
+An image-server filing system is located at a distance from that
+workstation, and a printer is located in another building. All of the
+materials digitized and stored on the image-filing system are cataloged
+in the on-line catalogue. In fact, a record for each of these electronic
+books is stored in the RLIN database so that a record exists of what is
+in the digital library throughout standard catalogue procedures. In the
+future, researchers working from their own workstations in their offices,
+or their networks, will have access--wherever they might be--through a
+request server being built into the new digital library. A second
+assumption is that the preferred means of finding the material will be by
+looking through a catalogue. PERSONIUS described the scanning process,
+which uses a prototype scanner being developed by Xerox and which scans a
+very high resolution image at great speed. Another significant feature,
+because this is a preservation application, is the placing of the pages
+that fall apart one for one on the platen. Ordinarily, a scanner could
+be used with some sort of a document feeder, but because of this
+application that is not feasible. Further, because CLASS is a
+preservation application, after the paper replacement is made there, a
+very careful quality control check is performed. An original book is
+compared to the printed copy and verification is made, before proceeding,
+that all of the image, all of the information, has been captured. Then,
+a new library book is produced: The printed images are rebound by a
+commercial binder and a new book is returned to the shelf.
+Significantly, the books returned to the library shelves are beautiful
+and useful replacements on acid-free paper that should last a long time,
+in effect, the equivalent of preservation photocopies. Thus, the project
+has a library of digital books. In essence, CLASS is scanning and
+storing books as 600 dot-per-inch bit-mapped images, compressed using
+Group 4 CCITT (i.e., the French acronym for International Consultative
+Committee for Telegraph and Telephone) compression. They are stored as
+TIFF files on an optical filing system that is composed of a database
+used for searching and locating the books and an optical jukebox that
+stores 64 twelve-inch platters. A very-high-resolution printed copy of
+these books at 600 dots per inch is created, using a Xerox DocuTech
+printer to make the paper replacements on acid-free paper.
+
+PERSONIUS maintained that the CLASS Project presents an opportunity to
+introduce people to books as digital images by using a paper medium.
+Books are returned to the shelves while people are also given the ability
+to print on demand--to make their own copies of books. (PERSONIUS
+distributed copies of an engineering journal published by engineering
+students at Cornell around 1900 as an example of what a print-on-demand
+copy of material might be like. This very cheap copy would be available
+to people to use for their own research purposes and would bridge the gap
+between an electronic work and the paper that readers like to have.)
+PERSONIUS then attempted to illustrate a very early prototype of
+networked access to this digital library. Xerox Corporation has
+developed a prototype of a view station that can send images across the
+network to be viewed.
+
+The particular library brought down for demonstration contained two
+mathematics books. CLASS is developing and will spend the next year
+developing an application that allows people at workstations to browse
+the books. Thus, CLASS is developing a browsing tool, on the assumption
+that users do not want to read an entire book from a workstation, but
+would prefer to be able to look through and decide if they would like to
+have a printed copy of it.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Re retrieval software * "Digital file copyright" * Scanning
+rate during production * Autosegmentation * Criteria employed in
+selecting books for scanning * Compression and decompression of images *
+OCR not precluded *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the question-and-answer period that followed her presentation,
+PERSONIUS made these additional points:
+
+ * Re retrieval software, Cornell is developing a Unix-based server
+ as well as clients for the server that support multiple platforms
+ (Macintosh, IBM and Sun workstations), in the hope that people from
+ any of those platforms will retrieve books; a further operating
+ assumption is that standard interfaces will be used as much as
+ possible, where standards can be put in place, because CLASS
+ considers this retrieval software a library application and would
+ like to be able to look at material not only at Cornell but at other
+ institutions.
+
+ * The phrase "digital file copyright by Cornell University" was
+ added at the advice of Cornell's legal staff with the caveat that it
+ probably would not hold up in court. Cornell does not want people
+ to copy its books and sell them but would like to keep them
+ available for use in a library environment for library purposes.
+
+ * In production the scanner can scan about 300 pages per hour,
+ capturing 600 dots per inch.
+
+ * The Xerox software has filters to scan halftone material and avoid
+ the moire patterns that occur when halftone material is scanned.
+ Xerox has been working on hardware and software that would enable
+ the scanner itself to recognize this situation and deal with it
+ appropriately--a kind of autosegmentation that would enable the
+ scanner to handle halftone material as well as text on a single page.
+
+ * The books subjected to the elaborate process described above were
+ selected because CLASS is a preservation project, with the first 500
+ books selected coming from Cornell's mathematics collection, because
+ they were still being heavily used and because, although they were
+ in need of preservation, the mathematics library and the mathematics
+ faculty were uncomfortable having them microfilmed. (They wanted a
+ printed copy.) Thus, these books became a logical choice for this
+ project. Other books were chosen by the project's selection committees
+ for experiments with the technology, as well as to meet a demand or need.
+
+ * Images will be decompressed before they are sent over the line; at
+ this time they are compressed and sent to the image filing system
+ and then sent to the printer as compressed images; they are returned
+ to the workstation as compressed 600-dpi images and the workstation
+ decompresses and scales them for display--an inefficient way to
+ access the material though it works quite well for printing and
+ other purposes.
+
+ * CLASS is also decompressing on Macintosh and IBM, a slow process
+ right now. Eventually, compression and decompression will take
+ place on an image conversion server. Trade-offs will be made, based
+ on future performance testing, concerning where the file is
+ compressed and what resolution image is sent.
+
+ * OCR has not been precluded; images are being stored that have been
+ scanned at a high resolution, which presumably would suit them well
+ to an OCR process. Because the material being scanned is about 100
+ years old and was printed with less-than-ideal technologies, very
+ early and preliminary tests have not produced good results. But the
+ project is capturing an image that is of sufficient resolution to be
+ subjected to OCR in the future. Moreover, the system architecture
+ and the system plan have a logical place to store an OCR image if it
+ has been captured. But that is not being done now.
+
+ ******
+
+SESSION III. DISTRIBUTION, NETWORKS, AND NETWORKING: OPTIONS FOR
+DISSEMINATION
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ZICH * Issues pertaining to CD-ROMs * Options for publishing in CD-ROM *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Robert ZICH, special assistant to the associate librarian for special
+projects, Library of Congress, and moderator of this session, first noted
+the blessed but somewhat awkward circumstance of having four very
+distinguished people representing networks and networking or at least
+leaning in that direction, while lacking anyone to speak from the
+strongest possible background in CD-ROMs. ZICH expressed the hope that
+members of the audience would join the discussion. He stressed the
+subtitle of this particular session, "Options for Dissemination," and,
+concerning CD-ROMs, the importance of determining when it would be wise
+to consider dissemination in CD-ROM versus networks. A shopping list of
+issues pertaining to CD-ROMs included: the grounds for selecting
+commercial publishers, and in-house publication where possible versus
+nonprofit or government publication. A similar list for networks
+included: determining when one should consider dissemination through a
+network, identifying the mechanisms or entities that exist to place items
+on networks, identifying the pool of existing networks, determining how a
+producer would choose between networks, and identifying the elements of
+a business arrangement in a network.
+
+Options for publishing in CD-ROM: an outside publisher versus
+self-publication. If an outside publisher is used, it can be nonprofit,
+such as the Government Printing Office (GPO) or the National Technical
+Information Service (NTIS), in the case of government. The pros and cons
+associated with employing an outside publisher are obvious. Among the
+pros, there is no trouble getting accepted. One pays the bill and, in
+effect, goes one's way. Among the cons, when one pays an outside
+publisher to perform the work, that publisher will perform the work it is
+obliged to do, but perhaps without the production expertise and skill in
+marketing and dissemination that some would seek. There is the body of
+commercial publishers that do possess that kind of expertise in
+distribution and marketing but that obviously are selective. In
+self-publication, one exercises full control, but then one must handle
+matters such as distribution and marketing. Such are some of the options
+for publishing in the case of CD-ROM.
+
+In the case of technical and design issues, which are also important,
+there are many matters which many at the Workshop already knew a good
+deal about: retrieval system requirements and costs, what to do about
+images, the various capabilities and platforms, the trade-offs between
+cost and performance, concerns about local-area networkability,
+interoperability, etc.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+LYNCH * Creating networked information is different from using networks
+as an access or dissemination vehicle * Networked multimedia on a large
+scale does not yet work * Typical CD-ROM publication model a two-edged
+sword * Publishing information on a CD-ROM in the present world of
+immature standards * Contrast between CD-ROM and network pricing *
+Examples demonstrated earlier in the day as a set of insular information
+gems * Paramount need to link databases * Layering to become increasingly
+necessary * Project NEEDS and the issues of information reuse and active
+versus passive use * X-Windows as a way of differentiating between
+network access and networked information * Barriers to the distribution
+of networked multimedia information * Need for good, real-time delivery
+protocols * The question of presentation integrity in client-server
+computing in the academic world * Recommendations for producing multimedia
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Clifford LYNCH, director, Library Automation, University of California,
+opened his talk with the general observation that networked information
+constituted a difficult and elusive topic because it is something just
+starting to develop and not yet fully understood. LYNCH contended that
+creating genuinely networked information was different from using
+networks as an access or dissemination vehicle and was more sophisticated
+and more subtle. He invited the members of the audience to extrapolate,
+from what they heard about the preceding demonstration projects, to what
+sort of a world of electronics information--scholarly, archival,
+cultural, etc.--they wished to end up with ten or fifteen years from now.
+LYNCH suggested that to extrapolate directly from these projects would
+produce unpleasant results.
+
+Putting the issue of CD-ROM in perspective before getting into
+generalities on networked information, LYNCH observed that those engaged
+in multimedia today who wish to ship a product, so to say, probably do
+not have much choice except to use CD-ROM: networked multimedia on a
+large scale basically does not yet work because the technology does not
+exist. For example, anybody who has tried moving images around over the
+Internet knows that this is an exciting touch-and-go process, a
+fascinating and fertile area for experimentation, research, and
+development, but not something that one can become deeply enthusiastic
+about committing to production systems at this time.
+
+This situation will change, LYNCH said. He differentiated CD-ROM from
+the practices that have been followed up to now in distributing data on
+CD-ROM. For LYNCH the problem with CD-ROM is not its portability or its
+slowness but the two-edged sword of having the retrieval application and
+the user interface inextricably bound up with the data, which is the
+typical CD-ROM publication model. It is not a case of publishing data
+but of distributing a typically stand-alone, typically closed system,
+all--software, user interface, and data--on a little disk. Hence, all
+the between-disk navigational issues as well as the impossibility in most
+cases of integrating data on one disk with that on another. Most CD-ROM
+retrieval software does not network very gracefully at present. However,
+in the present world of immature standards and lack of understanding of
+what network information is or what the ground rules are for creating or
+using it, publishing information on a CD-ROM does add value in a very
+real sense.
+
+LYNCH drew a contrast between CD-ROM and network pricing and in doing so
+highlighted something bizarre in information pricing. A large
+institution such as the University of California has vendors who will
+offer to sell information on CD-ROM for a price per year in four digits,
+but for the same data (e.g., an abstracting and indexing database) on
+magnetic tape, regardless of how many people may use it concurrently,
+will quote a price in six digits.
+
+What is packaged with the CD-ROM in one sense adds value--a complete
+access system, not just raw, unrefined information--although it is not
+generally perceived that way. This is because the access software,
+although it adds value, is viewed by some people, particularly in the
+university environment where there is a very heavy commitment to
+networking, as being developed in the wrong direction.
+
+Given that context, LYNCH described the examples demonstrated as a set of
+insular information gems--Perseus, for example, offers nicely linked
+information, but would be very difficult to integrate with other
+databases, that is, to link together seamlessly with other source files
+from other sources. It resembles an island, and in this respect is
+similar to numerous stand-alone projects that are based on videodiscs,
+that is, on the single-workstation concept.
+
+As scholarship evolves in a network environment, the paramount need will
+be to link databases. We must link personal databases to public
+databases, to group databases, in fairly seamless ways--which is
+extremely difficult in the environments under discussion with copies of
+databases proliferating all over the place.
+
+The notion of layering also struck LYNCH as lurking in several of the
+projects demonstrated. Several databases in a sense constitute
+information archives without a significant amount of navigation built in.
+Educators, critics, and others will want a layered structure--one that
+defines or links paths through the layers to allow users to reach
+specific points. In LYNCH's view, layering will become increasingly
+necessary, and not just within a single resource but across resources
+(e.g., tracing mythology and cultural themes across several classics
+databases as well as a database of Renaissance culture). This ability to
+organize resources, to build things out of multiple other things on the
+network or select pieces of it, represented for LYNCH one of the key
+aspects of network information.
+
+Contending that information reuse constituted another significant issue,
+LYNCH commended to the audience's attention Project NEEDS (i.e., National
+Engineering Education Delivery System). This project's objective is to
+produce a database of engineering courseware as well as the components
+that can be used to develop new courseware. In a number of the existing
+applications, LYNCH said, the issue of reuse (how much one can take apart
+and reuse in other applications) was not being well considered. He also
+raised the issue of active versus passive use, one aspect of which is
+how much information will be manipulated locally by users. Most people,
+he argued, may do a little browsing and then will wish to print. LYNCH
+was uncertain how these resources would be used by the vast majority of
+users in the network environment.
+
+LYNCH next said a few words about X-Windows as a way of differentiating
+between network access and networked information. A number of the
+applications demonstrated at the Workshop could be rewritten to use X
+across the network, so that one could run them from any X-capable device-
+-a workstation, an X terminal--and transact with a database across the
+network. Although this opens up access a little, assuming one has enough
+network to handle it, it does not provide an interface to develop a
+program that conveniently integrates information from multiple databases.
+X is a viewing technology that has limits. In a real sense, it is just a
+graphical version of remote log-in across the network. X-type applications
+represent only one step in the progression towards real access.
+
+LYNCH next discussed barriers to the distribution of networked multimedia
+information. The heart of the problem is a lack of standards to provide
+the ability for computers to talk to each other, retrieve information,
+and shuffle it around fairly casually. At the moment, little progress is
+being made on standards for networked information; for example, present
+standards do not cover images, digital voice, and digital video. A
+useful tool kit of exchange formats for basic texts is only now being
+assembled. The synchronization of content streams (i.e., synchronizing a
+voice track to a video track, establishing temporal relations between
+different components in a multimedia object) constitutes another issue
+for networked multimedia that is just beginning to receive attention.
+
+Underlying network protocols also need some work; good, real-time
+delivery protocols on the Internet do not yet exist. In LYNCH's view,
+highly important in this context is the notion of networked digital
+object IDs, the ability of one object on the network to point to another
+object (or component thereof) on the network. Serious bandwidth issues
+also exist. LYNCH was uncertain if billion-bit-per-second networks would
+prove sufficient if numerous people ran video in parallel.
+
+LYNCH concluded by offering an issue for database creators to consider,
+as well as several comments about what might constitute good trial
+multimedia experiments. In a networked information world the database
+builder or service builder (publisher) does not exercise the same
+extensive control over the integrity of the presentation; strange
+programs "munge" with one's data before the user sees it. Serious
+thought must be given to what guarantees integrity of presentation. Part
+of that is related to where one draws the boundaries around a networked
+information service. This question of presentation integrity in
+client-server computing has not been stressed enough in the academic
+world, LYNCH argued, though commercial service providers deal with it
+regularly.
+
+Concerning multimedia, LYNCH observed that good multimedia at the moment
+is hideously expensive to produce. He recommended producing multimedia
+with either very high sale value, or multimedia with a very long life
+span, or multimedia that will have a very broad usage base and whose
+costs therefore can be amortized among large numbers of users. In this
+connection, historical and humanistically oriented material may be a good
+place to start, because it tends to have a longer life span than much of
+the scientific material, as well as a wider user base. LYNCH noted, for
+example, that American Memory fits many of the criteria outlined. He
+remarked the extensive discussion about bringing the Internet or the
+National Research and Education Network (NREN) into the K-12 environment
+as a way of helping the American educational system.
+
+LYNCH closed by noting that the kinds of applications demonstrated struck
+him as excellent justifications of broad-scale networking for K-12, but
+that at this time no "killer" application exists to mobilize the K-12
+community to obtain connectivity.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Dearth of genuinely interesting applications on the network
+a slow-changing situation * The issue of the integrity of presentation in
+a networked environment * Several reasons why CD-ROM software does not
+network *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the discussion period that followed LYNCH's presentation, several
+additional points were made.
+
+LYNCH reiterated even more strongly his contention that, historically,
+once one goes outside high-end science and the group of those who need
+access to supercomputers, there is a great dearth of genuinely
+interesting applications on the network. He saw this situation changing
+slowly, with some of the scientific databases and scholarly discussion
+groups and electronic journals coming on as well as with the availability
+of Wide Area Information Servers (WAIS) and some of the databases that
+are being mounted there. However, many of those things do not seem to
+have piqued great popular interest. For instance, most high school
+students of LYNCH's acquaintance would not qualify as devotees of serious
+molecular biology.
+
+Concerning the issue of the integrity of presentation, LYNCH believed
+that a couple of information providers have laid down the law at least on
+certain things. For example, his recollection was that the National
+Library of Medicine feels strongly that one needs to employ the
+identifier field if he or she is to mount a database commercially. The
+problem with a real networked environment is that one does not know who
+is reformatting and reprocessing one's data when one enters a client
+server mode. It becomes anybody's guess, for example, if the network
+uses a Z39.50 server, or what clients are doing with one's data. A data
+provider can say that his contract will only permit clients to have
+access to his data after he vets them and their presentation and makes
+certain it suits him. But LYNCH held out little expectation that the
+network marketplace would evolve in that way, because it required too
+much prior negotiation.
+
+CD-ROM software does not network for a variety of reasons, LYNCH said.
+He speculated that CD-ROM publishers are not eager to have their products
+really hook into wide area networks, because they fear it will make their
+data suppliers nervous. Moreover, until relatively recently, one had to
+be rather adroit to run a full TCP/IP stack plus applications on a
+PC-size machine, whereas nowadays it is becoming easier as PCs grow
+bigger and faster. LYNCH also speculated that software providers had not
+heard from their customers until the last year or so, or had not heard
+from enough of their customers.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BESSER * Implications of disseminating images on the network; planning
+the distribution of multimedia documents poses two critical
+implementation problems * Layered approach represents the way to deal
+with users' capabilities * Problems in platform design; file size and its
+implications for networking * Transmission of megabyte size images
+impractical * Compression and decompression at the user's end * Promising
+trends for compression * A disadvantage of using X-Windows * A project at
+the Smithsonian that mounts images on several networks *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Howard BESSER, School of Library and Information Science, University of
+Pittsburgh, spoke primarily about multimedia, focusing on images and the
+broad implications of disseminating them on the network. He argued that
+planning the distribution of multimedia documents posed two critical
+implementation problems, which he framed in the form of two questions:
+1) What platform will one use and what hardware and software will users
+have for viewing of the material? and 2) How can one deliver a
+sufficiently robust set of information in an accessible format in a
+reasonable amount of time? Depending on whether network or CD-ROM is the
+medium used, this question raises different issues of storage,
+compression, and transmission.
+
+Concerning the design of platforms (e.g., sound, gray scale, simple
+color, etc.) and the various capabilities users may have, BESSER
+maintained that a layered approach was the way to deal with users'
+capabilities. A result would be that users with less powerful
+workstations would simply have less functionality. He urged members of
+the audience to advocate standards and accompanying software that handle
+layered functionality across a wide variety of platforms.
+
+BESSER also addressed problems in platform design, namely, deciding how
+large a machine to design for situations when the largest number of users
+have the lowest level of the machine, and one desires higher
+functionality. BESSER then proceeded to the question of file size and
+its implications for networking. He discussed still images in the main.
+For example, a digital color image that fills the screen of a standard
+mega-pel workstation (Sun or Next) will require one megabyte of storage
+for an eight-bit image or three megabytes of storage for a true color or
+twenty-four-bit image. Lossless compression algorithms (that is,
+computational procedures in which no data is lost in the process of
+compressing [and decompressing] an image--the exact bit-representation is
+maintained) might bring storage down to a third of a megabyte per image,
+but not much further than that. The question of size makes it difficult
+to fit an appropriately sized set of these images on a single disk or to
+transmit them quickly enough on a network.
+
+With these full screen mega-pel images that constitute a third of a
+megabyte, one gets 1,000-3,000 full-screen images on a one-gigabyte disk;
+a standard CD-ROM represents approximately 60 percent of that. Storing
+images the size of a PC screen (just 8 bit color) increases storage
+capacity to 4,000-12,000 images per gigabyte; 60 percent of that gives
+one the size of a CD-ROM, which in turn creates a major problem. One
+cannot have full-screen, full-color images with lossless compression; one
+must compress them or use a lower resolution. For megabyte-size images,
+anything slower than a T-1 speed is impractical. For example, on a
+fifty-six-kilobaud line, it takes three minutes to transfer a
+one-megabyte file, if it is not compressed; and this speed assumes ideal
+circumstances (no other user contending for network bandwidth). Thus,
+questions of disk access, remote display, and current telephone
+connection speed make transmission of megabyte-size images impractical.
+
+BESSER then discussed ways to deal with these large images, for example,
+compression and decompression at the user's end. In this connection, the
+issues of how much one is willing to lose in the compression process and
+what image quality one needs in the first place are unknown. But what is
+known is that compression entails some loss of data. BESSER urged that
+more studies be conducted on image quality in different situations, for
+example, what kind of images are needed for what kind of disciplines, and
+what kind of image quality is needed for a browsing tool, an intermediate
+viewing tool, and archiving.
+
+BESSER remarked two promising trends for compression: from a technical
+perspective, algorithms that use what is called subjective redundancy
+employ principles from visual psycho-physics to identify and remove
+information from the image that the human eye cannot perceive; from an
+interchange and interoperability perspective, the JPEG (i.e., Joint
+Photographic Experts Group, an ISO standard) compression algorithms also
+offer promise. These issues of compression and decompression, BESSER
+argued, resembled those raised earlier concerning the design of different
+platforms. Gauging the capabilities of potential users constitutes a
+primary goal. BESSER advocated layering or separating the images from
+the applications that retrieve and display them, to avoid tying them to
+particular software.
+
+BESSER detailed several lessons learned from his work at Berkeley with
+Imagequery, especially the advantages and disadvantages of using
+X-Windows. In the latter category, for example, retrieval is tied
+directly to one's data, an intolerable situation in the long run on a
+networked system. Finally, BESSER described a project of Jim Wallace at
+the Smithsonian Institution, who is mounting images in a extremely
+rudimentary way on the Compuserv and Genie networks and is preparing to
+mount them on America On Line. Although the average user takes over
+thirty minutes to download these images (assuming a fairly fast modem),
+nevertheless, images have been downloaded 25,000 times.
+
+BESSER concluded his talk with several comments on the business
+arrangement between the Smithsonian and Compuserv. He contended that not
+enough is known concerning the value of images.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Creating digitized photographic collections nearly
+impossible except with large organizations like museums * Need for study
+to determine quality of images users will tolerate *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the brief exchange between LESK and BESSER that followed, several
+clarifications emerged.
+
+LESK argued that the photographers were far ahead of BESSER: It is
+almost impossible to create such digitized photographic collections
+except with large organizations like museums, because all the
+photographic agencies have been going crazy about this and will not sign
+licensing agreements on any sort of reasonable terms. LESK had heard
+that National Geographic, for example, had tried to buy the right to use
+some image in some kind of educational production for $100 per image, but
+the photographers will not touch it. They want accounting and payment
+for each use, which cannot be accomplished within the system. BESSER
+responded that a consortium of photographers, headed by a former National
+Geographic photographer, had started assembling its own collection of
+electronic reproductions of images, with the money going back to the
+cooperative.
+
+LESK contended that BESSER was unnecessarily pessimistic about multimedia
+images, because people are accustomed to low-quality images, particularly
+from video. BESSER urged the launching of a study to determine what
+users would tolerate, what they would feel comfortable with, and what
+absolutely is the highest quality they would ever need. Conceding that
+he had adopted a dire tone in order to arouse people about the issue,
+BESSER closed on a sanguine note by saying that he would not be in this
+business if he did not think that things could be accomplished.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+LARSEN * Issues of scalability and modularity * Geometric growth of the
+Internet and the role played by layering * Basic functions sustaining
+this growth * A library's roles and functions in a network environment *
+Effects of implementation of the Z39.50 protocol for information
+retrieval on the library system * The trade-off between volumes of data
+and its potential usage * A snapshot of current trends *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Ronald LARSEN, associate director for information technology, University
+of Maryland at College Park, first addressed the issues of scalability
+and modularity. He noted the difficulty of anticipating the effects of
+orders-of-magnitude growth, reflecting on the twenty years of experience
+with the Arpanet and Internet. Recalling the day's demonstrations of
+CD-ROM and optical disk material, he went on to ask if the field has yet
+learned how to scale new systems to enable delivery and dissemination
+across large-scale networks.
+
+LARSEN focused on the geometric growth of the Internet from its inception
+circa 1969 to the present, and the adjustments required to respond to
+that rapid growth. To illustrate the issue of scalability, LARSEN
+considered computer networks as including three generic components:
+computers, network communication nodes, and communication media. Each
+component scales (e.g., computers range from PCs to supercomputers;
+network nodes scale from interface cards in a PC through sophisticated
+routers and gateways; and communication media range from 2,400-baud
+dial-up facilities through 4.5-Mbps backbone links, and eventually to
+multigigabit-per-second communication lines), and architecturally, the
+components are organized to scale hierarchically from local area networks
+to international-scale networks. Such growth is made possible by
+building layers of communication protocols, as BESSER pointed out.
+By layering both physically and logically, a sense of scalability is
+maintained from local area networks in offices, across campuses, through
+bridges, routers, campus backbones, fiber-optic links, etc., up into
+regional networks and ultimately into national and international
+networks.
+
+LARSEN then illustrated the geometric growth over a two-year period--
+through September 1991--of the number of networks that comprise the
+Internet. This growth has been sustained largely by the availability of
+three basic functions: electronic mail, file transfer (ftp), and remote
+log-on (telnet). LARSEN also reviewed the growth in the kind of traffic
+that occurs on the network. Network traffic reflects the joint contributions
+of a larger population of users and increasing use per user. Today one sees
+serious applications involving moving images across the network--a rarity
+ten years ago. LARSEN recalled and concurred with BESSER's main point
+that the interesting problems occur at the application level.
+
+LARSEN then illustrated a model of a library's roles and functions in a
+network environment. He noted, in particular, the placement of on-line
+catalogues onto the network and patrons obtaining access to the library
+increasingly through local networks, campus networks, and the Internet.
+LARSEN supported LYNCH's earlier suggestion that we need to address
+fundamental questions of networked information in order to build
+environments that scale in the information sense as well as in the
+physical sense.
+
+LARSEN supported the role of the library system as the access point into
+the nation's electronic collections. Implementation of the Z39.50
+protocol for information retrieval would make such access practical and
+feasible. For example, this would enable patrons in Maryland to search
+California libraries, or other libraries around the world that are
+conformant with Z39.50 in a manner that is familiar to University of
+Maryland patrons. This client-server model also supports moving beyond
+secondary content into primary content. (The notion of how one links
+from secondary content to primary content, LARSEN said, represents a
+fundamental problem that requires rigorous thought.) After noting
+numerous network experiments in accessing full-text materials, including
+projects supporting the ordering of materials across the network, LARSEN
+revisited the issue of transmitting high-density, high-resolution color
+images across the network and the large amounts of bandwidth they
+require. He went on to address the bandwidth and synchronization
+problems inherent in sending full-motion video across the network.
+
+LARSEN illustrated the trade-off between volumes of data in bytes or
+orders of magnitude and the potential usage of that data. He discussed
+transmission rates (particularly, the time it takes to move various forms
+of information), and what one could do with a network supporting
+multigigabit-per-second transmission. At the moment, the network
+environment includes a composite of data-transmission requirements,
+volumes and forms, going from steady to bursty (high-volume) and from
+very slow to very fast. This aggregate must be considered in the design,
+construction, and operation of multigigabyte networks.
+
+LARSEN's objective is to use the networks and library systems now being
+constructed to increase access to resources wherever they exist, and
+thus, to evolve toward an on-line electronic virtual library.
+
+LARSEN concluded by offering a snapshot of current trends: continuing
+geometric growth in network capacity and number of users; slower
+development of applications; and glacial development and adoption of
+standards. The challenge is to design and develop each new application
+system with network access and scalability in mind.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BROWNRIGG * Access to the Internet cannot be taken for granted * Packet
+radio and the development of MELVYL in 1980-81 in the Division of Library
+Automation at the University of California * Design criteria for packet
+radio * A demonstration project in San Diego and future plans * Spread
+spectrum * Frequencies at which the radios will run and plans to
+reimplement the WAIS server software in the public domain * Need for an
+infrastructure of radios that do not move around *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Edwin BROWNRIGG, executive director, Memex Research Institute, first
+polled the audience in order to seek out regular users of the Internet as
+well as those planning to use it some time in the future. With nearly
+everybody in the room falling into one category or the other, BROWNRIGG
+made a point re access, namely that numerous individuals, especially those
+who use the Internet every day, take for granted their access to it, the
+speeds with which they are connected, and how well it all works.
+However, as BROWNRIGG discovered between 1987 and 1989 in Australia,
+if one wants access to the Internet but cannot afford it or has some
+physical boundary that prevents her or him from gaining access, it can
+be extremely frustrating. He suggested that because of economics and
+physical barriers we were beginning to create a world of haves and have-nots
+in the process of scholarly communication, even in the United States.
+
+BROWNRIGG detailed the development of MELVYL in academic year 1980-81 in
+the Division of Library Automation at the University of California, in
+order to underscore the issue of access to the system, which at the
+outset was extremely limited. In short, the project needed to build a
+network, which at that time entailed use of satellite technology, that is,
+putting earth stations on campus and also acquiring some terrestrial links
+from the State of California's microwave system. The installation of
+satellite links, however, did not solve the problem (which actually
+formed part of a larger problem involving politics and financial resources).
+For while the project team could get a signal onto a campus, it had no means
+of distributing the signal throughout the campus. The solution involved
+adopting a recent development in wireless communication called packet radio,
+which combined the basic notion of packet-switching with radio. The project
+used this technology to get the signal from a point on campus where it
+came down, an earth station for example, into the libraries, because it
+found that wiring the libraries, especially the older marble buildings,
+would cost $2,000-$5,000 per terminal.
+
+BROWNRIGG noted that, ten years ago, the project had neither the public
+policy nor the technology that would have allowed it to use packet radio
+in any meaningful way. Since then much had changed. He proceeded to
+detail research and development of the technology, how it is being
+deployed in California, and what direction he thought it would take.
+The design criteria are to produce a high-speed, one-time, low-cost,
+high-quality, secure, license-free device (packet radio) that one can
+plug in and play today, forget about it, and have access to the Internet.
+By high speed, BROWNRIGG meant 1 megabyte and 1.5 megabytes. Those units
+have been built, he continued, and are in the process of being
+type-certified by an independent underwriting laboratory so that they can
+be type-licensed by the Federal Communications Commission. As is the
+case with citizens band, one will be able to purchase a unit and not have
+to worry about applying for a license.
+
+The basic idea, BROWNRIGG elaborated, is to take high-speed radio data
+transmission and create a backbone network that at certain strategic
+points in the network will "gateway" into a medium-speed packet radio
+(i.e., one that runs at 38.4 kilobytes), so that perhaps by 1994-1995
+people, like those in the audience for the price of a VCR could purchase
+a medium-speed radio for the office or home, have full network connectivity
+to the Internet, and partake of all its services, with no need for an FCC
+license and no regular bill from the local common carrier. BROWNRIGG
+presented several details of a demonstration project currently taking
+place in San Diego and described plans, pending funding, to install a
+full-bore network in the San Francisco area. This network will have 600
+nodes running at backbone speeds, and 100 of these nodes will be libraries,
+which in turn will be the gateway ports to the 38.4 kilobyte radios that
+will give coverage for the neighborhoods surrounding the libraries.
+
+BROWNRIGG next explained Part 15.247, a new rule within Title 47 of the
+Code of Federal Regulations enacted by the FCC in 1985. This rule
+challenged the industry, which has only now risen to the occasion, to
+build a radio that would run at no more than one watt of output power and
+use a fairly exotic method of modulating the radio wave called spread
+spectrum. Spread spectrum in fact permits the building of networks so
+that numerous data communications can occur simultaneously, without
+interfering with each other, within the same wide radio channel.
+
+BROWNRIGG explained that the frequencies at which the radios would run
+are very short wave signals. They are well above standard microwave and
+radar. With a radio wave that small, one watt becomes a tremendous punch
+per bit and thus makes transmission at reasonable speed possible. In
+order to minimize the potential for congestion, the project is
+undertaking to reimplement software which has been available in the
+networking business and is taken for granted now, for example, TCP/IP,
+routing algorithms, bridges, and gateways. In addition, the project
+plans to take the WAIS server software in the public domain and
+reimplement it so that one can have a WAIS server on a Mac instead of a
+Unix machine. The Memex Research Institute believes that libraries, in
+particular, will want to use the WAIS servers with packet radio. This
+project, which has a team of about twelve people, will run through 1993
+and will include the 100 libraries already mentioned as well as other
+professionals such as those in the medical profession, engineering, and
+law. Thus, the need is to create an infrastructure of radios that do not
+move around, which, BROWNRIGG hopes, will solve a problem not only for
+libraries but for individuals who, by and large today, do not have access
+to the Internet from their homes and offices.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Project operating frequencies *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During a brief discussion period, which also concluded the day's
+proceedings, BROWNRIGG stated that the project was operating in four
+frequencies. The slow speed is operating at 435 megahertz, and it would
+later go up to 920 megahertz. With the high-speed frequency, the
+one-megabyte radios will run at 2.4 gigabits, and 1.5 will run at 5.7.
+At 5.7, rain can be a factor, but it would have to be tropical rain,
+unlike what falls in most parts of the United States.
+
+ ******
+
+SESSION IV. IMAGE CAPTURE, TEXT CAPTURE, OVERVIEW OF TEXT AND
+ IMAGE STORAGE FORMATS
+
+William HOOTON, vice president of operations, I-NET, moderated this session.
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+KENNEY * Factors influencing development of CXP * Advantages of using
+digital technology versus photocopy and microfilm * A primary goal of
+CXP; publishing challenges * Characteristics of copies printed * Quality
+of samples achieved in image capture * Several factors to be considered
+in choosing scanning * Emphasis of CXP on timely and cost-effective
+production of black-and-white printed facsimiles * Results of producing
+microfilm from digital files * Advantages of creating microfilm * Details
+concerning production * Costs * Role of digital technology in library
+preservation *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Anne KENNEY, associate director, Department of Preservation and
+Conservation, Cornell University, opened her talk by observing that the
+Cornell Xerox Project (CXP) has been guided by the assumption that the
+ability to produce printed facsimiles or to replace paper with paper
+would be important, at least for the present generation of users and
+equipment. She described three factors that influenced development of
+the project: 1) Because the project has emphasized the preservation of
+deteriorating brittle books, the quality of what was produced had to be
+sufficiently high to return a paper replacement to the shelf. CXP was
+only interested in using: 2) a system that was cost-effective, which
+meant that it had to be cost-competitive with the processes currently
+available, principally photocopy and microfilm, and 3) new or currently
+available product hardware and software.
+
+KENNEY described the advantages that using digital technology offers over
+both photocopy and microfilm: 1) The potential exists to create a higher
+quality reproduction of a deteriorating original than conventional
+light-lens technology. 2) Because a digital image is an encoded
+representation, it can be reproduced again and again with no resulting
+loss of quality, as opposed to the situation with light-lens processes,
+in which there is discernible difference between a second and a
+subsequent generation of an image. 3) A digital image can be manipulated
+in a number of ways to improve image capture; for example, Xerox has
+developed a windowing application that enables one to capture a page
+containing both text and illustrations in a manner that optimizes the
+reproduction of both. (With light-lens technology, one must choose which
+to optimize, text or the illustration; in preservation microfilming, the
+current practice is to shoot an illustrated page twice, once to highlight
+the text and the second time to provide the best capture for the
+illustration.) 4) A digital image can also be edited, density levels
+adjusted to remove underlining and stains, and to increase legibility for
+faint documents. 5) On-screen inspection can take place at the time of
+initial setup and adjustments made prior to scanning, factors that
+substantially reduce the number of retakes required in quality control.
+
+A primary goal of CXP has been to evaluate the paper output printed on
+the Xerox DocuTech, a high-speed printer that produces 600-dpi pages from
+scanned images at a rate of 135 pages a minute. KENNEY recounted several
+publishing challenges to represent faithful and legible reproductions of
+the originals that the 600-dpi copy for the most part successfully
+captured. For example, many of the deteriorating volumes in the project
+were heavily illustrated with fine line drawings or halftones or came in
+languages such as Japanese, in which the buildup of characters comprised
+of varying strokes is difficult to reproduce at lower resolutions; a
+surprising number of them came with annotations and mathematical
+formulas, which it was critical to be able to duplicate exactly.
+
+KENNEY noted that 1) the copies are being printed on paper that meets the
+ANSI standards for performance, 2) the DocuTech printer meets the machine
+and toner requirements for proper adhesion of print to page, as described
+by the National Archives, and thus 3) paper product is considered to be
+the archival equivalent of preservation photocopy.
+
+KENNEY then discussed several samples of the quality achieved in the
+project that had been distributed in a handout, for example, a copy of a
+print-on-demand version of the 1911 Reed lecture on the steam turbine,
+which contains halftones, line drawings, and illustrations embedded in
+text; the first four loose pages in the volume compared the capture
+capabilities of scanning to photocopy for a standard test target, the
+IEEE standard 167A 1987 test chart. In all instances scanning proved
+superior to photocopy, though only slightly more so in one.
+
+Conceding the simplistic nature of her review of the quality of scanning
+to photocopy, KENNEY described it as one representation of the kinds of
+settings that could be used with scanning capabilities on the equipment
+CXP uses. KENNEY also pointed out that CXP investigated the quality
+achieved with binary scanning only, and noted the great promise in gray
+scale and color scanning, whose advantages and disadvantages need to be
+examined. She argued further that scanning resolutions and file formats
+can represent a complex trade-off between the time it takes to capture
+material, file size, fidelity to the original, and on-screen display; and
+printing and equipment availability. All these factors must be taken
+into consideration.
+
+CXP placed primary emphasis on the production in a timely and
+cost-effective manner of printed facsimiles that consisted largely of
+black-and-white text. With binary scanning, large files may be
+compressed efficiently and in a lossless manner (i.e., no data is lost in
+the process of compressing [and decompressing] an image--the exact
+bit-representation is maintained) using Group 4 CCITT (i.e., the French
+acronym for International Consultative Committee for Telegraph and
+Telephone) compression. CXP was getting compression ratios of about
+forty to one. Gray-scale compression, which primarily uses JPEG, is much
+less economical and can represent a lossy compression (i.e., not
+lossless), so that as one compresses and decompresses, the illustration
+is subtly changed. While binary files produce a high-quality printed
+version, it appears 1) that other combinations of spatial resolution with
+gray and/or color hold great promise as well, and 2) that gray scale can
+represent a tremendous advantage for on-screen viewing. The quality
+associated with binary and gray scale also depends on the equipment used.
+For instance, binary scanning produces a much better copy on a binary
+printer.
+
+Among CXP's findings concerning the production of microfilm from digital
+files, KENNEY reported that the digital files for the same Reed lecture
+were used to produce sample film using an electron beam recorder. The
+resulting film was faithful to the image capture of the digital files,
+and while CXP felt that the text and image pages represented in the Reed
+lecture were superior to that of the light-lens film, the resolution
+readings for the 600 dpi were not as high as standard microfilming.
+KENNEY argued that the standards defined for light-lens technology are
+not totally transferable to a digital environment. Moreover, they are
+based on definition of quality for a preservation copy. Although making
+this case will prove to be a long, uphill struggle, CXP plans to continue
+to investigate the issue over the course of the next year.
+
+KENNEY concluded this portion of her talk with a discussion of the
+advantages of creating film: it can serve as a primary backup and as a
+preservation master to the digital file; it could then become the print
+or production master and service copies could be paper, film, optical
+disks, magnetic media, or on-screen display.
+
+Finally, KENNEY presented details re production:
+
+ * Development and testing of a moderately-high resolution production
+ scanning workstation represented a third goal of CXP; to date, 1,000
+ volumes have been scanned, or about 300,000 images.
+
+ * The resulting digital files are stored and used to produce
+ hard-copy replacements for the originals and additional prints on
+ demand; although the initial costs are high, scanning technology
+ offers an affordable means for reformatting brittle material.
+
+ * A technician in production mode can scan 300 pages per hour when
+ performing single-sheet scanning, which is a necessity when working
+ with truly brittle paper; this figure is expected to increase
+ significantly with subsequent iterations of the software from Xerox;
+ a three-month time-and-cost study of scanning found that the average
+ 300-page book would take about an hour and forty minutes to scan
+ (this figure included the time for setup, which involves keying in
+ primary bibliographic data, going into quality control mode to
+ define page size, establishing front-to-back registration, and
+ scanning sample pages to identify a default range of settings for
+ the entire book--functions not dissimilar to those performed by
+ filmers or those preparing a book for photocopy).
+
+ * The final step in the scanning process involved rescans, which
+ happily were few and far between, representing well under 1 percent
+ of the total pages scanned.
+
+In addition to technician time, CXP costed out equipment, amortized over
+four years, the cost of storing and refreshing the digital files every
+four years, and the cost of printing and binding, book-cloth binding, a
+paper reproduction. The total amounted to a little under $65 per single
+300-page volume, with 30 percent overhead included--a figure competitive
+with the prices currently charged by photocopy vendors.
+
+Of course, with scanning, in addition to the paper facsimile, one is left
+with a digital file from which subsequent copies of the book can be
+produced for a fraction of the cost of photocopy, with readers afforded
+choices in the form of these copies.
+
+KENNEY concluded that digital technology offers an electronic means for a
+library preservation effort to pay for itself. If a brittle-book program
+included the means of disseminating reprints of books that are in demand
+by libraries and researchers alike, the initial investment in capture
+could be recovered and used to preserve additional but less popular
+books. She disclosed that an economic model for a self-sustaining
+program could be developed for CXP's report to the Commission on
+Preservation and Access (CPA).
+
+KENNEY stressed that the focus of CXP has been on obtaining high quality
+in a production environment. The use of digital technology is viewed as
+an affordable alternative to other reformatting options.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ANDRE * Overview and history of NATDP * Various agricultural CD-ROM
+products created inhouse and by service bureaus * Pilot project on
+Internet transmission * Additional products in progress *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Pamela ANDRE, associate director for automation, National Agricultural
+Text Digitizing Program (NATDP), National Agricultural Library (NAL),
+presented an overview of NATDP, which has been underway at NAL the last
+four years, before Judith ZIDAR discussed the technical details. ANDRE
+defined agricultural information as a broad range of material going from
+basic and applied research in the hard sciences to the one-page pamphlets
+that are distributed by the cooperative state extension services on such
+things as how to grow blueberries.
+
+NATDP began in late 1986 with a meeting of representatives from the
+land-grant library community to deal with the issue of electronic
+information. NAL and forty-five of these libraries banded together to
+establish this project--to evaluate the technology for converting what
+were then source documents in paper form into electronic form, to provide
+access to that digital information, and then to distribute it.
+Distributing that material to the community--the university community as
+well as the extension service community, potentially down to the county
+level--constituted the group's chief concern.
+
+Since January 1988 (when the microcomputer-based scanning system was
+installed at NAL), NATDP has done a variety of things, concerning which
+ZIDAR would provide further details. For example, the first technology
+considered in the project's discussion phase was digital videodisc, which
+indicates how long ago it was conceived.
+
+Over the four years of this project, four separate CD-ROM products on
+four different agricultural topics were created, two at a
+scanning-and-OCR station installed at NAL, and two by service bureaus.
+Thus, NATDP has gained comparative information in terms of those relative
+costs. Each of these products contained the full ASCII text as well as
+page images of the material, or between 4,000 and 6,000 pages of material
+on these disks. Topics included aquaculture, food, agriculture and
+science (i.e., international agriculture and research), acid rain, and
+Agent Orange, which was the final product distributed (approximately
+eighteen months before the Workshop).
+
+The third phase of NATDP focused on delivery mechanisms other than
+CD-ROM. At the suggestion of Clifford LYNCH, who was a technical
+consultant to the project at this point, NATDP became involved with the
+Internet and initiated a project with the help of North Carolina State
+University, in which fourteen of the land-grant university libraries are
+transmitting digital images over the Internet in response to interlibrary
+loan requests--a topic for another meeting. At this point, the pilot
+project had been completed for about a year and the final report would be
+available shortly after the Workshop. In the meantime, the project's
+success had led to its extension. (ANDRE noted that one of the first
+things done under the program title was to select a retrieval package to
+use with subsequent products; Windows Personal Librarian was the package
+of choice after a lengthy evaluation.)
+
+Three additional products had been planned and were in progress:
+
+ 1) An arrangement with the American Society of Agronomy--a
+ professional society that has published the Agronomy Journal since
+ about 1908--to scan and create bit-mapped images of its journal.
+ ASA granted permission first to put and then to distribute this
+ material in electronic form, to hold it at NAL, and to use these
+ electronic images as a mechanism to deliver documents or print out
+ material for patrons, among other uses. Effectively, NAL has the
+ right to use this material in support of its program.
+ (Significantly, this arrangement offers a potential cooperative
+ model for working with other professional societies in agriculture
+ to try to do the same thing--put the journals of particular interest
+ to agriculture research into electronic form.)
+
+ 2) An extension of the earlier product on aquaculture.
+
+ 3) The George Washington Carver Papers--a joint project with
+ Tuskegee University to scan and convert from microfilm some 3,500
+ images of Carver's papers, letters, and drawings.
+
+It was anticipated that all of these products would appear no more than
+six months after the Workshop.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ZIDAR * (A separate arena for scanning) * Steps in creating a database *
+Image capture, with and without performing OCR * Keying in tracking data
+* Scanning, with electronic and manual tracking * Adjustments during
+scanning process * Scanning resolutions * Compression * De-skewing and
+filtering * Image capture from microform: the papers and letters of
+George Washington Carver * Equipment used for a scanning system *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Judith ZIDAR, coordinator, National Agricultural Text Digitizing Program
+(NATDP), National Agricultural Library (NAL), illustrated the technical
+details of NATDP, including her primary responsibility, scanning and
+creating databases on a topic and putting them on CD-ROM.
+
+(ZIDAR remarked a separate arena from the CD-ROM projects, although the
+processing of the material is nearly identical, in which NATDP is also
+scanning material and loading it on a Next microcomputer, which in turn
+is linked to NAL's integrated library system. Thus, searches in NAL's
+bibliographic database will enable people to pull up actual page images
+and text for any documents that have been entered.)
+
+In accordance with the session's topic, ZIDAR focused her illustrated
+talk on image capture, offering a primer on the three main steps in the
+process: 1) assemble the printed publications; 2) design the database
+(database design occurs in the process of preparing the material for
+scanning; this step entails reviewing and organizing the material,
+defining the contents--what will constitute a record, what kinds of
+fields will be captured in terms of author, title, etc.); 3) perform a
+certain amount of markup on the paper publications. NAL performs this
+task record by record, preparing work sheets or some other sort of
+tracking material and designing descriptors and other enhancements to be
+added to the data that will not be captured from the printed publication.
+Part of this process also involves determining NATDP's file and directory
+structure: NATDP attempts to avoid putting more than approximately 100
+images in a directory, because placing more than that on a CD-ROM would
+reduce the access speed.
+
+This up-front process takes approximately two weeks for a
+6,000-7,000-page database. The next step is to capture the page images.
+How long this process takes is determined by the decision whether or not
+to perform OCR. Not performing OCR speeds the process, whereas text
+capture requires greater care because of the quality of the image: it
+has to be straighter and allowance must be made for text on a page, not
+just for the capture of photographs.
+
+NATDP keys in tracking data, that is, a standard bibliographic record
+including the title of the book and the title of the chapter, which will
+later either become the access information or will be attached to the
+front of a full-text record so that it is searchable.
+
+Images are scanned from a bound or unbound publication, chiefly from
+bound publications in the case of NATDP, however, because often they are
+the only copies and the publications are returned to the shelves. NATDP
+usually scans one record at a time, because its database tracking system
+tracks the document in that way and does not require further logical
+separating of the images. After performing optical character
+recognition, NATDP moves the images off the hard disk and maintains a
+volume sheet. Though the system tracks electronically, all the
+processing steps are also tracked manually with a log sheet.
+
+ZIDAR next illustrated the kinds of adjustments that one can make when
+scanning from paper and microfilm, for example, redoing images that need
+special handling, setting for dithering or gray scale, and adjusting for
+brightness or for the whole book at one time.
+
+NATDP is scanning at 300 dots per inch, a standard scanning resolution.
+Though adequate for capturing text that is all of a standard size, 300
+dpi is unsuitable for any kind of photographic material or for very small
+text. Many scanners allow for different image formats, TIFF, of course,
+being a de facto standard. But if one intends to exchange images with
+other people, the ability to scan other image formats, even if they are
+less common, becomes highly desirable.
+
+CCITT Group 4 is the standard compression for normal black-and-white
+images, JPEG for gray scale or color. ZIDAR recommended 1) using the
+standard compressions, particularly if one attempts to make material
+available and to allow users to download images and reuse them from
+CD-ROMs; and 2) maintaining the ability to output an uncompressed image,
+because in image exchange uncompressed images are more likely to be able
+to cross platforms.
+
+ZIDAR emphasized the importance of de-skewing and filtering as
+requirements on NATDP's upgraded system. For instance, scanning bound
+books, particularly books published by the federal government whose pages
+are skewed, and trying to scan them straight if OCR is to be performed,
+is extremely time-consuming. The same holds for filtering of
+poor-quality or older materials.
+
+ZIDAR described image capture from microform, using as an example three
+reels from a sixty-seven-reel set of the papers and letters of George
+Washington Carver that had been produced by Tuskegee University. These
+resulted in approximately 3,500 images, which NATDP had had scanned by
+its service contractor, Science Applications International Corporation
+(SAIC). NATDP also created bibliographic records for access. (NATDP did
+not have such specialized equipment as a microfilm scanner.
+
+Unfortunately, the process of scanning from microfilm was not an
+unqualified success, ZIDAR reported: because microfilm frame sizes vary,
+occasionally some frames were missed, which without spending much time
+and money could not be recaptured.
+
+OCR could not be performed from the scanned images of the frames. The
+bleeding in the text simply output text, when OCR was run, that could not
+even be edited. NATDP tested for negative versus positive images,
+landscape versus portrait orientation, and single- versus dual-page
+microfilm, none of which seemed to affect the quality of the image; but
+also on none of them could OCR be performed.
+
+In selecting the microfilm they would use, therefore, NATDP had other
+factors in mind. ZIDAR noted two factors that influenced the quality of
+the images: 1) the inherent quality of the original and 2) the amount of
+size reduction on the pages.
+
+The Carver papers were selected because they are informative and visually
+interesting, treat a single subject, and are valuable in their own right.
+The images were scanned and divided into logical records by SAIC, then
+delivered, and loaded onto NATDP's system, where bibliographic
+information taken directly from the images was added. Scanning was
+completed in summer 1991 and by the end of summer 1992 the disk was
+scheduled to be published.
+
+Problems encountered during processing included the following: Because
+the microfilm scanning had to be done in a batch, adjustment for
+individual page variations was not possible. The frame size varied on
+account of the nature of the material, and therefore some of the frames
+were missed while others were just partial frames. The only way to go
+back and capture this material was to print out the page with the
+microfilm reader from the missing frame and then scan it in from the
+page, which was extremely time-consuming. The quality of the images
+scanned from the printout of the microfilm compared unfavorably with that
+of the original images captured directly from the microfilm. The
+inability to perform OCR also was a major disappointment. At the time,
+computer output microfilm was unavailable to test.
+
+The equipment used for a scanning system was the last topic addressed by
+ZIDAR. The type of equipment that one would purchase for a scanning
+system included: a microcomputer, at least a 386, but preferably a 486;
+a large hard disk, 380 megabyte at minimum; a multi-tasking operating
+system that allows one to run some things in batch in the background
+while scanning or doing text editing, for example, Unix or OS/2 and,
+theoretically, Windows; a high-speed scanner and scanning software that
+allows one to make the various adjustments mentioned earlier; a
+high-resolution monitor (150 dpi ); OCR software and hardware to perform
+text recognition; an optical disk subsystem on which to archive all the
+images as the processing is done; file management and tracking software.
+
+ZIDAR opined that the software one purchases was more important than the
+hardware and might also cost more than the hardware, but it was likely to
+prove critical to the success or failure of one's system. In addition to
+a stand-alone scanning workstation for image capture, then, text capture
+requires one or two editing stations networked to this scanning station
+to perform editing. Editing the text takes two or three times as long as
+capturing the images.
+
+Finally, ZIDAR stressed the importance of buying an open system that allows
+for more than one vendor, complies with standards, and can be upgraded.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+WATERS *Yale University Library's master plan to convert microfilm to
+digital imagery (POB) * The place of electronic tools in the library of
+the future * The uses of images and an image library * Primary input from
+preservation microfilm * Features distinguishing POB from CXP and key
+hypotheses guiding POB * Use of vendor selection process to facilitate
+organizational work * Criteria for selecting vendor * Finalists and
+results of process for Yale * Key factor distinguishing vendors *
+Components, design principles, and some estimated costs of POB * Role of
+preservation materials in developing imaging market * Factors affecting
+quality and cost * Factors affecting the usability of complex documents
+in image form *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Donald WATERS, head of the Systems Office, Yale University Library,
+reported on the progress of a master plan for a project at Yale to
+convert microfilm to digital imagery, Project Open Book (POB). Stating
+that POB was in an advanced stage of planning, WATERS detailed, in
+particular, the process of selecting a vendor partner and several key
+issues under discussion as Yale prepares to move into the project itself.
+He commented first on the vision that serves as the context of POB and
+then described its purpose and scope.
+
+WATERS sees the library of the future not necessarily as an electronic
+library but as a place that generates, preserves, and improves for its
+clients ready access to both intellectual and physical recorded
+knowledge. Electronic tools must find a place in the library in the
+context of this vision. Several roles for electronic tools include
+serving as: indirect sources of electronic knowledge or as "finding"
+aids (the on-line catalogues, the article-level indices, registers for
+documents and archives); direct sources of recorded knowledge; full-text
+images; and various kinds of compound sources of recorded knowledge (the
+so-called compound documents of Hypertext, mixed text and image,
+mixed-text image format, and multimedia).
+
+POB is looking particularly at images and an image library, the uses to
+which images will be put (e.g., storage, printing, browsing, and then use
+as input for other processes), OCR as a subsequent process to image
+capture, or creating an image library, and also possibly generating
+microfilm.
+
+While input will come from a variety of sources, POB is considering
+especially input from preservation microfilm. A possible outcome is that
+the film and paper which provide the input for the image library
+eventually may go off into remote storage, and that the image library may
+be the primary access tool.
+
+The purpose and scope of POB focus on imaging. Though related to CXP,
+POB has two features which distinguish it: 1) scale--conversion of
+10,000 volumes into digital image form; and 2) source--conversion from
+microfilm. Given these features, several key working hypotheses guide
+POB, including: 1) Since POB is using microfilm, it is not concerned with
+the image library as a preservation medium. 2) Digital imagery can improve
+access to recorded knowledge through printing and network distribution at
+a modest incremental cost of microfilm. 3) Capturing and storing documents
+in a digital image form is necessary to further improvements in access.
+(POB distinguishes between the imaging, digitizing process and OCR,
+which at this stage it does not plan to perform.)
+
+Currently in its first or organizational phase, POB found that it could
+use a vendor selection process to facilitate a good deal of the
+organizational work (e.g., creating a project team and advisory board,
+confirming the validity of the plan, establishing the cost of the project
+and a budget, selecting the materials to convert, and then raising the
+necessary funds).
+
+POB developed numerous selection criteria, including: a firm committed
+to image-document management, the ability to serve as systems integrator
+in a large-scale project over several years, interest in developing the
+requisite software as a standard rather than a custom product, and a
+willingness to invest substantial resources in the project itself.
+
+Two vendors, DEC and Xerox, were selected as finalists in October 1991,
+and with the support of the Commission on Preservation and Access, each
+was commissioned to generate a detailed requirements analysis for the
+project and then to submit a formal proposal for the completion of the
+project, which included a budget and costs. The terms were that POB would
+pay the loser. The results for Yale of involving a vendor included:
+broad involvement of Yale staff across the board at a relatively low
+cost, which may have long-term significance in carrying out the project
+(twenty-five to thirty university people are engaged in POB); better
+understanding of the factors that affect corporate response to markets
+for imaging products; a competitive proposal; and a more sophisticated
+view of the imaging markets.
+
+The most important factor that distinguished the vendors under
+consideration was their identification with the customer. The size and
+internal complexity of the company also was an important factor. POB was
+looking at large companies that had substantial resources. In the end,
+the process generated for Yale two competitive proposals, with Xerox's
+the clear winner. WATERS then described the components of the proposal,
+the design principles, and some of the costs estimated for the process.
+
+Components are essentially four: a conversion subsystem, a
+network-accessible storage subsystem for 10,000 books (and POB expects
+200 to 600 dpi storage), browsing stations distributed on the campus
+network, and network access to the image printers.
+
+Among the design principles, POB wanted conversion at the highest
+possible resolution. Assuming TIFF files, TIFF files with Group 4
+compression, TCP/IP, and ethernet network on campus, POB wanted a
+client-server approach with image documents distributed to the
+workstations and made accessible through native workstation interfaces
+such as Windows. POB also insisted on a phased approach to
+implementation: 1) a stand-alone, single-user, low-cost entry into the
+business with a workstation focused on conversion and allowing POB to
+explore user access; 2) movement into a higher-volume conversion with
+network-accessible storage and multiple access stations; and 3) a
+high-volume conversion, full-capacity storage, and multiple browsing
+stations distributed throughout the campus.
+
+The costs proposed for start-up assumed the existence of the Yale network
+and its two DocuTech image printers. Other start-up costs are estimated
+at $1 million over the three phases. At the end of the project, the annual
+operating costs estimated primarily for the software and hardware proposed
+come to about $60,000, but these exclude costs for labor needed in the
+conversion process, network and printer usage, and facilities management.
+
+Finally, the selection process produced for Yale a more sophisticated
+view of the imaging markets: the management of complex documents in
+image form is not a preservation problem, not a library problem, but a
+general problem in a broad, general industry. Preservation materials are
+useful for developing that market because of the qualities of the
+material. For example, much of it is out of copyright. The resolution
+of key issues such as the quality of scanning and image browsing also
+will affect development of that market.
+
+The technology is readily available but changing rapidly. In this
+context of rapid change, several factors affect quality and cost, to
+which POB intends to pay particular attention, for example, the various
+levels of resolution that can be achieved. POB believes it can bring
+resolution up to 600 dpi, but an interpolation process from 400 to 600 is
+more likely. The variation quality in microfilm will prove to be a
+highly important factor. POB may reexamine the standards used to film in
+the first place by looking at this process as a follow-on to microfilming.
+
+Other important factors include: the techniques available to the
+operator for handling material, the ways of integrating quality control
+into the digitizing work flow, and a work flow that includes indexing and
+storage. POB's requirement was to be able to deal with quality control
+at the point of scanning. Thus, thanks to Xerox, POB anticipates having
+a mechanism which will allow it not only to scan in batch form, but to
+review the material as it goes through the scanner and control quality
+from the outset.
+
+The standards for measuring quality and costs depend greatly on the uses
+of the material, including subsequent OCR, storage, printing, and
+browsing. But especially at issue for POB is the facility for browsing.
+This facility, WATERS said, is perhaps the weakest aspect of imaging
+technology and the most in need of development.
+
+A variety of factors affect the usability of complex documents in image
+form, among them: 1) the ability of the system to handle the full range
+of document types, not just monographs but serials, multi-part
+monographs, and manuscripts; 2) the location of the database of record
+for bibliographic information about the image document, which POB wants
+to enter once and in the most useful place, the on-line catalog; 3) a
+document identifier for referencing the bibliographic information in one
+place and the images in another; 4) the technique for making the basic
+internal structure of the document accessible to the reader; and finally,
+5) the physical presentation on the CRT of those documents. POB is ready
+to complete this phase now. One last decision involves deciding which
+material to scan.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * TIFF files constitute de facto standard * NARA's experience
+with image conversion software and text conversion * RFC 1314 *
+Considerable flux concerning available hardware and software solutions *
+NAL through-put rate during scanning * Window management questions *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+In the question-and-answer period that followed WATERS's presentation,
+the following points emerged:
+
+ * ZIDAR's statement about using TIFF files as a standard meant de
+ facto standard. This is what most people use and typically exchange
+ with other groups, across platforms, or even occasionally across
+ display software.
+
+ * HOLMES commented on the unsuccessful experience of NARA in
+ attempting to run image-conversion software or to exchange between
+ applications: What are supposedly TIFF files go into other software
+ that is supposed to be able to accept TIFF but cannot recognize the
+ format and cannot deal with it, and thus renders the exchange
+ useless. Re text conversion, he noted the different recognition
+ rates obtained by substituting the make and model of scanners in
+ NARA's recent test of an "intelligent" character-recognition product
+ for a new company. In the selection of hardware and software,
+ HOLMES argued, software no longer constitutes the overriding factor
+ it did until about a year ago; rather it is perhaps important to
+ look at both now.
+
+ * Danny Cohen and Alan Katz of the University of Southern California
+ Information Sciences Institute began circulating as an Internet RFC
+ (RFC 1314) about a month ago a standard for a TIFF interchange
+ format for Internet distribution of monochrome bit-mapped images,
+ which LYNCH said he believed would be used as a de facto standard.
+
+ * FLEISCHHAUER's impression from hearing these reports and thinking
+ about AM's experience was that there is considerable flux concerning
+ available hardware and software solutions. HOOTON agreed and
+ commented at the same time on ZIDAR's statement that the equipment
+ employed affects the results produced. One cannot draw a complete
+ conclusion by saying it is difficult or impossible to perform OCR
+ from scanning microfilm, for example, with that device, that set of
+ parameters, and system requirements, because numerous other people
+ are accomplishing just that, using other components, perhaps.
+ HOOTON opined that both the hardware and the software were highly
+ important. Most of the problems discussed today have been solved in
+ numerous different ways by other people. Though it is good to be
+ cognizant of various experiences, this is not to say that it will
+ always be thus.
+
+ * At NAL, the through-put rate of the scanning process for paper,
+ page by page, performing OCR, ranges from 300 to 600 pages per day;
+ not performing OCR is considerably faster, although how much faster
+ is not known. This is for scanning from bound books, which is much
+ slower.
+
+ * WATERS commented on window management questions: DEC proposed an
+ X-Windows solution which was problematical for two reasons. One was
+ POB's requirement to be able to manipulate images on the workstation
+ and bring them down to the workstation itself and the other was
+ network usage.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+THOMA * Illustration of deficiencies in scanning and storage process *
+Image quality in this process * Different costs entailed by better image
+quality * Techniques for overcoming various de-ficiencies: fixed
+thresholding, dynamic thresholding, dithering, image merge * Page edge
+effects *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+George THOMA, chief, Communications Engineering Branch, National Library
+of Medicine (NLM), illustrated several of the deficiencies discussed by
+the previous speakers. He introduced the topic of special problems by
+noting the advantages of electronic imaging. For example, it is regenerable
+because it is a coded file, and real-time quality control is possible with
+electronic capture, whereas in photographic capture it is not.
+
+One of the difficulties discussed in the scanning and storage process was
+image quality which, without belaboring the obvious, means different
+things for maps, medical X-rays, or broadcast television. In the case of
+documents, THOMA said, image quality boils down to legibility of the
+textual parts, and fidelity in the case of gray or color photo print-type
+material. Legibility boils down to scan density, the standard in most
+cases being 300 dpi. Increasing the resolution with scanners that
+perform 600 or 1200 dpi, however, comes at a cost.
+
+Better image quality entails at least four different kinds of costs: 1)
+equipment costs, because the CCD (i.e., charge-couple device) with
+greater number of elements costs more; 2) time costs that translate to
+the actual capture costs, because manual labor is involved (the time is
+also dependent on the fact that more data has to be moved around in the
+machine in the scanning or network devices that perform the scanning as
+well as the storage); 3) media costs, because at high resolutions larger
+files have to be stored; and 4) transmission costs, because there is just
+more data to be transmitted.
+
+But while resolution takes care of the issue of legibility in image
+quality, other deficiencies have to do with contrast and elements on the
+page scanned or the image that needed to be removed or clarified. Thus,
+THOMA proceeded to illustrate various deficiencies, how they are
+manifested, and several techniques to overcome them.
+
+Fixed thresholding was the first technique described, suitable for
+black-and-white text, when the contrast does not vary over the page. One
+can have many different threshold levels in scanning devices. Thus,
+THOMA offered an example of extremely poor contrast, which resulted from
+the fact that the stock was a heavy red. This is the sort of image that
+when microfilmed fails to provide any legibility whatsoever. Fixed
+thresholding is the way to change the black-to-red contrast to the
+desired black-to-white contrast.
+
+Other examples included material that had been browned or yellowed by
+age. This was also a case of contrast deficiency, and correction was
+done by fixed thresholding. A final example boils down to the same
+thing, slight variability, but it is not significant. Fixed thresholding
+solves this problem as well. The microfilm equivalent is certainly legible,
+but it comes with dark areas. Though THOMA did not have a slide of the
+microfilm in this case, he did show the reproduced electronic image.
+
+When one has variable contrast over a page or the lighting over the page
+area varies, especially in the case where a bound volume has light
+shining on it, the image must be processed by a dynamic thresholding
+scheme. One scheme, dynamic averaging, allows the threshold level not to
+be fixed but to be recomputed for every pixel from the neighboring
+characteristics. The neighbors of a pixel determine where the threshold
+should be set for that pixel.
+
+THOMA showed an example of a page that had been made deficient by a
+variety of techniques, including a burn mark, coffee stains, and a yellow
+marker. Application of a fixed-thresholding scheme, THOMA argued, might
+take care of several deficiencies on the page but not all of them.
+Performing the calculation for a dynamic threshold setting, however,
+removes most of the deficiencies so that at least the text is legible.
+
+Another problem is representing a gray level with black-and-white pixels
+by a process known as dithering or electronic screening. But dithering
+does not provide good image quality for pure black-and-white textual
+material. THOMA illustrated this point with examples. Although its
+suitability for photoprint is the reason for electronic screening or
+dithering, it cannot be used for every compound image. In the document
+that was distributed by CXP, THOMA noticed that the dithered image of the
+IEEE test chart evinced some deterioration in the text. He presented an
+extreme example of deterioration in the text in which compounded
+documents had to be set right by other techniques. The technique
+illustrated by the present example was an image merge in which the page
+is scanned twice and the settings go from fixed threshold to the
+dithering matrix; the resulting images are merged to give the best
+results with each technique.
+
+THOMA illustrated how dithering is also used in nonphotographic or
+nonprint materials with an example of a grayish page from a medical text,
+which was reproduced to show all of the gray that appeared in the
+original. Dithering provided a reproduction of all the gray in the
+original of another example from the same text.
+
+THOMA finally illustrated the problem of bordering, or page-edge,
+effects. Books and bound volumes that are placed on a photocopy machine
+or a scanner produce page-edge effects that are undesirable for two
+reasons: 1) the aesthetics of the image; after all, if the image is to
+be preserved, one does not necessarily want to keep all of its
+deficiencies; 2) compression (with the bordering problem THOMA
+illustrated, the compression ratio deteriorated tremendously). One way
+to eliminate this more serious problem is to have the operator at the
+point of scanning window the part of the image that is desirable and
+automatically turn all of the pixels out of that picture to white.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+FLEISCHHAUER * AM's experience with scanning bound materials * Dithering
+*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Carl FLEISCHHAUER, coordinator, American Memory, Library of Congress,
+reported AM's experience with scanning bound materials, which he likened
+to the problems involved in using photocopying machines. Very few
+devices in the industry offer book-edge scanning, let alone book cradles.
+The problem may be unsolvable, FLEISCHHAUER said, because a large enough
+market does not exist for a preservation-quality scanner. AM is using a
+Kurzweil scanner, which is a book-edge scanner now sold by Xerox.
+
+Devoting the remainder of his brief presentation to dithering,
+FLEISCHHAUER related AM's experience with a contractor who was using
+unsophisticated equipment and software to reduce moire patterns from
+printed halftones. AM took the same image and used the dithering
+algorithm that forms part of the same Kurzweil Xerox scanner; it
+disguised moire patterns much more effectively.
+
+FLEISCHHAUER also observed that dithering produces a binary file which is
+useful for numerous purposes, for example, printing it on a laser printer
+without having to "re-halftone" it. But it tends to defeat efficient
+compression, because the very thing that dithers to reduce moire patterns
+also tends to work against compression schemes. AM thought the
+difference in image quality was worth it.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Relative use as a criterion for POB's selection of books to
+be converted into digital form *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the discussion period, WATERS noted that one of the criteria for
+selecting books among the 10,000 to be converted into digital image form
+would be how much relative use they would receive--a subject still
+requiring evaluation. The challenge will be to understand whether
+coherent bodies of material will increase usage or whether POB should
+seek material that is being used, scan that, and make it more accessible.
+POB might decide to digitize materials that are already heavily used, in
+order to make them more accessible and decrease wear on them. Another
+approach would be to provide a large body of intellectually coherent
+material that may be used more in digital form than it is currently used
+in microfilm. POB would seek material that was out of copyright.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BARONAS * Origin and scope of AIIM * Types of documents produced in
+AIIM's standards program * Domain of AIIM's standardization work * AIIM's
+structure * TC 171 and MS23 * Electronic image management standards *
+Categories of EIM standardization where AIIM standards are being
+developed *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Jean BARONAS, senior manager, Department of Standards and Technology,
+Association for Information and Image Management (AIIM), described the
+not-for-profit association and the national and international programs
+for standardization in which AIIM is active.
+
+Accredited for twenty-five years as the nation's standards development
+organization for document image management, AIIM began life in a library
+community developing microfilm standards. Today the association
+maintains both its library and business-image management standardization
+activities--and has moved into electronic image-management
+standardization (EIM).
+
+BARONAS defined the program's scope. AIIM deals with: 1) the
+terminology of standards and of the technology it uses; 2) methods of
+measurement for the systems, as well as quality; 3) methodologies for
+users to evaluate and measure quality; 4) the features of apparatus used
+to manage and edit images; and 5) the procedures used to manage images.
+
+BARONAS noted that three types of documents are produced in the AIIM
+standards program: the first two, accredited by the American National
+Standards Institute (ANSI), are standards and standard recommended
+practices. Recommended practices differ from standards in that they
+contain more tutorial information. A technical report is not an ANSI
+standard. Because AIIM's policies and procedures for developing
+standards are approved by ANSI, its standards are labeled ANSI/AIIM,
+followed by the number and title of the standard.
+
+BARONAS then illustrated the domain of AIIM's standardization work. For
+example, AIIM is the administrator of the U.S. Technical Advisory Group
+(TAG) to the International Standards Organization's (ISO) technical
+committee, TC l7l Micrographics and Optical Memories for Document and
+Image Recording, Storage, and Use. AIIM officially works through ANSI in
+the international standardization process.
+
+BARONAS described AIIM's structure, including its board of directors, its
+standards board of twelve individuals active in the image-management
+industry, its strategic planning and legal admissibility task forces, and
+its National Standards Council, which is comprised of the members of a
+number of organizations who vote on every AIIM standard before it is
+published. BARONAS pointed out that AIIM's liaisons deal with numerous
+other standards developers, including the optical disk community, office
+and publishing systems, image-codes-and-character set committees, and the
+National Information Standards Organization (NISO).
+
+BARONAS illustrated the procedures of TC l7l, which covers all aspects of
+image management. When AIIM's national program has conceptualized a new
+project, it is usually submitted to the international level, so that the
+member countries of TC l7l can simultaneously work on the development of
+the standard or the technical report. BARONAS also illustrated a classic
+microfilm standard, MS23, which deals with numerous imaging concepts that
+apply to electronic imaging. Originally developed in the l970s, revised
+in the l980s, and revised again in l991, this standard is scheduled for
+another revision. MS23 is an active standard whereby users may propose
+new density ranges and new methods of evaluating film images in the
+standard's revision.
+
+BARONAS detailed several electronic image-management standards, for
+instance, ANSI/AIIM MS44, a quality-control guideline for scanning 8.5"
+by 11" black-and-white office documents. This standard is used with the
+IEEE fax image--a continuous tone photographic image with gray scales,
+text, and several continuous tone pictures--and AIIM test target number
+2, a representative document used in office document management.
+
+BARONAS next outlined the four categories of EIM standardization in which
+AIIM standards are being developed: transfer and retrieval, evaluation,
+optical disc and document scanning applications, and design and
+conversion of documents. She detailed several of the main projects of
+each: 1) in the category of image transfer and retrieval, a bi-level
+image transfer format, ANSI/AIIM MS53, which is a proposed standard that
+describes a file header for image transfer between unlike systems when
+the images are compressed using G3 and G4 compression; 2) the category of
+image evaluation, which includes the AIIM-proposed TR26 tutorial on image
+resolution (this technical report will treat the differences and
+similarities between classical or photographic and electronic imaging);
+3) design and conversion, which includes a proposed technical report
+called "Forms Design Optimization for EIM" (this report considers how
+general-purpose business forms can be best designed so that scanning is
+optimized; reprographic characteristics such as type, rules, background,
+tint, and color will likewise be treated in the technical report); 4)
+disk and document scanning applications includes a project a) on planning
+platters and disk management, b) on generating an application profile for
+EIM when images are stored and distributed on CD-ROM, and c) on
+evaluating SCSI2, and how a common command set can be generated for SCSI2
+so that document scanners are more easily integrated. (ANSI/AIIM MS53
+will also apply to compressed images.)
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+BATTIN * The implications of standards for preservation * A major
+obstacle to successful cooperation * A hindrance to access in the digital
+environment * Standards a double-edged sword for those concerned with the
+preservation of the human record * Near-term prognosis for reliable
+archival standards * Preservation concerns for electronic media * Need
+for reconceptualizing our preservation principles * Standards in the real
+world and the politics of reproduction * Need to redefine the concept of
+archival and to begin to think in terms of life cycles * Cooperation and
+the La Guardia Eight * Concerns generated by discussions on the problems
+of preserving text and image * General principles to be adopted in a
+world without standards *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Patricia BATTIN, president, the Commission on Preservation and Access
+(CPA), addressed the implications of standards for preservation. She
+listed several areas where the library profession and the analog world of
+the printed book had made enormous contributions over the past hundred
+years--for example, in bibliographic formats, binding standards, and, most
+important, in determining what constitutes longevity or archival quality.
+
+Although standards have lightened the preservation burden through the
+development of national and international collaborative programs,
+nevertheless, a pervasive mistrust of other people's standards remains a
+major obstacle to successful cooperation, BATTIN said.
+
+The zeal to achieve perfection, regardless of the cost, has hindered
+rather than facilitated access in some instances, and in the digital
+environment, where no real standards exist, has brought an ironically
+just reward.
+
+BATTIN argued that standards are a double-edged sword for those concerned
+with the preservation of the human record, that is, the provision of
+access to recorded knowledge in a multitude of media as far into the
+future as possible. Standards are essential to facilitate
+interconnectivity and access, but, BATTIN said, as LYNCH pointed out
+yesterday, if set too soon they can hinder creativity, expansion of
+capability, and the broadening of access. The characteristics of
+standards for digital imagery differ radically from those for analog
+imagery. And the nature of digital technology implies continuing
+volatility and change. To reiterate, precipitous standard-setting can
+inhibit creativity, but delayed standard-setting results in chaos.
+
+Since in BATTIN'S opinion the near-term prognosis for reliable archival
+standards, as defined by librarians in the analog world, is poor, two
+alternatives remain: standing pat with the old technology, or
+reconceptualizing.
+
+Preservation concerns for electronic media fall into two general domains.
+One is the continuing assurance of access to knowledge originally
+generated, stored, disseminated, and used in electronic form. This
+domain contains several subdivisions, including 1) the closed,
+proprietary systems discussed the previous day, bundled information such
+as electronic journals and government agency records, and electronically
+produced or captured raw data; and 2) the application of digital
+technologies to the reformatting of materials originally published on a
+deteriorating analog medium such as acid paper or videotape.
+
+The preservation of electronic media requires a reconceptualizing of our
+preservation principles during a volatile, standardless transition which
+may last far longer than any of us envision today. BATTIN urged the
+necessity of shifting focus from assessing, measuring, and setting
+standards for the permanence of the medium to the concept of managing
+continuing access to information stored on a variety of media and
+requiring a variety of ever-changing hardware and software for access--a
+fundamental shift for the library profession.
+
+BATTIN offered a primer on how to move forward with reasonable confidence
+in a world without standards. Her comments fell roughly into two sections:
+1) standards in the real world and 2) the politics of reproduction.
+
+In regard to real-world standards, BATTIN argued the need to redefine the
+concept of archive and to begin to think in terms of life cycles. In
+the past, the naive assumption that paper would last forever produced a
+cavalier attitude toward life cycles. The transient nature of the
+electronic media has compelled people to recognize and accept upfront the
+concept of life cycles in place of permanency.
+
+Digital standards have to be developed and set in a cooperative context
+to ensure efficient exchange of information. Moreover, during this
+transition period, greater flexibility concerning how concepts such as
+backup copies and archival copies in the CXP are defined is necessary,
+or the opportunity to move forward will be lost.
+
+In terms of cooperation, particularly in the university setting, BATTIN
+also argued the need to avoid going off in a hundred different
+directions. The CPA has catalyzed a small group of universities called
+the La Guardia Eight--because La Guardia Airport is where meetings take
+place--Harvard, Yale, Cornell, Princeton, Penn State, Tennessee,
+Stanford, and USC, to develop a digital preservation consortium to look
+at all these issues and develop de facto standards as we move along,
+instead of waiting for something that is officially blessed. Continuing
+to apply analog values and definitions of standards to the digital
+environment, BATTIN said, will effectively lead to forfeiture of the
+benefits of digital technology to research and scholarship.
+
+Under the second rubric, the politics of reproduction, BATTIN reiterated
+an oft-made argument concerning the electronic library, namely, that it
+is more difficult to transform than to create, and nowhere is that belief
+expressed more dramatically than in the conversion of brittle books to
+new media. Preserving information published in electronic media involves
+making sure the information remains accessible and that digital
+information is not lost through reproduction. In the analog world of
+photocopies and microfilm, the issue of fidelity to the original becomes
+paramount, as do issues of "Whose fidelity?" and "Whose original?"
+
+BATTIN elaborated these arguments with a few examples from a recent study
+conducted by the CPA on the problems of preserving text and image.
+Discussions with scholars, librarians, and curators in a variety of
+disciplines dependent on text and image generated a variety of concerns,
+for example: 1) Copy what is, not what the technology is capable of.
+This is very important for the history of ideas. Scholars wish to know
+what the author saw and worked from. And make available at the
+workstation the opportunity to erase all the defects and enhance the
+presentation. 2) The fidelity of reproduction--what is good enough, what
+can we afford, and the difference it makes--issues of subjective versus
+objective resolution. 3) The differences between primary and secondary
+users. Restricting the definition of primary user to the one in whose
+discipline the material has been published runs one headlong into the
+reality that these printed books have had a host of other users from a
+host of other disciplines, who not only were looking for very different
+things, but who also shared values very different from those of the
+primary user. 4) The relationship of the standard of reproduction to new
+capabilities of scholarship--the browsing standard versus an archival
+standard. How good must the archival standard be? Can a distinction be
+drawn between potential users in setting standards for reproduction?
+Archival storage, use copies, browsing copies--ought an attempt to set
+standards even be made? 5) Finally, costs. How much are we prepared to
+pay to capture absolute fidelity? What are the trade-offs between vastly
+enhanced access, degrees of fidelity, and costs?
+
+These standards, BATTIN concluded, serve to complicate further the
+reproduction process, and add to the long list of technical standards
+that are necessary to ensure widespread access. Ways to articulate and
+analyze the costs that are attached to the different levels of standards
+must be found.
+
+Given the chaos concerning standards, which promises to linger for the
+foreseeable future, BATTIN urged adoption of the following general
+principles:
+
+ * Strive to understand the changing information requirements of
+ scholarly disciplines as more and more technology is integrated into
+ the process of research and scholarly communication in order to meet
+ future scholarly needs, not to build for the past. Capture
+ deteriorating information at the highest affordable resolution, even
+ though the dissemination and display technologies will lag.
+
+ * Develop cooperative mechanisms to foster agreement on protocols
+ for document structure and other interchange mechanisms necessary
+ for widespread dissemination and use before official standards are
+ set.
+
+ * Accept that, in a transition period, de facto standards will have
+ to be developed.
+
+ * Capture information in a way that keeps all options open and
+ provides for total convertibility: OCR, scanning of microfilm,
+ producing microfilm from scanned documents, etc.
+
+ * Work closely with the generators of information and the builders
+ of networks and databases to ensure that continuing accessibility is
+ a primary concern from the beginning.
+
+ * Piggyback on standards under development for the broad market, and
+ avoid library-specific standards; work with the vendors, in order to
+ take advantage of that which is being standardized for the rest of
+ the world.
+
+ * Concentrate efforts on managing permanence in the digital world,
+ rather than perfecting the longevity of a particular medium.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Additional comments on TIFF *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the brief discussion period that followed BATTIN's presentation,
+BARONAS explained that TIFF was not developed in collaboration with or
+under the auspices of AIIM. TIFF is a company product, not a standard,
+is owned by two corporations, and is always changing. BARONAS also
+observed that ANSI/AIIM MS53, a bi-level image file transfer format that
+allows unlike systems to exchange images, is compatible with TIFF as well
+as with DEC's architecture and IBM's MODCA/IOCA.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+HOOTON * Several questions to be considered in discussing text conversion
+*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+HOOTON introduced the final topic, text conversion, by noting that it is
+becoming an increasingly important part of the imaging business. Many
+people now realize that it enhances their system to be able to have more
+and more character data as part of their imaging system. Re the issue of
+OCR versus rekeying, HOOTON posed several questions: How does one get
+text into computer-readable form? Does one use automated processes?
+Does one attempt to eliminate the use of operators where possible?
+Standards for accuracy, he said, are extremely important: it makes a
+major difference in cost and time whether one sets as a standard 98.5
+percent acceptance or 99.5 percent. He mentioned outsourcing as a
+possibility for converting text. Finally, what one does with the image
+to prepare it for the recognition process is also important, he said,
+because such preparation changes how recognition is viewed, as well as
+facilitates recognition itself.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+LESK * Roles of participants in CORE * Data flow * The scanning process *
+The image interface * Results of experiments involving the use of
+electronic resources and traditional paper copies * Testing the issue of
+serendipity * Conclusions *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Michael LESK, executive director, Computer Science Research, Bell
+Communications Research, Inc. (Bellcore), discussed the Chemical Online
+Retrieval Experiment (CORE), a cooperative project involving Cornell
+University, OCLC, Bellcore, and the American Chemical Society (ACS).
+
+LESK spoke on 1) how the scanning was performed, including the unusual
+feature of page segmentation, and 2) the use made of the text and the
+image in experiments.
+
+Working with the chemistry journals (because ACS has been saving its
+typesetting tapes since the mid-1970s and thus has a significant back-run
+of the most important chemistry journals in the United States), CORE is
+attempting to create an automated chemical library. Approximately a
+quarter of the pages by square inch are made up of images of
+quasi-pictorial material; dealing with the graphic components of the
+pages is extremely important. LESK described the roles of participants
+in CORE: 1) ACS provides copyright permission, journals on paper,
+journals on microfilm, and some of the definitions of the files; 2) at
+Bellcore, LESK chiefly performs the data preparation, while Dennis Egan
+performs experiments on the users of chemical abstracts, and supplies the
+indexing and numerous magnetic tapes; 3) Cornell provides the site of the
+experiment; 4) OCLC develops retrieval software and other user interfaces.
+Various manufacturers and publishers have furnished other help.
+
+Concerning data flow, Bellcore receives microfilm and paper from ACS; the
+microfilm is scanned by outside vendors, while the paper is scanned
+inhouse on an Improvision scanner, twenty pages per minute at 300 dpi,
+which provides sufficient quality for all practical uses. LESK would
+prefer to have more gray level, because one of the ACS journals prints on
+some colored pages, which creates a problem.
+
+Bellcore performs all this scanning, creates a page-image file, and also
+selects from the pages the graphics, to mix with the text file (which is
+discussed later in the Workshop). The user is always searching the ASCII
+file, but she or he may see a display based on the ASCII or a display
+based on the images.
+
+LESK illustrated how the program performs page analysis, and the image
+interface. (The user types several words, is presented with a list--
+usually of the titles of articles contained in an issue--that derives
+from the ASCII, clicks on an icon and receives an image that mirrors an
+ACS page.) LESK also illustrated an alternative interface, based on text
+on the ASCII, the so-called SuperBook interface from Bellcore.
+
+LESK next presented the results of an experiment conducted by Dennis Egan
+and involving thirty-six students at Cornell, one third of them
+undergraduate chemistry majors, one third senior undergraduate chemistry
+majors, and one third graduate chemistry students. A third of them
+received the paper journals, the traditional paper copies and chemical
+abstracts on paper. A third received image displays of the pictures of
+the pages, and a third received the text display with pop-up graphics.
+
+The students were given several questions made up by some chemistry
+professors. The questions fell into five classes, ranging from very easy
+to very difficult, and included questions designed to simulate browsing
+as well as a traditional information retrieval-type task.
+
+LESK furnished the following results. In the straightforward question
+search--the question being, what is the phosphorus oxygen bond distance
+and hydroxy phosphate?--the students were told that they could take
+fifteen minutes and, then, if they wished, give up. The students with
+paper took more than fifteen minutes on average, and yet most of them
+gave up. The students with either electronic format, text or image,
+received good scores in reasonable time, hardly ever had to give up, and
+usually found the right answer.
+
+In the browsing study, the students were given a list of eight topics,
+told to imagine that an issue of the Journal of the American Chemical
+Society had just appeared on their desks, and were also told to flip
+through it and to find topics mentioned in the issue. The average scores
+were about the same. (The students were told to answer yes or no about
+whether or not particular topics appeared.) The errors, however, were
+quite different. The students with paper rarely said that something
+appeared when it had not. But they often failed to find something
+actually mentioned in the issue. The computer people found numerous
+things, but they also frequently said that a topic was mentioned when it
+was not. (The reason, of course, was that they were performing word
+searches. They were finding that words were mentioned and they were
+concluding that they had accomplished their task.)
+
+This question also contained a trick to test the issue of serendipity.
+The students were given another list of eight topics and instructed,
+without taking a second look at the journal, to recall how many of this
+new list of eight topics were in this particular issue. This was an
+attempt to see if they performed better at remembering what they were not
+looking for. They all performed about the same, paper or electronics,
+about 62 percent accurate. In short, LESK said, people were not very
+good when it came to serendipity, but they were no worse at it with
+computers than they were with paper.
+
+(LESK gave a parenthetical illustration of the learning curve of students
+who used SuperBook.)
+
+The students using the electronic systems started off worse than the ones
+using print, but by the third of the three sessions in the series had
+caught up to print. As one might expect, electronics provide a much
+better means of finding what one wants to read; reading speeds, once the
+object of the search has been found, are about the same.
+
+Almost none of the students could perform the hard task--the analogous
+transformation. (It would require the expertise of organic chemists to
+complete.) But an interesting result was that the students using the text
+search performed terribly, while those using the image system did best.
+That the text search system is driven by text offers the explanation.
+Everything is focused on the text; to see the pictures, one must press
+on an icon. Many students found the right article containing the answer
+to the question, but they did not click on the icon to bring up the right
+figure and see it. They did not know that they had found the right place,
+and thus got it wrong.
+
+The short answer demonstrated by this experiment was that in the event
+one does not know what to read, one needs the electronic systems; the
+electronic systems hold no advantage at the moment if one knows what to
+read, but neither do they impose a penalty.
+
+LESK concluded by commenting that, on one hand, the image system was easy
+to use. On the other hand, the text display system, which represented
+twenty man-years of work in programming and polishing, was not winning,
+because the text was not being read, just searched. The much easier
+system is highly competitive as well as remarkably effective for the
+actual chemists.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ERWAY * Most challenging aspect of working on AM * Assumptions guiding
+AM's approach * Testing different types of service bureaus * AM's
+requirement for 99.95 percent accuracy * Requirements for text-coding *
+Additional factors influencing AM's approach to coding * Results of AM's
+experience with rekeying * Other problems in dealing with service bureaus
+* Quality control the most time-consuming aspect of contracting out
+conversion * Long-term outlook uncertain *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+To Ricky ERWAY, associate coordinator, American Memory, Library of
+Congress, the constant variety of conversion projects taking place
+simultaneously represented perhaps the most challenging aspect of working
+on AM. Thus, the challenge was not to find a solution for text
+conversion but a tool kit of solutions to apply to LC's varied
+collections that need to be converted. ERWAY limited her remarks to the
+process of converting text to machine-readable form, and the variety of
+LC's text collections, for example, bound volumes, microfilm, and
+handwritten manuscripts.
+
+Two assumptions have guided AM's approach, ERWAY said: 1) A desire not
+to perform the conversion inhouse. Because of the variety of formats and
+types of texts, to capitalize the equipment and have the talents and
+skills to operate them at LC would be extremely expensive. Further, the
+natural inclination to upgrade to newer and better equipment each year
+made it reasonable for AM to focus on what it did best and seek external
+conversion services. Using service bureaus also allowed AM to have
+several types of operations take place at the same time. 2) AM was not a
+technology project, but an effort to improve access to library
+collections. Hence, whether text was converted using OCR or rekeying
+mattered little to AM. What mattered were cost and accuracy of results.
+
+AM considered different types of service bureaus and selected three to
+perform several small tests in order to acquire a sense of the field.
+The sample collections with which they worked included handwritten
+correspondence, typewritten manuscripts from the 1940s, and
+eighteenth-century printed broadsides on microfilm. On none of these
+samples was OCR performed; they were all rekeyed. AM had several special
+requirements for the three service bureaus it had engaged. For instance,
+any errors in the original text were to be retained. Working from bound
+volumes or anything that could not be sheet-fed also constituted a factor
+eliminating companies that would have performed OCR.
+
+AM requires 99.95 percent accuracy, which, though it sounds high, often
+means one or two errors per page. The initial batch of test samples
+contained several handwritten materials for which AM did not require
+text-coding. The results, ERWAY reported, were in all cases fairly
+comparable: for the most part, all three service bureaus achieved 99.95
+percent accuracy. AM was satisfied with the work but surprised at the cost.
+
+As AM began converting whole collections, it retained the requirement for
+99.95 percent accuracy and added requirements for text-coding. AM needed
+to begin performing work more than three years ago before LC requirements
+for SGML applications had been established. Since AM's goal was simply
+to retain any of the intellectual content represented by the formatting
+of the document (which would be lost if one performed a straight ASCII
+conversion), AM used "SGML-like" codes. These codes resembled SGML tags
+but were used without the benefit of document-type definitions. AM found
+that many service bureaus were not yet SGML-proficient.
+
+Additional factors influencing the approach AM took with respect to
+coding included: 1) the inability of any known microcomputer-based
+user-retrieval software to take advantage of SGML coding; and 2) the
+multiple inconsistencies in format of the older documents, which
+confirmed AM in its desire not to attempt to force the different formats
+to conform to a single document-type definition (DTD) and thus create the
+need for a separate DTD for each document.
+
+The five text collections that AM has converted or is in the process of
+converting include a collection of eighteenth-century broadsides, a
+collection of pamphlets, two typescript document collections, and a
+collection of 150 books.
+
+ERWAY next reviewed the results of AM's experience with rekeying, noting
+again that because the bulk of AM's materials are historical, the quality
+of the text often does not lend itself to OCR. While non-English
+speakers are less likely to guess or elaborate or correct typos in the
+original text, they are also less able to infer what we would; they also
+are nearly incapable of converting handwritten text. Another
+disadvantage of working with overseas keyers is that they are much less
+likely to telephone with questions, especially on the coding, with the
+result that they develop their own rules as they encounter new
+situations.
+
+Government contracting procedures and time frames posed a major challenge
+to performing the conversion. Many service bureaus are not accustomed to
+retaining the image, even if they perform OCR. Thus, questions of image
+format and storage media were somewhat novel to many of them. ERWAY also
+remarked other problems in dealing with service bureaus, for example,
+their inability to perform text conversion from the kind of microfilm
+that LC uses for preservation purposes.
+
+But quality control, in ERWAY's experience, was the most time-consuming
+aspect of contracting out conversion. AM has been attempting to perform
+a 10-percent quality review, looking at either every tenth document or
+every tenth page to make certain that the service bureaus are maintaining
+99.95 percent accuracy. But even if they are complying with the
+requirement for accuracy, finding errors produces a desire to correct
+them and, in turn, to clean up the whole collection, which defeats the
+purpose to some extent. Even a double entry requires a
+character-by-character comparison to the original to meet the accuracy
+requirement. LC is not accustomed to publish imperfect texts, which
+makes attempting to deal with the industry standard an emotionally
+fraught issue for AM. As was mentioned in the previous day's discussion,
+going from 99.95 to 99.99 percent accuracy usually doubles costs and
+means a third keying or another complete run-through of the text.
+
+Although AM has learned much from its experiences with various collections
+and various service bureaus, ERWAY concluded pessimistically that no
+breakthrough has been achieved. Incremental improvements have occurred
+in some of the OCR technology, some of the processes, and some of the
+standards acceptances, which, though they may lead to somewhat lower costs,
+do not offer much encouragement to many people who are anxiously awaiting
+the day that the entire contents of LC are available on-line.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ZIDAR * Several answers to why one attempts to perform full-text
+conversion * Per page cost of performing OCR * Typical problems
+encountered during editing * Editing poor copy OCR vs. rekeying *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Judith ZIDAR, coordinator, National Agricultural Text Digitizing Program
+(NATDP), National Agricultural Library (NAL), offered several answers to
+the question of why one attempts to perform full-text conversion: 1)
+Text in an image can be read by a human but not by a computer, so of
+course it is not searchable and there is not much one can do with it. 2)
+Some material simply requires word-level access. For instance, the legal
+profession insists on full-text access to its material; with taxonomic or
+geographic material, which entails numerous names, one virtually requires
+word-level access. 3) Full text permits rapid browsing and searching,
+something that cannot be achieved in an image with today's technology.
+4) Text stored as ASCII and delivered in ASCII is standardized and highly
+portable. 5) People just want full-text searching, even those who do not
+know how to do it. NAL, for the most part, is performing OCR at an
+actual cost per average-size page of approximately $7. NAL scans the
+page to create the electronic image and passes it through the OCR device.
+
+ZIDAR next rehearsed several typical problems encountered during editing.
+Praising the celerity of her student workers, ZIDAR observed that editing
+requires approximately five to ten minutes per page, assuming that there
+are no large tables to audit. Confusion among the three characters I, 1,
+and l, constitutes perhaps the most common problem encountered. Zeroes
+and O's also are frequently confused. Double M's create a particular
+problem, even on clean pages. They are so wide in most fonts that they
+touch, and the system simply cannot tell where one letter ends and the
+other begins. Complex page formats occasionally fail to columnate
+properly, which entails rescanning as though one were working with a
+single column, entering the ASCII, and decolumnating for better
+searching. With proportionally spaced text, OCR can have difficulty
+discerning what is a space and what are merely spaces between letters, as
+opposed to spaces between words, and therefore will merge text or break
+up words where it should not.
+
+ZIDAR said that it can often take longer to edit a poor-copy OCR than to
+key it from scratch. NAL has also experimented with partial editing of
+text, whereby project workers go into and clean up the format, removing
+stray characters but not running a spell-check. NAL corrects typos in
+the title and authors' names, which provides a foothold for searching and
+browsing. Even extremely poor-quality OCR (e.g., 60-percent accuracy)
+can still be searched, because numerous words are correct, while the
+important words are probably repeated often enough that they are likely
+to be found correct somewhere. Librarians, however, cannot tolerate this
+situation, though end users seem more willing to use this text for
+searching, provided that NAL indicates that it is unedited. ZIDAR
+concluded that rekeying of text may be the best route to take, in spite
+of numerous problems with quality control and cost.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Modifying an image before performing OCR * NAL's costs per
+page *AM's costs per page and experience with Federal Prison Industries *
+Elements comprising NATDP's costs per page * OCR and structured markup *
+Distinction between the structure of a document and its representation
+when put on the screen or printed *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+HOOTON prefaced the lengthy discussion that followed with several
+comments about modifying an image before one reaches the point of
+performing OCR. For example, in regard to an application containing a
+significant amount of redundant data, such as form-type data, numerous
+companies today are working on various kinds of form renewal, prior to
+going through a recognition process, by using dropout colors. Thus,
+acquiring access to form design or using electronic means are worth
+considering. HOOTON also noted that conversion usually makes or breaks
+one's imaging system. It is extremely important, extremely costly in
+terms of either capital investment or service, and determines the quality
+of the remainder of one's system, because it determines the character of
+the raw material used by the system.
+
+Concerning the four projects undertaken by NAL, two inside and two
+performed by outside contractors, ZIDAR revealed that an in-house service
+bureau executed the first at a cost between $8 and $10 per page for
+everything, including building of the database. The project undertaken
+by the Consultative Group on International Agricultural Research (CGIAR)
+cost approximately $10 per page for the conversion, plus some expenses
+for the software and building of the database. The Acid Rain Project--a
+two-disk set produced by the University of Vermont, consisting of
+Canadian publications on acid rain--cost $6.70 per page for everything,
+including keying of the text, which was double keyed, scanning of the
+images, and building of the database. The in-house project offered
+considerable ease of convenience and greater control of the process. On
+the other hand, the service bureaus know their job and perform it
+expeditiously, because they have more people.
+
+As a useful comparison, ERWAY revealed AM's costs as follows: $0.75
+cents to $0.85 cents per thousand characters, with an average page
+containing 2,700 characters. Requirements for coding and imaging
+increase the costs. Thus, conversion of the text, including the coding,
+costs approximately $3 per page. (This figure does not include the
+imaging and database-building included in the NAL costs.) AM also
+enjoyed a happy experience with Federal Prison Industries, which
+precluded the necessity of going through the request-for-proposal process
+to award a contract, because it is another government agency. The
+prisoners performed AM's rekeying just as well as other service bureaus
+and proved handy as well. AM shipped them the books, which they would
+photocopy on a book-edge scanner. They would perform the markup on
+photocopies, return the books as soon as they were done with them,
+perform the keying, and return the material to AM on WORM disks.
+
+ZIDAR detailed the elements that constitute the previously noted cost of
+approximately $7 per page. Most significant is the editing, correction
+of errors, and spell-checkings, which though they may sound easy to
+perform require, in fact, a great deal of time. Reformatting text also
+takes a while, but a significant amount of NAL's expenses are for equipment,
+which was extremely expensive when purchased because it was one of the few
+systems on the market. The costs of equipment are being amortized over
+five years but are still quite high, nearly $2,000 per month.
+
+HOCKEY raised a general question concerning OCR and the amount of editing
+required (substantial in her experience) to generate the kind of
+structured markup necessary for manipulating the text on the computer or
+loading it into any retrieval system. She wondered if the speakers could
+extend the previous question about the cost-benefit of adding or exerting
+structured markup. ERWAY noted that several OCR systems retain italics,
+bolding, and other spatial formatting. While the material may not be in
+the format desired, these systems possess the ability to remove the
+original materials quickly from the hands of the people performing the
+conversion, as well as to retain that information so that users can work
+with it. HOCKEY rejoined that the current thinking on markup is that one
+should not say that something is italic or bold so much as why it is that
+way. To be sure, one needs to know that something was italicized, but
+how can one get from one to the other? One can map from the structure to
+the typographic representation.
+
+FLEISCHHAUER suggested that, given the 100 million items the Library
+holds, it may not be possible for LC to do more than report that a thing
+was in italics as opposed to why it was italics, although that may be
+desirable in some contexts. Promising to talk a bit during the afternoon
+session about several experiments OCLC performed on automatic recognition
+of document elements, and which they hoped to extend, WEIBEL said that in
+fact one can recognize the major elements of a document with a fairly
+high degree of reliability, at least as good as OCR. STEVENS drew a
+useful distinction between standard, generalized markup (i.e., defining
+for a document-type definition the structure of the document), and what
+he termed a style sheet, which had to do with italics, bolding, and other
+forms of emphasis. Thus, two different components are at work, one being
+the structure of the document itself (its logic), and the other being its
+representation when it is put on the screen or printed.
+
+ ******
+
+SESSION V. APPROACHES TO PREPARING ELECTRONIC TEXTS
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+HOCKEY * Text in ASCII and the representation of electronic text versus
+an image * The need to look at ways of using markup to assist retrieval *
+The need for an encoding format that will be reusable and multifunctional
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Susan HOCKEY, director, Center for Electronic Texts in the Humanities
+(CETH), Rutgers and Princeton Universities, announced that one talk
+(WEIBEL's) was moved into this session from the morning and that David
+Packard was unable to attend. The session would attempt to focus more on
+what one can do with a text in ASCII and the representation of electronic
+text rather than just an image, what one can do with a computer that
+cannot be done with a book or an image. It would be argued that one can
+do much more than just read a text, and from that starting point one can
+use markup and methods of preparing the text to take full advantage of
+the capability of the computer. That would lead to a discussion of what
+the European Community calls REUSABILITY, what may better be termed
+DURABILITY, that is, how to prepare or make a text that will last a long
+time and that can be used for as many applications as possible, which
+would lead to issues of improving intellectual access.
+
+HOCKEY urged the need to look at ways of using markup to facilitate retrieval,
+not just for referencing or to help locate an item that is retrieved, but also to put markup tags in
+a text to help retrieve the thing sought either with linguistic tagging or
+interpretation. HOCKEY also argued that little advancement had occurred in
+the software tools currently available for retrieving and searching text.
+She pressed the desideratum of going beyond Boolean searches and performing
+more sophisticated searching, which the insertion of more markup in the text
+would facilitate. Thinking about electronic texts as opposed to images means
+considering material that will never appear in print form, or print will not
+be its primary form, that is, material which only appears in electronic form.
+HOCKEY alluded to the history and the need for markup and tagging and
+electronic text, which was developed through the use of computers in the
+humanities; as MICHELSON had observed, Father Busa had started in 1949
+to prepare the first-ever text on the computer.
+
+HOCKEY remarked several large projects, particularly in Europe, for the
+compilation of dictionaries, language studies, and language analysis, in
+which people have built up archives of text and have begun to recognize
+the need for an encoding format that will be reusable and multifunctional,
+that can be used not just to print the text, which may be assumed to be a
+byproduct of what one wants to do, but to structure it inside the computer
+so that it can be searched, built into a Hypertext system, etc.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+WEIBEL * OCLC's approach to preparing electronic text: retroconversion,
+keying of texts, more automated ways of developing data * Project ADAPT
+and the CORE Project * Intelligent character recognition does not exist *
+Advantages of SGML * Data should be free of procedural markup;
+descriptive markup strongly advocated * OCLC's interface illustrated *
+Storage requirements and costs for putting a lot of information on line *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Stuart WEIBEL, senior research scientist, Online Computer Library Center,
+Inc. (OCLC), described OCLC's approach to preparing electronic text. He
+argued that the electronic world into which we are moving must
+accommodate not only the future but the past as well, and to some degree
+even the present. Thus, starting out at one end with retroconversion and
+keying of texts, one would like to move toward much more automated ways
+of developing data.
+
+For example, Project ADAPT had to do with automatically converting
+document images into a structured document database with OCR text as
+indexing and also a little bit of automatic formatting and tagging of
+that text. The CORE project hosted by Cornell University, Bellcore,
+OCLC, the American Chemical Society, and Chemical Abstracts, constitutes
+WEIBEL's principal concern at the moment. This project is an example of
+converting text for which one already has a machine-readable version into
+a format more suitable for electronic delivery and database searching.
+(Since Michael LESK had previously described CORE, WEIBEL would say
+little concerning it.) Borrowing a chemical phrase, de novo synthesis,
+WEIBEL cited the Online Journal of Current Clinical Trials as an example
+of de novo electronic publishing, that is, a form in which the primary
+form of the information is electronic.
+
+Project ADAPT, then, which OCLC completed a couple of years ago and in
+fact is about to resume, is a model in which one takes page images either
+in paper or microfilm and converts them automatically to a searchable
+electronic database, either on-line or local. The operating assumption
+is that accepting some blemishes in the data, especially for
+retroconversion of materials, will make it possible to accomplish more.
+Not enough money is available to support perfect conversion.
+
+WEIBEL related several steps taken to perform image preprocessing
+(processing on the image before performing optical character
+recognition), as well as image postprocessing. He denied the existence
+of intelligent character recognition and asserted that what is wanted is
+page recognition, which is a long way off. OCLC has experimented with
+merging of multiple optical character recognition systems that will
+reduce errors from an unacceptable rate of 5 characters out of every
+l,000 to an unacceptable rate of 2 characters out of every l,000, but it
+is not good enough. It will never be perfect.
+
+Concerning the CORE Project, WEIBEL observed that Bellcore is taking the
+topography files, extracting the page images, and converting those
+topography files to SGML markup. LESK hands that data off to OCLC, which
+builds that data into a Newton database, the same system that underlies
+the on-line system in virtually all of the reference products at OCLC.
+The long-term goal is to make the systems interoperable so that not just
+Bellcore's system and OCLC's system can access this data, but other
+systems can as well, and the key to that is the Z39.50 common command
+language and the full-text extension. Z39.50 is fine for MARC records,
+but is not enough to do it for full text (that is, make full texts
+interoperable).
+
+WEIBEL next outlined the critical role of SGML for a variety of purposes,
+for example, as noted by HOCKEY, in the world of extremely large
+databases, using highly structured data to perform field searches.
+WEIBEL argued that by building the structure of the data in (i.e., the
+structure of the data originally on a printed page), it becomes easy to
+look at a journal article even if one cannot read the characters and know
+where the title or author is, or what the sections of that document would be.
+OCLC wants to make that structure explicit in the database, because it will
+be important for retrieval purposes.
+
+The second big advantage of SGML is that it gives one the ability to
+build structure into the database that can be used for display purposes
+without contaminating the data with instructions about how to format
+things. The distinction lies between procedural markup, which tells one
+where to put dots on the page, and descriptive markup, which describes
+the elements of a document.
+
+WEIBEL believes that there should be no procedural markup in the data at
+all, that the data should be completely unsullied by information about
+italics or boldness. That should be left up to the display device,
+whether that display device is a page printer or a screen display device.
+By keeping one's database free of that kind of contamination, one can
+make decisions down the road, for example, reorganize the data in ways
+that are not cramped by built-in notions of what should be italic and
+what should be bold. WEIBEL strongly advocated descriptive markup. As
+an example, he illustrated the index structure in the CORE data. With
+subsequent illustrated examples of markup, WEIBEL acknowledged the common
+complaint that SGML is hard to read in its native form, although markup
+decreases considerably once one gets into the body. Without the markup,
+however, one would not have the structure in the data. One can pass
+markup through a LaTeX processor and convert it relatively easily to a
+printed version of the document.
+
+WEIBEL next illustrated an extremely cluttered screen dump of OCLC's
+system, in order to show as much as possible the inherent capability on
+the screen. (He noted parenthetically that he had become a supporter of
+X-Windows as a result of the progress of the CORE Project.) WEIBEL also
+illustrated the two major parts of the interface: l) a control box that
+allows one to generate lists of items, which resembles a small table of
+contents based on key words one wishes to search, and 2) a document
+viewer, which is a separate process in and of itself. He demonstrated
+how to follow links through the electronic database simply by selecting
+the appropriate button and bringing them up. He also noted problems that
+remain to be accommodated in the interface (e.g., as pointed out by LESK,
+what happens when users do not click on the icon for the figure).
+
+Given the constraints of time, WEIBEL omitted a large number of ancillary
+items in order to say a few words concerning storage requirements and
+what will be required to put a lot of things on line. Since it is
+extremely expensive to reconvert all of this data, especially if it is
+just in paper form (and even if it is in electronic form in typesetting
+tapes), he advocated building journals electronically from the start. In
+that case, if one only has text graphics and indexing (which is all that
+one needs with de novo electronic publishing, because there is no need to
+go back and look at bit-maps of pages), one can get 10,000 journals of
+full text, or almost 6 million pages per year. These pages can be put in
+approximately 135 gigabytes of storage, which is not all that much,
+WEIBEL said. For twenty years, something less than three terabytes would
+be required. WEIBEL calculated the costs of storing this information as
+follows: If a gigabyte costs approximately $1,000, then a terabyte costs
+approximately $1 million to buy in terms of hardware. One also needs a
+building to put it in and a staff like OCLC to handle that information.
+So, to support a terabyte, multiply by five, which gives $5 million per
+year for a supported terabyte of data.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Tapes saved by ACS are the typography files originally
+supporting publication of the journal * Cost of building tagged text into
+the database *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the question-and-answer period that followed WEIBEL's
+presentation, these clarifications emerged. The tapes saved by the
+American Chemical Society are the typography files that originally
+supported the publication of the journal. Although they are not tagged
+in SGML, they are tagged in very fine detail. Every single sentence is
+marked, all the registry numbers, all the publications issues, dates, and
+volumes. No cost figures on tagging material on a per-megabyte basis
+were available. Because ACS's typesetting system runs from tagged text,
+there is no extra cost per article. It was unknown what it costs ACS to
+keyboard the tagged text rather than just keyboard the text in the
+cheapest process. In other words, since one intends to publish things
+and will need to build tagged text into a typography system in any case,
+if one does that in such a way that it can drive not only typography but
+an electronic system (which is what ACS intends to do--move to SGML
+publishing), the marginal cost is zero. The marginal cost represents the
+cost of building tagged text into the database, which is small.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+SPERBERG-McQUEEN * Distinction between texts and computers * Implications
+of recognizing that all representation is encoding * Dealing with
+complicated representations of text entails the need for a grammar of
+documents * Variety of forms of formal grammars * Text as a bit-mapped
+image does not represent a serious attempt to represent text in
+electronic form * SGML, the TEI, document-type declarations, and the
+reusability and longevity of data * TEI conformance explicitly allows
+extension or modification of the TEI tag set * Administrative background
+of the TEI * Several design goals for the TEI tag set * An absolutely
+fixed requirement of the TEI Guidelines * Challenges the TEI has
+attempted to face * Good texts not beyond economic feasibility * The
+issue of reproducibility or processability * The issue of mages as
+simulacra for the text redux * One's model of text determines what one's
+software can do with a text and has economic consequences *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Prior to speaking about SGML and markup, Michael SPERBERG-McQUEEN, editor,
+Text Encoding Initiative (TEI), University of Illinois-Chicago, first drew
+a distinction between texts and computers: Texts are abstract cultural
+and linguistic objects while computers are complicated physical devices,
+he said. Abstract objects cannot be placed inside physical devices; with
+computers one can only represent text and act upon those representations.
+
+The recognition that all representation is encoding, SPERBERG-McQUEEN
+argued, leads to the recognition of two things: 1) The topic description
+for this session is slightly misleading, because there can be no discussion
+of pros and cons of text-coding unless what one means is pros and cons of
+working with text with computers. 2) No text can be represented in a
+computer without some sort of encoding; images are one way of encoding text,
+ASCII is another, SGML yet another. There is no encoding without some
+information loss, that is, there is no perfect reproduction of a text that
+allows one to do away with the original. Thus, the question becomes,
+What is the most useful representation of text for a serious work?
+This depends on what kind of serious work one is talking about.
+
+The projects demonstrated the previous day all involved highly complex
+information and fairly complex manipulation of the textual material.
+In order to use that complicated information, one has to calculate it
+slowly or manually and store the result. It needs to be stored, therefore,
+as part of one's representation of the text. Thus, one needs to store the
+structure in the text. To deal with complicated representations of text,
+one needs somehow to control the complexity of the representation of a text;
+that means one needs a way of finding out whether a document and an
+electronic representation of a document is legal or not; and that
+means one needs a grammar of documents.
+
+SPERBERG-McQUEEN discussed the variety of forms of formal grammars,
+implicit and explicit, as applied to text, and their capabilities. He
+argued that these grammars correspond to different models of text that
+different developers have. For example, one implicit model of the text
+is that there is no internal structure, but just one thing after another,
+a few characters and then perhaps a start-title command, and then a few
+more characters and an end-title command. SPERBERG-McQUEEN also
+distinguished several kinds of text that have a sort of hierarchical
+structure that is not very well defined, which, typically, corresponds
+to grammars that are not very well defined, as well as hierarchies that
+are very well defined (e.g., the Thesaurus Linguae Graecae) and extremely
+complicated things such as SGML, which handle strictly hierarchical data
+very nicely.
+
+SPERBERG-McQUEEN conceded that one other model not illustrated on his two
+displays was the model of text as a bit-mapped image, an image of a page,
+and confessed to having been converted to a limited extent by the
+Workshop to the view that electronic images constitute a promising,
+probably superior alternative to microfilming. But he was not convinced
+that electronic images represent a serious attempt to represent text in
+electronic form. Many of their problems stem from the fact that they are
+not direct attempts to represent the text but attempts to represent the
+page, thus making them representations of representations.
+
+In this situation of increasingly complicated textual information and the
+need to control that complexity in a useful way (which begs the question
+of the need for good textual grammars), one has the introduction of SGML.
+With SGML, one can develop specific document-type declarations
+for specific text types or, as with the TEI, attempts to generate
+general document-type declarations that can handle all sorts of text.
+The TEI is an attempt to develop formats for text representation that
+will ensure the kind of reusability and longevity of data discussed earlier.
+It offers a way to stay alive in the state of permanent technological
+revolution.
+
+It has been a continuing challenge in the TEI to create document grammars
+that do some work in controlling the complexity of the textual object but
+also allowing one to represent the real text that one will find.
+Fundamental to the notion of the TEI is that TEI conformance allows one
+the ability to extend or modify the TEI tag set so that it fits the text
+that one is attempting to represent.
+
+SPERBERG-McQUEEN next outlined the administrative background of the TEI.
+The TEI is an international project to develop and disseminate guidelines
+for the encoding and interchange of machine-readable text. It is
+sponsored by the Association for Computers in the Humanities, the
+Association for Computational Linguistics, and the Association for
+Literary and Linguistic Computing. Representatives of numerous other
+professional societies sit on its advisory board. The TEI has a number
+of affiliated projects that have provided assistance by testing drafts of
+the guidelines.
+
+Among the design goals for the TEI tag set, the scheme first of all must
+meet the needs of research, because the TEI came out of the research
+community, which did not feel adequately served by existing tag sets.
+The tag set must be extensive as well as compatible with existing and
+emerging standards. In 1990, version 1.0 of the Guidelines was released
+(SPERBERG-McQUEEN illustrated their contents).
+
+SPERBERG-McQUEEN noted that one problem besetting electronic text has
+been the lack of adequate internal or external documentation for many
+existing electronic texts. The TEI guidelines as currently formulated
+contain few fixed requirements, but one of them is this: There must
+always be a document header, an in-file SGML tag that provides
+1) a bibliographic description of the electronic object one is talking
+about (that is, who included it, when, what for, and under which title);
+and 2) the copy text from which it was derived, if any. If there was
+no copy text or if the copy text is unknown, then one states as much.
+Version 2.0 of the Guidelines was scheduled to be completed in fall 1992
+and a revised third version is to be presented to the TEI advisory board
+for its endorsement this coming winter. The TEI itself exists to provide
+a markup language, not a marked-up text.
+
+Among the challenges the TEI has attempted to face is the need for a
+markup language that will work for existing projects, that is, handle the
+level of markup that people are using now to tag only chapter, section,
+and paragraph divisions and not much else. At the same time, such a
+language also will be able to scale up gracefully to handle the highly
+detailed markup which many people foresee as the future destination of
+much electronic text, and which is not the future destination but the
+present home of numerous electronic texts in specialized areas.
+
+SPERBERG-McQUEEN dismissed the lowest-common-denominator approach as
+unable to support the kind of applications that draw people who have
+never been in the public library regularly before, and make them come
+back. He advocated more interesting text and more intelligent text.
+Asserting that it is not beyond economic feasibility to have good texts,
+SPERBERG-McQUEEN noted that the TEI Guidelines listing 200-odd tags
+contains tags that one is expected to enter every time the relevant
+textual feature occurs. It contains all the tags that people need now,
+and it is not expected that everyone will tag things in the same way.
+
+The question of how people will tag the text is in large part a function
+of their reaction to what SPERBERG-McQUEEN termed the issue of
+reproducibility. What one needs to be able to reproduce are the things
+one wants to work with. Perhaps a more useful concept than that of
+reproducibility or recoverability is that of processability, that is,
+what can one get from an electronic text without reading it again
+in the original. He illustrated this contention with a page from
+Jan Comenius's bilingual Introduction to Latin.
+
+SPERBERG-McQUEEN returned at length to the issue of images as simulacra
+for the text, in order to reiterate his belief that in the long run more
+than images of pages of particular editions of the text are needed,
+because just as second-generation photocopies and second-generation
+microfilm degenerate, so second-generation representations tend to
+degenerate, and one tends to overstress some relatively trivial aspects
+of the text such as its layout on the page, which is not always
+significant, despite what the text critics might say, and slight other
+pieces of information such as the very important lexical ties between the
+English and Latin versions of Comenius's bilingual text, for example.
+Moreover, in many crucial respects it is easy to fool oneself concerning
+what a scanned image of the text will accomplish. For example, in order
+to study the transmission of texts, information concerning the text
+carrier is necessary, which scanned images simply do not always handle.
+Further, even the high-quality materials being produced at Cornell use
+much of the information that one would need if studying those books as
+physical objects. It is a choice that has been made. It is an arguably
+justifiable choice, but one does not know what color those pen strokes in
+the margin are or whether there was a stain on the page, because it has
+been filtered out. One does not know whether there were rips in the page
+because they do not show up, and on a couple of the marginal marks one
+loses half of the mark because the pen is very light and the scanner
+failed to pick it up, and so what is clearly a checkmark in the margin of
+the original becomes a little scoop in the margin of the facsimile.
+Standard problems for facsimile editions, not new to electronics, but
+also true of light-lens photography, and are remarked here because it is
+important that we not fool ourselves that even if we produce a very nice
+image of this page with good contrast, we are not replacing the
+manuscript any more than microfilm has replaced the manuscript.
+
+The TEI comes from the research community, where its first allegiance
+lies, but it is not just an academic exercise. It has relevance far
+beyond those who spend all of their time studying text, because one's
+model of text determines what one's software can do with a text. Good
+models lead to good software. Bad models lead to bad software. That has
+economic consequences, and it is these economic consequences that have
+led the European Community to help support the TEI, and that will lead,
+SPERBERG-McQUEEN hoped, some software vendors to realize that if they
+provide software with a better model of the text they can make a killing.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Implications of different DTDs and tag sets * ODA versus SGML *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+During the discussion that followed, several additional points were made.
+Neither AAP (i.e., Association of American Publishers) nor CALS (i.e.,
+Computer-aided Acquisition and Logistics Support) has a document-type
+definition for ancient Greek drama, although the TEI will be able to
+handle that. Given this state of affairs and assuming that the
+technical-journal producers and the commercial vendors decide to use the
+other two types, then an institution like the Library of Congress, which
+might receive all of their publications, would have to be able to handle
+three different types of document definitions and tag sets and be able to
+distinguish among them.
+
+Office Document Architecture (ODA) has some advantages that flow from its
+tight focus on office documents and clear directions for implementation.
+Much of the ODA standard is easier to read and clearer at first reading
+than the SGML standard, which is extremely general. What that means is
+that if one wants to use graphics in TIFF and ODA, one is stuck, because
+ODA defines graphics formats while TIFF does not, whereas SGML says the
+world is not waiting for this work group to create another graphics format.
+What is needed is an ability to use whatever graphics format one wants.
+
+The TEI provides a socket that allows one to connect the SGML document to
+the graphics. The notation that the graphics are in is clearly a choice
+that one needs to make based on her or his environment, and that is one
+advantage. SGML is less megalomaniacal in attempting to define formats
+for all kinds of information, though more megalomaniacal in attempting to
+cover all sorts of documents. The other advantage is that the model of
+text represented by SGML is simply an order of magnitude richer and more
+flexible than the model of text offered by ODA. Both offer hierarchical
+structures, but SGML recognizes that the hierarchical model of the text
+that one is looking at may not have been in the minds of the designers,
+whereas ODA does not.
+
+ODA is not really aiming for the kind of document that the TEI wants to
+encompass. The TEI can handle the kind of material ODA has, as well as a
+significantly broader range of material. ODA seems to be very much
+focused on office documents, which is what it started out being called--
+office document architecture.
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+CALALUCA * Text-encoding from a publisher's perspective *
+Responsibilities of a publisher * Reproduction of Migne's Latin series
+whole and complete with SGML tags based on perceived need and expected
+use * Particular decisions arising from the general decision to produce
+and publish PLD *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+The final speaker in this session, Eric CALALUCA, vice president,
+Chadwyck-Healey, Inc., spoke from the perspective of a publisher re
+text-encoding, rather than as one qualified to discuss methods of
+encoding data, and observed that the presenters sitting in the room,
+whether they had chosen to or not, were acting as publishers: making
+choices, gathering data, gathering information, and making assessments.
+CALALUCA offered the hard-won conviction that in publishing very large
+text files (such as PLD), one cannot avoid making personal judgments of
+appropriateness and structure.
+
+In CALALUCA's view, encoding decisions stem from prior judgments. Two
+notions have become axioms for him in the consideration of future sources
+for electronic publication: 1) electronic text publishing is as personal
+as any other kind of publishing, and questions of if and how to encode
+the data are simply a consequence of that prior decision; 2) all
+personal decisions are open to criticism, which is unavoidable.
+
+CALALUCA rehearsed his role as a publisher or, better, as an intermediary
+between what is viewed as a sound idea and the people who would make use
+of it. Finding the specialist to advise in this process is the core of
+that function. The publisher must monitor and hug the fine line between
+giving users what they want and suggesting what they might need. One
+responsibility of a publisher is to represent the desires of scholars and
+research librarians as opposed to bullheadedly forcing them into areas
+they would not choose to enter.
+
+CALALUCA likened the questions being raised today about data structure
+and standards to the decisions faced by the Abbe Migne himself during
+production of the Patrologia series in the mid-nineteenth century.
+Chadwyck-Healey's decision to reproduce Migne's Latin series whole and
+complete with SGML tags was also based upon a perceived need and an
+expected use. In the same way that Migne's work came to be far more than
+a simple handbook for clerics, PLD is already far more than a database
+for theologians. It is a bedrock source for the study of Western
+civilization, CALALUCA asserted.
+
+In regard to the decision to produce and publish PLD, the editorial board
+offered direct judgments on the question of appropriateness of these
+texts for conversion, their encoding and their distribution, and
+concluded that the best possible project was one that avoided overt
+intrusions or exclusions in so important a resource. Thus, the general
+decision to transmit the original collection as clearly as possible with
+the widest possible avenues for use led to other decisions: 1) To encode
+the data or not, SGML or not, TEI or not. Again, the expected user
+community asserted the need for normative tagging structures of important
+humanities texts, and the TEI seemed the most appropriate structure for
+that purpose. Research librarians, who are trained to view the larger
+impact of electronic text sources on 80 or 90 or 100 doctoral
+disciplines, loudly approved the decision to include tagging. They see
+what is coming better than the specialist who is completely focused on
+one edition of Ambrose's De Anima, and they also understand that the
+potential uses exceed present expectations. 2) What will be tagged and
+what will not. Once again, the board realized that one must tag the
+obvious. But in no way should one attempt to identify through encoding
+schemes every single discrete area of a text that might someday be
+searched. That was another decision. Searching by a column number, an
+author, a word, a volume, permitting combination searches, and tagging
+notations seemed logical choices as core elements. 3) How does one make
+the data available? Tieing it to a CD-ROM edition creates limitations,
+but a magnetic tape file that is very large, is accompanied by the
+encoding specifications, and that allows one to make local modifications
+also allows one to incorporate any changes one may desire within the
+bounds of private research, though exporting tag files from a CD-ROM
+could serve just as well. Since no one on the board could possibly
+anticipate each and every way in which a scholar might choose to mine
+this data bank, it was decided to satisfy the basics and make some
+provisions for what might come. 4) Not to encode the database would rob
+it of the interchangeability and portability these important texts should
+accommodate. For CALALUCA, the extensive options presented by full-text
+searching require care in text selection and strongly support encoding of
+data to facilitate the widest possible search strategies. Better
+software can always be created, but summoning the resources, the people,
+and the energy to reconvert the text is another matter.
+
+PLD is being encoded, captured, and distributed, because to
+Chadwyck-Healey and the board it offers the widest possible array of
+future research applications that can be seen today. CALALUCA concluded
+by urging the encoding of all important text sources in whatever way
+seems most appropriate and durable at the time, without blanching at the
+thought that one's work may require emendation in the future. (Thus,
+Chadwyck-Healey produced a very large humanities text database before the
+final release of the TEI Guidelines.)
+
+ ******
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+DISCUSSION * Creating texts with markup advocated * Trends in encoding *
+The TEI and the issue of interchangeability of standards * A
+misconception concerning the TEI * Implications for an institution like
+LC in the event that a multiplicity of DTDs develops * Producing images
+as a first step towards possible conversion to full text through
+character recognition * The AAP tag sets as a common starting point and
+the need for caution *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+HOCKEY prefaced the discussion that followed with several comments in
+favor of creating texts with markup and on trends in encoding. In the
+future, when many more texts are available for on-line searching, real
+problems in finding what is wanted will develop, if one is faced with
+millions of words of data. It therefore becomes important to consider
+putting markup in texts to help searchers home in on the actual things
+they wish to retrieve. Various approaches to refining retrieval methods
+toward this end include building on a computer version of a dictionary
+and letting the computer look up words in it to obtain more information
+about the semantic structure or semantic field of a word, its grammatical
+structure, and syntactic structure.
+
+HOCKEY commented on the present keen interest in the encoding world
+in creating: 1) machine-readable versions of dictionaries that can be
+initially tagged in SGML, which gives a structure to the dictionary entry;
+these entries can then be converted into a more rigid or otherwise
+different database structure inside the computer, which can be treated as
+a dynamic tool for searching mechanisms; 2) large bodies of text to study
+the language. In order to incorporate more sophisticated mechanisms,
+more about how words behave needs to be known, which can be learned in
+part from information in dictionaries. However, the last ten years have
+seen much interest in studying the structure of printed dictionaries
+converted into computer-readable form. The information one derives about
+many words from those is only partial, one or two definitions of the
+common or the usual meaning of a word, and then numerous definitions of
+unusual usages. If the computer is using a dictionary to help retrieve
+words in a text, it needs much more information about the common usages,
+because those are the ones that occur over and over again. Hence the
+current interest in developing large bodies of text in computer-readable
+form in order to study the language. Several projects are engaged in
+compiling, for example, 100 million words. HOCKEY described one with
+which she was associated briefly at Oxford University involving
+compilation of 100 million words of British English: about 10 percent of
+that will contain detailed linguistic tagging encoded in SGML; it will
+have word class taggings, with words identified as nouns, verbs,
+adjectives, or other parts of speech. This tagging can then be used by
+programs which will begin to learn a bit more about the structure of the
+language, and then, can go to tag more text.
+
+HOCKEY said that the more that is tagged accurately, the more one can
+refine the tagging process and thus the bigger body of text one can build
+up with linguistic tagging incorporated into it. Hence, the more tagging
+or annotation there is in the text, the more one may begin to learn about
+language and the more it will help accomplish more intelligent OCR. She
+recommended the development of software tools that will help one begin to
+understand more about a text, which can then be applied to scanning
+images of that text in that format and to using more intelligence to help
+one interpret or understand the text.
+
+HOCKEY posited the need to think about common methods of text-encoding
+for a long time to come, because building these large bodies of text is
+extremely expensive and will only be done once.
+
+In the more general discussion on approaches to encoding that followed,
+these points were made:
+
+BESSER identified the underlying problem with standards that all have to
+struggle with in adopting a standard, namely, the tension between a very
+highly defined standard that is very interchangeable but does not work
+for everyone because something is lacking, and a standard that is less
+defined, more open, more adaptable, but less interchangeable. Contending
+that the way in which people use SGML is not sufficiently defined, BESSER
+wondered 1) if people resist the TEI because they think it is too defined
+in certain things they do not fit into, and 2) how progress with
+interchangeability can be made without frightening people away.
+
+SPERBERG-McQUEEN replied that the published drafts of the TEI had met
+with surprisingly little objection on the grounds that they do not allow
+one to handle X or Y or Z. Particular concerns of the affiliated
+projects have led, in practice, to discussions of how extensions are to
+be made; the primary concern of any project has to be how it can be
+represented locally, thus making interchange secondary. The TEI has
+received much criticism based on the notion that everything in it is
+required or even recommended, which, as it happens, is a misconception
+from the beginning, because none of it is required and very little is
+actually actively recommended for all cases, except that one document
+one's source.
+
+SPERBERG-McQUEEN agreed with BESSER about this trade-off: all the
+projects in a set of twenty TEI-conformant projects will not necessarily
+tag the material in the same way. One result of the TEI will be that the
+easiest problems will be solved--those dealing with the external form of
+the information; but the problem that is hardest in interchange is that
+one is not encoding what another wants, and vice versa. Thus, after
+the adoption of a common notation, the differences in the underlying
+conceptions of what is interesting about texts become more visible.
+The success of a standard like the TEI will lie in the ability of
+the recipient of interchanged texts to use some of what it contains
+and to add the information that was not encoded that one wants, in a
+layered way, so that texts can be gradually enriched and one does not
+have to put in everything all at once. Hence, having a well-behaved
+markup scheme is important.
+
+STEVENS followed up on the paradoxical analogy that BESSER alluded to in
+the example of the MARC records, namely, the formats that are the same
+except that they are different. STEVENS drew a parallel between
+document-type definitions and MARC records for books and serials and maps,
+where one has a tagging structure and there is a text-interchange.
+STEVENS opined that the producers of the information will set the terms
+for the standard (i.e., develop document-type definitions for the users
+of their products), creating a situation that will be problematical for
+an institution like the Library of Congress, which will have to deal with
+the DTDs in the event that a multiplicity of them develops. Thus,
+numerous people are seeking a standard but cannot find the tag set that
+will be acceptable to them and their clients. SPERBERG-McQUEEN agreed
+with this view, and said that the situation was in a way worse: attempting
+to unify arbitrary DTDs resembled attempting to unify a MARC record with a
+bibliographic record done according to the Prussian instructions.
+According to STEVENS, this situation occurred very early in the process.
+
+WATERS recalled from early discussions on Project Open Book the concern
+of many people that merely by producing images, POB was not really
+enhancing intellectual access to the material. Nevertheless, not wishing
+to overemphasize the opposition between imaging and full text, WATERS
+stated that POB views getting the images as a first step toward possibly
+converting to full text through character recognition, if the technology
+is appropriate. WATERS also emphasized that encoding is involved even
+with a set of images.
+
+SPERBERG-McQUEEN agreed with WATERS that one can create an SGML document
+consisting wholly of images. At first sight, organizing graphic images
+with an SGML document may not seem to offer great advantages, but the
+advantages of the scheme WATERS described would be precisely that
+ability to move into something that is more of a multimedia document:
+a combination of transcribed text and page images. WEIBEL concurred in
+this judgment, offering evidence from Project ADAPT, where a page is
+divided into text elements and graphic elements, and in fact the text
+elements are organized by columns and lines. These lines may be used as
+the basis for distributing documents in a network environment. As one
+develops software intelligent enough to recognize what those elements
+are, it makes sense to apply SGML to an image initially, that may, in
+fact, ultimately become more and more text, either through OCR or edited
+OCR or even just through keying. For WATERS, the labor of composing the
+document and saying this set of documents or this set of images belongs
+to this document constitutes a significant investment.
+
+WEIBEL also made the point that the AAP tag sets, while not excessively
+prescriptive, offer a common starting point; they do not define the
+structure of the documents, though. They have some recommendations about
+DTDs one could use as examples, but they do just suggest tag sets. For
+example, the CORE project attempts to use the AAP markup as much as
+possible, but there are clearly areas where structure must be added.
+That in no way contradicts the use of AAP tag sets.
+
+SPERBERG-McQUEEN noted that the TEI prepared a long working paper early
+on about the AAP tag set and what it lacked that the TEI thought it
+needed, and a fairly long critique of the naming conventions, which has
+led to a very different style of naming in the TEI. He stressed the
+importance of the opposition between prescriptive markup, the kind that a
+publisher or anybody can do when producing documents de novo, and
+descriptive markup, in which one has to take what the text carrier
+provides. In these particular tag sets it is easy to overemphasize this
+opposition, because the AAP tag set is extremely flexible. Even if one
+just used the DTDs, they allow almost anything to appear almost anywhere.
+
+ ******
+
+SESSION VI. COPYRIGHT ISSUES
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+PETERS * Several cautions concerning copyright in an electronic
+environment * Review of copyright law in the United States * The notion
+of the public good and the desirability of incentives to promote it *
+What copyright protects * Works not protected by copyright * The rights
+of copyright holders * Publishers' concerns in today's electronic
+environment * Compulsory licenses * The price of copyright in a digital
+medium and the need for cooperation * Additional clarifications * Rough
+justice oftentimes the outcome in numerous copyright matters * Copyright
+in an electronic society * Copyright law always only sets up the
+boundaries; anything can be changed by contract *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Marybeth PETERS, policy planning adviser to the Register of Copyrights,
+Library of Congress, made several general comments and then opened the
+floor to discussion of subjects of interest to the audience.
+
+Having attended several sessions in an effort to gain a sense of what
+people did and where copyright would affect their lives, PETERS expressed
+the following cautions:
+
+ * If one takes and converts materials and puts them in new forms,
+ then, from a copyright point of view, one is creating something and
+ will receive some rights.
+
+ * However, if what one is converting already exists, a question
+ immediately arises about the status of the materials in question.
+
+ * Putting something in the public domain in the United States offers
+ some freedom from anxiety, but distributing it throughout the world
+ on a network is another matter, even if one has put it in the public
+ domain in the United States. Re foreign laws, very frequently a
+ work can be in the public domain in the United States but protected
+ in other countries. Thus, one must consider all of the places a
+ work may reach, lest one unwittingly become liable to being faced
+ with a suit for copyright infringement, or at least a letter
+ demanding discussion of what one is doing.
+
+PETERS reviewed copyright law in the United States. The U.S.
+Constitution effectively states that Congress has the power to enact
+copyright laws for two purposes: 1) to encourage the creation and
+dissemination of intellectual works for the good of society as a whole;
+and, significantly, 2) to give creators and those who package and
+disseminate materials the economic rewards that are due them.
+
+Congress strives to strike a balance, which at times can become an
+emotional issue. The United States has never accepted the notion of the
+natural right of an author so much as it has accepted the notion of the
+public good and the desirability of incentives to promote it. This state
+of affairs, however, has created strains on the international level and
+is the reason for several of the differences in the laws that we have.
+Today the United States protects almost every kind of work that can be
+called an expression of an author. The standard for gaining copyright
+protection is simply originality. This is a low standard and means that
+a work is not copied from something else, as well as shows a certain
+minimal amount of authorship. One can also acquire copyright protection
+for making a new version of preexisting material, provided it manifests
+some spark of creativity.
+
+However, copyright does not protect ideas, methods, systems--only the way
+that one expresses those things. Nor does copyright protect anything
+that is mechanical, anything that does not involve choice, or criteria
+concerning whether or not one should do a thing. For example, the
+results of a process called declicking, in which one mechanically removes
+impure sounds from old recordings, are not copyrightable. On the other
+hand, the choice to record a song digitally and to increase the sound of
+violins or to bring up the tympani constitutes the results of conversion
+that are copyrightable. Moreover, if a work is protected by copyright in
+the United States, one generally needs the permission of the copyright
+owner to convert it. Normally, who will own the new--that is, converted-
+-material is a matter of contract. In the absence of a contract, the
+person who creates the new material is the author and owner. But people
+do not generally think about the copyright implications until after the
+fact. PETERS stressed the need when dealing with copyrighted works to
+think about copyright in advance. One's bargaining power is much greater
+up front than it is down the road.
+
+PETERS next discussed works not protected by copyright, for example, any
+work done by a federal employee as part of his or her official duties is
+in the public domain in the United States. The issue is not wholly free
+of doubt concerning whether or not the work is in the public domain
+outside the United States. Other materials in the public domain include:
+any works published more than seventy-five years ago, and any work
+published in the United States more than twenty-eight years ago, whose
+copyright was not renewed. In talking about the new technology and
+putting material in a digital form to send all over the world, PETERS
+cautioned, one must keep in mind that while the rights may not be an
+issue in the United States, they may be in different parts of the world,
+where most countries previously employed a copyright term of the life of
+the author plus fifty years.
+
+PETERS next reviewed the economics of copyright holding. Simply,
+economic rights are the rights to control the reproduction of a work in
+any form. They belong to the author, or in the case of a work made for
+hire, the employer. The second right, which is critical to conversion,
+is the right to change a work. The right to make new versions is perhaps
+one of the most significant rights of authors, particularly in an
+electronic world. The third right is the right to publish the work and
+the right to disseminate it, something that everyone who deals in an
+electronic medium needs to know. The basic rule is if a copy is sold,
+all rights of distribution are extinguished with the sale of that copy.
+The key is that it must be sold. A number of companies overcome this
+obstacle by leasing or renting their product. These companies argue that
+if the material is rented or leased and not sold, they control the uses
+of a work. The fourth right, and one very important in a digital world,
+is a right of public performance, which means the right to show the work
+sequentially. For example, copyright owners control the showing of a
+CD-ROM product in a public place such as a public library. The reverse
+side of public performance is something called the right of public
+display. Moral rights also exist, which at the federal level apply only
+to very limited visual works of art, but in theory may apply under
+contract and other principles. Moral rights may include the right of an
+author to have his or her name on a work, the right of attribution, and
+the right to object to distortion or mutilation--the right of integrity.
+
+The way copyright law is worded gives much latitude to activities such as
+preservation; to use of material for scholarly and research purposes when
+the user does not make multiple copies; and to the generation of
+facsimile copies of unpublished works by libraries for themselves and
+other libraries. But the law does not allow anyone to become the
+distributor of the product for the entire world. In today's electronic
+environment, publishers are extremely concerned that the entire world is
+networked and can obtain the information desired from a single copy in a
+single library. Hence, if there is to be only one sale, which publishers
+may choose to live with, they will obtain their money in other ways, for
+example, from access and use. Hence, the development of site licenses
+and other kinds of agreements to cover what publishers believe they
+should be compensated for. Any solution that the United States takes
+today has to consider the international arena.
+
+Noting that the United States is a member of the Berne Convention and
+subscribes to its provisions, PETERS described the permissions process.
+She also defined compulsory licenses. A compulsory license, of which the
+United States has had a few, builds into the law the right to use a work
+subject to certain terms and conditions. In the international arena,
+however, the ability to use compulsory licenses is extremely limited.
+Thus, clearinghouses and other collectives comprise one option that has
+succeeded in providing for use of a work. Often overlooked when one
+begins to use copyrighted material and put products together is how
+expensive the permissions process and managing it is. According to
+PETERS, the price of copyright in a digital medium, whatever solution is
+worked out, will include managing and assembling the database. She
+strongly recommended that publishers and librarians or people with
+various backgrounds cooperate to work out administratively feasible
+systems, in order to produce better results.
+
+In the lengthy question-and-answer period that followed PETERS's
+presentation, the following points emerged:
+
+ * The Copyright Office maintains that anything mechanical and
+ totally exhaustive probably is not protected. In the event that
+ what an individual did in developing potentially copyrightable
+ material is not understood, the Copyright Office will ask about the
+ creative choices the applicant chose to make or not to make. As a
+ practical matter, if one believes she or he has made enough of those
+ choices, that person has a right to assert a copyright and someone
+ else must assert that the work is not copyrightable. The more
+ mechanical, the more automatic, a thing is, the less likely it is to
+ be copyrightable.
+
+ * Nearly all photographs are deemed to be copyrightable, but no one
+ worries about them much, because everyone is free to take the same
+ image. Thus, a photographic copyright represents what is called a
+ "thin" copyright. The photograph itself must be duplicated, in
+ order for copyright to be violated.
+
+ * The Copyright Office takes the position that X-rays are not
+ copyrightable because they are mechanical. It can be argued
+ whether or not image enhancement in scanning can be protected. One
+ must exercise care with material created with public funds and
+ generally in the public domain. An article written by a federal
+ employee, if written as part of official duties, is not
+ copyrightable. However, control over a scientific article written
+ by a National Institutes of Health grantee (i.e., someone who
+ receives money from the U.S. government), depends on NIH policy. If
+ the government agency has no policy (and that policy can be
+ contained in its regulations, the contract, or the grant), the
+ author retains copyright. If a provision of the contract, grant, or
+ regulation states that there will be no copyright, then it does not
+ exist. When a work is created, copyright automatically comes into
+ existence unless something exists that says it does not.
+
+ * An enhanced electronic copy of a print copy of an older reference
+ work in the public domain that does not contain copyrightable new
+ material is a purely mechanical rendition of the original work, and
+ is not copyrightable.
+
+ * Usually, when a work enters the public domain, nothing can remove
+ it. For example, Congress recently passed into law the concept of
+ automatic renewal, which means that copyright on any work published
+ between l964 and l978 does not have to be renewed in order to
+ receive a seventy-five-year term. But any work not renewed before
+ 1964 is in the public domain.
+
+ * Concerning whether or not the United States keeps track of when
+ authors die, nothing was ever done, nor is anything being done at
+ the moment by the Copyright Office.
+
+ * Software that drives a mechanical process is itself copyrightable.
+ If one changes platforms, the software itself has a copyright. The
+ World Intellectual Property Organization will hold a symposium 28
+ March through 2 April l993, at Harvard University, on digital
+ technology, and will study this entire issue. If one purchases a
+ computer software package, such as MacPaint, and creates something
+ new, one receives protection only for that which has been added.
+
+PETERS added that often in copyright matters, rough justice is the
+outcome, for example, in collective licensing, ASCAP (i.e., American
+Society of Composers, Authors, and Publishers), and BMI (i.e., Broadcast
+Music, Inc.), where it may seem that the big guys receive more than their
+due. Of course, people ought not to copy a creative product without
+paying for it; there should be some compensation. But the truth of the
+world, and it is not a great truth, is that the big guy gets played on
+the radio more frequently than the little guy, who has to do much more
+until he becomes a big guy. That is true of every author, every
+composer, everyone, and, unfortunately, is part of life.
+
+Copyright always originates with the author, except in cases of works
+made for hire. (Most software falls into this category.) When an author
+sends his article to a journal, he has not relinquished copyright, though
+he retains the right to relinquish it. The author receives absolutely
+everything. The less prominent the author, the more leverage the
+publisher will have in contract negotiations. In order to transfer the
+rights, the author must sign an agreement giving them away.
+
+In an electronic society, it is important to be able to license a writer
+and work out deals. With regard to use of a work, it usually is much
+easier when a publisher holds the rights. In an electronic era, a real
+problem arises when one is digitizing and making information available.
+PETERS referred again to electronic licensing clearinghouses. Copyright
+ought to remain with the author, but as one moves forward globally in the
+electronic arena, a middleman who can handle the various rights becomes
+increasingly necessary.
+
+The notion of copyright law is that it resides with the individual, but
+in an on-line environment, where a work can be adapted and tinkered with
+by many individuals, there is concern. If changes are authorized and
+there is no agreement to the contrary, the person who changes a work owns
+the changes. To put it another way, the person who acquires permission
+to change a work technically will become the author and the owner, unless
+some agreement to the contrary has been made. It is typical for the
+original publisher to try to control all of the versions and all of the
+uses. Copyright law always only sets up the boundaries. Anything can be
+changed by contract.
+
+ ******
+
+SESSION VII. CONCLUSION
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+GENERAL DISCUSSION * Two questions for discussion * Different emphases in
+the Workshop * Bringing the text and image partisans together *
+Desiderata in planning the long-term development of something * Questions
+surrounding the issue of electronic deposit * Discussion of electronic
+deposit as an allusion to the issue of standards * Need for a directory
+of preservation projects in digital form and for access to their
+digitized files * CETH's catalogue of machine-readable texts in the
+humanities * What constitutes a publication in the electronic world? *
+Need for LC to deal with the concept of on-line publishing * LC's Network
+Development Office exploring the limits of MARC as a standard in terms
+of handling electronic information * Magnitude of the problem and the
+need for distributed responsibility in order to maintain and store
+electronic information * Workshop participants to be viewed as a starting
+point * Development of a network version of AM urged * A step toward AM's
+construction of some sort of apparatus for network access * A delicate
+and agonizing policy question for LC * Re the issue of electronic
+deposit, LC urged to initiate a catalytic process in terms of distributed
+responsibility * Suggestions for cooperative ventures * Commercial
+publishers' fears * Strategic questions for getting the image and text
+people to think through long-term cooperation * Clarification of the
+driving force behind both the Perseus and the Cornell Xerox projects *
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+In his role as moderator of the concluding session, GIFFORD raised two
+questions he believed would benefit from discussion: 1) Are there enough
+commonalities among those of us that have been here for two days so that
+we can see courses of action that should be taken in the future? And, if
+so, what are they and who might take them? 2) Partly derivative from
+that, but obviously very dangerous to LC as host, do you see a role for
+the Library of Congress in all this? Of course, the Library of Congress
+holds a rather special status in a number of these matters, because it is
+not perceived as a player with an economic stake in them, but are there
+roles that LC can play that can help advance us toward where we are heading?
+
+Describing himself as an uninformed observer of the technicalities of the
+last two days, GIFFORD detected three different emphases in the Workshop:
+1) people who are very deeply committed to text; 2) people who are almost
+passionate about images; and 3) a few people who are very committed to
+what happens to the networks. In other words, the new networking
+dimension, the accessibility of the processability, the portability of
+all this across the networks. How do we pull those three together?
+
+Adding a question that reflected HOCKEY's comment that this was the
+fourth workshop she had attended in the previous thirty days, FLEISCHHAUER
+wondered to what extent this meeting had reinvented the wheel, or if it
+had contributed anything in the way of bringing together a different group
+of people from those who normally appear on the workshop circuit.
+
+HOCKEY confessed to being struck at this meeting and the one the
+Electronic Pierce Consortium organized the previous week that this was a
+coming together of people working on texts and not images. Attempting to
+bring the two together is something we ought to be thinking about for the
+future: How one can think about working with image material to begin
+with, but structuring it and digitizing it in such a way that at a later
+stage it can be interpreted into text, and find a common way of building
+text and images together so that they can be used jointly in the future,
+with the network support to begin there because that is how people will
+want to access it.
+
+In planning the long-term development of something, which is what is
+being done in electronic text, HOCKEY stressed the importance not only
+of discussing the technical aspects of how one does it but particularly
+of thinking about what the people who use the stuff will want to do.
+But conversely, there are numerous things that people start to do with
+electronic text or material that nobody ever thought of in the beginning.
+
+LESK, in response to the question concerning the role of the Library of
+Congress, remarked the often suggested desideratum of having electronic
+deposit: Since everything is now computer-typeset, an entire decade of
+material that was machine-readable exists, but the publishers frequently
+did not save it; has LC taken any action to have its copyright deposit
+operation start collecting these machine-readable versions? In the
+absence of PETERS, GIFFORD replied that the question was being
+actively considered but that that was only one dimension of the problem.
+Another dimension is the whole question of the integrity of the original
+electronic document. It becomes highly important in science to prove
+authorship. How will that be done?
+
+ERWAY explained that, under the old policy, to make a claim for a
+copyright for works that were published in electronic form, including
+software, one had to submit a paper copy of the first and last twenty
+pages of code--something that represented the work but did not include
+the entire work itself and had little value to anyone. As a temporary
+measure, LC has claimed the right to demand electronic versions of
+electronic publications. This measure entails a proactive role for the
+Library to say that it wants a particular electronic version. Publishers
+then have perhaps a year to submit it. But the real problem for LC is
+what to do with all this material in all these different formats. Will
+the Library mount it? How will it give people access to it? How does LC
+keep track of the appropriate computers, software, and media? The situation
+is so hard to control, ERWAY said, that it makes sense for each publishing
+house to maintain its own archive. But LC cannot enforce that either.
+
+GIFFORD acknowledged LESK's suggestion that establishing a priority
+offered the solution, albeit a fairly complicated one. But who maintains
+that register?, he asked. GRABER noted that LC does attempt to collect a
+Macintosh version and the IBM-compatible version of software. It does
+not collect other versions. But while true for software, BYRUM observed,
+this reply does not speak to materials, that is, all the materials that
+were published that were on somebody's microcomputer or driver tapes
+at a publishing office across the country. LC does well to acquire
+specific machine-readable products selectively that were intended to be
+machine-readable. Materials that were in machine-readable form at one time,
+BYRUM said, would be beyond LC's capability at the moment, insofar as
+attempting to acquire, organize, and preserve them are concerned--and
+preservation would be the most important consideration. In this
+connection, GIFFORD reiterated the need to work out some sense of
+distributive responsibility for a number of these issues, which
+inevitably will require significant cooperation and discussion.
+Nobody can do it all.
+
+LESK suggested that some publishers may look with favor on LC beginning
+to serve as a depository of tapes in an electronic manuscript standard.
+Publishers may view this as a service that they did not have to perform
+and they might send in tapes. However, SPERBERG-McQUEEN countered,
+although publishers have had equivalent services available to them for a
+long time, the electronic text archive has never turned away or been
+flooded with tapes and is forever sending feedback to the depositor.
+Some publishers do send in tapes.
+
+ANDRE viewed this discussion as an allusion to the issue of standards.
+She recommended that the AAP standard and the TEI, which has already been
+somewhat harmonized internationally and which also shares several
+compatibilities with the AAP, be harmonized to ensure sufficient
+compatibility in the software. She drew the line at saying LC ought to
+be the locus or forum for such harmonization.
+
+Taking the group in a slightly different direction, but one where at
+least in the near term LC might play a helpful role, LYNCH remarked the
+plans of a number of projects to carry out preservation by creating
+digital images that will end up in on-line or near-line storage at some
+institution. Presumably, LC will link this material somehow to its
+on-line catalog in most cases. Thus, it is in a digital form. LYNCH had
+the impression that many of these institutions would be willing to make
+those files accessible to other people outside the institution, provided
+that there is no copyright problem. This desideratum will require
+propagating the knowledge that those digitized files exist, so that they
+can end up in other on-line catalogs. Although uncertain about the
+mechanism for achieving this result, LYNCH said that it warranted
+scrutiny because it seemed to be connected to some of the basic issues of
+cataloging and distribution of records. It would be foolish, given the
+amount of work that all of us have to do and our meager resources, to
+discover multiple institutions digitizing the same work. Re microforms,
+LYNCH said, we are in pretty good shape.
+
+BATTIN called this a big problem and noted that the Cornell people (who
+had already departed) were working on it. At issue from the beginning
+was to learn how to catalog that information into RLIN and then into
+OCLC, so that it would be accessible. That issue remains to be resolved.
+LYNCH rejoined that putting it into OCLC or RLIN was helpful insofar as
+somebody who is thinking of performing preservation activity on that work
+could learn about it. It is not necessarily helpful for institutions to
+make that available. BATTIN opined that the idea was that it not only be
+for preservation purposes but for the convenience of people looking for
+this material. She endorsed LYNCH's dictum that duplication of this
+effort was to be avoided by every means.
+
+HOCKEY informed the Workshop about one major current activity of CETH,
+namely a catalogue of machine-readable texts in the humanities. Held on
+RLIN at present, the catalogue has been concentrated on ASCII as opposed
+to digitized images of text. She is exploring ways to improve the
+catalogue and make it more widely available, and welcomed suggestions
+about these concerns. CETH owns the records, which are not just
+restricted to RLIN, and can distribute them however it wishes.
+
+Taking up LESK's earlier question, BATTIN inquired whether LC, since it
+is accepting electronic files and designing a mechanism for dealing with
+that rather than putting books on shelves, would become responsible for
+the National Copyright Depository of Electronic Materials. Of course
+that could not be accomplished overnight, but it would be something LC
+could plan for. GIFFORD acknowledged that much thought was being devoted
+to that set of problems and returned the discussion to the issue raised
+by LYNCH--whether or not putting the kind of records that both BATTIN and
+HOCKEY have been talking about in RLIN is not a satisfactory solution.
+It seemed to him that RLIN answered LYNCH's original point concerning
+some kind of directory for these kinds of materials. In a situation
+where somebody is attempting to decide whether or not to scan this or
+film that or to learn whether or not someone has already done so, LYNCH
+suggested, RLIN is helpful, but it is not helpful in the case of a local,
+on-line catalogue. Further, one would like to have her or his system be
+aware that that exists in digital form, so that one can present it to a
+patron, even though one did not digitize it, if it is out of copyright.
+The only way to make those linkages would be to perform a tremendous
+amount of real-time look-up, which would be awkward at best, or
+periodically to yank the whole file from RLIN and match it against one's
+own stuff, which is a nuisance.
+
+But where, ERWAY inquired, does one stop including things that are
+available with Internet, for instance, in one's local catalogue?
+It almost seems that that is LC's means to acquire access to them.
+That represents LC's new form of library loan. Perhaps LC's new on-line
+catalogue is an amalgamation of all these catalogues on line. LYNCH
+conceded that perhaps that was true in the very long term, but was not
+applicable to scanning in the short term. In his view, the totals cited
+by Yale, 10,000 books over perhaps a four-year period, and 1,000-1,500
+books from Cornell, were not big numbers, while searching all over
+creation for relatively rare occurrences will prove to be less efficient.
+As GIFFORD wondered if this would not be a separable file on RLIN and
+could be requested from them, BATTIN interjected that it was easily
+accessible to an institution. SEVERTSON pointed out that that file, cum
+enhancements, was available with reference information on CD-ROM, which
+makes it a little more available.
+
+In HOCKEY's view, the real question facing the Workshop is what to put in
+this catalogue, because that raises the question of what constitutes a
+publication in the electronic world. (WEIBEL interjected that Eric Joule
+in OCLC's Office of Research is also wrestling with this particular
+problem, while GIFFORD thought it sounded fairly generic.) HOCKEY
+contended that a majority of texts in the humanities are in the hands
+of either a small number of large research institutions or individuals
+and are not generally available for anyone else to access at all.
+She wondered if these texts ought to be catalogued.
+
+After argument proceeded back and forth for several minutes over why
+cataloguing might be a necessary service, LEBRON suggested that this
+issue involved the responsibility of a publisher. The fact that someone
+has created something electronically and keeps it under his or her
+control does not constitute publication. Publication implies
+dissemination. While it would be important for a scholar to let other
+people know that this creation exists, in many respects this is no
+different from an unpublished manuscript. That is what is being accessed
+in there, except that now one is not looking at it in the hard-copy but
+in the electronic environment.
+
+LEBRON expressed puzzlement at the variety of ways electronic publishing
+has been viewed. Much of what has been discussed throughout these two
+days has concerned CD-ROM publishing, whereas in the on-line environment
+that she confronts, the constraints and challenges are very different.
+Sooner or later LC will have to deal with the concept of on-line
+publishing. Taking up the comment ERWAY made earlier about storing
+copies, LEBRON gave her own journal as an example. How would she deposit
+OJCCT for copyright?, she asked, because the journal will exist in the
+mainframe at OCLC and people will be able to access it. Here the
+situation is different, ownership versus access, and is something that
+arises with publication in the on-line environment, faster than is
+sometimes realized. Lacking clear answers to all of these questions
+herself, LEBRON did not anticipate that LC would be able to take a role
+in helping to define some of them for quite a while.
+
+GREENFIELD observed that LC's Network Development Office is attempting,
+among other things, to explore the limits of MARC as a standard in terms
+of handling electronic information. GREENFIELD also noted that Rebecca
+GUENTHER from that office gave a paper to the American Society for
+Information Science (ASIS) summarizing several of the discussion papers
+that were coming out of the Network Development Office. GREENFIELD said
+he understood that that office had a list-server soliciting just the kind
+of feedback received today concerning the difficulties of identifying and
+cataloguing electronic information. GREENFIELD hoped that everybody
+would be aware of that and somehow contribute to that conversation.
+
+Noting two of LC's roles, first, to act as a repository of record for
+material that is copyrighted in this country, and second, to make
+materials it holds available in some limited form to a clientele that
+goes beyond Congress, BESSER suggested that it was incumbent on LC to
+extend those responsibilities to all the things being published in
+electronic form. This would mean eventually accepting electronic
+formats. LC could require that at some point they be in a certain
+limited set of formats, and then develop mechanisms for allowing people
+to access those in the same way that other things are accessed. This
+does not imply that they are on the network and available to everyone.
+LC does that with most of its bibliographic records, BESSER said, which
+end up migrating to the utility (e.g., OCLC) or somewhere else. But just
+as most of LC's books are available in some form through interlibrary
+loan or some other mechanism, so in the same way electronic formats ought
+to be available to others in some format, though with some copyright
+considerations. BESSER was not suggesting that these mechanisms be
+established tomorrow, only that they seemed to fall within LC's purview,
+and that there should be long-range plans to establish them.
+
+Acknowledging that those from LC in the room agreed with BESSER
+concerning the need to confront difficult questions, GIFFORD underscored
+the magnitude of the problem of what to keep and what to select. GIFFORD
+noted that LC currently receives some 31,000 items per day, not counting
+electronic materials, and argued for much more distributed responsibility
+in order to maintain and store electronic information.
+
+BESSER responded that the assembled group could be viewed as a starting
+point, whose initial operating premise could be helping to move in this
+direction and defining how LC could do so, for example, in areas of
+standardization or distribution of responsibility.
+
+FLEISCHHAUER added that AM was fully engaged, wrestling with some of the
+questions that pertain to the conversion of older historical materials,
+which would be one thing that the Library of Congress might do. Several
+points mentioned by BESSER and several others on this question have a
+much greater impact on those who are concerned with cataloguing and the
+networking of bibliographic information, as well as preservation itself.
+
+Speaking directly to AM, which he considered was a largely uncopyrighted
+database, LYNCH urged development of a network version of AM, or
+consideration of making the data in it available to people interested in
+doing network multimedia. On account of the current great shortage of
+digital data that is both appealing and unencumbered by complex rights
+problems, this course of action could have a significant effect on making
+network multimedia a reality.
+
+In this connection, FLEISCHHAUER reported on a fragmentary prototype in
+LC's Office of Information Technology Services that attempts to associate
+digital images of photographs with cataloguing information in ways that
+work within a local area network--a step, so to say, toward AM's
+construction of some sort of apparatus for access. Further, AM has
+attempted to use standard data forms in order to help make that
+distinction between the access tools and the underlying data, and thus
+believes that the database is networkable.
+
+A delicate and agonizing policy question for LC, however, which comes
+back to resources and unfortunately has an impact on this, is to find
+some appropriate, honorable, and legal cost-recovery possibilities. A
+certain skittishness concerning cost-recovery has made people unsure
+exactly what to do. AM would be highly receptive to discussing further
+LYNCH's offer to test or demonstrate its database in a network
+environment, FLEISCHHAUER said.
+
+Returning the discussion to what she viewed as the vital issue of
+electronic deposit, BATTIN recommended that LC initiate a catalytic
+process in terms of distributed responsibility, that is, bring together
+the distributed organizations and set up a study group to look at all
+these issues and see where we as a nation should move. The broader
+issues of how we deal with the management of electronic information will
+not disappear, but only grow worse.
+
+LESK took up this theme and suggested that LC attempt to persuade one
+major library in each state to deal with its state equivalent publisher,
+which might produce a cooperative project that would be equitably
+distributed around the country, and one in which LC would be dealing with
+a minimal number of publishers and minimal copyright problems.
+
+GRABER remarked the recent development in the scientific community of a
+willingness to use SGML and either deposit or interchange on a fairly
+standardized format. He wondered if a similar movement was taking place
+in the humanities. Although the National Library of Medicine found only
+a few publishers to cooperate in a like venture two or three years ago, a
+new effort might generate a much larger number willing to cooperate.
+
+KIMBALL recounted his unit's (Machine-Readable Collections Reading Room)
+troubles with the commercial publishers of electronic media in acquiring
+materials for LC's collections, in particular the publishers' fear that
+they would not be able to cover their costs and would lose control of
+their products, that LC would give them away or sell them and make
+profits from them. He doubted that the publishing industry was prepared
+to move into this area at the moment, given its resistance to allowing LC
+to use its machine-readable materials as the Library would like.
+
+The copyright law now addresses compact disk as a medium, and LC can
+request one copy of that, or two copies if it is the only version, and
+can request copies of software, but that fails to address magazines or
+books or anything like that which is in machine-readable form.
+
+GIFFORD acknowledged the thorny nature of this issue, which he illustrated
+with the example of the cumbersome process involved in putting a copy of a
+scientific database on a LAN in LC's science reading room. He also
+acknowledged that LC needs help and could enlist the energies and talents
+of Workshop participants in thinking through a number of these problems.
+
+GIFFORD returned the discussion to getting the image and text people to
+think through together where they want to go in the long term. MYLONAS
+conceded that her experience at the Pierce Symposium the previous week at
+Georgetown University and this week at LC had forced her to reevaluate
+her perspective on the usefulness of text as images. MYLONAS framed the
+issues in a series of questions: How do we acquire machine-readable
+text? Do we take pictures of it and perform OCR on it later? Is it
+important to obtain very high-quality images and text, etc.?
+FLEISCHHAUER agreed with MYLONAS's framing of strategic questions, adding
+that a large institution such as LC probably has to do all of those
+things at different times. Thus, the trick is to exercise judgment. The
+Workshop had added to his and AM's considerations in making those
+judgments. Concerning future meetings or discussions, MYLONAS suggested
+that screening priorities would be helpful.
+
+WEIBEL opined that the diversity reflected in this group was a sign both
+of the health and of the immaturity of the field, and more time would
+have to pass before we convince one another concerning standards.
+
+An exchange between MYLONAS and BATTIN clarified the point that the
+driving force behind both the Perseus and the Cornell Xerox projects was
+the preservation of knowledge for the future, not simply for particular
+research use. In the case of Perseus, MYLONAS said, the assumption was
+that the texts would not be entered again into electronically readable
+form. SPERBERG-McQUEEN added that a scanned image would not serve as an
+archival copy for purposes of preservation in the case of, say, the Bill
+of Rights, in the sense that the scanned images are effectively the
+archival copies for the Cornell mathematics books.
+
+
+ *** *** *** ****** *** *** ***
+
+
+ Appendix I: PROGRAM
+
+
+
+ WORKSHOP
+ ON
+ ELECTRONIC
+ TEXTS
+
+
+
+ 9-10 June 1992
+
+ Library of Congress
+ Washington, D.C.
+
+
+
+ Supported by a Grant from the David and Lucile Packard Foundation
+
+
+Tuesday, 9 June 1992
+
+NATIONAL DEMONSTRATION LAB, ATRIUM, LIBRARY MADISON
+
+8:30 AM Coffee and Danish, registration
+
+9:00 AM Welcome
+
+ Prosser Gifford, Director for Scholarly Programs, and Carl
+ Fleischhauer, Coordinator, American Memory, Library of
+ Congress
+
+9:l5 AM Session I. Content in a New Form: Who Will Use It and What
+ Will They Do?
+
+ Broad description of the range of electronic information.
+ Characterization of who uses it and how it is or may be used.
+ In addition to a look at scholarly uses, this session will
+ include a presentation on use by students (K-12 and college)
+ and the general public.
+
+ Moderator: James Daly
+ Avra Michelson, Archival Research and Evaluation Staff,
+ National Archives and Records Administration (Overview)
+ Susan H. Veccia, Team Leader, American Memory, User Evaluation,
+ and
+ Joanne Freeman, Associate Coordinator, American Memory, Library
+ of Congress (Beyond the scholar)
+
+10:30-
+11:00 AM Break
+
+11:00 AM Session II. Show and Tell.
+
+ Each presentation to consist of a fifteen-minute
+ statement/show; group discussion will follow lunch.
+
+ Moderator: Jacqueline Hess, Director, National Demonstration
+ Lab
+
+ 1. A classics project, stressing texts and text retrieval
+ more than multimedia: Perseus Project, Harvard
+ University
+ Elli Mylonas, Managing Editor
+
+ 2. Other humanities projects employing the emerging norms of
+ the Text Encoding Initiative (TEI): Chadwyck-Healey's
+ The English Poetry Full Text Database and/or Patrologia
+ Latina Database
+ Eric M. Calaluca, Vice President, Chadwyck-Healey, Inc.
+
+ 3. American Memory
+ Carl Fleischhauer, Coordinator, and
+ Ricky Erway, Associate Coordinator, Library of Congress
+
+ 4. Founding Fathers example from Packard Humanities
+ Institute: The Papers of George Washington, University
+ of Virginia
+ Dorothy Twohig, Managing Editor, and/or
+ David Woodley Packard
+
+ 5. An electronic medical journal offering graphics and
+ full-text searchability: The Online Journal of Current
+ Clinical Trials, American Association for the Advancement
+ of Science
+ Maria L. Lebron, Managing Editor
+
+ 6. A project that offers facsimile images of pages but omits
+ searchable text: Cornell math books
+ Lynne K. Personius, Assistant Director, Cornell
+ Information Technologies for Scholarly Information
+ Sources, Cornell University
+
+12:30 PM Lunch (Dining Room A, Library Madison 620. Exhibits
+ available.)
+
+1:30 PM Session II. Show and Tell (Cont'd.).
+
+3:00-
+3:30 PM Break
+
+3:30-
+5:30 PM Session III. Distribution, Networks, and Networking: Options
+ for Dissemination.
+
+ Published disks: University presses and public-sector
+ publishers, private-sector publishers
+ Computer networks
+
+ Moderator: Robert G. Zich, Special Assistant to the Associate
+ Librarian for Special Projects, Library of Congress
+ Clifford A. Lynch, Director, Library Automation, University of
+ California
+ Howard Besser, School of Library and Information Science,
+ University of Pittsburgh
+ Ronald L. Larsen, Associate Director of Libraries for
+ Information Technology, University of Maryland at College
+ Park
+ Edwin B. Brownrigg, Executive Director, Memex Research
+ Institute
+
+6:30 PM Reception (Montpelier Room, Library Madison 619.)
+
+ ******
+
+Wednesday, 10 June 1992
+
+DINING ROOM A, LIBRARY MADISON 620
+
+8:30 AM Coffee and Danish
+
+9:00 AM Session IV. Image Capture, Text Capture, Overview of Text and
+ Image Storage Formats.
+
+ Moderator: William L. Hooton, Vice President of Operations,
+ I-NET
+
+ A) Principal Methods for Image Capture of Text:
+ Direct scanning
+ Use of microform
+
+ Anne R. Kenney, Assistant Director, Department of Preservation
+ and Conservation, Cornell University
+ Pamela Q.J. Andre, Associate Director, Automation, and
+ Judith A. Zidar, Coordinator, National Agricultural Text
+ Digitizing Program (NATDP), National Agricultural Library
+ (NAL)
+ Donald J. Waters, Head, Systems Office, Yale University Library
+
+ B) Special Problems:
+ Bound volumes
+ Conservation
+ Reproducing printed halftones
+
+ Carl Fleischhauer, Coordinator, American Memory, Library of
+ Congress
+ George Thoma, Chief, Communications Engineering Branch,
+ National Library of Medicine (NLM)
+
+10:30-
+11:00 AM Break
+
+11:00 AM Session IV. Image Capture, Text Capture, Overview of Text and
+ Image Storage Formats (Cont'd.).
+
+ C) Image Standards and Implications for Preservation
+
+ Jean Baronas, Senior Manager, Department of Standards and
+ Technology, Association for Information and Image Management
+ (AIIM)
+ Patricia Battin, President, The Commission on Preservation and
+ Access (CPA)
+
+ D) Text Conversion:
+ OCR vs. rekeying
+ Standards of accuracy and use of imperfect texts
+ Service bureaus
+
+ Stuart Weibel, Senior Research Specialist, Online Computer
+ Library Center, Inc. (OCLC)
+ Michael Lesk, Executive Director, Computer Science Research,
+ Bellcore
+ Ricky Erway, Associate Coordinator, American Memory, Library of
+ Congress
+ Pamela Q.J. Andre, Associate Director, Automation, and
+ Judith A. Zidar, Coordinator, National Agricultural Text
+ Digitizing Program (NATDP), National Agricultural Library
+ (NAL)
+
+12:30-
+1:30 PM Lunch
+
+1:30 PM Session V. Approaches to Preparing Electronic Texts.
+
+ Discussion of approaches to structuring text for the computer;
+ pros and cons of text coding, description of methods in
+ practice, and comparison of text-coding methods.
+
+ Moderator: Susan Hockey, Director, Center for Electronic Texts
+ in the Humanities (CETH), Rutgers and Princeton Universities
+ David Woodley Packard
+ C.M. Sperberg-McQueen, Editor, Text Encoding Initiative (TEI),
+ University of Illinois-Chicago
+ Eric M. Calaluca, Vice President, Chadwyck-Healey, Inc.
+
+3:30-
+4:00 PM Break
+
+4:00 PM Session VI. Copyright Issues.
+
+ Marybeth Peters, Policy Planning Adviser to the Register of
+ Copyrights, Library of Congress
+
+5:00 PM Session VII. Conclusion.
+
+ General discussion.
+ What topics were omitted or given short shrift that anyone
+ would like to talk about now?
+ Is there a "group" here? What should the group do next, if
+ anything? What should the Library of Congress do next, if
+ anything?
+ Moderator: Prosser Gifford, Director for Scholarly Programs,
+ Library of Congress
+
+6:00 PM Adjourn
+
+
+ *** *** *** ****** *** *** ***
+
+
+ Appendix II: ABSTRACTS
+
+
+SESSION I
+
+Avra MICHELSON Forecasting the Use of Electronic Texts by
+ Social Sciences and Humanities Scholars
+
+This presentation explores the ways in which electronic texts are likely
+to be used by the non-scientific scholarly community. Many of the
+remarks are drawn from a report the speaker coauthored with Jeff
+Rothenberg, a computer scientist at The RAND Corporation.
+
+The speaker assesses 1) current scholarly use of information technology
+and 2) the key trends in information technology most relevant to the
+research process, in order to predict how social sciences and humanities
+scholars are apt to use electronic texts. In introducing the topic,
+current use of electronic texts is explored broadly within the context of
+scholarly communication. From the perspective of scholarly
+communication, the work of humanities and social sciences scholars
+involves five processes: 1) identification of sources, 2) communication
+with colleagues, 3) interpretation and analysis of data, 4) dissemination
+of research findings, and 5) curriculum development and instruction. The
+extent to which computation currently permeates aspects of scholarly
+communication represents a viable indicator of the prospects for
+electronic texts.
+
+The discussion of current practice is balanced by an analysis of key
+trends in the scholarly use of information technology. These include the
+trends toward end-user computing and connectivity, which provide a
+framework for forecasting the use of electronic texts through this
+millennium. The presentation concludes with a summary of the ways in
+which the nonscientific scholarly community can be expected to use
+electronic texts, and the implications of that use for information
+providers.
+
+Susan VECCIA and Joanne FREEMAN Electronic Archives for the Public:
+ Use of American Memory in Public and
+ School Libraries
+
+This joint discussion focuses on nonscholarly applications of electronic
+library materials, specifically addressing use of the Library of Congress
+American Memory (AM) program in a small number of public and school
+libraries throughout the United States. AM consists of selected Library
+of Congress primary archival materials, stored on optical media
+(CD-ROM/videodisc), and presented with little or no editing. Many
+collections are accompanied by electronic introductions and user's guides
+offering background information and historical context. Collections
+represent a variety of formats including photographs, graphic arts,
+motion pictures, recorded sound, music, broadsides and manuscripts,
+books, and pamphlets.
+
+In 1991, the Library of Congress began a nationwide evaluation of AM in
+different types of institutions. Test sites include public libraries,
+elementary and secondary school libraries, college and university
+libraries, state libraries, and special libraries. Susan VECCIA and
+Joanne FREEMAN will discuss their observations on the use of AM by the
+nonscholarly community, using evidence gleaned from this ongoing
+evaluation effort.
+
+VECCIA will comment on the overall goals of the evaluation project, and
+the types of public and school libraries included in this study. Her
+comments on nonscholarly use of AM will focus on the public library as a
+cultural and community institution, often bridging the gap between formal
+and informal education. FREEMAN will discuss the use of AM in school
+libraries. Use by students and teachers has revealed some broad
+questions about the use of electronic resources, as well as definite
+benefits gained by the "nonscholar." Topics will include the problem of
+grasping content and context in an electronic environment, the stumbling
+blocks created by "new" technologies, and the unique skills and interests
+awakened through use of electronic resources.
+
+SESSION II
+
+Elli MYLONAS The Perseus Project: Interactive Sources and
+ Studies in Classical Greece
+
+The Perseus Project (5) has just released Perseus 1.0, the first publicly
+available version of its hypertextual database of multimedia materials on
+classical Greece. Perseus is designed to be used by a wide audience,
+comprised of readers at the student and scholar levels. As such, it must
+be able to locate information using different strategies, and it must
+contain enough detail to serve the different needs of its users. In
+addition, it must be delivered so that it is affordable to its target
+audience. [These problems and the solutions we chose are described in
+Mylonas, "An Interface to Classical Greek Civilization," JASIS 43:2,
+March 1992.]
+
+In order to achieve its objective, the project staff decided to make a
+conscious separation between selecting and converting textual, database,
+and image data on the one hand, and putting it into a delivery system on
+the other. That way, it is possible to create the electronic data
+without thinking about the restrictions of the delivery system. We have
+made a great effort to choose system-independent formats for our data,
+and to put as much thought and work as possible into structuring it so
+that the translation from paper to electronic form will enhance the value
+of the data. [A discussion of these solutions as of two years ago is in
+Elli Mylonas, Gregory Crane, Kenneth Morrell, and D. Neel Smith, "The
+Perseus Project: Data in the Electronic Age," in Accessing Antiquity:
+The Computerization of Classical Databases, J. Solomon and T. Worthen
+(eds.), University of Arizona Press, in press.]
+
+Much of the work on Perseus is focused on collecting and converting the
+data on which the project is based. At the same time, it is necessary to
+provide means of access to the information, in order to make it usable,
+and them to investigate how it is used. As we learn more about what
+students and scholars from different backgrounds do with Perseus, we can
+adjust our data collection, and also modify the system to accommodate
+them. In creating a delivery system for general use, we have tried to
+avoid favoring any one type of use by allowing multiple forms of access
+to and navigation through the system.
+
+The way text is handled exemplifies some of these principles. All text
+in Perseus is tagged using SGML, following the guidelines of the Text
+Encoding Initiative (TEI). This markup is used to index the text, and
+process it so that it can be imported into HyperCard. No SGML markup
+remains in the text that reaches the user, because currently it would be
+too expensive to create a system that acts on SGML in real time.
+However, the regularity provided by SGML is essential for verifying the
+content of the texts, and greatly speeds all the processing performed on
+them. The fact that the texts exist in SGML ensures that they will be
+relatively easy to port to different hardware and software, and so will
+outlast the current delivery platform. Finally, the SGML markup
+incorporates existing canonical reference systems (chapter, verse, line,
+etc.); indexing and navigation are based on these features. This ensures
+that the same canonical reference will always resolve to the same point
+within a text, and that all versions of our texts, regardless of delivery
+platform (even paper printouts) will function the same way.
+
+In order to provide tools for users, the text is processed by a
+morphological analyzer, and the results are stored in a database.
+Together with the index, the Greek-English Lexicon, and the index of all
+the English words in the definitions of the lexicon, the morphological
+analyses comprise a set of linguistic tools that allow users of all
+levels to work with the textual information, and to accomplish different
+tasks. For example, students who read no Greek may explore a concept as
+it appears in Greek texts by using the English-Greek index, and then
+looking up works in the texts and translations, or scholars may do
+detailed morphological studies of word use by using the morphological
+analyses of the texts. Because these tools were not designed for any one
+use, the same tools and the same data can be used by both students and
+scholars.
+
+NOTES:
+ (5) Perseus is based at Harvard University, with collaborators at
+ several other universities. The project has been funded primarily
+ by the Annenberg/CPB Project, as well as by Harvard University,
+ Apple Computer, and others. It is published by Yale University
+ Press. Perseus runs on Macintosh computers, under the HyperCard
+ program.
+
+Eric CALALUCA
+
+Chadwyck-Healey embarked last year on two distinct yet related full-text
+humanities database projects.
+
+The English Poetry Full-Text Database and the Patrologia Latina Database
+represent new approaches to linguistic research resources. The size and
+complexity of the projects present problems for electronic publishers,
+but surmountable ones if they remain abreast of the latest possibilities
+in data capture and retrieval software techniques.
+
+The issues which required address prior to the commencement of the
+projects were legion:
+
+ 1. Editorial selection (or exclusion) of materials in each
+ database
+
+ 2. Deciding whether or not to incorporate a normative encoding
+ structure into the databases?
+ A. If one is selected, should it be SGML?
+ B. If SGML, then the TEI?
+
+ 3. Deliver as CD-ROM, magnetic tape, or both?
+
+ 4. Can one produce retrieval software advanced enough for the
+ postdoctoral linguist, yet accessible enough for unattended
+ general use? Should one try?
+
+ 5. Re fair and liberal networking policies, what are the risks to
+ an electronic publisher?
+
+ 6. How does the emergence of national and international education
+ networks affect the use and viability of research projects
+ requiring high investment? Do the new European Community
+ directives concerning database protection necessitate two
+ distinct publishing projects, one for North America and one for
+ overseas?
+
+From new notions of "scholarly fair use" to the future of optical media,
+virtually every issue related to electronic publishing was aired. The
+result is two projects which have been constructed to provide the quality
+research resources with the fewest encumbrances to use by teachers and
+private scholars.
+
+Dorothy TWOHIG
+
+In spring 1988 the editors of the papers of George Washington, John
+Adams, Thomas Jefferson, James Madison, and Benjamin Franklin were
+approached by classics scholar David Packard on behalf of the Packard
+Humanities Foundation with a proposal to produce a CD-ROM edition of the
+complete papers of each of the Founding Fathers. This electronic edition
+will supplement the published volumes, making the documents widely
+available to students and researchers at reasonable cost. We estimate
+that our CD-ROM edition of Washington's Papers will be substantially
+completed within the next two years and ready for publication. Within
+the next ten years or so, similar CD-ROM editions of the Franklin, Adams,
+Jefferson, and Madison papers also will be available. At the Library of
+Congress's session on technology, I would like to discuss not only the
+experience of the Washington Papers in producing the CD-ROM edition, but
+the impact technology has had on these major editorial projects.
+Already, we are editing our volumes with an eye to the material that will
+be readily available in the CD-ROM edition. The completed electronic
+edition will provide immense possibilities for the searching of documents
+for information in a way never possible before. The kind of technical
+innovations that are currently available and on the drawing board will
+soon revolutionize historical research and the production of historical
+documents. Unfortunately, much of this new technology is not being used
+in the planning stages of historical projects, simply because many
+historians are aware only in the vaguest way of its existence. At least
+two major new historical editing projects are considering microfilm
+editions, simply because they are not aware of the possibilities of
+electronic alternatives and the advantages of the new technology in terms
+of flexibility and research potential compared to microfilm. In fact,
+too many of us in history and literature are still at the stage of
+struggling with our PCs. There are many historical editorial projects in
+progress presently, and an equal number of literary projects. While the
+two fields have somewhat different approaches to textual editing, there
+are ways in which electronic technology can be of service to both.
+
+Since few of the editors involved in the Founding Fathers CD-ROM editions
+are technical experts in any sense, I hope to point out in my discussion
+of our experience how many of these electronic innovations can be used
+successfully by scholars who are novices in the world of new technology.
+One of the major concerns of the sponsors of the multitude of new
+scholarly editions is the limited audience reached by the published
+volumes. Most of these editions are being published in small quantities
+and the publishers' price for them puts them out of the reach not only of
+individual scholars but of most public libraries and all but the largest
+educational institutions. However, little attention is being given to
+ways in which technology can bypass conventional publication to make
+historical and literary documents more widely available.
+
+What attracted us most to the CD-ROM edition of The Papers of George
+Washington was the fact that David Packard's aim was to make a complete
+edition of all of the 135,000 documents we have collected available in an
+inexpensive format that would be placed in public libraries, small
+colleges, and even high schools. This would provide an audience far
+beyond our present 1,000-copy, $45 published edition. Since the CD-ROM
+edition will carry none of the explanatory annotation that appears in the
+published volumes, we also feel that the use of the CD-ROM will lead many
+researchers to seek out the published volumes.
+
+In addition to ignorance of new technical advances, I have found that too
+many editors--and historians and literary scholars--are resistant and
+even hostile to suggestions that electronic technology may enhance their
+work. I intend to discuss some of the arguments traditionalists are
+advancing to resist technology, ranging from distrust of the speed with
+which it changes (we are already wondering what is out there that is
+better than CD-ROM) to suspicion of the technical language used to
+describe electronic developments.
+
+Maria LEBRON
+
+The Online Journal of Current Clinical Trials, a joint venture of the
+American Association for the Advancement of Science (AAAS) and the Online
+Computer Library Center, Inc. (OCLC), is the first peer-reviewed journal
+to provide full text, tabular material, and line illustrations on line.
+This presentation will discuss the genesis and start-up period of the
+journal. Topics of discussion will include historical overview,
+day-to-day management of the editorial peer review, and manuscript
+tagging and publication. A demonstration of the journal and its features
+will accompany the presentation.
+
+Lynne PERSONIUS
+
+Cornell University Library, Cornell Information Technologies, and Xerox
+Corporation, with the support of the Commission on Preservation and
+Access, and Sun Microsystems, Inc., have been collaborating in a project
+to test a prototype system for recording brittle books as digital images
+and producing, on demand, high-quality archival paper replacements. The
+project goes beyond that, however, to investigate some of the issues
+surrounding scanning, storing, retrieving, and providing access to
+digital images in a network environment.
+
+The Joint Study in Digital Preservation began in January 1990. Xerox
+provided the College Library Access and Storage System (CLASS) software,
+a prototype 600-dots-per-inch (dpi) scanner, and the hardware necessary
+to support network printing on the DocuTech printer housed in Cornell's
+Computing and Communications Center (CCC).
+
+The Cornell staff using the hardware and software became an integral part
+of the development and testing process for enhancements to the CLASS
+software system. The collaborative nature of this relationship is
+resulting in a system that is specifically tailored to the preservation
+application.
+
+A digital library of 1,000 volumes (or approximately 300,000 images) has
+been created and is stored on an optical jukebox that resides in CCC.
+The library includes a collection of select mathematics monographs that
+provides mathematics faculty with an opportunity to use the electronic
+library. The remaining volumes were chosen for the library to test the
+various capabilities of the scanning system.
+
+One project objective is to provide users of the Cornell library and the
+library staff with the ability to request facsimiles of digitized images
+or to retrieve the actual electronic image for browsing. A prototype
+viewing workstation has been created by Xerox, with input into the design
+by a committee of Cornell librarians and computer professionals. This
+will allow us to experiment with patron access to the images that make up
+the digital library. The viewing station provides search, retrieval, and
+(ultimately) printing functions with enhancements to facilitate
+navigation through multiple documents.
+
+Cornell currently is working to extend access to the digital library to
+readers using workstations from their offices. This year is devoted to
+the development of a network resident image conversion and delivery
+server, and client software that will support readers who use Apple
+Macintosh computers, IBM windows platforms, and Sun workstations.
+Equipment for this development was provided by Sun Microsystems with
+support from the Commission on Preservation and Access.
+
+During the show-and-tell session of the Workshop on Electronic Texts, a
+prototype view station will be demonstrated. In addition, a display of
+original library books that have been digitized will be available for
+review with associated printed copies for comparison. The fifteen-minute
+overview of the project will include a slide presentation that
+constitutes a "tour" of the preservation digitizing process.
+
+The final network-connected version of the viewing station will provide
+library users with another mechanism for accessing the digital library,
+and will also provide the capability of viewing images directly. This
+will not require special software, although a powerful computer with good
+graphics will be needed.
+
+The Joint Study in Digital Preservation has generated a great deal of
+interest in the library community. Unfortunately, or perhaps
+fortunately, this project serves to raise a vast number of other issues
+surrounding the use of digital technology for the preservation and use of
+deteriorating library materials, which subsequent projects will need to
+examine. Much work remains.
+
+SESSION III
+
+Howard BESSER Networking Multimedia Databases
+
+What do we have to consider in building and distributing databases of
+visual materials in a multi-user environment? This presentation examines
+a variety of concerns that need to be addressed before a multimedia
+database can be set up in a networked environment.
+
+In the past it has not been feasible to implement databases of visual
+materials in shared-user environments because of technological barriers.
+Each of the two basic models for multi-user multimedia databases has
+posed its own problem. The analog multimedia storage model (represented
+by Project Athena's parallel analog and digital networks) has required an
+incredibly complex (and expensive) infrastructure. The economies of
+scale that make multi-user setups cheaper per user served do not operate
+in an environment that requires a computer workstation, videodisc player,
+and two display devices for each user.
+
+The digital multimedia storage model has required vast amounts of storage
+space (as much as one gigabyte per thirty still images). In the past the
+cost of such a large amount of storage space made this model a
+prohibitive choice as well. But plunging storage costs are finally
+making this second alternative viable.
+
+If storage no longer poses such an impediment, what do we need to
+consider in building digitally stored multi-user databases of visual
+materials? This presentation will examine the networking and
+telecommunication constraints that must be overcome before such databases
+can become commonplace and useful to a large number of people.
+
+The key problem is the vast size of multimedia documents, and how this
+affects not only storage but telecommunications transmission time.
+Anything slower than T-1 speed is impractical for files of 1 megabyte or
+larger (which is likely to be small for a multimedia document). For
+instance, even on a 56 Kb line it would take three minutes to transfer a
+1-megabyte file. And these figures assume ideal circumstances, and do
+not take into consideration other users contending for network bandwidth,
+disk access time, or the time needed for remote display. Current common
+telephone transmission rates would be completely impractical; few users
+would be willing to wait the hour necessary to transmit a single image at
+2400 baud.
+
+This necessitates compression, which itself raises a number of other
+issues. In order to decrease file sizes significantly, we must employ
+lossy compression algorithms. But how much quality can we afford to
+lose? To date there has been only one significant study done of
+image-quality needs for a particular user group, and this study did not
+look at loss resulting from compression. Only after identifying
+image-quality needs can we begin to address storage and network bandwidth
+needs.
+
+Experience with X-Windows-based applications (such as Imagequery, the
+University of California at Berkeley image database) demonstrates the
+utility of a client-server topology, but also points to the limitation of
+current software for a distributed environment. For example,
+applications like Imagequery can incorporate compression, but current X
+implementations do not permit decompression at the end user's
+workstation. Such decompression at the host computer alleviates storage
+capacity problems while doing nothing to address problems of
+telecommunications bandwidth.
+
+We need to examine the effects on network through-put of moving
+multimedia documents around on a network. We need to examine various
+topologies that will help us avoid bottlenecks around servers and
+gateways. Experience with applications such as these raise still broader
+questions. How closely is the multimedia document tied to the software
+for viewing it? Can it be accessed and viewed from other applications?
+Experience with the MARC format (and more recently with the Z39.50
+protocols) shows how useful it can be to store documents in a form in
+which they can be accessed by a variety of application software.
+
+Finally, from an intellectual-access standpoint, we need to address the
+issue of providing access to these multimedia documents in
+interdisciplinary environments. We need to examine terminology and
+indexing strategies that will allow us to provide access to this material
+in a cross-disciplinary way.
+
+Ronald LARSEN Directions in High-Performance Networking for
+ Libraries
+
+The pace at which computing technology has advanced over the past forty
+years shows no sign of abating. Roughly speaking, each five-year period
+has yielded an order-of-magnitude improvement in price and performance of
+computing equipment. No fundamental hurdles are likely to prevent this
+pace from continuing for at least the next decade. It is only in the
+past five years, though, that computing has become ubiquitous in
+libraries, affecting all staff and patrons, directly or indirectly.
+
+During these same five years, communications rates on the Internet, the
+principal academic computing network, have grown from 56 kbps to 1.5
+Mbps, and the NSFNet backbone is now running 45 Mbps. Over the next five
+years, communication rates on the backbone are expected to exceed 1 Gbps.
+Growth in both the population of network users and the volume of network
+traffic has continued to grow geometrically, at rates approaching 15
+percent per month. This flood of capacity and use, likened by some to
+"drinking from a firehose," creates immense opportunities and challenges
+for libraries. Libraries must anticipate the future implications of this
+technology, participate in its development, and deploy it to ensure
+access to the world's information resources.
+
+The infrastructure for the information age is being put in place.
+Libraries face strategic decisions about their role in the development,
+deployment, and use of this infrastructure. The emerging infrastructure
+is much more than computers and communication lines. It is more than the
+ability to compute at a remote site, send electronic mail to a peer
+across the country, or move a file from one library to another. The next
+five years will witness substantial development of the information
+infrastructure of the network.
+
+In order to provide appropriate leadership, library professionals must
+have a fundamental understanding of and appreciation for computer
+networking, from local area networks to the National Research and
+Education Network (NREN). This presentation addresses these
+fundamentals, and how they relate to libraries today and in the near
+future.
+
+Edwin BROWNRIGG Electronic Library Visions and Realities
+
+The electronic library has been a vision desired by many--and rejected by
+some--since Vannevar Bush coined the term memex to describe an automated,
+intelligent, personal information system. Variations on this vision have
+included Ted Nelson's Xanadau, Alan Kay's Dynabook, and Lancaster's
+"paperless library," with the most recent incarnation being the
+"Knowledge Navigator" described by John Scully of Apple. But the reality
+of library service has been less visionary and the leap to the electronic
+library has eluded universities, publishers, and information technology
+files.
+
+The Memex Research Institute (MemRI), an independent, nonprofit research
+and development organization, has created an Electronic Library Program
+of shared research and development in order to make the collective vision
+more concrete. The program is working toward the creation of large,
+indexed publicly available electronic image collections of published
+documents in academic, special, and public libraries. This strategic
+plan is the result of the first stage of the program, which has been an
+investigation of the information technologies available to support such
+an effort, the economic parameters of electronic service compared to
+traditional library operations, and the business and political factors
+affecting the shift from print distribution to electronic networked
+access.
+
+The strategic plan envisions a combination of publicly searchable access
+databases, image (and text) document collections stored on network "file
+servers," local and remote network access, and an intellectual property
+management-control system. This combination of technology and
+information content is defined in this plan as an E-library or E-library
+collection. Some participating sponsors are already developing projects
+based on MemRI's recommended directions.
+
+The E-library strategy projected in this plan is a visionary one that can
+enable major changes and improvements in academic, public, and special
+library service. This vision is, though, one that can be realized with
+today's technology. At the same time, it will challenge the political
+and social structure within which libraries operate: in academic
+libraries, the traditional emphasis on local collections, extending to
+accreditation issues; in public libraries, the potential of electronic
+branch and central libraries fully available to the public; and for
+special libraries, new opportunities for shared collections and networks.
+
+The environment in which this strategic plan has been developed is, at
+the moment, dominated by a sense of library limits. The continued
+expansion and rapid growth of local academic library collections is now
+clearly at an end. Corporate libraries, and even law libraries, are
+faced with operating within a difficult economic climate, as well as with
+very active competition from commercial information sources. For
+example, public libraries may be seen as a desirable but not critical
+municipal service in a time when the budgets of safety and health
+agencies are being cut back.
+
+Further, libraries in general have a very high labor-to-cost ratio in
+their budgets, and labor costs are still increasing, notwithstanding
+automation investments. It is difficult for libraries to obtain capital,
+startup, or seed funding for innovative activities, and those
+technology-intensive initiatives that offer the potential of decreased
+labor costs can provoke the opposition of library staff.
+
+However, libraries have achieved some considerable successes in the past
+two decades by improving both their service and their credibility within
+their organizations--and these positive changes have been accomplished
+mostly with judicious use of information technologies. The advances in
+computing and information technology have been well-chronicled: the
+continuing precipitous drop in computing costs, the growth of the
+Internet and private networks, and the explosive increase in publicly
+available information databases.
+
+For example, OCLC has become one of the largest computer network
+organizations in the world by creating a cooperative cataloging network
+of more than 6,000 libraries worldwide. On-line public access catalogs
+now serve millions of users on more than 50,000 dedicated terminals in
+the United States alone. The University of California MELVYL on-line
+catalog system has now expanded into an index database reference service
+and supports more than six million searches a year. And, libraries have
+become the largest group of customers of CD-ROM publishing technology;
+more than 30,000 optical media publications such as those offered by
+InfoTrac and Silver Platter are subscribed to by U.S. libraries.
+
+This march of technology continues and in the next decade will result in
+further innovations that are extremely difficult to predict. What is
+clear is that libraries can now go beyond automation of their order files
+and catalogs to automation of their collections themselves--and it is
+possible to circumvent the fiscal limitations that appear to obtain
+today.
+
+This Electronic Library Strategic Plan recommends a paradigm shift in
+library service, and demonstrates the steps necessary to provide improved
+library services with limited capacities and operating investments.
+
+SESSION IV-A
+
+Anne KENNEY
+
+The Cornell/Xerox Joint Study in Digital Preservation resulted in the
+recording of 1,000 brittle books as 600-dpi digital images and the
+production, on demand, of high-quality and archivally sound paper
+replacements. The project, which was supported by the Commission on
+Preservation and Access, also investigated some of the issues surrounding
+scanning, storing, retrieving, and providing access to digital images in
+a network environment.
+
+Anne Kenney will focus on some of the issues surrounding direct scanning
+as identified in the Cornell Xerox Project. Among those to be discussed
+are: image versus text capture; indexing and access; image-capture
+capabilities; a comparison to photocopy and microfilm; production and
+cost analysis; storage formats, protocols, and standards; and the use of
+this scanning technology for preservation purposes.
+
+The 600-dpi digital images produced in the Cornell Xerox Project proved
+highly acceptable for creating paper replacements of deteriorating
+originals. The 1,000 scanned volumes provided an array of image-capture
+challenges that are common to nineteenth-century printing techniques and
+embrittled material, and that defy the use of text-conversion processes.
+These challenges include diminished contrast between text and background,
+fragile and deteriorated pages, uneven printing, elaborate type faces,
+faint and bold text adjacency, handwritten text and annotations, nonRoman
+languages, and a proliferation of illustrated material embedded in text.
+The latter category included high-frequency and low-frequency halftones,
+continuous tone photographs, intricate mathematical drawings, maps,
+etchings, reverse-polarity drawings, and engravings.
+
+The Xerox prototype scanning system provided a number of important
+features for capturing this diverse material. Technicians used multiple
+threshold settings, filters, line art and halftone definitions,
+autosegmentation, windowing, and software-editing programs to optimize
+image capture. At the same time, this project focused on production.
+The goal was to make scanning as affordable and acceptable as
+photocopying and microfilming for preservation reformatting. A
+time-and-cost study conducted during the last three months of this
+project confirmed the economic viability of digital scanning, and these
+findings will be discussed here.
+
+From the outset, the Cornell Xerox Project was predicated on the use of
+nonproprietary standards and the use of common protocols when standards
+did not exist. Digital files were created as TIFF images which were
+compressed prior to storage using Group 4 CCITT compression. The Xerox
+software is MS DOS based and utilizes off-the shelf programs such as
+Microsoft Windows and Wang Image Wizard. The digital library is designed
+to be hardware-independent and to provide interchangeability with other
+institutions through network connections. Access to the digital files
+themselves is two-tiered: Bibliographic records for the computer files
+are created in RLIN and Cornell's local system and access into the actual
+digital images comprising a book is provided through a document control
+structure and a networked image file-server, both of which will be
+described.
+
+The presentation will conclude with a discussion of some of the issues
+surrounding the use of this technology as a preservation tool (storage,
+refreshing, backup).
+
+Pamela ANDRE and Judith ZIDAR
+
+The National Agricultural Library (NAL) has had extensive experience with
+raster scanning of printed materials. Since 1987, the Library has
+participated in the National Agricultural Text Digitizing Project (NATDP)
+a cooperative effort between NAL and forty-five land grant university
+libraries. An overview of the project will be presented, giving its
+history and NAL's strategy for the future.
+
+An in-depth discussion of NATDP will follow, including a description of
+the scanning process, from the gathering of the printed materials to the
+archiving of the electronic pages. The type of equipment required for a
+stand-alone scanning workstation and the importance of file management
+software will be discussed. Issues concerning the images themselves will
+be addressed briefly, such as image format; black and white versus color;
+gray scale versus dithering; and resolution.
+
+Also described will be a study currently in progress by NAL to evaluate
+the usefulness of converting microfilm to electronic images in order to
+improve access. With the cooperation of Tuskegee University, NAL has
+selected three reels of microfilm from a collection of sixty-seven reels
+containing the papers, letters, and drawings of George Washington Carver.
+The three reels were converted into 3,500 electronic images using a
+specialized microfilm scanner. The selection, filming, and indexing of
+this material will be discussed.
+
+Donald WATERS
+
+Project Open Book, the Yale University Library's effort to convert 10,
+000 books from microfilm to digital imagery, is currently in an advanced
+state of planning and organization. The Yale Library has selected a
+major vendor to serve as a partner in the project and as systems
+integrator. In its proposal, the successful vendor helped isolate areas
+of risk and uncertainty as well as key issues to be addressed during the
+life of the project. The Yale Library is now poised to decide what
+material it will convert to digital image form and to seek funding,
+initially for the first phase and then for the entire project.
+
+The proposal that Yale accepted for the implementation of Project Open
+Book will provide at the end of three phases a conversion subsystem,
+browsing stations distributed on the campus network within the Yale
+Library, a subsystem for storing 10,000 books at 200 and 600 dots per
+inch, and network access to the image printers. Pricing for the system
+implementation assumes the existence of Yale's campus ethernet network
+and its high-speed image printers, and includes other requisite hardware
+and software, as well as system integration services. Proposed operating
+costs include hardware and software maintenance, but do not include
+estimates for the facilities management of the storage devices and image
+servers.
+
+Yale selected its vendor partner in a formal process, partly funded by
+the Commission for Preservation and Access. Following a request for
+proposal, the Yale Library selected two vendors as finalists to work with
+Yale staff to generate a detailed analysis of requirements for Project
+Open Book. Each vendor used the results of the requirements analysis to
+generate and submit a formal proposal for the entire project. This
+competitive process not only enabled the Yale Library to select its
+primary vendor partner but also revealed much about the state of the
+imaging industry, about the varying, corporate commitments to the markets
+for imaging technology, and about the varying organizational dynamics
+through which major companies are responding to and seeking to develop
+these markets.
+
+Project Open Book is focused specifically on the conversion of images
+from microfilm to digital form. The technology for scanning microfilm is
+readily available but is changing rapidly. In its project requirements,
+the Yale Library emphasized features of the technology that affect the
+technical quality of digital image production and the costs of creating
+and storing the image library: What levels of digital resolution can be
+achieved by scanning microfilm? How does variation in the quality of
+microfilm, particularly in film produced to preservation standards,
+affect the quality of the digital images? What technologies can an
+operator effectively and economically apply when scanning film to
+separate two-up images and to control for and correct image
+imperfections? How can quality control best be integrated into
+digitizing work flow that includes document indexing and storage?
+
+The actual and expected uses of digital images--storage, browsing,
+printing, and OCR--help determine the standards for measuring their
+quality. Browsing is especially important, but the facilities available
+for readers to browse image documents is perhaps the weakest aspect of
+imaging technology and most in need of development. As it defined its
+requirements, the Yale Library concentrated on some fundamental aspects
+of usability for image documents: Does the system have sufficient
+flexibility to handle the full range of document types, including
+monographs, multi-part and multivolume sets, and serials, as well as
+manuscript collections? What conventions are necessary to identify a
+document uniquely for storage and retrieval? Where is the database of
+record for storing bibliographic information about the image document?
+How are basic internal structures of documents, such as pagination, made
+accessible to the reader? How are the image documents physically
+presented on the screen to the reader?
+
+The Yale Library designed Project Open Book on the assumption that
+microfilm is more than adequate as a medium for preserving the content of
+deteriorated library materials. As planning in the project has advanced,
+it is increasingly clear that the challenge of digital image technology
+and the key to the success of efforts like Project Open Book is to
+provide a means of both preserving and improving access to those
+deteriorated materials.
+
+SESSION IV-B
+
+George THOMA
+
+In the use of electronic imaging for document preservation, there are
+several issues to consider, such as: ensuring adequate image quality,
+maintaining substantial conversion rates (through-put), providing unique
+identification for automated access and retrieval, and accommodating
+bound volumes and fragile material.
+
+To maintain high image quality, image processing functions are required
+to correct the deficiencies in the scanned image. Some commercially
+available systems include these functions, while some do not. The
+scanned raw image must be processed to correct contrast deficiencies--
+both poor overall contrast resulting from light print and/or dark
+background, and variable contrast resulting from stains and
+bleed-through. Furthermore, the scan density must be adequate to allow
+legibility of print and sufficient fidelity in the pseudo-halftoned gray
+material. Borders or page-edge effects must be removed for both
+compactibility and aesthetics. Page skew must be corrected for aesthetic
+reasons and to enable accurate character recognition if desired.
+Compound images consisting of both two-toned text and gray-scale
+illustrations must be processed appropriately to retain the quality of
+each.
+
+SESSION IV-C
+
+Jean BARONAS
+
+Standards publications being developed by scientists, engineers, and
+business managers in Association for Information and Image Management
+(AIIM) standards committees can be applied to electronic image management
+(EIM) processes including: document (image) transfer, retrieval and
+evaluation; optical disk and document scanning; and document design and
+conversion. When combined with EIM system planning and operations,
+standards can assist in generating image databases that are
+interchangeable among a variety of systems. The applications of
+different approaches for image-tagging, indexing, compression, and
+transfer often cause uncertainty concerning EIM system compatibility,
+calibration, performance, and upward compatibility, until standard
+implementation parameters are established. The AIIM standards that are
+being developed for these applications can be used to decrease the
+uncertainty, successfully integrate imaging processes, and promote "open
+systems." AIIM is an accredited American National Standards Institute
+(ANSI) standards developer with more than twenty committees comprised of
+300 volunteers representing users, vendors, and manufacturers. The
+standards publications that are developed in these committees have
+national acceptance and provide the basis for international harmonization
+in the development of new International Organization for Standardization
+(ISO) standards.
+
+This presentation describes the development of AIIM's EIM standards and a
+new effort at AIIM, a database on standards projects in a wide framework
+of imaging industries including capture, recording, processing,
+duplication, distribution, display, evaluation, and preservation. The
+AIIM Imagery Database will cover imaging standards being developed by
+many organizations in many different countries. It will contain
+standards publications' dates, origins, related national and
+international projects, status, key words, and abstracts. The ANSI Image
+Technology Standards Board requested that such a database be established,
+as did the ISO/International Electrotechnical Commission Joint Task Force
+on Imagery. AIIM will take on the leadership role for the database and
+coordinate its development with several standards developers.
+
+Patricia BATTIN
+
+ Characteristics of standards for digital imagery:
+
+ * Nature of digital technology implies continuing volatility.
+
+ * Precipitous standard-setting not possible and probably not
+ desirable.
+
+ * Standards are a complex issue involving the medium, the
+ hardware, the software, and the technical capacity for
+ reproductive fidelity and clarity.
+
+ * The prognosis for reliable archival standards (as defined by
+ librarians) in the foreseeable future is poor.
+
+ Significant potential and attractiveness of digital technology as a
+ preservation medium and access mechanism.
+
+ Productive use of digital imagery for preservation requires a
+ reconceptualizing of preservation principles in a volatile,
+ standardless world.
+
+ Concept of managing continuing access in the digital environment
+ rather than focusing on the permanence of the medium and long-term
+ archival standards developed for the analog world.
+
+ Transition period: How long and what to do?
+
+ * Redefine "archival."
+
+ * Remove the burden of "archival copy" from paper artifacts.
+
+ * Use digital technology for storage, develop management
+ strategies for refreshing medium, hardware and software.
+
+ * Create acid-free paper copies for transition period backup
+ until we develop reliable procedures for ensuring continuing
+ access to digital files.
+
+SESSION IV-D
+
+Stuart WEIBEL The Role of SGML Markup in the CORE Project (6)
+
+The emergence of high-speed telecommunications networks as a basic
+feature of the scholarly workplace is driving the demand for electronic
+document delivery. Three distinct categories of electronic
+publishing/republishing are necessary to support access demands in this
+emerging environment:
+
+ 1.) Conversion of paper or microfilm archives to electronic format
+ 2.) Conversion of electronic files to formats tailored to
+ electronic retrieval and display
+ 3.) Primary electronic publishing (materials for which the
+ electronic version is the primary format)
+
+OCLC has experimental or product development activities in each of these
+areas. Among the challenges that lie ahead is the integration of these
+three types of information stores in coherent distributed systems.
+
+The CORE (Chemistry Online Retrieval Experiment) Project is a model for
+the conversion of large text and graphics collections for which
+electronic typesetting files are available (category 2). The American
+Chemical Society has made available computer typography files dating from
+1980 for its twenty journals. This collection of some 250 journal-years
+is being converted to an electronic format that will be accessible
+through several end-user applications.
+
+The use of Standard Generalized Markup Language (SGML) offers the means
+to capture the structural richness of the original articles in a way that
+will support a variety of retrieval, navigation, and display options
+necessary to navigate effectively in very large text databases.
+
+An SGML document consists of text that is marked up with descriptive tags
+that specify the function of a given element within the document. As a
+formal language construct, an SGML document can be parsed against a
+document-type definition (DTD) that unambiguously defines what elements
+are allowed and where in the document they can (or must) occur. This
+formalized map of article structure allows the user interface design to
+be uncoupled from the underlying database system, an important step
+toward interoperability. Demonstration of this separability is a part of
+the CORE project, wherein user interface designs born of very different
+philosophies will access the same database.
+
+NOTES:
+ (6) The CORE project is a collaboration among Cornell University's
+ Mann Library, Bell Communications Research (Bellcore), the American
+ Chemical Society (ACS), the Chemical Abstracts Service (CAS), and
+ OCLC.
+
+Michael LESK The CORE Electronic Chemistry Library
+
+A major on-line file of chemical journal literature complete with
+graphics is being developed to test the usability of fully electronic
+access to documents, as a joint project of Cornell University, the
+American Chemical Society, the Chemical Abstracts Service, OCLC, and
+Bellcore (with additional support from Sun Microsystems, Springer-Verlag,
+DigitaI Equipment Corporation, Sony Corporation of America, and Apple
+Computers). Our file contains the American Chemical Society's on-line
+journals, supplemented with the graphics from the paper publication. The
+indexing of the articles from Chemical Abstracts Documents is available
+in both image and text format, and several different interfaces can be
+used. Our goals are (1) to assess the effectiveness and acceptability of
+electronic access to primary journals as compared with paper, and (2) to
+identify the most desirable functions of the user interface to an
+electronic system of journals, including in particular a comparison of
+page-image display with ASCII display interfaces. Early experiments with
+chemistry students on a variety of tasks suggest that searching tasks are
+completed much faster with any electronic system than with paper, but
+that for reading all versions of the articles are roughly equivalent.
+
+Pamela ANDRE and Judith ZIDAR
+
+Text conversion is far more expensive and time-consuming than image
+capture alone. NAL's experience with optical character recognition (OCR)
+will be related and compared with the experience of having text rekeyed.
+What factors affect OCR accuracy? How accurate does full text have to be
+in order to be useful? How do different users react to imperfect text?
+These are questions that will be explored. For many, a service bureau
+may be a better solution than performing the work inhouse; this will also
+be discussed.
+
+SESSION VI
+
+Marybeth PETERS
+
+Copyright law protects creative works. Protection granted by the law to
+authors and disseminators of works includes the right to do or authorize
+the following: reproduce the work, prepare derivative works, distribute
+the work to the public, and publicly perform or display the work. In
+addition, copyright owners of sound recordings and computer programs have
+the right to control rental of their works. These rights are not
+unlimited; there are a number of exceptions and limitations.
+
+An electronic environment places strains on the copyright system.
+Copyright owners want to control uses of their work and be paid for any
+use; the public wants quick and easy access at little or no cost. The
+marketplace is working in this area. Contracts, guidelines on electronic
+use, and collective licensing are in use and being refined.
+
+Issues concerning the ability to change works without detection are more
+difficult to deal with. Questions concerning the integrity of the work
+and the status of the changed version under the copyright law are to be
+addressed. These are public policy issues which require informed
+dialogue.
+
+
+ *** *** *** ****** *** *** ***
+
+
+ Appendix III: DIRECTORY OF PARTICIPANTS
+
+
+PRESENTERS:
+
+ Pamela Q.J. Andre
+ Associate Director, Automation
+ National Agricultural Library
+ 10301 Baltimore Boulevard
+ Beltsville, MD 20705-2351
+ Phone: (301) 504-6813
+ Fax: (301) 504-7473
+ E-mail: INTERNET: PANDRE@ASRR.ARSUSDA.GOV
+
+ Jean Baronas, Senior Manager
+ Department of Standards and Technology
+ Association for Information and Image Management (AIIM)
+ 1100 Wayne Avenue, Suite 1100
+ Silver Spring, MD 20910
+ Phone: (301) 587-8202
+ Fax: (301) 587-2711
+
+ Patricia Battin, President
+ The Commission on Preservation and Access
+ 1400 16th Street, N.W.
+ Suite 740
+ Washington, DC 20036-2217
+ Phone: (202) 939-3400
+ Fax: (202) 939-3407
+ E-mail: CPA@GWUVM.BITNET
+
+ Howard Besser
+ Centre Canadien d'Architecture
+ (Canadian Center for Architecture)
+ 1920, rue Baile
+ Montreal, Quebec H3H 2S6
+ CANADA
+ Phone: (514) 939-7001
+ Fax: (514) 939-7020
+ E-mail: howard@lis.pitt.edu
+
+ Edwin B. Brownrigg, Executive Director
+ Memex Research Institute
+ 422 Bonita Avenue
+ Roseville, CA 95678
+ Phone: (916) 784-2298
+ Fax: (916) 786-7559
+ E-mail: BITNET: MEMEX@CALSTATE.2
+
+ Eric M. Calaluca, Vice President
+ Chadwyck-Healey, Inc.
+ 1101 King Street
+ Alexandria, VA 223l4
+ Phone: (800) 752-05l5
+ Fax: (703) 683-7589
+
+ James Daly
+ 4015 Deepwood Road
+ Baltimore, MD 21218-1404
+ Phone: (410) 235-0763
+
+ Ricky Erway, Associate Coordinator
+ American Memory
+ Library of Congress
+ Phone: (202) 707-6233
+ Fax: (202) 707-3764
+
+ Carl Fleischhauer, Coordinator
+ American Memory
+ Library of Congress
+ Phone: (202) 707-6233
+ Fax: (202) 707-3764
+
+ Joanne Freeman
+ 2000 Jefferson Park Avenue, No. 7
+ Charlottesville, VA 22903
+
+ Prosser Gifford
+ Director for Scholarly Programs
+ Library of Congress
+ Phone: (202) 707-1517
+ Fax: (202) 707-9898
+ E-mail: pgif@seq1.loc.gov
+
+ Jacqueline Hess, Director
+ National Demonstration Laboratory
+ for Interactive Information Technologies
+ Library of Congress
+ Phone: (202) 707-4157
+ Fax: (202) 707-2829
+
+ Susan Hockey, Director
+ Center for Electronic Texts in the Humanities (CETH)
+ Alexander Library
+ Rutgers University
+ 169 College Avenue
+ New Brunswick, NJ 08903
+ Phone: (908) 932-1384
+ Fax: (908) 932-1386
+ E-mail: hockey@zodiac.rutgers.edu
+
+ William L. Hooton, Vice President
+ Business & Technical Development
+ Imaging & Information Systems Group
+ I-NET
+ 6430 Rockledge Drive, Suite 400
+ Bethesda, MD 208l7
+ Phone: (301) 564-6750
+ Fax: (513) 564-6867
+
+ Anne R. Kenney, Associate Director
+ Department of Preservation and Conservation
+ 701 Olin Library
+ Cornell University
+ Ithaca, NY 14853
+ Phone: (607) 255-6875
+ Fax: (607) 255-9346
+ E-mail: LYDY@CORNELLA.BITNET
+
+ Ronald L. Larsen
+ Associate Director for Information Technology
+ University of Maryland at College Park
+ Room B0224, McKeldin Library
+ College Park, MD 20742-7011
+ Phone: (301) 405-9194
+ Fax: (301) 314-9865
+ E-mail: rlarsen@libr.umd.edu
+
+ Maria L. Lebron, Managing Editor
+ The Online Journal of Current Clinical Trials
+ l333 H Street, N.W.
+ Washington, DC 20005
+ Phone: (202) 326-6735
+ Fax: (202) 842-2868
+ E-mail: PUBSAAAS@GWUVM.BITNET
+
+ Michael Lesk, Executive Director
+ Computer Science Research
+ Bell Communications Research, Inc.
+ Rm 2A-385
+ 445 South Street
+ Morristown, NJ 07960-l9l0
+ Phone: (201) 829-4070
+ Fax: (201) 829-5981
+ E-mail: lesk@bellcore.com (Internet) or bellcore!lesk (uucp)
+
+ Clifford A. Lynch
+ Director, Library Automation
+ University of California,
+ Office of the President
+ 300 Lakeside Drive, 8th Floor
+ Oakland, CA 94612-3350
+ Phone: (510) 987-0522
+ Fax: (510) 839-3573
+ E-mail: calur@uccmvsa
+
+ Avra Michelson
+ National Archives and Records Administration
+ NSZ Rm. 14N
+ 7th & Pennsylvania, N.W.
+ Washington, D.C. 20408
+ Phone: (202) 501-5544
+ Fax: (202) 501-5533
+ E-mail: tmi@cu.nih.gov
+
+ Elli Mylonas, Managing Editor
+ Perseus Project
+ Department of the Classics
+ Harvard University
+ 319 Boylston Hall
+ Cambridge, MA 02138
+ Phone: (617) 495-9025, (617) 495-0456 (direct)
+ Fax: (617) 496-8886
+ E-mail: Elli@IKAROS.Harvard.EDU or elli@wjh12.harvard.edu
+
+ David Woodley Packard
+ Packard Humanities Institute
+ 300 Second Street, Suite 201
+ Los Altos, CA 94002
+ Phone: (415) 948-0150 (PHI)
+ Fax: (415) 948-5793
+
+ Lynne K. Personius, Assistant Director
+ Cornell Information Technologies for
+ Scholarly Information Sources
+ 502 Olin Library
+ Cornell University
+ Ithaca, NY 14853
+ Phone: (607) 255-3393
+ Fax: (607) 255-9346
+ E-mail: JRN@CORNELLC.BITNET
+
+ Marybeth Peters
+ Policy Planning Adviser to the
+ Register of Copyrights
+ Library of Congress
+ Office LM 403
+ Phone: (202) 707-8350
+ Fax: (202) 707-8366
+
+ C. Michael Sperberg-McQueen
+ Editor, Text Encoding Initiative
+ Computer Center (M/C 135)
+ University of Illinois at Chicago
+ Box 6998
+ Chicago, IL 60680
+ Phone: (312) 413-0317
+ Fax: (312) 996-6834
+ E-mail: u35395@uicvm..cc.uic.edu or u35395@uicvm.bitnet
+
+ George R. Thoma, Chief
+ Communications Engineering Branch
+ National Library of Medicine
+ 8600 Rockville Pike
+ Bethesda, MD 20894
+ Phone: (301) 496-4496
+ Fax: (301) 402-0341
+ E-mail: thoma@lhc.nlm.nih.gov
+
+ Dorothy Twohig, Editor
+ The Papers of George Washington
+ 504 Alderman Library
+ University of Virginia
+ Charlottesville, VA 22903-2498
+ Phone: (804) 924-0523
+ Fax: (804) 924-4337
+
+ Susan H. Veccia, Team leader
+ American Memory, User Evaluation
+ Library of Congress
+ American Memory Evaluation Project
+ Phone: (202) 707-9104
+ Fax: (202) 707-3764
+ E-mail: svec@seq1.loc.gov
+
+ Donald J. Waters, Head
+ Systems Office
+ Yale University Library
+ New Haven, CT 06520
+ Phone: (203) 432-4889
+ Fax: (203) 432-7231
+ E-mail: DWATERS@YALEVM.BITNET or DWATERS@YALEVM.YCC.YALE.EDU
+
+ Stuart Weibel, Senior Research Scientist
+ OCLC
+ 6565 Frantz Road
+ Dublin, OH 43017
+ Phone: (614) 764-608l
+ Fax: (614) 764-2344
+ E-mail: INTERNET: Stu@rsch.oclc.org
+
+ Robert G. Zich
+ Special Assistant to the Associate Librarian
+ for Special Projects
+ Library of Congress
+ Phone: (202) 707-6233
+ Fax: (202) 707-3764
+ E-mail: rzic@seq1.loc.gov
+
+ Judith A. Zidar, Coordinator
+ National Agricultural Text Digitizing Program
+ Information Systems Division
+ National Agricultural Library
+ 10301 Baltimore Boulevard
+ Beltsville, MD 20705-2351
+ Phone: (301) 504-6813 or 504-5853
+ Fax: (301) 504-7473
+ E-mail: INTERNET: JZIDAR@ASRR.ARSUSDA.GOV
+
+
+OBSERVERS:
+
+ Helen Aguera, Program Officer
+ Division of Research
+ Room 318
+ National Endowment for the Humanities
+ 1100 Pennsylvania Avenue, N.W.
+ Washington, D.C. 20506
+ Phone: (202) 786-0358
+ Fax: (202) 786-0243
+
+ M. Ellyn Blanton, Deputy Director
+ National Demonstration Laboratory
+ for Interactive Information Technologies
+ Library of Congress
+ Phone: (202) 707-4157
+ Fax: (202) 707-2829
+
+ Charles M. Dollar
+ National Archives and Records Administration
+ NSZ Rm. 14N
+ 7th & Pennsylvania, N.W.
+ Washington, DC 20408
+ Phone: (202) 501-5532
+ Fax: (202) 501-5512
+
+ Jeffrey Field, Deputy to the Director
+ Division of Preservation and Access
+ Room 802
+ National Endowment for the Humanities
+ 1100 Pennsylvania Avenue, N.W.
+ Washington, DC 20506
+ Phone: (202) 786-0570
+ Fax: (202) 786-0243
+
+ Lorrin Garson
+ American Chemical Society
+ Research and Development Department
+ 1155 16th Street, N.W.
+ Washington, D.C. 20036
+ Phone: (202) 872-4541
+ Fax: E-mail: INTERNET: LRG96@ACS.ORG
+
+ William M. Holmes, Jr.
+ National Archives and Records Administration
+ NSZ Rm. 14N
+ 7th & Pennsylvania, N.W.
+ Washington, DC 20408
+ Phone: (202) 501-5540
+ Fax: (202) 501-5512
+ E-mail: WHOLMES@AMERICAN.EDU
+
+ Sperling Martin
+ Information Resource Management
+ 20030 Doolittle Street
+ Gaithersburg, MD 20879
+ Phone: (301) 924-1803
+
+ Michael Neuman, Director
+ The Center for Text and Technology
+ Academic Computing Center
+ 238 Reiss Science Building
+ Georgetown University
+ Washington, DC 20057
+ Phone: (202) 687-6096
+ Fax: (202) 687-6003
+ E-mail: neuman@guvax.bitnet, neuman@guvax.georgetown.edu
+
+ Barbara Paulson, Program Officer
+ Division of Preservation and Access
+ Room 802
+ National Endowment for the Humanities
+ 1100 Pennsylvania Avenue, N.W.
+ Washington, DC 20506
+ Phone: (202) 786-0577
+ Fax: (202) 786-0243
+
+ Allen H. Renear
+ Senior Academic Planning Analyst
+ Brown University Computing and Information Services
+ 115 Waterman Street
+ Campus Box 1885
+ Providence, R.I. 02912
+ Phone: (401) 863-7312
+ Fax: (401) 863-7329
+ E-mail: BITNET: Allen@BROWNVM or
+ INTERNET: Allen@brownvm.brown.edu
+
+ Susan M. Severtson, President
+ Chadwyck-Healey, Inc.
+ 1101 King Street
+ Alexandria, VA 223l4
+ Phone: (800) 752-05l5
+ Fax: (703) 683-7589
+
+ Frank Withrow
+ U.S. Department of Education
+ 555 New Jersey Avenue, N.W.
+ Washington, DC 20208-5644
+ Phone: (202) 219-2200
+ Fax: (202) 219-2106
+
+
+(LC STAFF)
+
+ Linda L. Arret
+ Machine-Readable Collections Reading Room LJ 132
+ (202) 707-1490
+
+ John D. Byrum, Jr.
+ Descriptive Cataloging Division LM 540
+ (202) 707-5194
+
+ Mary Jane Cavallo
+ Science and Technology Division LA 5210
+ (202) 707-1219
+
+ Susan Thea David
+ Congressional Research Service LM 226
+ (202) 707-7169
+
+ Robert Dierker
+ Senior Adviser for Multimedia Activities LM 608
+ (202) 707-6151
+
+ William W. Ellis
+ Associate Librarian for Science and Technology LM 611
+ (202) 707-6928
+
+ Ronald Gephart
+ Manuscript Division LM 102
+ (202) 707-5097
+
+ James Graber
+ Information Technology Services LM G51
+ (202) 707-9628
+
+ Rich Greenfield
+ American Memory LM 603
+ (202) 707-6233
+
+ Rebecca Guenther
+ Network Development LM 639
+ (202) 707-5092
+
+ Kenneth E. Harris
+ Preservation LM G21
+ (202) 707-5213
+
+ Staley Hitchcock
+ Manuscript Division LM 102
+ (202) 707-5383
+
+ Bohdan Kantor
+ Office of Special Projects LM 612
+ (202) 707-0180
+
+ John W. Kimball, Jr
+ Machine-Readable Collections Reading Room LJ 132
+ (202) 707-6560
+
+ Basil Manns
+ Information Technology Services LM G51
+ (202) 707-8345
+
+ Sally Hart McCallum
+ Network Development LM 639
+ (202) 707-6237
+
+ Dana J. Pratt
+ Publishing Office LM 602
+ (202) 707-6027
+
+ Jane Riefenhauser
+ American Memory LM 603
+ (202) 707-6233
+
+ William Z. Schenck
+ Collections Development LM 650
+ (202) 707-7706
+
+ Chandru J. Shahani
+ Preservation Research and Testing Office (R&T) LM G38
+ (202) 707-5607
+
+ William J. Sittig
+ Collections Development LM 650
+ (202) 707-7050
+
+ Paul Smith
+ Manuscript Division LM 102
+ (202) 707-5097
+
+ James L. Stevens
+ Information Technology Services LM G51
+ (202) 707-9688
+
+ Karen Stuart
+ Manuscript Division LM 130
+ (202) 707-5389
+
+ Tamara Swora
+ Preservation Microfilming Office LM G05
+ (202) 707-6293
+
+ Sarah Thomas
+ Collections Cataloging LM 642
+ (202) 707-5333
+
+
+ END
+ *************************************************************
+
+Note: This file has been edited for use on computer networks. This
+editing required the removal of diacritics, underlining, and fonts such
+as italics and bold.
+
+kde 11/92
+
+[A few of the italics (when used for emphasis) were replaced by CAPS mh]
+
+*End of The Project Gutenberg Etext of LOC WORKSHOP ON ELECTRONIC ETEXTS
+
diff --git a/snappy-1.1.0/testdata/mapreduce-osdi-1.pdf b/snappy-1.1.0/testdata/mapreduce-osdi-1.pdf
new file mode 100644
index 0000000..b98308a
--- /dev/null
+++ b/snappy-1.1.0/testdata/mapreduce-osdi-1.pdf
Binary files differ
diff --git a/snappy-1.1.0/testdata/plrabn12.txt b/snappy-1.1.0/testdata/plrabn12.txt
new file mode 100644
index 0000000..34088b8
--- /dev/null
+++ b/snappy-1.1.0/testdata/plrabn12.txt
@@ -0,0 +1,10699 @@
+
+This is the February 1992 Project Gutenberg release of:
+
+Paradise Lost by John Milton
+
+The oldest etext known to Project Gutenberg (ca. 1964-1965)
+(If you know of any older ones, please let us know.)
+
+
+Introduction (one page)
+
+This etext was originally created in 1964-1965 according to Dr.
+Joseph Raben of Queens College, NY, to whom it is attributed by
+Project Gutenberg. We had heard of this etext for years but it
+was not until 1991 that we actually managed to track it down to
+a specific location, and then it took months to convince people
+to let us have a copy, then more months for them actually to do
+the copying and get it to us. Then another month to convert to
+something we could massage with our favorite 486 in DOS. After
+that is was only a matter of days to get it into this shape you
+will see below. The original was, of course, in CAPS only, and
+so were all the other etexts of the 60's and early 70's. Don't
+let anyone fool you into thinking any etext with both upper and
+lower case is an original; all those original Project Gutenberg
+etexts were also in upper case and were translated or rewritten
+many times to get them into their current condition. They have
+been worked on by many people throughout the world.
+
+In the course of our searches for Professor Raben and his etext
+we were never able to determine where copies were or which of a
+variety of editions he may have used as a source. We did get a
+little information here and there, but even after we received a
+copy of the etext we were unwilling to release it without first
+determining that it was in fact Public Domain and finding Raben
+to verify this and get his permission. Interested enough, in a
+totally unrelated action to our searches for him, the professor
+subscribed to the Project Gutenberg listserver and we happened,
+by accident, to notice his name. (We don't really look at every
+subscription request as the computers usually handle them.) The
+etext was then properly identified, copyright analyzed, and the
+current edition prepared.
+
+To give you an estimation of the difference in the original and
+what we have today: the original was probably entered on cards
+commonly known at the time as "IBM cards" (Do Not Fold, Spindle
+or Mutilate) and probably took in excess of 100,000 of them. A
+single card could hold 80 characters (hence 80 characters is an
+accepted standard for so many computer margins), and the entire
+original edition we received in all caps was over 800,000 chars
+in length, including line enumeration, symbols for caps and the
+punctuation marks, etc., since they were not available keyboard
+characters at the time (probably the keyboards operated at baud
+rates of around 113, meaning the typists had to type slowly for
+the keyboard to keep up).
+
+This is the second version of Paradise Lost released by Project
+Gutenberg. The first was released as our October, 1991 etext.
+
+
+
+
+
+Paradise Lost
+
+
+
+
+Book I
+
+
+Of Man's first disobedience, and the fruit
+Of that forbidden tree whose mortal taste
+Brought death into the World, and all our woe,
+With loss of Eden, till one greater Man
+Restore us, and regain the blissful seat,
+Sing, Heavenly Muse, that, on the secret top
+Of Oreb, or of Sinai, didst inspire
+That shepherd who first taught the chosen seed
+In the beginning how the heavens and earth
+Rose out of Chaos: or, if Sion hill
+Delight thee more, and Siloa's brook that flowed
+Fast by the oracle of God, I thence
+Invoke thy aid to my adventurous song,
+That with no middle flight intends to soar
+Above th' Aonian mount, while it pursues
+Things unattempted yet in prose or rhyme.
+And chiefly thou, O Spirit, that dost prefer
+Before all temples th' upright heart and pure,
+Instruct me, for thou know'st; thou from the first
+Wast present, and, with mighty wings outspread,
+Dove-like sat'st brooding on the vast Abyss,
+And mad'st it pregnant: what in me is dark
+Illumine, what is low raise and support;
+That, to the height of this great argument,
+I may assert Eternal Providence,
+And justify the ways of God to men.
+ Say first--for Heaven hides nothing from thy view,
+Nor the deep tract of Hell--say first what cause
+Moved our grand parents, in that happy state,
+Favoured of Heaven so highly, to fall off
+From their Creator, and transgress his will
+For one restraint, lords of the World besides.
+Who first seduced them to that foul revolt?
+ Th' infernal Serpent; he it was whose guile,
+Stirred up with envy and revenge, deceived
+The mother of mankind, what time his pride
+Had cast him out from Heaven, with all his host
+Of rebel Angels, by whose aid, aspiring
+To set himself in glory above his peers,
+He trusted to have equalled the Most High,
+If he opposed, and with ambitious aim
+Against the throne and monarchy of God,
+Raised impious war in Heaven and battle proud,
+With vain attempt. Him the Almighty Power
+Hurled headlong flaming from th' ethereal sky,
+With hideous ruin and combustion, down
+To bottomless perdition, there to dwell
+In adamantine chains and penal fire,
+Who durst defy th' Omnipotent to arms.
+ Nine times the space that measures day and night
+To mortal men, he, with his horrid crew,
+Lay vanquished, rolling in the fiery gulf,
+Confounded, though immortal. But his doom
+Reserved him to more wrath; for now the thought
+Both of lost happiness and lasting pain
+Torments him: round he throws his baleful eyes,
+That witnessed huge affliction and dismay,
+Mixed with obdurate pride and steadfast hate.
+At once, as far as Angels ken, he views
+The dismal situation waste and wild.
+A dungeon horrible, on all sides round,
+As one great furnace flamed; yet from those flames
+No light; but rather darkness visible
+Served only to discover sights of woe,
+Regions of sorrow, doleful shades, where peace
+And rest can never dwell, hope never comes
+That comes to all, but torture without end
+Still urges, and a fiery deluge, fed
+With ever-burning sulphur unconsumed.
+Such place Eternal Justice has prepared
+For those rebellious; here their prison ordained
+In utter darkness, and their portion set,
+As far removed from God and light of Heaven
+As from the centre thrice to th' utmost pole.
+Oh how unlike the place from whence they fell!
+There the companions of his fall, o'erwhelmed
+With floods and whirlwinds of tempestuous fire,
+He soon discerns; and, weltering by his side,
+One next himself in power, and next in crime,
+Long after known in Palestine, and named
+Beelzebub. To whom th' Arch-Enemy,
+And thence in Heaven called Satan, with bold words
+Breaking the horrid silence, thus began:--
+ "If thou beest he--but O how fallen! how changed
+From him who, in the happy realms of light
+Clothed with transcendent brightness, didst outshine
+Myriads, though bright!--if he whom mutual league,
+United thoughts and counsels, equal hope
+And hazard in the glorious enterprise
+Joined with me once, now misery hath joined
+In equal ruin; into what pit thou seest
+From what height fallen: so much the stronger proved
+He with his thunder; and till then who knew
+The force of those dire arms? Yet not for those,
+Nor what the potent Victor in his rage
+Can else inflict, do I repent, or change,
+Though changed in outward lustre, that fixed mind,
+And high disdain from sense of injured merit,
+That with the Mightiest raised me to contend,
+And to the fierce contentions brought along
+Innumerable force of Spirits armed,
+That durst dislike his reign, and, me preferring,
+His utmost power with adverse power opposed
+In dubious battle on the plains of Heaven,
+And shook his throne. What though the field be lost?
+All is not lost--the unconquerable will,
+And study of revenge, immortal hate,
+And courage never to submit or yield:
+And what is else not to be overcome?
+That glory never shall his wrath or might
+Extort from me. To bow and sue for grace
+With suppliant knee, and deify his power
+Who, from the terror of this arm, so late
+Doubted his empire--that were low indeed;
+That were an ignominy and shame beneath
+This downfall; since, by fate, the strength of Gods,
+And this empyreal sybstance, cannot fail;
+Since, through experience of this great event,
+In arms not worse, in foresight much advanced,
+We may with more successful hope resolve
+To wage by force or guile eternal war,
+Irreconcilable to our grand Foe,
+Who now triumphs, and in th' excess of joy
+Sole reigning holds the tyranny of Heaven."
+ So spake th' apostate Angel, though in pain,
+Vaunting aloud, but racked with deep despair;
+And him thus answered soon his bold compeer:--
+ "O Prince, O Chief of many throned Powers
+That led th' embattled Seraphim to war
+Under thy conduct, and, in dreadful deeds
+Fearless, endangered Heaven's perpetual King,
+And put to proof his high supremacy,
+Whether upheld by strength, or chance, or fate,
+Too well I see and rue the dire event
+That, with sad overthrow and foul defeat,
+Hath lost us Heaven, and all this mighty host
+In horrible destruction laid thus low,
+As far as Gods and heavenly Essences
+Can perish: for the mind and spirit remains
+Invincible, and vigour soon returns,
+Though all our glory extinct, and happy state
+Here swallowed up in endless misery.
+But what if he our Conqueror (whom I now
+Of force believe almighty, since no less
+Than such could have o'erpowered such force as ours)
+Have left us this our spirit and strength entire,
+Strongly to suffer and support our pains,
+That we may so suffice his vengeful ire,
+Or do him mightier service as his thralls
+By right of war, whate'er his business be,
+Here in the heart of Hell to work in fire,
+Or do his errands in the gloomy Deep?
+What can it the avail though yet we feel
+Strength undiminished, or eternal being
+To undergo eternal punishment?"
+ Whereto with speedy words th' Arch-Fiend replied:--
+"Fallen Cherub, to be weak is miserable,
+Doing or suffering: but of this be sure--
+To do aught good never will be our task,
+But ever to do ill our sole delight,
+As being the contrary to his high will
+Whom we resist. If then his providence
+Out of our evil seek to bring forth good,
+Our labour must be to pervert that end,
+And out of good still to find means of evil;
+Which ofttimes may succeed so as perhaps
+Shall grieve him, if I fail not, and disturb
+His inmost counsels from their destined aim.
+But see! the angry Victor hath recalled
+His ministers of vengeance and pursuit
+Back to the gates of Heaven: the sulphurous hail,
+Shot after us in storm, o'erblown hath laid
+The fiery surge that from the precipice
+Of Heaven received us falling; and the thunder,
+Winged with red lightning and impetuous rage,
+Perhaps hath spent his shafts, and ceases now
+To bellow through the vast and boundless Deep.
+Let us not slip th' occasion, whether scorn
+Or satiate fury yield it from our Foe.
+Seest thou yon dreary plain, forlorn and wild,
+The seat of desolation, void of light,
+Save what the glimmering of these livid flames
+Casts pale and dreadful? Thither let us tend
+From off the tossing of these fiery waves;
+There rest, if any rest can harbour there;
+And, re-assembling our afflicted powers,
+Consult how we may henceforth most offend
+Our enemy, our own loss how repair,
+How overcome this dire calamity,
+What reinforcement we may gain from hope,
+If not, what resolution from despair."
+ Thus Satan, talking to his nearest mate,
+With head uplift above the wave, and eyes
+That sparkling blazed; his other parts besides
+Prone on the flood, extended long and large,
+Lay floating many a rood, in bulk as huge
+As whom the fables name of monstrous size,
+Titanian or Earth-born, that warred on Jove,
+Briareos or Typhon, whom the den
+By ancient Tarsus held, or that sea-beast
+Leviathan, which God of all his works
+Created hugest that swim th' ocean-stream.
+Him, haply slumbering on the Norway foam,
+The pilot of some small night-foundered skiff,
+Deeming some island, oft, as seamen tell,
+With fixed anchor in his scaly rind,
+Moors by his side under the lee, while night
+Invests the sea, and wished morn delays.
+So stretched out huge in length the Arch-fiend lay,
+Chained on the burning lake; nor ever thence
+Had risen, or heaved his head, but that the will
+And high permission of all-ruling Heaven
+Left him at large to his own dark designs,
+That with reiterated crimes he might
+Heap on himself damnation, while he sought
+Evil to others, and enraged might see
+How all his malice served but to bring forth
+Infinite goodness, grace, and mercy, shewn
+On Man by him seduced, but on himself
+Treble confusion, wrath, and vengeance poured.
+ Forthwith upright he rears from off the pool
+His mighty stature; on each hand the flames
+Driven backward slope their pointing spires, and,rolled
+In billows, leave i' th' midst a horrid vale.
+Then with expanded wings he steers his flight
+Aloft, incumbent on the dusky air,
+That felt unusual weight; till on dry land
+He lights--if it were land that ever burned
+With solid, as the lake with liquid fire,
+And such appeared in hue as when the force
+Of subterranean wind transprots a hill
+Torn from Pelorus, or the shattered side
+Of thundering Etna, whose combustible
+And fuelled entrails, thence conceiving fire,
+Sublimed with mineral fury, aid the winds,
+And leave a singed bottom all involved
+With stench and smoke. Such resting found the sole
+Of unblest feet. Him followed his next mate;
+Both glorying to have scaped the Stygian flood
+As gods, and by their own recovered strength,
+Not by the sufferance of supernal Power.
+ "Is this the region, this the soil, the clime,"
+Said then the lost Archangel, "this the seat
+That we must change for Heaven?--this mournful gloom
+For that celestial light? Be it so, since he
+Who now is sovereign can dispose and bid
+What shall be right: farthest from him is best
+Whom reason hath equalled, force hath made supreme
+Above his equals. Farewell, happy fields,
+Where joy for ever dwells! Hail, horrors! hail,
+Infernal world! and thou, profoundest Hell,
+Receive thy new possessor--one who brings
+A mind not to be changed by place or time.
+The mind is its own place, and in itself
+Can make a Heaven of Hell, a Hell of Heaven.
+What matter where, if I be still the same,
+And what I should be, all but less than he
+Whom thunder hath made greater? Here at least
+We shall be free; th' Almighty hath not built
+Here for his envy, will not drive us hence:
+Here we may reigh secure; and, in my choice,
+To reign is worth ambition, though in Hell:
+Better to reign in Hell than serve in Heaven.
+But wherefore let we then our faithful friends,
+Th' associates and co-partners of our loss,
+Lie thus astonished on th' oblivious pool,
+And call them not to share with us their part
+In this unhappy mansion, or once more
+With rallied arms to try what may be yet
+Regained in Heaven, or what more lost in Hell?"
+ So Satan spake; and him Beelzebub
+Thus answered:--"Leader of those armies bright
+Which, but th' Omnipotent, none could have foiled!
+If once they hear that voice, their liveliest pledge
+Of hope in fears and dangers--heard so oft
+In worst extremes, and on the perilous edge
+Of battle, when it raged, in all assaults
+Their surest signal--they will soon resume
+New courage and revive, though now they lie
+Grovelling and prostrate on yon lake of fire,
+As we erewhile, astounded and amazed;
+No wonder, fallen such a pernicious height!"
+ He scare had ceased when the superior Fiend
+Was moving toward the shore; his ponderous shield,
+Ethereal temper, massy, large, and round,
+Behind him cast. The broad circumference
+Hung on his shoulders like the moon, whose orb
+Through optic glass the Tuscan artist views
+At evening, from the top of Fesole,
+Or in Valdarno, to descry new lands,
+Rivers, or mountains, in her spotty globe.
+His spear--to equal which the tallest pine
+Hewn on Norwegian hills, to be the mast
+Of some great ammiral, were but a wand--
+He walked with, to support uneasy steps
+Over the burning marl, not like those steps
+On Heaven's azure; and the torrid clime
+Smote on him sore besides, vaulted with fire.
+Nathless he so endured, till on the beach
+Of that inflamed sea he stood, and called
+His legions--Angel Forms, who lay entranced
+Thick as autumnal leaves that strow the brooks
+In Vallombrosa, where th' Etrurian shades
+High over-arched embower; or scattered sedge
+Afloat, when with fierce winds Orion armed
+Hath vexed the Red-Sea coast, whose waves o'erthrew
+Busiris and his Memphian chivalry,
+While with perfidious hatred they pursued
+The sojourners of Goshen, who beheld
+From the safe shore their floating carcases
+And broken chariot-wheels. So thick bestrown,
+Abject and lost, lay these, covering the flood,
+Under amazement of their hideous change.
+He called so loud that all the hollow deep
+Of Hell resounded:--"Princes, Potentates,
+Warriors, the Flower of Heaven--once yours; now lost,
+If such astonishment as this can seize
+Eternal Spirits! Or have ye chosen this place
+After the toil of battle to repose
+Your wearied virtue, for the ease you find
+To slumber here, as in the vales of Heaven?
+Or in this abject posture have ye sworn
+To adore the Conqueror, who now beholds
+Cherub and Seraph rolling in the flood
+With scattered arms and ensigns, till anon
+His swift pursuers from Heaven-gates discern
+Th' advantage, and, descending, tread us down
+Thus drooping, or with linked thunderbolts
+Transfix us to the bottom of this gulf?
+Awake, arise, or be for ever fallen!"
+ They heard, and were abashed, and up they sprung
+Upon the wing, as when men wont to watch
+On duty, sleeping found by whom they dread,
+Rouse and bestir themselves ere well awake.
+Nor did they not perceive the evil plight
+In which they were, or the fierce pains not feel;
+Yet to their General's voice they soon obeyed
+Innumerable. As when the potent rod
+Of Amram's son, in Egypt's evil day,
+Waved round the coast, up-called a pitchy cloud
+Of locusts, warping on the eastern wind,
+That o'er the realm of impious Pharaoh hung
+Like Night, and darkened all the land of Nile;
+So numberless were those bad Angels seen
+Hovering on wing under the cope of Hell,
+'Twixt upper, nether, and surrounding fires;
+Till, as a signal given, th' uplifted spear
+Of their great Sultan waving to direct
+Their course, in even balance down they light
+On the firm brimstone, and fill all the plain:
+A multitude like which the populous North
+Poured never from her frozen loins to pass
+Rhene or the Danaw, when her barbarous sons
+Came like a deluge on the South, and spread
+Beneath Gibraltar to the Libyan sands.
+Forthwith, form every squadron and each band,
+The heads and leaders thither haste where stood
+Their great Commander--godlike Shapes, and Forms
+Excelling human; princely Dignities;
+And Powers that erst in Heaven sat on thrones,
+Though on their names in Heavenly records now
+Be no memorial, blotted out and rased
+By their rebellion from the Books of Life.
+Nor had they yet among the sons of Eve
+Got them new names, till, wandering o'er the earth,
+Through God's high sufferance for the trial of man,
+By falsities and lies the greatest part
+Of mankind they corrupted to forsake
+God their Creator, and th' invisible
+Glory of him that made them to transform
+Oft to the image of a brute, adorned
+With gay religions full of pomp and gold,
+And devils to adore for deities:
+Then were they known to men by various names,
+And various idols through the heathen world.
+ Say, Muse, their names then known, who first, who last,
+Roused from the slumber on that fiery couch,
+At their great Emperor's call, as next in worth
+Came singly where he stood on the bare strand,
+While the promiscuous crowd stood yet aloof?
+ The chief were those who, from the pit of Hell
+Roaming to seek their prey on Earth, durst fix
+Their seats, long after, next the seat of God,
+Their altars by his altar, gods adored
+Among the nations round, and durst abide
+Jehovah thundering out of Sion, throned
+Between the Cherubim; yea, often placed
+Within his sanctuary itself their shrines,
+Abominations; and with cursed things
+His holy rites and solemn feasts profaned,
+And with their darkness durst affront his light.
+First, Moloch, horrid king, besmeared with blood
+Of human sacrifice, and parents' tears;
+Though, for the noise of drums and timbrels loud,
+Their children's cries unheard that passed through fire
+To his grim idol. Him the Ammonite
+Worshiped in Rabba and her watery plain,
+In Argob and in Basan, to the stream
+Of utmost Arnon. Nor content with such
+Audacious neighbourhood, the wisest heart
+Of Solomon he led by fraoud to build
+His temple right against the temple of God
+On that opprobrious hill, and made his grove
+The pleasant valley of Hinnom, Tophet thence
+And black Gehenna called, the type of Hell.
+Next Chemos, th' obscene dread of Moab's sons,
+From Aroar to Nebo and the wild
+Of southmost Abarim; in Hesebon
+And Horonaim, Seon's real, beyond
+The flowery dale of Sibma clad with vines,
+And Eleale to th' Asphaltic Pool:
+Peor his other name, when he enticed
+Israel in Sittim, on their march from Nile,
+To do him wanton rites, which cost them woe.
+Yet thence his lustful orgies he enlarged
+Even to that hill of scandal, by the grove
+Of Moloch homicide, lust hard by hate,
+Till good Josiah drove them thence to Hell.
+With these came they who, from the bordering flood
+Of old Euphrates to the brook that parts
+Egypt from Syrian ground, had general names
+Of Baalim and Ashtaroth--those male,
+These feminine. For Spirits, when they please,
+Can either sex assume, or both; so soft
+And uncompounded is their essence pure,
+Not tried or manacled with joint or limb,
+Nor founded on the brittle strength of bones,
+Like cumbrous flesh; but, in what shape they choose,
+Dilated or condensed, bright or obscure,
+Can execute their airy purposes,
+And works of love or enmity fulfil.
+For those the race of Israel oft forsook
+Their Living Strength, and unfrequented left
+His righteous altar, bowing lowly down
+To bestial gods; for which their heads as low
+Bowed down in battle, sunk before the spear
+Of despicable foes. With these in troop
+Came Astoreth, whom the Phoenicians called
+Astarte, queen of heaven, with crescent horns;
+To whose bright image nigntly by the moon
+Sidonian virgins paid their vows and songs;
+In Sion also not unsung, where stood
+Her temple on th' offensive mountain, built
+By that uxorious king whose heart, though large,
+Beguiled by fair idolatresses, fell
+To idols foul. Thammuz came next behind,
+Whose annual wound in Lebanon allured
+The Syrian damsels to lament his fate
+In amorous ditties all a summer's day,
+While smooth Adonis from his native rock
+Ran purple to the sea, supposed with blood
+Of Thammuz yearly wounded: the love-tale
+Infected Sion's daughters with like heat,
+Whose wanton passions in the sacred proch
+Ezekiel saw, when, by the vision led,
+His eye surveyed the dark idolatries
+Of alienated Judah. Next came one
+Who mourned in earnest, when the captive ark
+Maimed his brute image, head and hands lopt off,
+In his own temple, on the grunsel-edge,
+Where he fell flat and shamed his worshippers:
+Dagon his name, sea-monster,upward man
+And downward fish; yet had his temple high
+Reared in Azotus, dreaded through the coast
+Of Palestine, in Gath and Ascalon,
+And Accaron and Gaza's frontier bounds.
+Him followed Rimmon, whose delightful seat
+Was fair Damascus, on the fertile banks
+Of Abbana and Pharphar, lucid streams.
+He also against the house of God was bold:
+A leper once he lost, and gained a king--
+Ahaz, his sottish conqueror, whom he drew
+God's altar to disparage and displace
+For one of Syrian mode, whereon to burn
+His odious offerings, and adore the gods
+Whom he had vanquished. After these appeared
+A crew who, under names of old renown--
+Osiris, Isis, Orus, and their train--
+With monstrous shapes and sorceries abused
+Fanatic Egypt and her priests to seek
+Their wandering gods disguised in brutish forms
+Rather than human. Nor did Israel scape
+Th' infection, when their borrowed gold composed
+The calf in Oreb; and the rebel king
+Doubled that sin in Bethel and in Dan,
+Likening his Maker to the grazed ox--
+Jehovah, who, in one night, when he passed
+From Egypt marching, equalled with one stroke
+Both her first-born and all her bleating gods.
+Belial came last; than whom a Spirit more lewd
+Fell not from Heaven, or more gross to love
+Vice for itself. To him no temple stood
+Or altar smoked; yet who more oft than he
+In temples and at altars, when the priest
+Turns atheist, as did Eli's sons, who filled
+With lust and violence the house of God?
+In courts and palaces he also reigns,
+And in luxurious cities, where the noise
+Of riot ascends above their loftiest towers,
+And injury and outrage; and, when night
+Darkens the streets, then wander forth the sons
+Of Belial, flown with insolence and wine.
+Witness the streets of Sodom, and that night
+In Gibeah, when the hospitable door
+Exposed a matron, to avoid worse rape.
+ These were the prime in order and in might:
+The rest were long to tell; though far renowned
+Th' Ionian gods--of Javan's issue held
+Gods, yet confessed later than Heaven and Earth,
+Their boasted parents;--Titan, Heaven's first-born,
+With his enormous brood, and birthright seized
+By younger Saturn: he from mightier Jove,
+His own and Rhea's son, like measure found;
+So Jove usurping reigned. These, first in Crete
+And Ida known, thence on the snowy top
+Of cold Olympus ruled the middle air,
+Their highest heaven; or on the Delphian cliff,
+Or in Dodona, and through all the bounds
+Of Doric land; or who with Saturn old
+Fled over Adria to th' Hesperian fields,
+And o'er the Celtic roamed the utmost Isles.
+ All these and more came flocking; but with looks
+Downcast and damp; yet such wherein appeared
+Obscure some glimpse of joy to have found their Chief
+Not in despair, to have found themselves not lost
+In loss itself; which on his countenance cast
+Like doubtful hue. But he, his wonted pride
+Soon recollecting, with high words, that bore
+Semblance of worth, not substance, gently raised
+Their fainting courage, and dispelled their fears.
+Then straight commands that, at the warlike sound
+Of trumpets loud and clarions, be upreared
+His mighty standard. That proud honour claimed
+Azazel as his right, a Cherub tall:
+Who forthwith from the glittering staff unfurled
+Th' imperial ensign; which, full high advanced,
+Shone like a meteor streaming to the wind,
+With gems and golden lustre rich emblazed,
+Seraphic arms and trophies; all the while
+Sonorous metal blowing martial sounds:
+At which the universal host up-sent
+A shout that tore Hell's concave, and beyond
+Frighted the reign of Chaos and old Night.
+All in a moment through the gloom were seen
+Ten thousand banners rise into the air,
+With orient colours waving: with them rose
+A forest huge of spears; and thronging helms
+Appeared, and serried shields in thick array
+Of depth immeasurable. Anon they move
+In perfect phalanx to the Dorian mood
+Of flutes and soft recorders--such as raised
+To height of noblest temper heroes old
+Arming to battle, and instead of rage
+Deliberate valour breathed, firm, and unmoved
+With dread of death to flight or foul retreat;
+Nor wanting power to mitigate and swage
+With solemn touches troubled thoughts, and chase
+Anguish and doubt and fear and sorrow and pain
+From mortal or immortal minds. Thus they,
+Breathing united force with fixed thought,
+Moved on in silence to soft pipes that charmed
+Their painful steps o'er the burnt soil. And now
+Advanced in view they stand--a horrid front
+Of dreadful length and dazzling arms, in guise
+Of warriors old, with ordered spear and shield,
+Awaiting what command their mighty Chief
+Had to impose. He through the armed files
+Darts his experienced eye, and soon traverse
+The whole battalion views--their order due,
+Their visages and stature as of gods;
+Their number last he sums. And now his heart
+Distends with pride, and, hardening in his strength,
+Glories: for never, since created Man,
+Met such embodied force as, named with these,
+Could merit more than that small infantry
+Warred on by cranes--though all the giant brood
+Of Phlegra with th' heroic race were joined
+That fought at Thebes and Ilium, on each side
+Mixed with auxiliar gods; and what resounds
+In fable or romance of Uther's son,
+Begirt with British and Armoric knights;
+And all who since, baptized or infidel,
+Jousted in Aspramont, or Montalban,
+Damasco, or Marocco, or Trebisond,
+Or whom Biserta sent from Afric shore
+When Charlemain with all his peerage fell
+By Fontarabbia. Thus far these beyond
+Compare of mortal prowess, yet observed
+Their dread Commander. He, above the rest
+In shape and gesture proudly eminent,
+Stood like a tower. His form had yet not lost
+All her original brightness, nor appeared
+Less than Archangel ruined, and th' excess
+Of glory obscured: as when the sun new-risen
+Looks through the horizontal misty air
+Shorn of his beams, or, from behind the moon,
+In dim eclipse, disastrous twilight sheds
+On half the nations, and with fear of change
+Perplexes monarchs. Darkened so, yet shone
+Above them all th' Archangel: but his face
+Deep scars of thunder had intrenched, and care
+Sat on his faded cheek, but under brows
+Of dauntless courage, and considerate pride
+Waiting revenge. Cruel his eye, but cast
+Signs of remorse and passion, to behold
+The fellows of his crime, the followers rather
+(Far other once beheld in bliss), condemned
+For ever now to have their lot in pain--
+Millions of Spirits for his fault amerced
+Of Heaven, and from eteranl splendours flung
+For his revolt--yet faithful how they stood,
+Their glory withered; as, when heaven's fire
+Hath scathed the forest oaks or mountain pines,
+With singed top their stately growth, though bare,
+Stands on the blasted heath. He now prepared
+To speak; whereat their doubled ranks they bend
+From wing to wing, and half enclose him round
+With all his peers: attention held them mute.
+Thrice he assayed, and thrice, in spite of scorn,
+Tears, such as Angels weep, burst forth: at last
+Words interwove with sighs found out their way:--
+ "O myriads of immortal Spirits! O Powers
+Matchless, but with th' Almighth!--and that strife
+Was not inglorious, though th' event was dire,
+As this place testifies, and this dire change,
+Hateful to utter. But what power of mind,
+Forseeing or presaging, from the depth
+Of knowledge past or present, could have feared
+How such united force of gods, how such
+As stood like these, could ever know repulse?
+For who can yet believe, though after loss,
+That all these puissant legions, whose exile
+Hath emptied Heaven, shall fail to re-ascend,
+Self-raised, and repossess their native seat?
+For me, be witness all the host of Heaven,
+If counsels different, or danger shunned
+By me, have lost our hopes. But he who reigns
+Monarch in Heaven till then as one secure
+Sat on his throne, upheld by old repute,
+Consent or custom, and his regal state
+Put forth at full, but still his strength concealed--
+Which tempted our attempt, and wrought our fall.
+Henceforth his might we know, and know our own,
+So as not either to provoke, or dread
+New war provoked: our better part remains
+To work in close design, by fraud or guile,
+What force effected not; that he no less
+At length from us may find, who overcomes
+By force hath overcome but half his foe.
+Space may produce new Worlds; whereof so rife
+There went a fame in Heaven that he ere long
+Intended to create, and therein plant
+A generation whom his choice regard
+Should favour equal to the Sons of Heaven.
+Thither, if but to pry, shall be perhaps
+Our first eruption--thither, or elsewhere;
+For this infernal pit shall never hold
+Celestial Spirits in bondage, nor th' Abyss
+Long under darkness cover. But these thoughts
+Full counsel must mature. Peace is despaired;
+For who can think submission? War, then, war
+Open or understood, must be resolved."
+ He spake; and, to confirm his words, outflew
+Millions of flaming swords, drawn from the thighs
+Of mighty Cherubim; the sudden blaze
+Far round illumined Hell. Highly they raged
+Against the Highest, and fierce with grasped arms
+Clashed on their sounding shields the din of war,
+Hurling defiance toward the vault of Heaven.
+ There stood a hill not far, whose grisly top
+Belched fire and rolling smoke; the rest entire
+Shone with a glossy scurf--undoubted sign
+That in his womb was hid metallic ore,
+The work of sulphur. Thither, winged with speed,
+A numerous brigade hastened: as when bands
+Of pioneers, with spade and pickaxe armed,
+Forerun the royal camp, to trench a field,
+Or cast a rampart. Mammon led them on--
+Mammon, the least erected Spirit that fell
+From Heaven; for even in Heaven his looks and thoughts
+Were always downward bent, admiring more
+The riches of heaven's pavement, trodden gold,
+Than aught divine or holy else enjoyed
+In vision beatific. By him first
+Men also, and by his suggestion taught,
+Ransacked the centre, and with impious hands
+Rifled the bowels of their mother Earth
+For treasures better hid. Soon had his crew
+Opened into the hill a spacious wound,
+And digged out ribs of gold. Let none admire
+That riches grow in Hell; that soil may best
+Deserve the precious bane. And here let those
+Who boast in mortal things, and wondering tell
+Of Babel, and the works of Memphian kings,
+Learn how their greatest monuments of fame
+And strength, and art, are easily outdone
+By Spirits reprobate, and in an hour
+What in an age they, with incessant toil
+And hands innumerable, scarce perform.
+Nigh on the plain, in many cells prepared,
+That underneath had veins of liquid fire
+Sluiced from the lake, a second multitude
+With wondrous art founded the massy ore,
+Severing each kind, and scummed the bullion-dross.
+A third as soon had formed within the ground
+A various mould, and from the boiling cells
+By strange conveyance filled each hollow nook;
+As in an organ, from one blast of wind,
+To many a row of pipes the sound-board breathes.
+Anon out of the earth a fabric huge
+Rose like an exhalation, with the sound
+Of dulcet symphonies and voices sweet--
+Built like a temple, where pilasters round
+Were set, and Doric pillars overlaid
+With golden architrave; nor did there want
+Cornice or frieze, with bossy sculptures graven;
+The roof was fretted gold. Not Babylon
+Nor great Alcairo such magnificence
+Equalled in all their glories, to enshrine
+Belus or Serapis their gods, or seat
+Their kings, when Egypt with Assyria strove
+In wealth and luxury. Th' ascending pile
+Stood fixed her stately height, and straight the doors,
+Opening their brazen folds, discover, wide
+Within, her ample spaces o'er the smooth
+And level pavement: from the arched roof,
+Pendent by subtle magic, many a row
+Of starry lamps and blazing cressets, fed
+With naptha and asphaltus, yielded light
+As from a sky. The hasty multitude
+Admiring entered; and the work some praise,
+And some the architect. His hand was known
+In Heaven by many a towered structure high,
+Where sceptred Angels held their residence,
+And sat as Princes, whom the supreme King
+Exalted to such power, and gave to rule,
+Each in his Hierarchy, the Orders bright.
+Nor was his name unheard or unadored
+In ancient Greece; and in Ausonian land
+Men called him Mulciber; and how he fell
+From Heaven they fabled, thrown by angry Jove
+Sheer o'er the crystal battlements: from morn
+To noon he fell, from noon to dewy eve,
+A summer's day, and with the setting sun
+Dropt from the zenith, like a falling star,
+On Lemnos, th' Aegaean isle. Thus they relate,
+Erring; for he with this rebellious rout
+Fell long before; nor aught aviled him now
+To have built in Heaven high towers; nor did he scape
+By all his engines, but was headlong sent,
+With his industrious crew, to build in Hell.
+ Meanwhile the winged Heralds, by command
+Of sovereign power, with awful ceremony
+And trumpet's sound, throughout the host proclaim
+A solemn council forthwith to be held
+At Pandemonium, the high capital
+Of Satan and his peers. Their summons called
+From every band and squared regiment
+By place or choice the worthiest: they anon
+With hundreds and with thousands trooping came
+Attended. All access was thronged; the gates
+And porches wide, but chief the spacious hall
+(Though like a covered field, where champions bold
+Wont ride in armed, and at the Soldan's chair
+Defied the best of Paynim chivalry
+To mortal combat, or career with lance),
+Thick swarmed, both on the ground and in the air,
+Brushed with the hiss of rustling wings. As bees
+In spring-time, when the Sun with Taurus rides.
+Pour forth their populous youth about the hive
+In clusters; they among fresh dews and flowers
+Fly to and fro, or on the smoothed plank,
+The suburb of their straw-built citadel,
+New rubbed with balm, expatiate, and confer
+Their state-affairs: so thick the airy crowd
+Swarmed and were straitened; till, the signal given,
+Behold a wonder! They but now who seemed
+In bigness to surpass Earth's giant sons,
+Now less than smallest dwarfs, in narrow room
+Throng numberless--like that pygmean race
+Beyond the Indian mount; or faery elves,
+Whose midnight revels, by a forest-side
+Or fountain, some belated peasant sees,
+Or dreams he sees, while overhead the Moon
+Sits arbitress, and nearer to the Earth
+Wheels her pale course: they, on their mirth and dance
+Intent, with jocund music charm his ear;
+At once with joy and fear his heart rebounds.
+Thus incorporeal Spirits to smallest forms
+Reduced their shapes immense, and were at large,
+Though without number still, amidst the hall
+Of that infernal court. But far within,
+And in their own dimensions like themselves,
+The great Seraphic Lords and Cherubim
+In close recess and secret conclave sat,
+A thousand demi-gods on golden seats,
+Frequent and full. After short silence then,
+And summons read, the great consult began.
+
+
+
+Book II
+
+
+High on a throne of royal state, which far
+Outshone the wealth or Ormus and of Ind,
+Or where the gorgeous East with richest hand
+Showers on her kings barbaric pearl and gold,
+Satan exalted sat, by merit raised
+To that bad eminence; and, from despair
+Thus high uplifted beyond hope, aspires
+Beyond thus high, insatiate to pursue
+Vain war with Heaven; and, by success untaught,
+His proud imaginations thus displayed:--
+ "Powers and Dominions, Deities of Heaven!--
+For, since no deep within her gulf can hold
+Immortal vigour, though oppressed and fallen,
+I give not Heaven for lost: from this descent
+Celestial Virtues rising will appear
+More glorious and more dread than from no fall,
+And trust themselves to fear no second fate!--
+Me though just right, and the fixed laws of Heaven,
+Did first create your leader--next, free choice
+With what besides in council or in fight
+Hath been achieved of merit--yet this loss,
+Thus far at least recovered, hath much more
+Established in a safe, unenvied throne,
+Yielded with full consent. The happier state
+In Heaven, which follows dignity, might draw
+Envy from each inferior; but who here
+Will envy whom the highest place exposes
+Foremost to stand against the Thunderer's aim
+Your bulwark, and condemns to greatest share
+Of endless pain? Where there is, then, no good
+For which to strive, no strife can grow up there
+From faction: for none sure will claim in Hell
+Precedence; none whose portion is so small
+Of present pain that with ambitious mind
+Will covet more! With this advantage, then,
+To union, and firm faith, and firm accord,
+More than can be in Heaven, we now return
+To claim our just inheritance of old,
+Surer to prosper than prosperity
+Could have assured us; and by what best way,
+Whether of open war or covert guile,
+We now debate. Who can advise may speak."
+ He ceased; and next him Moloch, sceptred king,
+Stood up--the strongest and the fiercest Spirit
+That fought in Heaven, now fiercer by despair.
+His trust was with th' Eternal to be deemed
+Equal in strength, and rather than be less
+Cared not to be at all; with that care lost
+Went all his fear: of God, or Hell, or worse,
+He recked not, and these words thereafter spake:--
+ "My sentence is for open war. Of wiles,
+More unexpert, I boast not: them let those
+Contrive who need, or when they need; not now.
+For, while they sit contriving, shall the rest--
+Millions that stand in arms, and longing wait
+The signal to ascend--sit lingering here,
+Heaven's fugitives, and for their dwelling-place
+Accept this dark opprobrious den of shame,
+The prison of his ryranny who reigns
+By our delay? No! let us rather choose,
+Armed with Hell-flames and fury, all at once
+O'er Heaven's high towers to force resistless way,
+Turning our tortures into horrid arms
+Against the Torturer; when, to meet the noise
+Of his almighty engine, he shall hear
+Infernal thunder, and, for lightning, see
+Black fire and horror shot with equal rage
+Among his Angels, and his throne itself
+Mixed with Tartarean sulphur and strange fire,
+His own invented torments. But perhaps
+The way seems difficult, and steep to scale
+With upright wing against a higher foe!
+Let such bethink them, if the sleepy drench
+Of that forgetful lake benumb not still,
+That in our porper motion we ascend
+Up to our native seat; descent and fall
+To us is adverse. Who but felt of late,
+When the fierce foe hung on our broken rear
+Insulting, and pursued us through the Deep,
+With what compulsion and laborious flight
+We sunk thus low? Th' ascent is easy, then;
+Th' event is feared! Should we again provoke
+Our stronger, some worse way his wrath may find
+To our destruction, if there be in Hell
+Fear to be worse destroyed! What can be worse
+Than to dwell here, driven out from bliss, condemned
+In this abhorred deep to utter woe!
+Where pain of unextinguishable fire
+Must exercise us without hope of end
+The vassals of his anger, when the scourge
+Inexorably, and the torturing hour,
+Calls us to penance? More destroyed than thus,
+We should be quite abolished, and expire.
+What fear we then? what doubt we to incense
+His utmost ire? which, to the height enraged,
+Will either quite consume us, and reduce
+To nothing this essential--happier far
+Than miserable to have eternal being!--
+Or, if our substance be indeed divine,
+And cannot cease to be, we are at worst
+On this side nothing; and by proof we feel
+Our power sufficient to disturb his Heaven,
+And with perpetual inroads to alarm,
+Though inaccessible, his fatal throne:
+Which, if not victory, is yet revenge."
+ He ended frowning, and his look denounced
+Desperate revenge, and battle dangerous
+To less than gods. On th' other side up rose
+Belial, in act more graceful and humane.
+A fairer person lost not Heaven; he seemed
+For dignity composed, and high exploit.
+But all was false and hollow; though his tongue
+Dropped manna, and could make the worse appear
+The better reason, to perplex and dash
+Maturest counsels: for his thoughts were low--
+ To vice industrious, but to nobler deeds
+Timorous and slothful. Yet he pleased the ear,
+And with persuasive accent thus began:--
+ "I should be much for open war, O Peers,
+As not behind in hate, if what was urged
+Main reason to persuade immediate war
+Did not dissuade me most, and seem to cast
+Ominous conjecture on the whole success;
+When he who most excels in fact of arms,
+In what he counsels and in what excels
+Mistrustful, grounds his courage on despair
+And utter dissolution, as the scope
+Of all his aim, after some dire revenge.
+First, what revenge? The towers of Heaven are filled
+With armed watch, that render all access
+Impregnable: oft on the bodering Deep
+Encamp their legions, or with obscure wing
+Scout far and wide into the realm of Night,
+Scorning surprise. Or, could we break our way
+By force, and at our heels all Hell should rise
+With blackest insurrection to confound
+Heaven's purest light, yet our great Enemy,
+All incorruptible, would on his throne
+Sit unpolluted, and th' ethereal mould,
+Incapable of stain, would soon expel
+Her mischief, and purge off the baser fire,
+Victorious. Thus repulsed, our final hope
+Is flat despair: we must exasperate
+Th' Almighty Victor to spend all his rage;
+And that must end us; that must be our cure--
+To be no more. Sad cure! for who would lose,
+Though full of pain, this intellectual being,
+Those thoughts that wander through eternity,
+To perish rather, swallowed up and lost
+In the wide womb of uncreated Night,
+Devoid of sense and motion? And who knows,
+Let this be good, whether our angry Foe
+Can give it, or will ever? How he can
+Is doubtful; that he never will is sure.
+Will he, so wise, let loose at once his ire,
+Belike through impotence or unaware,
+To give his enemies their wish, and end
+Them in his anger whom his anger saves
+To punish endless? 'Wherefore cease we, then?'
+Say they who counsel war; 'we are decreed,
+Reserved, and destined to eternal woe;
+Whatever doing, what can we suffer more,
+What can we suffer worse?' Is this, then, worst--
+Thus sitting, thus consulting, thus in arms?
+What when we fled amain, pursued and struck
+With Heaven's afflicting thunder, and besought
+The Deep to shelter us? This Hell then seemed
+A refuge from those wounds. Or when we lay
+Chained on the burning lake? That sure was worse.
+What if the breath that kindled those grim fires,
+Awaked, should blow them into sevenfold rage,
+And plunge us in the flames; or from above
+Should intermitted vengeance arm again
+His red right hand to plague us? What if all
+Her stores were opened, and this firmament
+Of Hell should spout her cataracts of fire,
+Impendent horrors, threatening hideous fall
+One day upon our heads; while we perhaps,
+Designing or exhorting glorious war,
+Caught in a fiery tempest, shall be hurled,
+Each on his rock transfixed, the sport and prey
+Or racking whirlwinds, or for ever sunk
+Under yon boiling ocean, wrapt in chains,
+There to converse with everlasting groans,
+Unrespited, unpitied, unreprieved,
+Ages of hopeless end? This would be worse.
+War, therefore, open or concealed, alike
+My voice dissuades; for what can force or guile
+With him, or who deceive his mind, whose eye
+Views all things at one view? He from Heaven's height
+All these our motions vain sees and derides,
+Not more almighty to resist our might
+Than wise to frustrate all our plots and wiles.
+Shall we, then, live thus vile--the race of Heaven
+Thus trampled, thus expelled, to suffer here
+Chains and these torments? Better these than worse,
+By my advice; since fate inevitable
+Subdues us, and omnipotent decree,
+The Victor's will. To suffer, as to do,
+Our strength is equal; nor the law unjust
+That so ordains. This was at first resolved,
+If we were wise, against so great a foe
+Contending, and so doubtful what might fall.
+I laugh when those who at the spear are bold
+And venturous, if that fail them, shrink, and fear
+What yet they know must follow--to endure
+Exile, or igominy, or bonds, or pain,
+The sentence of their Conqueror. This is now
+Our doom; which if we can sustain and bear,
+Our Supreme Foe in time may much remit
+His anger, and perhaps, thus far removed,
+Not mind us not offending, satisfied
+With what is punished; whence these raging fires
+Will slacken, if his breath stir not their flames.
+Our purer essence then will overcome
+Their noxious vapour; or, inured, not feel;
+Or, changed at length, and to the place conformed
+In temper and in nature, will receive
+Familiar the fierce heat; and, void of pain,
+This horror will grow mild, this darkness light;
+Besides what hope the never-ending flight
+Of future days may bring, what chance, what change
+Worth waiting--since our present lot appears
+For happy though but ill, for ill not worst,
+If we procure not to ourselves more woe."
+ Thus Belial, with words clothed in reason's garb,
+Counselled ignoble ease and peaceful sloth,
+Not peace; and after him thus Mammon spake:--
+ "Either to disenthrone the King of Heaven
+We war, if war be best, or to regain
+Our own right lost. Him to unthrone we then
+May hope, when everlasting Fate shall yield
+To fickle Chance, and Chaos judge the strife.
+The former, vain to hope, argues as vain
+The latter; for what place can be for us
+Within Heaven's bound, unless Heaven's Lord supreme
+We overpower? Suppose he should relent
+And publish grace to all, on promise made
+Of new subjection; with what eyes could we
+Stand in his presence humble, and receive
+Strict laws imposed, to celebrate his throne
+With warbled hyms, and to his Godhead sing
+Forced hallelujahs, while he lordly sits
+Our envied sovereign, and his altar breathes
+Ambrosial odours and ambrosial flowers,
+Our servile offerings? This must be our task
+In Heaven, this our delight. How wearisome
+Eternity so spent in worship paid
+To whom we hate! Let us not then pursue,
+By force impossible, by leave obtained
+Unacceptable, though in Heaven, our state
+Of splendid vassalage; but rather seek
+Our own good from ourselves, and from our own
+Live to ourselves, though in this vast recess,
+Free and to none accountable, preferring
+Hard liberty before the easy yoke
+Of servile pomp. Our greatness will appear
+Then most conspicuous when great things of small,
+Useful of hurtful, prosperous of adverse,
+We can create, and in what place soe'er
+Thrive under evil, and work ease out of pain
+Through labour and endurance. This deep world
+Of darkness do we dread? How oft amidst
+Thick clouds and dark doth Heaven's all-ruling Sire
+Choose to reside, his glory unobscured,
+And with the majesty of darkness round
+Covers his throne, from whence deep thunders roar.
+Mustering their rage, and Heaven resembles Hell!
+As he our darkness, cannot we his light
+Imitate when we please? This desert soil
+Wants not her hidden lustre, gems and gold;
+Nor want we skill or art from whence to raise
+Magnificence; and what can Heaven show more?
+Our torments also may, in length of time,
+Become our elements, these piercing fires
+As soft as now severe, our temper changed
+Into their temper; which must needs remove
+The sensible of pain. All things invite
+To peaceful counsels, and the settled state
+Of order, how in safety best we may
+Compose our present evils, with regard
+Of what we are and where, dismissing quite
+All thoughts of war. Ye have what I advise."
+ He scarce had finished, when such murmur filled
+Th' assembly as when hollow rocks retain
+The sound of blustering winds, which all night long
+Had roused the sea, now with hoarse cadence lull
+Seafaring men o'erwatched, whose bark by chance
+Or pinnace, anchors in a craggy bay
+After the tempest. Such applause was heard
+As Mammon ended, and his sentence pleased,
+Advising peace: for such another field
+They dreaded worse than Hell; so much the fear
+Of thunder and the sword of Michael
+Wrought still within them; and no less desire
+To found this nether empire, which might rise,
+By policy and long process of time,
+In emulation opposite to Heaven.
+Which when Beelzebub perceived--than whom,
+Satan except, none higher sat--with grave
+Aspect he rose, and in his rising seemed
+A pillar of state. Deep on his front engraven
+Deliberation sat, and public care;
+And princely counsel in his face yet shone,
+Majestic, though in ruin. Sage he stood
+With Atlantean shoulders, fit to bear
+The weight of mightiest monarchies; his look
+Drew audience and attention still as night
+Or summer's noontide air, while thus he spake:--
+ "Thrones and Imperial Powers, Offspring of Heaven,
+Ethereal Virtues! or these titles now
+Must we renounce, and, changing style, be called
+Princes of Hell? for so the popular vote
+Inclines--here to continue, and build up here
+A growing empire; doubtless! while we dream,
+And know not that the King of Heaven hath doomed
+This place our dungeon, not our safe retreat
+Beyond his potent arm, to live exempt
+From Heaven's high jurisdiction, in new league
+Banded against his throne, but to remain
+In strictest bondage, though thus far removed,
+Under th' inevitable curb, reserved
+His captive multitude. For he, to be sure,
+In height or depth, still first and last will reign
+Sole king, and of his kingdom lose no part
+By our revolt, but over Hell extend
+His empire, and with iron sceptre rule
+Us here, as with his golden those in Heaven.
+What sit we then projecting peace and war?
+War hath determined us and foiled with loss
+Irreparable; terms of peace yet none
+Vouchsafed or sought; for what peace will be given
+To us enslaved, but custody severe,
+And stripes and arbitrary punishment
+Inflicted? and what peace can we return,
+But, to our power, hostility and hate,
+Untamed reluctance, and revenge, though slow,
+Yet ever plotting how the Conqueror least
+May reap his conquest, and may least rejoice
+In doing what we most in suffering feel?
+Nor will occasion want, nor shall we need
+With dangerous expedition to invade
+Heaven, whose high walls fear no assault or siege,
+Or ambush from the Deep. What if we find
+Some easier enterprise? There is a place
+(If ancient and prophetic fame in Heaven
+Err not)--another World, the happy seat
+Of some new race, called Man, about this time
+To be created like to us, though less
+In power and excellence, but favoured more
+Of him who rules above; so was his will
+Pronounced among the Gods, and by an oath
+That shook Heaven's whole circumference confirmed.
+Thither let us bend all our thoughts, to learn
+What creatures there inhabit, of what mould
+Or substance, how endued, and what their power
+And where their weakness: how attempted best,
+By force of subtlety. Though Heaven be shut,
+And Heaven's high Arbitrator sit secure
+In his own strength, this place may lie exposed,
+The utmost border of his kingdom, left
+To their defence who hold it: here, perhaps,
+Some advantageous act may be achieved
+By sudden onset--either with Hell-fire
+To waste his whole creation, or possess
+All as our own, and drive, as we were driven,
+The puny habitants; or, if not drive,
+Seduce them to our party, that their God
+May prove their foe, and with repenting hand
+Abolish his own works. This would surpass
+Common revenge, and interrupt his joy
+In our confusion, and our joy upraise
+In his disturbance; when his darling sons,
+Hurled headlong to partake with us, shall curse
+Their frail original, and faded bliss--
+Faded so soon! Advise if this be worth
+Attempting, or to sit in darkness here
+Hatching vain empires." Thus beelzebub
+Pleaded his devilish counsel--first devised
+By Satan, and in part proposed: for whence,
+But from the author of all ill, could spring
+So deep a malice, to confound the race
+Of mankind in one root, and Earth with Hell
+To mingle and involve, done all to spite
+The great Creator? But their spite still serves
+His glory to augment. The bold design
+Pleased highly those infernal States, and joy
+Sparkled in all their eyes: with full assent
+They vote: whereat his speech he thus renews:--
+"Well have ye judged, well ended long debate,
+Synod of Gods, and, like to what ye are,
+Great things resolved, which from the lowest deep
+Will once more lift us up, in spite of fate,
+Nearer our ancient seat--perhaps in view
+Of those bright confines, whence, with neighbouring arms,
+And opportune excursion, we may chance
+Re-enter Heaven; or else in some mild zone
+Dwell, not unvisited of Heaven's fair light,
+Secure, and at the brightening orient beam
+Purge off this gloom: the soft delicious air,
+To heal the scar of these corrosive fires,
+Shall breathe her balm. But, first, whom shall we send
+In search of this new World? whom shall we find
+Sufficient? who shall tempt with wandering feet
+The dark, unbottomed, infinite Abyss,
+And through the palpable obscure find out
+His uncouth way, or spread his airy flight,
+Upborne with indefatigable wings
+Over the vast abrupt, ere he arrive
+The happy Isle? What strength, what art, can then
+Suffice, or what evasion bear him safe,
+Through the strict senteries and stations thick
+Of Angels watching round? Here he had need
+All circumspection: and we now no less
+Choice in our suffrage; for on whom we send
+The weight of all, and our last hope, relies."
+ This said, he sat; and expectation held
+His look suspense, awaiting who appeared
+To second, or oppose, or undertake
+The perilous attempt. But all sat mute,
+Pondering the danger with deep thoughts; and each
+In other's countenance read his own dismay,
+Astonished. None among the choice and prime
+Of those Heaven-warring champions could be found
+So hardy as to proffer or accept,
+Alone, the dreadful voyage; till, at last,
+Satan, whom now transcendent glory raised
+Above his fellows, with monarchal pride
+Conscious of highest worth, unmoved thus spake:--
+ "O Progeny of Heaven! Empyreal Thrones!
+With reason hath deep silence and demur
+Seized us, though undismayed. Long is the way
+And hard, that out of Hell leads up to light.
+Our prison strong, this huge convex of fire,
+Outrageous to devour, immures us round
+Ninefold; and gates of burning adamant,
+Barred over us, prohibit all egress.
+These passed, if any pass, the void profound
+Of unessential Night receives him next,
+Wide-gaping, and with utter loss of being
+Threatens him, plunged in that abortive gulf.
+If thence he scape, into whatever world,
+Or unknown region, what remains him less
+Than unknown dangers, and as hard escape?
+But I should ill become this throne, O Peers,
+And this imperial sovereignty, adorned
+With splendour, armed with power, if aught proposed
+And judged of public moment in the shape
+Of difficulty or danger, could deter
+Me from attempting. Wherefore do I assume
+These royalties, and not refuse to reign,
+Refusing to accept as great a share
+Of hazard as of honour, due alike
+To him who reigns, and so much to him due
+Of hazard more as he above the rest
+High honoured sits? Go, therefore, mighty Powers,
+Terror of Heaven, though fallen; intend at home,
+While here shall be our home, what best may ease
+The present misery, and render Hell
+More tolerable; if there be cure or charm
+To respite, or deceive, or slack the pain
+Of this ill mansion: intermit no watch
+Against a wakeful foe, while I abroad
+Through all the coasts of dark destruction seek
+Deliverance for us all. This enterprise
+None shall partake with me." Thus saying, rose
+The Monarch, and prevented all reply;
+Prudent lest, from his resolution raised,
+Others among the chief might offer now,
+Certain to be refused, what erst they feared,
+And, so refused, might in opinion stand
+His rivals, winning cheap the high repute
+Which he through hazard huge must earn. But they
+Dreaded not more th' adventure than his voice
+Forbidding; and at once with him they rose.
+Their rising all at once was as the sound
+Of thunder heard remote. Towards him they bend
+With awful reverence prone, and as a God
+Extol him equal to the Highest in Heaven.
+Nor failed they to express how much they praised
+That for the general safety he despised
+His own: for neither do the Spirits damned
+Lose all their virtue; lest bad men should boast
+Their specious deeds on earth, which glory excites,
+Or close ambition varnished o'er with zeal.
+ Thus they their doubtful consultations dark
+Ended, rejoicing in their matchless Chief:
+As, when from mountain-tops the dusky clouds
+Ascending, while the north wind sleeps, o'erspread
+Heaven's cheerful face, the louring element
+Scowls o'er the darkened landscape snow or shower,
+If chance the radiant sun, with farewell sweet,
+Extend his evening beam, the fields revive,
+The birds their notes renew, and bleating herds
+Attest their joy, that hill and valley rings.
+O shame to men! Devil with devil damned
+Firm concord holds; men only disagree
+Of creatures rational, though under hope
+Of heavenly grace, and, God proclaiming peace,
+Yet live in hatred, enmity, and strife
+Among themselves, and levy cruel wars
+Wasting the earth, each other to destroy:
+As if (which might induce us to accord)
+Man had not hellish foes enow besides,
+That day and night for his destruction wait!
+ The Stygian council thus dissolved; and forth
+In order came the grand infernal Peers:
+Midst came their mighty Paramount, and seemed
+Alone th' antagonist of Heaven, nor less
+Than Hell's dread Emperor, with pomp supreme,
+And god-like imitated state: him round
+A globe of fiery Seraphim enclosed
+With bright emblazonry, and horrent arms.
+Then of their session ended they bid cry
+With trumpet's regal sound the great result:
+Toward the four winds four speedy Cherubim
+Put to their mouths the sounding alchemy,
+By herald's voice explained; the hollow Abyss
+Heard far adn wide, and all the host of Hell
+With deafening shout returned them loud acclaim.
+Thence more at ease their minds, and somewhat raised
+By false presumptuous hope, the ranged Powers
+Disband; and, wandering, each his several way
+Pursues, as inclination or sad choice
+Leads him perplexed, where he may likeliest find
+Truce to his restless thoughts, and entertain
+The irksome hours, till his great Chief return.
+Part on the plain, or in the air sublime,
+Upon the wing or in swift race contend,
+As at th' Olympian games or Pythian fields;
+Part curb their fiery steeds, or shun the goal
+With rapid wheels, or fronted brigades form:
+As when, to warn proud cities, war appears
+Waged in the troubled sky, and armies rush
+To battle in the clouds; before each van
+Prick forth the airy knights, and couch their spears,
+Till thickest legions close; with feats of arms
+From either end of heaven the welkin burns.
+Others, with vast Typhoean rage, more fell,
+Rend up both rocks and hills, and ride the air
+In whirlwind; Hell scarce holds the wild uproar:--
+As when Alcides, from Oechalia crowned
+With conquest, felt th' envenomed robe, and tore
+Through pain up by the roots Thessalian pines,
+And Lichas from the top of Oeta threw
+Into th' Euboic sea. Others, more mild,
+Retreated in a silent valley, sing
+With notes angelical to many a harp
+Their own heroic deeds, and hapless fall
+By doom of battle, and complain that Fate
+Free Virtue should enthrall to Force or Chance.
+Their song was partial; but the harmony
+(What could it less when Spirits immortal sing?)
+Suspended Hell, and took with ravishment
+The thronging audience. In discourse more sweet
+(For Eloquence the Soul, Song charms the Sense)
+Others apart sat on a hill retired,
+In thoughts more elevate, and reasoned high
+Of Providence, Foreknowledge, Will, and Fate--
+Fixed fate, free will, foreknowledge absolute,
+And found no end, in wandering mazes lost.
+Of good and evil much they argued then,
+Of happiness and final misery,
+Passion and apathy, and glory and shame:
+Vain wisdom all, and false philosophy!--
+Yet, with a pleasing sorcery, could charm
+Pain for a while or anguish, and excite
+Fallacious hope, or arm th' obdured breast
+With stubborn patience as with triple steel.
+Another part, in squadrons and gross bands,
+On bold adventure to discover wide
+That dismal world, if any clime perhaps
+Might yield them easier habitation, bend
+Four ways their flying march, along the banks
+Of four infernal rivers, that disgorge
+Into the burning lake their baleful streams--
+Abhorred Styx, the flood of deadly hate;
+Sad Acheron of sorrow, black and deep;
+Cocytus, named of lamentation loud
+Heard on the rueful stream; fierce Phlegeton,
+Whose waves of torrent fire inflame with rage.
+Far off from these, a slow and silent stream,
+Lethe, the river of oblivion, rolls
+Her watery labyrinth, whereof who drinks
+Forthwith his former state and being forgets--
+Forgets both joy and grief, pleasure and pain.
+Beyond this flood a frozen continent
+Lies dark and wild, beat with perpetual storms
+Of whirlwind and dire hail, which on firm land
+Thaws not, but gathers heap, and ruin seems
+Of ancient pile; all else deep snow and ice,
+A gulf profound as that Serbonian bog
+Betwixt Damiata and Mount Casius old,
+Where armies whole have sunk: the parching air
+Burns frore, and cold performs th' effect of fire.
+Thither, by harpy-footed Furies haled,
+At certain revolutions all the damned
+Are brought; and feel by turns the bitter change
+Of fierce extremes, extremes by change more fierce,
+From beds of raging fire to starve in ice
+Their soft ethereal warmth, and there to pine
+Immovable, infixed, and frozen round
+Periods of time,--thence hurried back to fire.
+They ferry over this Lethean sound
+Both to and fro, their sorrow to augment,
+And wish and struggle, as they pass, to reach
+The tempting stream, with one small drop to lose
+In sweet forgetfulness all pain and woe,
+All in one moment, and so near the brink;
+But Fate withstands, and, to oppose th' attempt,
+Medusa with Gorgonian terror guards
+The ford, and of itself the water flies
+All taste of living wight, as once it fled
+The lip of Tantalus. Thus roving on
+In confused march forlorn, th' adventurous bands,
+With shuddering horror pale, and eyes aghast,
+Viewed first their lamentable lot, and found
+No rest. Through many a dark and dreary vale
+They passed, and many a region dolorous,
+O'er many a frozen, many a fiery alp,
+Rocks, caves, lakes, fens, bogs, dens, and shades of death--
+A universe of death, which God by curse
+Created evil, for evil only good;
+Where all life dies, death lives, and Nature breeds,
+Perverse, all monstrous, all prodigious things,
+Obominable, inutterable, and worse
+Than fables yet have feigned or fear conceived,
+Gorgons, and Hydras, and Chimeras dire.
+ Meanwhile the Adversary of God and Man,
+Satan, with thoughts inflamed of highest design,
+Puts on swift wings, and toward the gates of Hell
+Explores his solitary flight: sometimes
+He scours the right hand coast, sometimes the left;
+Now shaves with level wing the deep, then soars
+Up to the fiery concave towering high.
+As when far off at sea a fleet descried
+Hangs in the clouds, by equinoctial winds
+Close sailing from Bengala, or the isles
+Of Ternate and Tidore, whence merchants bring
+Their spicy drugs; they on the trading flood,
+Through the wide Ethiopian to the Cape,
+Ply stemming nightly toward the pole: so seemed
+Far off the flying Fiend. At last appear
+Hell-bounds, high reaching to the horrid roof,
+And thrice threefold the gates; three folds were brass,
+Three iron, three of adamantine rock,
+Impenetrable, impaled with circling fire,
+Yet unconsumed. Before the gates there sat
+On either side a formidable Shape.
+The one seemed woman to the waist, and fair,
+But ended foul in many a scaly fold,
+Voluminous and vast--a serpent armed
+With mortal sting. About her middle round
+A cry of Hell-hounds never-ceasing barked
+With wide Cerberean mouths full loud, and rung
+A hideous peal; yet, when they list, would creep,
+If aught disturbed their noise, into her womb,
+And kennel there; yet there still barked and howled
+Within unseen. Far less abhorred than these
+Vexed Scylla, bathing in the sea that parts
+Calabria from the hoarse Trinacrian shore;
+Nor uglier follow the night-hag, when, called
+In secret, riding through the air she comes,
+Lured with the smell of infant blood, to dance
+With Lapland witches, while the labouring moon
+Eclipses at their charms. The other Shape--
+If shape it might be called that shape had none
+Distinguishable in member, joint, or limb;
+Or substance might be called that shadow seemed,
+For each seemed either--black it stood as Night,
+Fierce as ten Furies, terrible as Hell,
+And shook a dreadful dart: what seemed his head
+The likeness of a kingly crown had on.
+Satan was now at hand, and from his seat
+The monster moving onward came as fast
+With horrid strides; Hell trembled as he strode.
+Th' undaunted Fiend what this might be admired--
+Admired, not feared (God and his Son except,
+Created thing naught valued he nor shunned),
+And with disdainful look thus first began:--
+ "Whence and what art thou, execrable Shape,
+That dar'st, though grim and terrible, advance
+Thy miscreated front athwart my way
+To yonder gates? Through them I mean to pass,
+That be assured, without leave asked of thee.
+Retire; or taste thy folly, and learn by proof,
+Hell-born, not to contend with Spirits of Heaven."
+ To whom the Goblin, full of wrath, replied:--
+"Art thou that traitor Angel? art thou he,
+Who first broke peace in Heaven and faith, till then
+Unbroken, and in proud rebellious arms
+Drew after him the third part of Heaven's sons,
+Conjured against the Highest--for which both thou
+And they, outcast from God, are here condemned
+To waste eternal days in woe and pain?
+And reckon'st thou thyself with Spirits of Heaven
+Hell-doomed, and breath'st defiance here and scorn,
+Where I reign king, and, to enrage thee more,
+Thy king and lord? Back to thy punishment,
+False fugitive; and to thy speed add wings,
+Lest with a whip of scorpions I pursue
+Thy lingering, or with one stroke of this dart
+Strange horror seize thee, and pangs unfelt before."
+ So spake the grisly Terror, and in shape,
+So speaking and so threatening, grew tenfold,
+More dreadful and deform. On th' other side,
+Incensed with indignation, Satan stood
+Unterrified, and like a comet burned,
+That fires the length of Ophiuchus huge
+In th' arctic sky, and from his horrid hair
+Shakes pestilence and war. Each at the head
+Levelled his deadly aim; their fatal hands
+No second stroke intend; and such a frown
+Each cast at th' other as when two black clouds,
+With heaven's artillery fraught, came rattling on
+Over the Caspian,--then stand front to front
+Hovering a space, till winds the signal blow
+To join their dark encounter in mid-air.
+So frowned the mighty combatants that Hell
+Grew darker at their frown; so matched they stood;
+For never but once more was wither like
+To meet so great a foe. And now great deeds
+Had been achieved, whereof all Hell had rung,
+Had not the snaky Sorceress, that sat
+Fast by Hell-gate and kept the fatal key,
+Risen, and with hideous outcry rushed between.
+ "O father, what intends thy hand," she cried,
+"Against thy only son? What fury, O son,
+Possesses thee to bend that mortal dart
+Against thy father's head? And know'st for whom?
+For him who sits above, and laughs the while
+At thee, ordained his drudge to execute
+Whate'er his wrath, which he calls justice, bids--
+His wrath, which one day will destroy ye both!"
+ She spake, and at her words the hellish Pest
+Forbore: then these to her Satan returned:--
+ "So strange thy outcry, and thy words so strange
+Thou interposest, that my sudden hand,
+Prevented, spares to tell thee yet by deeds
+What it intends, till first I know of thee
+What thing thou art, thus double-formed, and why,
+In this infernal vale first met, thou call'st
+Me father, and that phantasm call'st my son.
+I know thee not, nor ever saw till now
+Sight more detestable than him and thee."
+ T' whom thus the Portress of Hell-gate replied:--
+"Hast thou forgot me, then; and do I seem
+Now in thine eye so foul?--once deemed so fair
+In Heaven, when at th' assembly, and in sight
+Of all the Seraphim with thee combined
+In bold conspiracy against Heaven's King,
+All on a sudden miserable pain
+Surprised thee, dim thine eyes and dizzy swum
+In darkness, while thy head flames thick and fast
+Threw forth, till on the left side opening wide,
+Likest to thee in shape and countenance bright,
+Then shining heavenly fair, a goddess armed,
+Out of thy head I sprung. Amazement seized
+All th' host of Heaven; back they recoiled afraid
+At first, and called me Sin, and for a sign
+Portentous held me; but, familiar grown,
+I pleased, and with attractive graces won
+The most averse--thee chiefly, who, full oft
+Thyself in me thy perfect image viewing,
+Becam'st enamoured; and such joy thou took'st
+With me in secret that my womb conceived
+A growing burden. Meanwhile war arose,
+And fields were fought in Heaven: wherein remained
+(For what could else?) to our Almighty Foe
+Clear victory; to our part loss and rout
+Through all the Empyrean. Down they fell,
+Driven headlong from the pitch of Heaven, down
+Into this Deep; and in the general fall
+I also: at which time this powerful key
+Into my hands was given, with charge to keep
+These gates for ever shut, which none can pass
+Without my opening. Pensive here I sat
+Alone; but long I sat not, till my womb,
+Pregnant by thee, and now excessive grown,
+Prodigious motion felt and rueful throes.
+At last this odious offspring whom thou seest,
+Thine own begotten, breaking violent way,
+Tore through my entrails, that, with fear and pain
+Distorted, all my nether shape thus grew
+Transformed: but he my inbred enemy
+Forth issued, brandishing his fatal dart,
+Made to destroy. I fled, and cried out Death!
+Hell trembled at the hideous name, and sighed
+From all her caves, and back resounded Death!
+I fled; but he pursued (though more, it seems,
+Inflamed with lust than rage), and, swifter far,
+Me overtook, his mother, all dismayed,
+And, in embraces forcible and foul
+Engendering with me, of that rape begot
+These yelling monsters, that with ceaseless cry
+Surround me, as thou saw'st--hourly conceived
+And hourly born, with sorrow infinite
+To me; for, when they list, into the womb
+That bred them they return, and howl, and gnaw
+My bowels, their repast; then, bursting forth
+Afresh, with conscious terrors vex me round,
+That rest or intermission none I find.
+Before mine eyes in opposition sits
+Grim Death, my son and foe, who set them on,
+And me, his parent, would full soon devour
+For want of other prey, but that he knows
+His end with mine involved, and knows that I
+Should prove a bitter morsel, and his bane,
+Whenever that shall be: so Fate pronounced.
+But thou, O father, I forewarn thee, shun
+His deadly arrow; neither vainly hope
+To be invulnerable in those bright arms,
+Through tempered heavenly; for that mortal dint,
+Save he who reigns above, none can resist."
+ She finished; and the subtle Fiend his lore
+Soon learned, now milder, and thus answered smooth:--
+ "Dear daughter--since thou claim'st me for thy sire,
+And my fair son here show'st me, the dear pledge
+Of dalliance had with thee in Heaven, and joys
+Then sweet, now sad to mention, through dire change
+Befallen us unforeseen, unthought-of--know,
+I come no enemy, but to set free
+From out this dark and dismal house of pain
+Both him and thee, and all the heavenly host
+Of Spirits that, in our just pretences armed,
+Fell with us from on high. From them I go
+This uncouth errand sole, and one for all
+Myself expose, with lonely steps to tread
+Th' unfounded Deep, and through the void immense
+To search, with wandering quest, a place foretold
+Should be--and, by concurring signs, ere now
+Created vast and round--a place of bliss
+In the purlieus of Heaven; and therein placed
+A race of upstart creatures, to supply
+Perhaps our vacant room, though more removed,
+Lest Heaven, surcharged with potent multitude,
+Might hap to move new broils. Be this, or aught
+Than this more secret, now designed, I haste
+To know; and, this once known, shall soon return,
+And bring ye to the place where thou and Death
+Shall dwell at ease, and up and down unseen
+Wing silently the buxom air, embalmed
+With odours. There ye shall be fed and filled
+Immeasurably; all things shall be your prey."
+ He ceased; for both seemed highly pleased, and Death
+Grinned horrible a ghastly smile, to hear
+His famine should be filled, and blessed his maw
+Destined to that good hour. No less rejoiced
+His mother bad, and thus bespake her sire:--
+ "The key of this infernal Pit, by due
+And by command of Heaven's all-powerful King,
+I keep, by him forbidden to unlock
+These adamantine gates; against all force
+Death ready stands to interpose his dart,
+Fearless to be o'ermatched by living might.
+But what owe I to his commands above,
+Who hates me, and hath hither thrust me down
+Into this gloom of Tartarus profound,
+To sit in hateful office here confined,
+Inhabitant of Heaven and heavenly born--
+Here in perpetual agony and pain,
+With terrors and with clamours compassed round
+Of mine own brood, that on my bowels feed?
+Thou art my father, thou my author, thou
+My being gav'st me; whom should I obey
+But thee? whom follow? Thou wilt bring me soon
+To that new world of light and bliss, among
+The gods who live at ease, where I shall reign
+At thy right hand voluptuous, as beseems
+Thy daughter and thy darling, without end."
+ Thus saying, from her side the fatal key,
+Sad instrument of all our woe, she took;
+And, towards the gate rolling her bestial train,
+Forthwith the huge portcullis high up-drew,
+Which, but herself, not all the Stygian Powers
+Could once have moved; then in the key-hole turns
+Th' intricate wards, and every bolt and bar
+Of massy iron or solid rock with ease
+Unfastens. On a sudden open fly,
+With impetuous recoil and jarring sound,
+Th' infernal doors, and on their hinges grate
+Harsh thunder, that the lowest bottom shook
+Of Erebus. She opened; but to shut
+Excelled her power: the gates wide open stood,
+That with extended wings a bannered host,
+Under spread ensigns marching, mibht pass through
+With horse and chariots ranked in loose array;
+So wide they stood, and like a furnace-mouth
+Cast forth redounding smoke and ruddy flame.
+Before their eyes in sudden view appear
+The secrets of the hoary Deep--a dark
+Illimitable ocean, without bound,
+Without dimension; where length, breadth, and height,
+And time, and place, are lost; where eldest Night
+And Chaos, ancestors of Nature, hold
+Eternal anarchy, amidst the noise
+Of endless wars, and by confusion stand.
+For Hot, Cold, Moist, and Dry, four champions fierce,
+Strive here for mastery, and to battle bring
+Their embryon atoms: they around the flag
+Of each his faction, in their several clans,
+Light-armed or heavy, sharp, smooth, swift, or slow,
+Swarm populous, unnumbered as the sands
+Of Barca or Cyrene's torrid soil,
+Levied to side with warring winds, and poise
+Their lighter wings. To whom these most adhere
+He rules a moment: Chaos umpire sits,
+And by decision more embroils the fray
+By which he reigns: next him, high arbiter,
+Chance governs all. Into this wild Abyss,
+The womb of Nature, and perhaps her grave,
+Of neither sea, nor shore, nor air, nor fire,
+But all these in their pregnant causes mixed
+Confusedly, and which thus must ever fight,
+Unless th' Almighty Maker them ordain
+His dark materials to create more worlds--
+Into this wild Abyss the wary Fiend
+Stood on the brink of Hell and looked a while,
+Pondering his voyage; for no narrow frith
+He had to cross. Nor was his ear less pealed
+With noises loud and ruinous (to compare
+Great things with small) than when Bellona storms
+With all her battering engines, bent to rase
+Some capital city; or less than if this frame
+Of Heaven were falling, and these elements
+In mutiny had from her axle torn
+The steadfast Earth. At last his sail-broad vans
+He spread for flight, and, in the surging smoke
+Uplifted, spurns the ground; thence many a league,
+As in a cloudy chair, ascending rides
+Audacious; but, that seat soon failing, meets
+A vast vacuity. All unawares,
+Fluttering his pennons vain, plumb-down he drops
+Ten thousand fathom deep, and to this hour
+Down had been falling, had not, by ill chance,
+The strong rebuff of some tumultuous cloud,
+Instinct with fire and nitre, hurried him
+As many miles aloft. That fury stayed--
+Quenched in a boggy Syrtis, neither sea,
+Nor good dry land--nigh foundered, on he fares,
+Treading the crude consistence, half on foot,
+Half flying; behoves him now both oar and sail.
+As when a gryphon through the wilderness
+With winged course, o'er hill or moory dale,
+Pursues the Arimaspian, who by stealth
+Had from his wakeful custody purloined
+The guarded gold; so eagerly the Fiend
+O'er bog or steep, through strait, rough, dense, or rare,
+With head, hands, wings, or feet, pursues his way,
+And swims, or sinks, or wades, or creeps, or flies.
+At length a universal hubbub wild
+Of stunning sounds, and voices all confused,
+Borne through the hollow dark, assaults his ear
+With loudest vehemence. Thither he plies
+Undaunted, to meet there whatever Power
+Or Spirit of the nethermost Abyss
+Might in that noise reside, of whom to ask
+Which way the nearest coast of darkness lies
+Bordering on light; when straight behold the throne
+Of Chaos, and his dark pavilion spread
+Wide on the wasteful Deep! With him enthroned
+Sat sable-vested Night, eldest of things,
+The consort of his reign; and by them stood
+Orcus and Ades, and the dreaded name
+Of Demogorgon; Rumour next, and Chance,
+And Tumult, and Confusion, all embroiled,
+And Discord with a thousand various mouths.
+ T' whom Satan, turning boldly, thus:--"Ye Powers
+And Spirtis of this nethermost Abyss,
+Chaos and ancient Night, I come no spy
+With purpose to explore or to disturb
+The secrets of your realm; but, by constraint
+Wandering this darksome desert, as my way
+Lies through your spacious empire up to light,
+Alone and without guide, half lost, I seek,
+What readiest path leads where your gloomy bounds
+Confine with Heaven; or, if some other place,
+From your dominion won, th' Ethereal King
+Possesses lately, thither to arrive
+I travel this profound. Direct my course:
+Directed, no mean recompense it brings
+To your behoof, if I that region lost,
+All usurpation thence expelled, reduce
+To her original darkness and your sway
+(Which is my present journey), and once more
+Erect the standard there of ancient Night.
+Yours be th' advantage all, mine the revenge!"
+ Thus Satan; and him thus the Anarch old,
+With faltering speech and visage incomposed,
+Answered: "I know thee, stranger, who thou art-- ***
+That mighty leading Angel, who of late
+Made head against Heaven's King, though overthrown.
+I saw and heard; for such a numerous host
+Fled not in silence through the frighted Deep,
+With ruin upon ruin, rout on rout,
+Confusion worse confounded; and Heaven-gates
+Poured out by millions her victorious bands,
+Pursuing. I upon my frontiers here
+Keep residence; if all I can will serve
+That little which is left so to defend,
+Encroached on still through our intestine broils
+Weakening the sceptre of old Night: first, Hell,
+Your dungeon, stretching far and wide beneath;
+Now lately Heaven and Earth, another world
+Hung o'er my realm, linked in a golden chain
+To that side Heaven from whence your legions fell!
+If that way be your walk, you have not far;
+So much the nearer danger. Go, and speed;
+Havoc, and spoil, and ruin, are my gain."
+ He ceased; and Satan stayed not to reply,
+But, glad that now his sea should find a shore,
+With fresh alacrity and force renewed
+Springs upward, like a pyramid of fire,
+Into the wild expanse, and through the shock
+Of fighting elements, on all sides round
+Environed, wins his way; harder beset
+And more endangered than when Argo passed
+Through Bosporus betwixt the justling rocks,
+Or when Ulysses on the larboard shunned
+Charybdis, and by th' other whirlpool steered.
+So he with difficulty and labour hard
+Moved on, with difficulty and labour he;
+But, he once passed, soon after, when Man fell,
+Strange alteration! Sin and Death amain,
+Following his track (such was the will of Heaven)
+Paved after him a broad and beaten way
+Over the dark Abyss, whose boiling gulf
+Tamely endured a bridge of wondrous length,
+From Hell continued, reaching th' utmost orb
+Of this frail World; by which the Spirits perverse
+With easy intercourse pass to and fro
+To tempt or punish mortals, except whom
+God and good Angels guard by special grace.
+ But now at last the sacred influence
+Of light appears, and from the walls of Heaven
+Shoots far into the bosom of dim Night
+A glimmering dawn. Here Nature first begins
+Her farthest verge, and Chaos to retire,
+As from her outmost works, a broken foe,
+With tumult less and with less hostile din;
+That Satan with less toil, and now with ease,
+Wafts on the calmer wave by dubious light,
+And, like a weather-beaten vessel, holds
+Gladly the port, though shrouds and tackle torn;
+Or in the emptier waste, resembling air,
+Weighs his spread wings, at leisure to behold
+Far off th' empyreal Heaven, extended wide
+In circuit, undetermined square or round,
+With opal towers and battlements adorned
+Of living sapphire, once his native seat;
+And, fast by, hanging in a golden chain,
+This pendent World, in bigness as a star
+Of smallest magnitude close by the moon.
+Thither, full fraught with mischievous revenge,
+Accursed, and in a cursed hour, he hies.
+
+
+
+Book III
+
+
+Hail, holy Light, offspring of Heaven firstborn,
+Or of the Eternal coeternal beam
+May I express thee unblam'd? since God is light,
+And never but in unapproached light
+Dwelt from eternity, dwelt then in thee
+Bright effluence of bright essence increate.
+Or hear"st thou rather pure ethereal stream,
+Whose fountain who shall tell? before the sun,
+Before the Heavens thou wert, and at the voice
+Of God, as with a mantle, didst invest ***
+The rising world of waters dark and deep,
+Won from the void and formless infinite.
+Thee I re-visit now with bolder wing,
+Escap'd the Stygian pool, though long detain'd
+In that obscure sojourn, while in my flight
+Through utter and through middle darkness borne,
+With other notes than to the Orphean lyre
+I sung of Chaos and eternal Night;
+Taught by the heavenly Muse to venture down
+The dark descent, and up to re-ascend,
+Though hard and rare: Thee I revisit safe,
+And feel thy sovran vital lamp; but thou
+Revisit'st not these eyes, that roll in vain
+To find thy piercing ray, and find no dawn;
+So thick a drop serene hath quench'd their orbs,
+Or dim suffusion veil'd. Yet not the more
+Cease I to wander, where the Muses haunt,
+Clear spring, or shady grove, or sunny hill,
+Smit with the love of sacred song; but chief
+Thee, Sion, and the flowery brooks beneath,
+That wash thy hallow'd feet, and warbling flow,
+Nightly I visit: nor sometimes forget
+So were I equall'd with them in renown,
+Thy sovran command, that Man should find grace;
+Blind Thamyris, and blind Maeonides,
+And Tiresias, and Phineus, prophets old:
+Then feed on thoughts, that voluntary move
+Harmonious numbers; as the wakeful bird
+Sings darkling, and in shadiest covert hid
+Tunes her nocturnal note. Thus with the year
+Seasons return; but not to me returns
+Day, or the sweet approach of even or morn,
+Or sight of vernal bloom, or summer's rose,
+Or flocks, or herds, or human face divine;
+But cloud instead, and ever-during dark
+Surrounds me, from the cheerful ways of men
+Cut off, and for the book of knowledge fair
+Presented with a universal blank
+Of nature's works to me expung'd and ras'd,
+And wisdom at one entrance quite shut out.
+So much the rather thou, celestial Light,
+Shine inward, and the mind through all her powers
+Irradiate; there plant eyes, all mist from thence
+Purge and disperse, that I may see and tell
+Of things invisible to mortal sight.
+Now had the Almighty Father from above,
+From the pure empyrean where he sits
+High thron'd above all highth, bent down his eye
+His own works and their works at once to view:
+About him all the Sanctities of Heaven
+Stood thick as stars, and from his sight receiv'd
+Beatitude past utterance; on his right
+The radiant image of his glory sat,
+His only son; on earth he first beheld
+Our two first parents, yet the only two
+Of mankind in the happy garden plac'd
+Reaping immortal fruits of joy and love,
+Uninterrupted joy, unrivall'd love,
+In blissful solitude; he then survey'd
+Hell and the gulf between, and Satan there
+Coasting the wall of Heaven on this side Night
+In the dun air sublime, and ready now
+To stoop with wearied wings, and willing feet,
+On the bare outside of this world, that seem'd
+Firm land imbosom'd, without firmament,
+Uncertain which, in ocean or in air.
+Him God beholding from his prospect high,
+Wherein past, present, future, he beholds,
+Thus to his only Son foreseeing spake.
+Only begotten Son, seest thou what rage
+Transports our Adversary? whom no bounds
+Prescrib'd no bars of Hell, nor all the chains
+Heap'd on him there, nor yet the main abyss
+Wide interrupt, can hold; so bent he seems
+On desperate revenge, that shall redound
+Upon his own rebellious head. And now,
+Through all restraint broke loose, he wings his way
+Not far off Heaven, in the precincts of light,
+Directly towards the new created world,
+And man there plac'd, with purpose to assay
+If him by force he can destroy, or, worse,
+By some false guile pervert; and shall pervert;
+For man will hearken to his glozing lies,
+And easily transgress the sole command,
+Sole pledge of his obedience: So will fall
+He and his faithless progeny: Whose fault?
+Whose but his own? ingrate, he had of me
+All he could have; I made him just and right,
+Sufficient to have stood, though free to fall.
+Such I created all the ethereal Powers
+And Spirits, both them who stood, and them who fail'd;
+Freely they stood who stood, and fell who fell.
+Not free, what proof could they have given sincere
+Of true allegiance, constant faith or love,
+Where only what they needs must do appear'd,
+Not what they would? what praise could they receive?
+What pleasure I from such obedience paid,
+When will and reason (reason also is choice)
+Useless and vain, of freedom both despoil'd,
+Made passive both, had serv'd necessity,
+Not me? they therefore, as to right belong$ 'd,
+So were created, nor can justly accuse
+Their Maker, or their making, or their fate,
+As if predestination over-rul'd
+Their will dispos'd by absolute decree
+Or high foreknowledge they themselves decreed
+Their own revolt, not I; if I foreknew,
+Foreknowledge had no influence on their fault,
+Which had no less proved certain unforeknown.
+So without least impulse or shadow of fate,
+Or aught by me immutably foreseen,
+They trespass, authors to themselves in all
+Both what they judge, and what they choose; for so
+I form'd them free: and free they must remain,
+Till they enthrall themselves; I else must change
+Their nature, and revoke the high decree
+Unchangeable, eternal, which ordain'd
+$THeir freedom: they themselves ordain'd their fall.
+The first sort by their own suggestion fell,
+Self-tempted, self-deprav'd: Man falls, deceiv'd
+By the other first: Man therefore shall find grace,
+The other none: In mercy and justice both,
+Through Heaven and Earth, so shall my glory excel;
+But Mercy, first and last, shall brightest shine.
+Thus while God spake, ambrosial fragrance fill'd
+All Heaven, and in the blessed Spirits elect
+Sense of new joy ineffable diffus'd.
+Beyond compare the Son of God was seen
+Most glorious; in him all his Father shone
+Substantially express'd; and in his face
+Divine compassion visibly appear'd,
+Love without end, and without measure grace,
+Which uttering, thus he to his Father spake.
+O Father, gracious was that word which clos'd
+Thy sovran command, that Man should find grace;
+, that Man should find grace;
+For which both Heaven and earth shall high extol
+Thy praises, with the innumerable sound
+Of hymns and sacred songs, wherewith thy throne
+Encompass'd shall resound thee ever blest.
+For should Man finally be lost, should Man,
+Thy creature late so lov'd, thy youngest son,
+Fall circumvented thus by fraud, though join'd
+With his own folly? that be from thee far,
+That far be from thee, Father, who art judge
+Of all things made, and judgest only right.
+Or shall the Adversary thus obtain
+His end, and frustrate thine? shall he fulfill
+His malice, and thy goodness bring to nought,
+Or proud return, though to his heavier doom,
+Yet with revenge accomplish'd, and to Hell
+Draw after him the whole race of mankind,
+By him corrupted? or wilt thou thyself
+Abolish thy creation, and unmake
+For him, what for thy glory thou hast made?
+So should thy goodness and thy greatness both
+Be question'd and blasphem'd without defence.
+To whom the great Creator thus replied.
+O son, in whom my soul hath chief delight,
+Son of my bosom, Son who art alone.
+My word, my wisdom, and effectual might,
+All hast thou spoken as my thoughts are, all
+As my eternal purpose hath decreed;
+Man shall not quite be lost, but sav'd who will;
+Yet not of will in him, but grace in me
+Freely vouchsaf'd; once more I will renew
+His lapsed powers, though forfeit; and enthrall'd
+By sin to foul exorbitant desires;
+Upheld by me, yet once more he shall stand
+On even ground against his mortal foe;
+By me upheld, that he may know how frail
+His fallen condition is, and to me owe
+All his deliverance, and to none but me.
+Some I have chosen of peculiar grace,
+Elect above the rest; so is my will:
+The rest shall hear me call, and oft be warn'd
+Their sinful state, and to appease betimes
+The incensed Deity, while offer'd grace
+Invites; for I will clear their senses dark,
+What may suffice, and soften stony hearts
+To pray, repent, and bring obedience due.
+To prayer, repentance, and obedience due,
+Though but endeavour'd with sincere intent,
+Mine ear shall not be slow, mine eye not shut.
+And I will place within them as a guide,
+My umpire Conscience; whom if they will hear,
+Light after light, well us'd, they shall attain,
+And to the end, persisting, safe arrive.
+This my long sufferance, and my day of grace,
+They who neglect and scorn, shall never taste;
+But hard be harden'd, blind be blinded more,
+That they may stumble on, and deeper fall;
+And none but such from mercy I exclude.
+But yet all is not done; Man disobeying,
+Disloyal, breaks his fealty, and sins
+Against the high supremacy of Heaven,
+Affecting God-head, and, so losing all,
+To expiate his treason hath nought left,
+But to destruction sacred and devote,
+He, with his whole posterity, must die,
+Die he or justice must; unless for him
+Some other able, and as willing, pay
+The rigid satisfaction, death for death.
+Say, heavenly Powers, where shall we find such love?
+Which of you will be mortal, to redeem
+Man's mortal crime, and just the unjust to save?
+Dwells in all Heaven charity so dear?
+And silence was in Heaven: $ on Man's behalf
+He ask'd, but all the heavenly quire stood mute,
+Patron or intercessour none appear'd,
+Much less that durst upon his own head draw
+The deadly forfeiture, and ransom set.
+And now without redemption all mankind
+Must have been lost, adjudg'd to Death and Hell
+By doom severe, had not the Son of God,
+In whom the fulness dwells of love divine,
+His dearest mediation thus renew'd.
+Father, thy word is past, Man shall find grace;
+And shall grace not find means, that finds her way,
+The speediest of thy winged messengers,
+To visit all thy creatures, and to all
+Comes unprevented, unimplor'd, unsought?
+Happy for Man, so coming; he her aid
+Can never seek, once dead in sins, and lost;
+Atonement for himself, or offering meet,
+Indebted and undone, hath none to bring;
+Behold me then: me for him, life for life
+I offer: on me let thine anger fall;
+Account me Man; I for his sake will leave
+ Thy bosom, and this glory next to thee
+ Freely put off, and for him lastly die
+ Well pleased; on me let Death wreak all his rage.
+ Under his gloomy power I shall not long
+ Lie vanquished. Thou hast given me to possess
+ Life in myself for ever; by thee I live;
+ Though now to Death I yield, and am his due,
+ All that of me can die, yet, that debt paid,
+ $ thou wilt not leave me in the loathsome grave
+ His prey, nor suffer my unspotted soul
+ For ever with corruption there to dwell;
+ But I shall rise victorious, and subdue
+ My vanquisher, spoiled of his vaunted spoil.
+ Death his death's wound shall then receive, and stoop
+ Inglorious, of his mortal sting disarmed;
+ I through the ample air in triumph high
+ Shall lead Hell captive maugre Hell, and show
+The powers of darkness bound. Thou, at the sight
+ Pleased, out of Heaven shalt look down and smile,
+ While, by thee raised, I ruin all my foes;
+ Death last, and with his carcase glut the grave;
+ Then, with the multitude of my redeemed,
+ Shall enter Heaven, long absent, and return,
+ Father, to see thy face, wherein no cloud
+ Of anger shall remain, but peace assured
+ And reconcilement: wrath shall be no more
+ Thenceforth, but in thy presence joy entire.
+ His words here ended; but his meek aspect
+ Silent yet spake, and breathed immortal love
+ To mortal men, above which only shone
+ Filial obedience: as a sacrifice
+ Glad to be offered, he attends the will
+ Of his great Father. Admiration seized
+ All Heaven, what this might mean, and whither tend,
+ Wondering; but soon th' Almighty thus replied.
+ O thou in Heaven and Earth the only peace
+ Found out for mankind under wrath, O thou
+ My sole complacence! Well thou know'st how dear
+ To me are all my works; nor Man the least,
+ Though last created, that for him I spare
+ Thee from my bosom and right hand, to save,
+ By losing thee a while, the whole race lost.
+
+ 00021053
+ Thou, therefore, whom thou only canst redeem,
+ Their nature also to thy nature join;
+ And be thyself Man among men on Earth,
+ Made flesh, when time shall be, of virgin seed,
+ By wondrous birth; be thou in Adam's room
+The head of all mankind, though Adam's son.
+As in him perish all men, so in thee,
+As from a second root, shall be restored
+As many as are restored, without thee none.
+His crime makes guilty all his sons; thy merit,
+Imputed, shall absolve them who renounce
+Their own both righteous and unrighteous deeds,
+And live in thee transplanted, and from thee
+Receive new life. So Man, as is most just,
+Shall satisfy for Man, be judged and die,
+And dying rise, and rising with him raise
+His brethren, ransomed with his own dear life.
+So heavenly love shall outdo hellish hate,
+Giving to death, and dying to redeem,
+So dearly to redeem what hellish hate
+So easily destroyed, and still destroys
+In those who, when they may, accept not grace.
+Nor shalt thou, by descending to assume
+Man's nature, lessen or degrade thine own.
+Because thou hast, though throned in highest bliss
+Equal to God, and equally enjoying
+God-like fruition, quitted all, to save
+A world from utter loss, and hast been found
+By merit more than birthright Son of God,
+Found worthiest to be so by being good,
+Far more than great or high; because in thee
+Love hath abounded more than glory abounds;
+Therefore thy humiliation shall exalt
+With thee thy manhood also to this throne:
+Here shalt thou sit incarnate, here shalt reign
+Both God and Man, Son both of God and Man,
+Anointed universal King; all power
+I give thee; reign for ever, and assume
+Thy merits; under thee, as head supreme,
+Thrones, Princedoms, Powers, Dominions, I reduce:
+All knees to thee shall bow, of them that bide
+In Heaven, or Earth, or under Earth in Hell.
+When thou, attended gloriously from Heaven,
+Shalt in the sky appear, and from thee send
+The summoning Arch-Angels to proclaim
+Thy dread tribunal; forthwith from all winds,
+The living, and forthwith the cited dead
+Of all past ages, to the general doom
+Shall hasten; such a peal shall rouse their sleep.
+Then, all thy saints assembled, thou shalt judge
+Bad Men and Angels; they, arraigned, shall sink
+Beneath thy sentence; Hell, her numbers full,
+Thenceforth shall be for ever shut. Mean while
+The world shall burn, and from her ashes spring
+New Heaven and Earth, wherein the just shall dwell,
+And, after all their tribulations long,
+See golden days, fruitful of golden deeds,
+With joy and peace triumphing, and fair truth.
+Then thou thy regal scepter shalt lay by,
+For regal scepter then no more shall need,
+God shall be all in all. But, all ye Gods,
+Adore him, who to compass all this dies;
+Adore the Son, and honour him as me.
+No sooner had the Almighty ceased, but all
+The multitude of Angels, with a shout
+Loud as from numbers without number, sweet
+As from blest voices, uttering joy, Heaven rung
+With jubilee, and loud Hosannas filled
+The eternal regions: Lowly reverent
+Towards either throne they bow, and to the ground
+With solemn adoration down they cast
+Their crowns inwove with amarant and gold;
+Immortal amarant, a flower which once
+In Paradise, fast by the tree of life,
+Began to bloom; but soon for man's offence
+To Heaven removed, where first it grew, there grows,
+And flowers aloft shading the fount of life,
+And where the river of bliss through midst of Heaven
+Rolls o'er Elysian flowers her amber stream;
+With these that never fade the Spirits elect
+Bind their resplendent locks inwreathed with beams;
+Now in loose garlands thick thrown off, the bright
+Pavement, that like a sea of jasper shone,
+Impurpled with celestial roses smiled.
+Then, crowned again, their golden harps they took,
+Harps ever tuned, that glittering by their side
+Like quivers hung, and with preamble sweet
+Of charming symphony they introduce
+Their sacred song, and waken raptures high;
+No voice exempt, no voice but well could join
+Melodious part, such concord is in Heaven.
+Thee, Father, first they sung Omnipotent,
+Immutable, Immortal, Infinite,
+Eternal King; the Author of all being,
+Fonntain of light, thyself invisible
+Amidst the glorious brightness where thou sit'st
+Throned inaccessible, but when thou shadest
+The full blaze of thy beams, and, through a cloud
+Drawn round about thee like a radiant shrine,
+Dark with excessive bright thy skirts appear,
+Yet dazzle Heaven, that brightest Seraphim
+Approach not, but with both wings veil their eyes.
+Thee next they sang of all creation first,
+Begotten Son, Divine Similitude,
+In whose conspicuous countenance, without cloud
+Made visible, the Almighty Father shines,
+Whom else no creature can behold; on thee
+Impressed the effulgence of his glory abides,
+Transfused on thee his ample Spirit rests.
+He Heaven of Heavens and all the Powers therein
+By thee created; and by thee threw down
+The aspiring Dominations: Thou that day
+Thy Father's dreadful thunder didst not spare,
+Nor stop thy flaming chariot-wheels, that shook
+Heaven's everlasting frame, while o'er the necks
+Thou drovest of warring Angels disarrayed.
+Back from pursuit thy Powers with loud acclaim
+Thee only extolled, Son of thy Father's might,
+To execute fierce vengeance on his foes,
+Not so on Man: Him through their malice fallen,
+Father of mercy and grace, thou didst not doom
+So strictly, but much more to pity incline:
+No sooner did thy dear and only Son
+Perceive thee purposed not to doom frail Man
+So strictly, but much more to pity inclined,
+He to appease thy wrath, and end the strife
+Of mercy and justice in thy face discerned,
+Regardless of the bliss wherein he sat
+Second to thee, offered himself to die
+For Man's offence. O unexampled love,
+Love no where to be found less than Divine!
+Hail, Son of God, Saviour of Men! Thy name
+Shall be the copious matter of my song
+Henceforth, and never shall my heart thy praise
+Forget, nor from thy Father's praise disjoin.
+Thus they in Heaven, above the starry sphere,
+Their happy hours in joy and hymning spent.
+Mean while upon the firm opacous globe
+Of this round world, whose first convex divides
+The luminous inferiour orbs, enclosed
+From Chaos, and the inroad of Darkness old,
+Satan alighted walks: A globe far off
+It seemed, now seems a boundless continent
+Dark, waste, and wild, under the frown of Night
+Starless exposed, and ever-threatening storms
+Of Chaos blustering round, inclement sky;
+Save on that side which from the wall of Heaven,
+Though distant far, some small reflection gains
+Of glimmering air less vexed with tempest loud:
+Here walked the Fiend at large in spacious field.
+As when a vultur on Imaus bred,
+Whose snowy ridge the roving Tartar bounds,
+Dislodging from a region scarce of prey
+To gorge the flesh of lambs or yeanling kids,
+On hills where flocks are fed, flies toward the springs
+Of Ganges or Hydaspes, Indian streams;
+But in his way lights on the barren plains
+Of Sericana, where Chineses drive
+With sails and wind their cany waggons light:
+So, on this windy sea of land, the Fiend
+Walked up and down alone, bent on his prey;
+Alone, for other creature in this place,
+Living or lifeless, to be found was none;
+None yet, but store hereafter from the earth
+Up hither like aereal vapours flew
+Of all things transitory and vain, when sin
+With vanity had filled the works of men:
+Both all things vain, and all who in vain things
+Built their fond hopes of glory or lasting fame,
+Or happiness in this or the other life;
+All who have their reward on earth, the fruits
+Of painful superstition and blind zeal,
+Nought seeking but the praise of men, here find
+Fit retribution, empty as their deeds;
+All the unaccomplished works of Nature's hand,
+Abortive, monstrous, or unkindly mixed,
+Dissolved on earth, fleet hither, and in vain,
+Till final dissolution, wander here;
+Not in the neighbouring moon as some have dreamed;
+Those argent fields more likely habitants,
+Translated Saints, or middle Spirits hold
+Betwixt the angelical and human kind.
+Hither of ill-joined sons and daughters born
+First from the ancient world those giants came
+With many a vain exploit, though then renowned:
+The builders next of Babel on the plain
+Of Sennaar, and still with vain design,
+New Babels, had they wherewithal, would build:
+Others came single; he, who, to be deemed
+A God, leaped fondly into Aetna flames,
+Empedocles; and he, who, to enjoy
+Plato's Elysium, leaped into the sea,
+Cleombrotus; and many more too long,
+Embryos, and idiots, eremites, and friars
+White, black, and gray, with all their trumpery.
+Here pilgrims roam, that strayed so far to seek
+In Golgotha him dead, who lives in Heaven;
+And they, who to be sure of Paradise,
+Dying, put on the weeds of Dominick,
+Or in Franciscan think to pass disguised;
+They pass the planets seven, and pass the fixed,
+And that crystalling sphere whose balance weighs
+The trepidation talked, and that first moved;
+And now Saint Peter at Heaven's wicket seems
+To wait them with his keys, and now at foot
+Of Heaven's ascent they lift their feet, when lo
+A violent cross wind from either coast
+Blows them transverse, ten thousand leagues awry
+Into the devious air: Then might ye see
+Cowls, hoods, and habits, with their wearers, tost
+And fluttered into rags; then reliques, beads,
+Indulgences, dispenses, pardons, bulls,
+The sport of winds: All these, upwhirled aloft,
+Fly o'er the backside of the world far off
+Into a Limbo large and broad, since called
+The Paradise of Fools, to few unknown
+Long after; now unpeopled, and untrod.
+All this dark globe the Fiend found as he passed,
+And long he wandered, till at last a gleam
+Of dawning light turned thither-ward in haste
+His travelled steps: far distant he descries
+Ascending by degrees magnificent
+Up to the wall of Heaven a structure high;
+At top whereof, but far more rich, appeared
+The work as of a kingly palace-gate,
+With frontispiece of diamond and gold
+Embellished; thick with sparkling orient gems
+The portal shone, inimitable on earth
+By model, or by shading pencil, drawn.
+These stairs were such as whereon Jacob saw
+Angels ascending and descending, bands
+Of guardians bright, when he from Esau fled
+To Padan-Aram, in the field of Luz
+Dreaming by night under the open sky
+And waking cried, This is the gate of Heaven.
+Each stair mysteriously was meant, nor stood
+There always, but drawn up to Heaven sometimes
+Viewless; and underneath a bright sea flowed
+Of jasper, or of liquid pearl, whereon
+Who after came from earth, failing arrived
+Wafted by Angels, or flew o'er the lake
+Rapt in a chariot drawn by fiery steeds.
+The stairs were then let down, whether to dare
+The Fiend by easy ascent, or aggravate
+His sad exclusion from the doors of bliss:
+Direct against which opened from beneath,
+Just o'er the blissful seat of Paradise,
+A passage down to the Earth, a passage wide,
+Wider by far than that of after-times
+Over mount Sion, and, though that were large,
+Over the Promised Land to God so dear;
+By which, to visit oft those happy tribes,
+On high behests his angels to and fro
+Passed frequent, and his eye with choice regard
+From Paneas, the fount of Jordan's flood,
+To Beersaba, where the Holy Land
+Borders on Egypt and the Arabian shore;
+So wide the opening seemed, where bounds were set
+To darkness, such as bound the ocean wave.
+Satan from hence, now on the lower stair,
+That scaled by steps of gold to Heaven-gate,
+Looks down with wonder at the sudden view
+Of all this world at once. As when a scout,
+Through dark?;nd desart ways with?oeril gone
+All?might,?;t?kast by break of cheerful dawn
+Obtains the brow of some high-climbing hill,
+Which to his eye discovers unaware
+The goodly prospect of some foreign land
+First seen, or some renowned metropolis
+With glistering spires and pinnacles adorned,
+Which now the rising sun gilds with his beams:
+Such wonder seised, though after Heaven seen,
+The Spirit malign, but much more envy seised,
+At sight of all this world beheld so fair.
+Round he surveys (and well might, where he stood
+So high above the circling canopy
+Of night's extended shade,) from eastern point
+Of Libra to the fleecy star that bears
+Andromeda far off Atlantick seas
+Beyond the horizon; then from pole to pole
+He views in breadth, and without longer pause
+Down right into the world's first region throws
+His flight precipitant, and winds with ease
+Through the pure marble air his oblique way
+Amongst innumerable stars, that shone
+Stars distant, but nigh hand seemed other worlds;
+Or other worlds they seemed, or happy isles,
+Like those Hesperian gardens famed of old,
+Fortunate fields, and groves, and flowery vales,
+Thrice happy isles; but who dwelt happy there
+He staid not to inquire: Above them all
+The golden sun, in splendour likest Heaven,
+Allured his eye; thither his course he bends
+Through the calm firmament, (but up or down,
+By center, or eccentrick, hard to tell,
+Or longitude,) where the great luminary
+Aloof the vulgar constellations thick,
+That from his lordly eye keep distance due,
+Dispenses light from far; they, as they move
+Their starry dance in numbers that compute
+Days, months, and years, towards his all-cheering lamp
+Turn swift their various motions, or are turned
+By his magnetick beam, that gently warms
+The universe, and to each inward part
+With gentle penetration, though unseen,
+Shoots invisible virtue even to the deep;
+So wonderously was set his station bright.
+There lands the Fiend, a spot like which perhaps
+Astronomer in the sun's lucent orb
+Through his glazed optick tube yet never saw.
+The place he found beyond expression bright,
+Compared with aught on earth, metal or stone;
+Not all parts like, but all alike informed
+With radiant light, as glowing iron with fire;
+If metal, part seemed gold, part silver clear;
+If stone, carbuncle most or chrysolite,
+Ruby or topaz, to the twelve that shone
+In Aaron's breast-plate, and a stone besides
+Imagined rather oft than elsewhere seen,
+That stone, or like to that which here below
+Philosophers in vain so long have sought,
+In vain, though by their powerful art they bind
+Volatile Hermes, and call up unbound
+In various shapes old Proteus from the sea,
+Drained through a limbeck to his native form.
+What wonder then if fields and regions here
+Breathe forth Elixir pure, and rivers run
+Potable gold, when with one virtuous touch
+The arch-chemick sun, so far from us remote,
+Produces, with terrestrial humour mixed,
+Here in the dark so many precious things
+Of colour glorious, and effect so rare?
+Here matter new to gaze the Devil met
+Undazzled; far and wide his eye commands;
+For sight no obstacle found here, nor shade,
+But all sun-shine, as when his beams at noon
+Culminate from the equator, as they now
+Shot upward still direct, whence no way round
+Shadow from body opaque can fall; and the air,
+No where so clear, sharpened his visual ray
+To objects distant far, whereby he soon
+Saw within ken a glorious Angel stand,
+The same whom John saw also in the sun:
+His back was turned, but not his brightness hid;
+Of beaming sunny rays a golden tiar
+Circled his head, nor less his locks behind
+Illustrious on his shoulders fledge with wings
+Lay waving round; on some great charge employed
+He seemed, or fixed in cogitation deep.
+Glad was the Spirit impure, as now in hope
+To find who might direct his wandering flight
+To Paradise, the happy seat of Man,
+His journey's end and our beginning woe.
+But first he casts to change his proper shape,
+Which else might work him danger or delay:
+And now a stripling Cherub he appears,
+Not of the prime, yet such as in his face
+Youth smiled celestial, and to every limb
+Suitable grace diffused, so well he feigned:
+Under a coronet his flowing hair
+In curls on either cheek played; wings he wore
+Of many a coloured plume, sprinkled with gold;
+His habit fit for speed succinct, and held
+Before his decent steps a silver wand.
+He drew not nigh unheard; the Angel bright,
+Ere he drew nigh, his radiant visage turned,
+Admonished by his ear, and straight was known
+The Arch-Angel Uriel, one of the seven
+Who in God's presence, nearest to his throne,
+Stand ready at command, and are his eyes
+That run through all the Heavens, or down to the Earth
+Bear his swift errands over moist and dry,
+O'er sea and land: him Satan thus accosts.
+Uriel, for thou of those seven Spirits that stand
+In sight of God's high throne, gloriously bright,
+The first art wont his great authentick will
+Interpreter through highest Heaven to bring,
+Where all his sons thy embassy attend;
+And here art likeliest by supreme decree
+Like honour to obtain, and as his eye
+To visit oft this new creation round;
+Unspeakable desire to see, and know
+All these his wonderous works, but chiefly Man,
+His chief delight and favour, him for whom
+All these his works so wonderous he ordained,
+Hath brought me from the quires of Cherubim
+Alone thus wandering. Brightest Seraph, tell
+In which of all these shining orbs hath Man
+His fixed seat, or fixed seat hath none,
+But all these shining orbs his choice to dwell;
+That I may find him, and with secret gaze
+Or open admiration him behold,
+On whom the great Creator hath bestowed
+Worlds, and on whom hath all these graces poured;
+That both in him and all things, as is meet,
+The universal Maker we may praise;
+Who justly hath driven out his rebel foes
+To deepest Hell, and, to repair that loss,
+Created this new happy race of Men
+To serve him better: Wise are all his ways.
+So spake the false dissembler unperceived;
+For neither Man nor Angel can discern
+Hypocrisy, the only evil that walks
+Invisible, except to God alone,
+By his permissive will, through Heaven and Earth:
+And oft, though wisdom wake, suspicion sleeps
+At wisdom's gate, and to simplicity
+Resigns her charge, while goodness thinks no ill
+Where no ill seems: Which now for once beguiled
+Uriel, though regent of the sun, and held
+The sharpest-sighted Spirit of all in Heaven;
+Who to the fraudulent impostor foul,
+In his uprightness, answer thus returned.
+Fair Angel, thy desire, which tends to know
+The works of God, thereby to glorify
+The great Work-master, leads to no excess
+That reaches blame, but rather merits praise
+The more it seems excess, that led thee hither
+From thy empyreal mansion thus alone,
+To witness with thine eyes what some perhaps,
+Contented with report, hear only in Heaven:
+For wonderful indeed are all his works,
+Pleasant to know, and worthiest to be all
+Had in remembrance always with delight;
+But what created mind can comprehend
+Their number, or the wisdom infinite
+That brought them forth, but hid their causes deep?
+I saw when at his word the formless mass,
+This world's material mould, came to a heap:
+Confusion heard his voice, and wild uproar
+Stood ruled, stood vast infinitude confined;
+Till at his second bidding Darkness fled,
+Light shone, and order from disorder sprung:
+Swift to their several quarters hasted then
+The cumbrous elements, earth, flood, air, fire;
+And this ethereal quintessence of Heaven
+Flew upward, spirited with various forms,
+That rolled orbicular, and turned to stars
+Numberless, as thou seest, and how they move;
+Each had his place appointed, each his course;
+The rest in circuit walls this universe.
+Look downward on that globe, whose hither side
+With light from hence, though but reflected, shines;
+That place is Earth, the seat of Man; that light
+His day, which else, as the other hemisphere,
+Night would invade; but there the neighbouring moon
+So call that opposite fair star) her aid
+Timely interposes, and her monthly round
+Still ending, still renewing, through mid Heaven,
+With borrowed light her countenance triform
+Hence fills and empties to enlighten the Earth,
+And in her pale dominion checks the night.
+That spot, to which I point, is Paradise,
+Adam's abode; those lofty shades, his bower.
+Thy way thou canst not miss, me mine requires.
+Thus said, he turned; and Satan, bowing low,
+As to superiour Spirits is wont in Heaven,
+Where honour due and reverence none neglects,
+Took leave, and toward the coast of earth beneath,
+Down from the ecliptick, sped with hoped success,
+Throws his steep flight in many an aery wheel;
+Nor staid, till on Niphates' top he lights.
+
+
+
+Book IV
+
+
+O, for that warning voice, which he, who saw
+The Apocalypse, heard cry in Heaven aloud,
+Then when the Dragon, put to second rout,
+Came furious down to be revenged on men,
+Woe to the inhabitants on earth! that now,
+While time was, our first parents had been warned
+The coming of their secret foe, and 'scaped,
+Haply so 'scaped his mortal snare: For now
+Satan, now first inflamed with rage, came down,
+The tempter ere the accuser of mankind,
+To wreak on innocent frail Man his loss
+Of that first battle, and his flight to Hell:
+Yet, not rejoicing in his speed, though bold
+Far off and fearless, nor with cause to boast,
+Begins his dire attempt; which nigh the birth
+Now rolling boils in his tumultuous breast,
+And like a devilish engine back recoils
+Upon himself; horrour and doubt distract
+His troubled thoughts, and from the bottom stir
+The Hell within him; for within him Hell
+He brings, and round about him, nor from Hell
+One step, no more than from himself, can fly
+By change of place: Now conscience wakes despair,
+That slumbered; wakes the bitter memory
+Of what he was, what is, and what must be
+Worse; of worse deeds worse sufferings must ensue.
+Sometimes towards Eden, which now in his view
+Lay pleasant, his grieved look he fixes sad;
+Sometimes towards Heaven, and the full-blazing sun,
+Which now sat high in his meridian tower:
+Then, much revolving, thus in sighs began.
+O thou, that, with surpassing glory crowned,
+Lookest from thy sole dominion like the God
+Of this new world; at whose sight all the stars
+Hide their diminished heads; to thee I call,
+But with no friendly voice, and add thy name,
+Of Sun! to tell thee how I hate thy beams,
+That bring to my remembrance from what state
+I fell, how glorious once above thy sphere;
+Till pride and worse ambition threw me down
+Warring in Heaven against Heaven's matchless King:
+Ah, wherefore! he deserved no such return
+From me, whom he created what I was
+In that bright eminence, and with his good
+Upbraided none; nor was his service hard.
+What could be less than to afford him praise,
+The easiest recompence, and pay him thanks,
+How due! yet all his good proved ill in me,
+And wrought but malice; lifted up so high
+I sdeined subjection, and thought one step higher
+Would set me highest, and in a moment quit
+The debt immense of endless gratitude,
+So burdensome still paying, still to owe,
+Forgetful what from him I still received,
+And understood not that a grateful mind
+By owing owes not, but still pays, at once
+Indebted and discharged; what burden then
+O, had his powerful destiny ordained
+Me some inferiour Angel, I had stood
+Then happy; no unbounded hope had raised
+Ambition! Yet why not some other Power
+As great might have aspired, and me, though mean,
+Drawn to his part; but other Powers as great
+Fell not, but stand unshaken, from within
+Or from without, to all temptations armed.
+Hadst thou the same free will and power to stand?
+Thou hadst: whom hast thou then or what to accuse,
+But Heaven's free love dealt equally to all?
+Be then his love accursed, since love or hate,
+To me alike, it deals eternal woe.
+Nay, cursed be thou; since against his thy will
+Chose freely what it now so justly rues.
+Me miserable! which way shall I fly
+Infinite wrath, and infinite despair?
+Which way I fly is Hell; myself am Hell;
+And, in the lowest deep, a lower deep
+Still threatening to devour me opens wide,
+To which the Hell I suffer seems a Heaven.
+O, then, at last relent: Is there no place
+Left for repentance, none for pardon left?
+None left but by submission; and that word
+Disdain forbids me, and my dread of shame
+Among the Spirits beneath, whom I seduced
+With other promises and other vaunts
+Than to submit, boasting I could subdue
+The Omnipotent. Ay me! they little know
+How dearly I abide that boast so vain,
+Under what torments inwardly I groan,
+While they adore me on the throne of Hell.
+With diadem and scepter high advanced,
+The lower still I fall, only supreme
+In misery: Such joy ambition finds.
+But say I could repent, and could obtain,
+By act of grace, my former state; how soon
+Would highth recall high thoughts, how soon unsay
+What feigned submission swore? Ease would recant
+Vows made in pain, as violent and void.
+For never can true reconcilement grow,
+Where wounds of deadly hate have pierced so deep:
+Which would but lead me to a worse relapse
+And heavier fall: so should I purchase dear
+Short intermission bought with double smart.
+This knows my Punisher; therefore as far
+From granting he, as I from begging, peace;
+All hope excluded thus, behold, in stead
+Mankind created, and for him this world.
+So farewell, hope; and with hope farewell, fear;
+Farewell, remorse! all good to me is lost;
+Evil, be thou my good; by thee at least
+Divided empire with Heaven's King I hold,
+By thee, and more than half perhaps will reign;
+As Man ere long, and this new world, shall know.
+Thus while he spake, each passion dimmed his face
+Thrice changed with pale, ire, envy, and despair;
+Which marred his borrowed visage, and betrayed
+Him counterfeit, if any eye beheld.
+For heavenly minds from such distempers foul
+Are ever clear. Whereof he soon aware,
+Each perturbation smoothed with outward calm,
+Artificer of fraud; and was the first
+That practised falsehood under saintly show,
+Deep malice to conceal, couched with revenge:
+Yet not enough had practised to deceive
+Uriel once warned; whose eye pursued him down
+ The way he went, and on the Assyrian mount
+ Saw him disfigured, more than could befall
+ Spirit of happy sort; his gestures fierce
+ He marked and mad demeanour, then alone,
+ As he supposed, all unobserved, unseen.
+ So on he fares, and to the border comes
+ Of Eden, where delicious Paradise,
+ Now nearer, crowns with her enclosure green,
+ As with a rural mound, the champaign head
+ Of a steep wilderness, whose hairy sides
+Access denied; and overhead upgrew
+ Insuperable height of loftiest shade,
+ Cedar, and pine, and fir, and branching palm,
+ A sylvan scene, and, as the ranks ascend,
+ Shade above shade, a woody theatre
+ Of stateliest view. Yet higher than their tops
+ The verdurous wall of Paradise upsprung;
+
+ 00081429
+Which to our general sire gave prospect large
+Into his nether empire neighbouring round.
+And higher than that wall a circling row
+Of goodliest trees, loaden with fairest fruit,
+Blossoms and fruits at once of golden hue,
+Appeared, with gay enamelled colours mixed:
+On which the sun more glad impressed his beams
+Than in fair evening cloud, or humid bow,
+When God hath showered the earth; so lovely seemed
+That landskip: And of pure now purer air
+Meets his approach, and to the heart inspires
+Vernal delight and joy, able to drive
+All sadness but despair: Now gentle gales,
+Fanning their odoriferous wings, dispense
+Native perfumes, and whisper whence they stole
+Those balmy spoils. As when to them who fail
+Beyond the Cape of Hope, and now are past
+Mozambick, off at sea north-east winds blow
+Sabean odours from the spicy shore
+Of Araby the blest; with such delay
+Well pleased they slack their course, and many a league
+Cheered with the grateful smell old Ocean smiles:
+So entertained those odorous sweets the Fiend,
+Who came their bane; though with them better pleased
+Than Asmodeus with the fishy fume
+That drove him, though enamoured, from the spouse
+Of Tobit's son, and with a vengeance sent
+From Media post to Egypt, there fast bound.
+Now to the ascent of that steep savage hill
+Satan had journeyed on, pensive and slow;
+But further way found none, so thick entwined,
+As one continued brake, the undergrowth
+Of shrubs and tangling bushes had perplexed
+All path of man or beast that passed that way.
+One gate there only was, and that looked east
+On the other side: which when the arch-felon saw,
+Due entrance he disdained; and, in contempt,
+At one flight bound high over-leaped all bound
+Of hill or highest wall, and sheer within
+Lights on his feet. As when a prowling wolf,
+Whom hunger drives to seek new haunt for prey,
+Watching where shepherds pen their flocks at eve
+In hurdled cotes amid the field secure,
+Leaps o'er the fence with ease into the fold:
+Or as a thief, bent to unhoard the cash
+Of some rich burgher, whose substantial doors,
+Cross-barred and bolted fast, fear no assault,
+In at the window climbs, or o'er the tiles:
+So clomb this first grand thief into God's fold;
+So since into his church lewd hirelings climb.
+Thence up he flew, and on the tree of life,
+The middle tree and highest there that grew,
+Sat like a cormorant; yet not true life
+Thereby regained, but sat devising death
+To them who lived; nor on the virtue thought
+Of that life-giving plant, but only used
+For prospect, what well used had been the pledge
+Of immortality. So little knows
+Any, but God alone, to value right
+The good before him, but perverts best things
+To worst abuse, or to their meanest use.
+Beneath him with new wonder now he views,
+To all delight of human sense exposed,
+In narrow room, Nature's whole wealth, yea more,
+A Heaven on Earth: For blissful Paradise
+Of God the garden was, by him in the east
+Of Eden planted; Eden stretched her line
+From Auran eastward to the royal towers
+Of great Seleucia, built by Grecian kings,
+Of where the sons of Eden long before
+Dwelt in Telassar: In this pleasant soil
+His far more pleasant garden God ordained;
+Out of the fertile ground he caused to grow
+All trees of noblest kind for sight, smell, taste;
+And all amid them stood the tree of life,
+High eminent, blooming ambrosial fruit
+Of vegetable gold; and next to life,
+Our death, the tree of knowledge, grew fast by,
+Knowledge of good bought dear by knowing ill.
+Southward through Eden went a river large,
+Nor changed his course, but through the shaggy hill
+Passed underneath ingulfed; for God had thrown
+That mountain as his garden-mould high raised
+Upon the rapid current, which, through veins
+Of porous earth with kindly thirst up-drawn,
+Rose a fresh fountain, and with many a rill
+Watered the garden; thence united fell
+Down the steep glade, and met the nether flood,
+Which from his darksome passage now appears,
+And now, divided into four main streams,
+Runs diverse, wandering many a famous realm
+And country, whereof here needs no account;
+But rather to tell how, if Art could tell,
+How from that sapphire fount the crisped brooks,
+Rolling on orient pearl and sands of gold,
+With mazy errour under pendant shades
+Ran nectar, visiting each plant, and fed
+Flowers worthy of Paradise, which not nice Art
+In beds and curious knots, but Nature boon
+Poured forth profuse on hill, and dale, and plain,
+Both where the morning sun first warmly smote
+The open field, and where the unpierced shade
+Imbrowned the noontide bowers: Thus was this place
+A happy rural seat of various view;
+Groves whose rich trees wept odorous gums and balm,
+Others whose fruit, burnished with golden rind,
+Hung amiable, Hesperian fables true,
+If true, here only, and of delicious taste:
+Betwixt them lawns, or level downs, and flocks
+Grazing the tender herb, were interposed,
+Or palmy hillock; or the flowery lap
+Of some irriguous valley spread her store,
+Flowers of all hue, and without thorn the rose:
+Another side, umbrageous grots and caves
+Of cool recess, o'er which the mantling vine
+Lays forth her purple grape, and gently creeps
+Luxuriant; mean while murmuring waters fall
+Down the slope hills, dispersed, or in a lake,
+That to the fringed bank with myrtle crowned
+Her crystal mirrour holds, unite their streams.
+The birds their quire apply; airs, vernal airs,
+Breathing the smell of field and grove, attune
+The trembling leaves, while universal Pan,
+Knit with the Graces and the Hours in dance,
+Led on the eternal Spring. Not that fair field
+Of Enna, where Proserpine gathering flowers,
+Herself a fairer flower by gloomy Dis
+Was gathered, which cost Ceres all that pain
+To seek her through the world; nor that sweet grove
+Of Daphne by Orontes, and the inspired
+Castalian spring, might with this Paradise
+Of Eden strive; nor that Nyseian isle
+Girt with the river Triton, where old Cham,
+Whom Gentiles Ammon call and Libyan Jove,
+Hid Amalthea, and her florid son
+Young Bacchus, from his stepdame Rhea's eye;
+Nor where Abassin kings their issue guard,
+Mount Amara, though this by some supposed
+True Paradise under the Ethiop line
+By Nilus' head, enclosed with shining rock,
+A whole day's journey high, but wide remote
+From this Assyrian garden, where the Fiend
+Saw, undelighted, all delight, all kind
+Of living creatures, new to sight, and strange
+Two of far nobler shape, erect and tall,
+Godlike erect, with native honour clad
+In naked majesty seemed lords of all:
+And worthy seemed; for in their looks divine
+The image of their glorious Maker shone,
+Truth, wisdom, sanctitude severe and pure,
+(Severe, but in true filial freedom placed,)
+Whence true authority in men; though both
+Not equal, as their sex not equal seemed;
+For contemplation he and valour formed;
+For softness she and sweet attractive grace;
+He for God only, she for God in him:
+His fair large front and eye sublime declared
+Absolute rule; and hyacinthine locks
+Round from his parted forelock manly hung
+Clustering, but not beneath his shoulders broad:
+She, as a veil, down to the slender waist
+Her unadorned golden tresses wore
+Dishevelled, but in wanton ringlets waved
+As the vine curls her tendrils, which implied
+Subjection, but required with gentle sway,
+And by her yielded, by him best received,
+Yielded with coy submission, modest pride,
+And sweet, reluctant, amorous delay.
+Nor those mysterious parts were then concealed;
+Then was not guilty shame, dishonest shame
+Of nature's works, honour dishonourable,
+Sin-bred, how have ye troubled all mankind
+With shows instead, mere shows of seeming pure,
+And banished from man's life his happiest life,
+Simplicity and spotless innocence!
+So passed they naked on, nor shunned the sight
+Of God or Angel; for they thought no ill:
+So hand in hand they passed, the loveliest pair,
+That ever since in love's embraces met;
+Adam the goodliest man of men since born
+His sons, the fairest of her daughters Eve.
+Under a tuft of shade that on a green
+Stood whispering soft, by a fresh fountain side
+They sat them down; and, after no more toil
+Of their sweet gardening labour than sufficed
+To recommend cool Zephyr, and made ease
+More easy, wholesome thirst and appetite
+More grateful, to their supper-fruits they fell,
+Nectarine fruits which the compliant boughs
+Yielded them, side-long as they sat recline
+On the soft downy bank damasked with flowers:
+The savoury pulp they chew, and in the rind,
+Still as they thirsted, scoop the brimming stream;
+Nor gentle purpose, nor endearing smiles
+Wanted, nor youthful dalliance, as beseems
+Fair couple, linked in happy nuptial league,
+Alone as they. About them frisking played
+All beasts of the earth, since wild, and of all chase
+In wood or wilderness, forest or den;
+Sporting the lion ramped, and in his paw
+Dandled the kid; bears, tigers, ounces, pards,
+Gambolled before them; the unwieldy elephant,
+To make them mirth, used all his might, and wreathed
+His?kithetmroboscis; close the serpent sly,
+Insinuating, wove with Gordian twine
+His braided train, and of his fatal guile
+Gave proof unheeded; others on the grass
+Couched, and now filled with pasture gazing sat,
+Or bedward ruminating; for the sun,
+Declined, was hasting now with prone career
+To the ocean isles, and in the ascending scale
+Of Heaven the stars that usher evening rose:
+When Satan still in gaze, as first he stood,
+Scarce thus at length failed speech recovered sad.
+O Hell! what do mine eyes with grief behold!
+Into our room of bliss thus high advanced
+Creatures of other mould, earth-born perhaps,
+Not Spirits, yet to heavenly Spirits bright
+Little inferiour; whom my thoughts pursue
+With wonder, and could love, so lively shines
+In them divine resemblance, and such grace
+The hand that formed them on their shape hath poured.
+Ah! gentle pair, ye little think how nigh
+Your change approaches, when all these delights
+Will vanish, and deliver ye to woe;
+More woe, the more your taste is now of joy;
+Happy, but for so happy ill secured
+Long to continue, and this high seat your Heaven
+Ill fenced for Heaven to keep out such a foe
+As now is entered; yet no purposed foe
+To you, whom I could pity thus forlorn,
+Though I unpitied: League with you I seek,
+And mutual amity, so strait, so close,
+That I with you must dwell, or you with me
+Henceforth; my dwelling haply may not please,
+Like this fair Paradise, your sense; yet such
+Accept your Maker's work; he gave it me,
+Which I as freely give: Hell shall unfold,
+To entertain you two, her widest gates,
+And send forth all her kings; there will be room,
+Not like these narrow limits, to receive
+Your numerous offspring; if no better place,
+Thank him who puts me loth to this revenge
+On you who wrong me not for him who wronged.
+And should I at your harmless innocence
+Melt, as I do, yet publick reason just,
+Honour and empire with revenge enlarged,
+By conquering this new world, compels me now
+To do what else, though damned, I should abhor.
+So spake the Fiend, and with necessity,
+The tyrant's plea, excused his devilish deeds.
+Then from his lofty stand on that high tree
+Down he alights among the sportful herd
+Of those four-footed kinds, himself now one,
+Now other, as their shape served best his end
+Nearer to view his prey, and, unespied,
+To mark what of their state he more might learn,
+By word or action marked. About them round
+A lion now he stalks with fiery glare;
+Then as a tiger, who by chance hath spied
+In some purlieu two gentle fawns at play,
+Straight couches close, then, rising, changes oft
+His couchant watch, as one who chose his ground,
+Whence rushing, he might surest seize them both,
+Griped in each paw: when, Adam first of men
+To first of women Eve thus moving speech,
+Turned him, all ear to hear new utterance flow.
+Sole partner, and sole part, of all these joys,
+Dearer thyself than all; needs must the Power
+That made us, and for us this ample world,
+Be infinitely good, and of his good
+As liberal and free as infinite;
+That raised us from the dust, and placed us here
+In all this happiness, who at his hand
+Have nothing merited, nor can perform
+Aught whereof he hath need; he who requires
+From us no other service than to keep
+This one, this easy charge, of all the trees
+In Paradise that bear delicious fruit
+So various, not to taste that only tree
+Of knowledge, planted by the tree of life;
+So near grows death to life, whate'er death is,
+Some dreadful thing no doubt; for well thou knowest
+God hath pronounced it death to taste that tree,
+The only sign of our obedience left,
+Among so many signs of power and rule
+Conferred upon us, and dominion given
+Over all other creatures that possess
+Earth, air, and sea. Then let us not think hard
+One easy prohibition, who enjoy
+Free leave so large to all things else, and choice
+Unlimited of manifold delights:
+But let us ever praise him, and extol
+His bounty, following our delightful task,
+To prune these growing plants, and tend these flowers,
+Which were it toilsome, yet with thee were sweet.
+To whom thus Eve replied. O thou for whom
+And from whom I was formed, flesh of thy flesh,
+And without whom am to no end, my guide
+And head! what thou hast said is just and right.
+For we to him indeed all praises owe,
+And daily thanks; I chiefly, who enjoy
+So far the happier lot, enjoying thee
+Pre-eminent by so much odds, while thou
+Like consort to thyself canst no where find.
+That day I oft remember, when from sleep
+I first awaked, and found myself reposed
+Under a shade on flowers, much wondering where
+And what I was, whence thither brought, and how.
+Not distant far from thence a murmuring sound
+Of waters issued from a cave, and spread
+Into a liquid plain, then stood unmoved
+Pure as the expanse of Heaven; I thither went
+With unexperienced thought, and laid me down
+On the green bank, to look into the clear
+Smooth lake, that to me seemed another sky.
+As I bent down to look, just opposite
+A shape within the watery gleam appeared,
+Bending to look on me: I started back,
+It started back; but pleased I soon returned,
+Pleased it returned as soon with answering looks
+Of sympathy and love: There I had fixed
+Mine eyes till now, and pined with vain desire,
+Had not a voice thus warned me; 'What thou seest,
+'What there thou seest, fair Creature, is thyself;
+'With thee it came and goes: but follow me,
+'And I will bring thee where no shadow stays
+'Thy coming, and thy soft embraces, he
+'Whose image thou art; him thou shalt enjoy
+'Inseparably thine, to him shalt bear
+'Multitudes like thyself, and thence be called
+'Mother of human race.' What could I do,
+But follow straight, invisibly thus led?
+Till I espied thee, fair indeed and tall,
+Under a platane; yet methought less fair,
+Less winning soft, less amiably mild,
+Than that smooth watery image: Back I turned;
+Thou following cryedst aloud, 'Return, fair Eve;
+'Whom flyest thou? whom thou flyest, of him thou art,
+'His flesh, his bone; to give thee being I lent
+'Out of my side to thee, nearest my heart,
+'Substantial life, to have thee by my side
+'Henceforth an individual solace dear;
+'Part of my soul I seek thee, and thee claim
+'My other half:' With that thy gentle hand
+Seised mine: I yielded;and from that time see
+How beauty is excelled by manly grace,
+And wisdom, which alone is truly fair.
+So spake our general mother, and with eyes
+Of conjugal attraction unreproved,
+And meek surrender, half-embracing leaned
+On our first father; half her swelling breast
+Naked met his, under the flowing gold
+Of her loose tresses hid: he in delight
+Both of her beauty, and submissive charms,
+Smiled with superiour love, as Jupiter
+On Juno smiles, when he impregns the clouds
+That shed Mayflowers; and pressed her matron lip
+With kisses pure: Aside the Devil turned
+For envy; yet with jealous leer malign
+Eyed them askance, and to himself thus plained.
+Sight hateful, sight tormenting! thus these two,
+Imparadised in one another's arms,
+The happier Eden, shall enjoy their fill
+Of bliss on bliss; while I to Hell am thrust,
+Where neither joy nor love, but fierce desire,
+Among our other torments not the least,
+Still unfulfilled with pain of longing pines.
+Yet let me not forget what I have gained
+From their own mouths: All is not theirs, it seems;
+One fatal tree there stands, of knowledge called,
+Forbidden them to taste: Knowledge forbidden
+Suspicious, reasonless. Why should their Lord
+Envy them that? Can it be sin to know?
+Can it be death? And do they only stand
+By ignorance? Is that their happy state,
+The proof of their obedience and their faith?
+O fair foundation laid whereon to build
+Their ruin! hence I will excite their minds
+With more desire to know, and to reject
+Envious commands, invented with design
+To keep them low, whom knowledge might exalt
+Equal with Gods: aspiring to be such,
+They taste and die: What likelier can ensue
+But first with narrow search I must walk round
+This garden, and no corner leave unspied;
+A chance but chance may lead where I may meet
+Some wandering Spirit of Heaven by fountain side,
+Or in thick shade retired, from him to draw
+What further would be learned. Live while ye may,
+Yet happy pair; enjoy, till I return,
+Short pleasures, for long woes are to succeed!
+So saying, his proud step he scornful turned,
+But with sly circumspection, and began
+Through wood, through waste, o'er hill, o'er dale, his roam
+Mean while in utmost longitude, where Heaven
+With earth and ocean meets, the setting sun
+Slowly descended, and with right aspect
+Against the eastern gate of Paradise
+Levelled his evening rays: It was a rock
+Of alabaster, piled up to the clouds,
+Conspicuous far, winding with one ascent
+Accessible from earth, one entrance high;
+The rest was craggy cliff, that overhung
+Still as it rose, impossible to climb.
+Betwixt these rocky pillars Gabriel sat,
+Chief of the angelick guards, awaiting night;
+About him exercised heroick games
+The unarmed youth of Heaven, but nigh at hand
+Celestial armoury, shields, helms, and spears,
+Hung high with diamond flaming, and with gold.
+Thither came Uriel, gliding through the even
+On a sun-beam, swift as a shooting star
+In autumn thwarts the night, when vapours fired
+Impress the air, and shows the mariner
+From what point of his compass to beware
+Impetuous winds: He thus began in haste.
+Gabriel, to thee thy course by lot hath given
+Charge and strict watch, that to this happy place
+No evil thing approach or enter in.
+This day at highth of noon came to my sphere
+A Spirit, zealous, as he seemed, to know
+More of the Almighty's works, and chiefly Man,
+God's latest image: I described his way
+Bent all on speed, and marked his aery gait;
+But in the mount that lies from Eden north,
+Where he first lighted, soon discerned his looks
+Alien from Heaven, with passions foul obscured:
+Mine eye pursued him still, but under shade
+Lost sight of him: One of the banished crew,
+I fear, hath ventured from the deep, to raise
+New troubles; him thy care must be to find.
+To whom the winged warriour thus returned.
+Uriel, no wonder if thy perfect sight,
+Amid the sun's bright circle where thou sitst,
+See far and wide: In at this gate none pass
+The vigilance here placed, but such as come
+Well known from Heaven; and since meridian hour
+No creature thence: If Spirit of other sort,
+So minded, have o'er-leaped these earthly bounds
+On purpose, hard thou knowest it to exclude
+Spiritual substance with corporeal bar.
+But if within the circuit of these walks,
+In whatsoever shape he lurk, of whom
+Thou tellest, by morrow dawning I shall know.
+So promised he; and Uriel to his charge
+Returned on that bright beam, whose point now raised
+Bore him slope downward to the sun now fallen
+Beneath the Azores; whether the prime orb,
+Incredible how swift, had thither rolled
+Diurnal, or this less volubil earth,
+By shorter flight to the east, had left him there
+Arraying with reflected purple and gold
+The clouds that on his western throne attend.
+Now came still Evening on, and Twilight gray
+Had in her sober livery all things clad;
+Silence accompanied; for beast and bird,
+They to their grassy couch, these to their nests
+Were slunk, all but the wakeful nightingale;
+She all night long her amorous descant sung;
+Silence was pleased: Now glowed the firmament
+With living sapphires: Hesperus, that led
+The starry host, rode brightest, till the moon,
+Rising in clouded majesty, at length
+Apparent queen unveiled her peerless light,
+And o'er the dark her silver mantle threw.
+When Adam thus to Eve. Fair Consort, the hour
+Of night, and all things now retired to rest,
+Mind us of like repose; since God hath set
+Labour and rest, as day and night, to men
+Successive; and the timely dew of sleep,
+Now falling with soft slumbrous weight, inclines
+Our eye-lids: Other creatures all day long
+Rove idle, unemployed, and less need rest;
+Man hath his daily work of body or mind
+Appointed, which declares his dignity,
+And the regard of Heaven on all his ways;
+While other animals unactive range,
+And of their doings God takes no account.
+To-morrow, ere fresh morning streak the east
+With first approach of light, we must be risen,
+And at our pleasant labour, to reform
+Yon flowery arbours, yonder alleys green,
+Our walk at noon, with branches overgrown,
+That mock our scant manuring, and require
+More hands than ours to lop their wanton growth:
+Those blossoms also, and those dropping gums,
+That lie bestrown, unsightly and unsmooth,
+Ask riddance, if we mean to tread with ease;
+Mean while, as Nature wills, night bids us rest.
+To whom thus Eve, with perfect beauty adorned
+My Author and Disposer, what thou bidst
+Unargued I obey: So God ordains;
+God is thy law, thou mine: To know no more
+Is woman's happiest knowledge, and her praise.
+With thee conversing I forget all time;
+All seasons, and their change, all please alike.
+Sweet is the breath of Morn, her rising sweet,
+With charm of earliest birds: pleasant the sun,
+When first on this delightful land he spreads
+His orient beams, on herb, tree, fruit, and flower,
+Glistering with dew; fragrant the fertile earth
+After soft showers; and sweet the coming on
+Of grateful Evening mild; then silent Night,
+With this her solemn bird, and this fair moon,
+And these the gems of Heaven, her starry train:
+But neither breath of Morn, when she ascends
+With charm of earliest birds; nor rising sun
+On this delightful land; nor herb, fruit, flower,
+Glistering with dew; nor fragrance after showers;
+Nor grateful Evening mild; nor silent Night,
+With this her solemn bird, nor walk by moon,
+Or glittering star-light, without thee is sweet.
+But wherefore all night long shine these? for whom
+This glorious sight, when sleep hath shut all eyes?
+To whom our general ancestor replied.
+Daughter of God and Man, accomplished Eve,
+These have their course to finish round the earth,
+By morrow evening, and from land to land
+In order, though to nations yet unborn,
+Ministring light prepared, they set and rise;
+Lest total Darkness should by night regain
+Her old possession, and extinguish life
+In Nature and all things; which these soft fires
+Not only enlighten, but with kindly heat
+Of various influence foment and warm,
+Temper or nourish, or in part shed down
+Their stellar virtue on all kinds that grow
+On earth, made hereby apter to receive
+Perfection from the sun's more potent ray.
+These then, though unbeheld in deep of night,
+Shine not in vain; nor think, though men were none,
+That Heaven would want spectators, God want praise:
+Millions of spiritual creatures walk the earth
+Unseen, both when we wake, and when we sleep:
+All these with ceaseless praise his works behold
+Both day and night: How often from the steep
+Of echoing hill or thicket have we heard
+Celestial voices to the midnight air,
+Sole, or responsive each to others note,
+Singing their great Creator? oft in bands
+While they keep watch, or nightly rounding walk,
+With heavenly touch of instrumental sounds
+In full harmonick number joined, their songs
+Divide the night, and lift our thoughts to Heaven.
+Thus talking, hand in hand alone they passed
+On to their blissful bower: it was a place
+Chosen by the sovran Planter, when he framed
+All things to Man's delightful use; the roof
+Of thickest covert was inwoven shade
+Laurel and myrtle, and what higher grew
+Of firm and fragrant leaf; on either side
+Acanthus, and each odorous bushy shrub,
+Fenced up the verdant wall; each beauteous flower,
+Iris all hues, roses, and jessamin,
+Reared high their flourished heads between, and wrought
+Mosaick; underfoot the violet,
+Crocus, and hyacinth, with rich inlay
+Broidered the ground, more coloured than with stone
+Of costliest emblem: Other creature here,
+Bird, beast, insect, or worm, durst enter none,
+Such was their awe of Man. In shadier bower
+More sacred and sequestered, though but feigned,
+Pan or Sylvanus never slept, nor Nymph
+Nor Faunus haunted. Here, in close recess,
+With flowers, garlands, and sweet-smelling herbs,
+Espoused Eve decked first her nuptial bed;
+And heavenly quires the hymenaean sung,
+What day the genial Angel to our sire
+Brought her in naked beauty more adorned,
+More lovely, than Pandora, whom the Gods
+Endowed with all their gifts, and O! too like
+In sad event, when to the unwiser son
+Of Japhet brought by Hermes, she ensnared
+Mankind with her fair looks, to be avenged
+On him who had stole Jove's authentick fire.
+Thus, at their shady lodge arrived, both stood,
+Both turned, and under open sky adored
+The God that made both sky, air, earth, and heaven,
+Which they beheld, the moon's resplendent globe,
+And starry pole: Thou also madest the night,
+Maker Omnipotent, and thou the day,
+Which we, in our appointed work employed,
+Have finished, happy in our mutual help
+And mutual love, the crown of all our bliss
+Ordained by thee; and this delicious place
+For us too large, where thy abundance wants
+Partakers, and uncropt falls to the ground.
+But thou hast promised from us two a race
+To fill the earth, who shall with us extol
+Thy goodness infinite, both when we wake,
+And when we seek, as now, thy gift of sleep.
+This said unanimous, and other rites
+Observing none, but adoration pure
+Which God likes best, into their inmost bower
+Handed they went; and, eased the putting off
+These troublesome disguises which we wear,
+Straight side by side were laid; nor turned, I ween,
+Adam from his fair spouse, nor Eve the rites
+Mysterious of connubial love refused:
+Whatever hypocrites austerely talk
+Of purity, and place, and innocence,
+Defaming as impure what God declares
+Pure, and commands to some, leaves free to all.
+Our Maker bids encrease; who bids abstain
+But our Destroyer, foe to God and Man?
+Hail, wedded Love, mysterious law, true source
+Of human offspring, sole propriety
+In Paradise of all things common else!
+By thee adulterous Lust was driven from men
+Among the bestial herds to range; by thee
+Founded in reason, loyal, just, and pure,
+Relations dear, and all the charities
+Of father, son, and brother, first were known.
+Far be it, that I should write thee sin or blame,
+Or think thee unbefitting holiest place,
+Perpetual fountain of domestick sweets,
+Whose bed is undefiled and chaste pronounced,
+Present, or past, as saints and patriarchs used.
+Here Love his golden shafts employs, here lights
+His constant lamp, and waves his purple wings,
+Reigns here and revels; not in the bought smile
+Of harlots, loveless, joyless, unendeared,
+Casual fruition; nor in court-amours,
+Mixed dance, or wanton mask, or midnight ball,
+Or serenate, which the starved lover sings
+To his proud fair, best quitted with disdain.
+These, lulled by nightingales, embracing slept,
+And on their naked limbs the flowery roof
+Showered roses, which the morn repaired. Sleep on,
+Blest pair; and O!yet happiest, if ye seek
+No happier state, and know to know no more.
+Now had night measured with her shadowy cone
+Half way up hill this vast sublunar vault,
+And from their ivory port the Cherubim,
+Forth issuing at the accustomed hour, stood armed
+To their night watches in warlike parade;
+When Gabriel to his next in power thus spake.
+Uzziel, half these draw off, and coast the south
+With strictest watch; these other wheel the north;
+Our circuit meets full west. As flame they part,
+Half wheeling to the shield, half to the spear.
+From these, two strong and subtle Spirits he called
+That near him stood, and gave them thus in charge.
+Ithuriel and Zephon, with winged speed
+Search through this garden, leave unsearched no nook;
+But chiefly where those two fair creatures lodge,
+Now laid perhaps asleep, secure of harm.
+This evening from the sun's decline arrived,
+Who tells of some infernal Spirit seen
+Hitherward bent (who could have thought?) escaped
+The bars of Hell, on errand bad no doubt:
+Such, where ye find, seise fast, and hither bring.
+So saying, on he led his radiant files,
+Dazzling the moon; these to the bower direct
+In search of whom they sought: Him there they found
+Squat like a toad, close at the ear of Eve,
+Assaying by his devilish art to reach
+The organs of her fancy, and with them forge
+Illusions, as he list, phantasms and dreams;
+Or if, inspiring venom, he might taint
+The animal spirits, that from pure blood arise
+Like gentle breaths from rivers pure, thence raise
+At least distempered, discontented thoughts,
+Vain hopes, vain aims, inordinate desires,
+Blown up with high conceits ingendering pride.
+Him thus intent Ithuriel with his spear
+Touched lightly; for no falshood can endure
+Touch of celestial temper, but returns
+Of force to its own likeness: Up he starts
+Discovered and surprised. As when a spark
+Lights on a heap of nitrous powder, laid
+Fit for the tun some magazine to store
+Against a rumoured war, the smutty grain,
+With sudden blaze diffused, inflames the air;
+So started up in his own shape the Fiend.
+Back stept those two fair Angels, half amazed
+So sudden to behold the grisly king;
+Yet thus, unmoved with fear, accost him soon.
+Which of those rebel Spirits adjudged to Hell
+Comest thou, escaped thy prison? and, transformed,
+Why sat'st thou like an enemy in wait,
+Here watching at the head of these that sleep?
+Know ye not then said Satan, filled with scorn,
+Know ye not me? ye knew me once no mate
+For you, there sitting where ye durst not soar:
+Not to know me argues yourselves unknown,
+The lowest of your throng; or, if ye know,
+Why ask ye, and superfluous begin
+Your message, like to end as much in vain?
+To whom thus Zephon, answering scorn with scorn.
+Think not, revolted Spirit, thy shape the same,
+Or undiminished brightness to be known,
+As when thou stoodest in Heaven upright and pure;
+That glory then, when thou no more wast good,
+Departed from thee; and thou resemblest now
+Thy sin and place of doom obscure and foul.
+But come, for thou, be sure, shalt give account
+To him who sent us, whose charge is to keep
+This place inviolable, and these from harm.
+So spake the Cherub; and his grave rebuke,
+Severe in youthful beauty, added grace
+Invincible: Abashed the Devil stood,
+And felt how awful goodness is, and saw
+Virtue in her shape how lovely; saw, and pined
+His loss; but chiefly to find here observed
+His lustre visibly impaired; yet seemed
+Undaunted. If I must contend, said he,
+Best with the best, the sender, not the sent,
+Or all at once; more glory will be won,
+Or less be lost. Thy fear, said Zephon bold,
+Will save us trial what the least can do
+Single against thee wicked, and thence weak.
+The Fiend replied not, overcome with rage;
+But, like a proud steed reined, went haughty on,
+Champing his iron curb: To strive or fly
+He held it vain; awe from above had quelled
+His heart, not else dismayed. Now drew they nigh
+The western point, where those half-rounding guards
+Just met, and closing stood in squadron joined,
+A waiting next command. To whom their Chief,
+Gabriel, from the front thus called aloud.
+O friends! I hear the tread of nimble feet
+Hasting this way, and now by glimpse discern
+Ithuriel and Zephon through the shade;
+And with them comes a third of regal port,
+But faded splendour wan; who by his gait
+And fierce demeanour seems the Prince of Hell,
+Not likely to part hence without contest;
+Stand firm, for in his look defiance lours.
+He scarce had ended, when those two approached,
+And brief related whom they brought, where found,
+How busied, in what form and posture couched.
+To whom with stern regard thus Gabriel spake.
+Why hast thou, Satan, broke the bounds prescribed
+To thy transgressions, and disturbed the charge
+Of others, who approve not to transgress
+By thy example, but have power and right
+To question thy bold entrance on this place;
+Employed, it seems, to violate sleep, and those
+Whose dwelling God hath planted here in bliss!
+To whom thus Satan with contemptuous brow.
+Gabriel? thou hadst in Heaven the esteem of wise,
+And such I held thee; but this question asked
+Puts me in doubt. Lives there who loves his pain!
+Who would not, finding way, break loose from Hell,
+Though thither doomed! Thou wouldst thyself, no doubt
+And boldly venture to whatever place
+Farthest from pain, where thou mightst hope to change
+Torment with ease, and soonest recompense
+Dole with delight, which in this place I sought;
+To thee no reason, who knowest only good,
+But evil hast not tried: and wilt object
+His will who bounds us! Let him surer bar
+His iron gates, if he intends our stay
+In that dark durance: Thus much what was asked.
+The rest is true, they found me where they say;
+But that implies not violence or harm.
+Thus he in scorn. The warlike Angel moved,
+Disdainfully half smiling, thus replied.
+O loss of one in Heaven to judge of wise
+Since Satan fell, whom folly overthrew,
+And now returns him from his prison 'scaped,
+Gravely in doubt whether to hold them wise
+Or not, who ask what boldness brought him hither
+Unlicensed from his bounds in Hell prescribed;
+So wise he judges it to fly from pain
+However, and to 'scape his punishment!
+So judge thou still, presumptuous! till the wrath,
+Which thou incurrest by flying, meet thy flight
+Sevenfold, and scourge that wisdom back to Hell,
+Which taught thee yet no better, that no pain
+Can equal anger infinite provoked.
+But wherefore thou alone? wherefore with thee
+Came not all hell broke loose? or thou than they
+Less hardy to endure? Courageous Chief!
+The first in flight from pain! hadst thou alleged
+To thy deserted host this cause of flight,
+Thou surely hadst not come sole fugitive.
+To which the Fiend thus answered, frowning stern.
+Not that I less endure, or shrink from pain,
+Insulting Angel! well thou knowest I stood
+Thy fiercest, when in battle to thy aid
+The blasting vollied thunder made all speed,
+And seconded thy else not dreaded spear.
+But still thy words at random, as before,
+Argue thy inexperience what behoves
+From hard assays and ill successes past
+A faithful leader, not to hazard all
+Through ways of danger by himself untried:
+I, therefore, I alone first undertook
+To wing the desolate abyss, and spy
+This new created world, whereof in Hell
+Fame is not silent, here in hope to find
+Better abode, and my afflicted Powers
+To settle here on earth, or in mid air;
+Though for possession put to try once more
+What thou and thy gay legions dare against;
+Whose easier business were to serve their Lord
+High up in Heaven, with songs to hymn his throne,
+And practised distances to cringe, not fight,
+To whom the warriour Angel soon replied.
+To say and straight unsay, pretending first
+Wise to fly pain, professing next the spy,
+Argues no leader but a liear traced,
+Satan, and couldst thou faithful add? O name,
+O sacred name of faithfulness profaned!
+Faithful to whom? to thy rebellious crew?
+Army of Fiends, fit body to fit head.
+Was this your discipline and faith engaged,
+Your military obedience, to dissolve
+Allegiance to the acknowledged Power supreme?
+And thou, sly hypocrite, who now wouldst seem
+Patron of liberty, who more than thou
+Once fawned, and cringed, and servily adored
+Heaven's awful Monarch? wherefore, but in hope
+To dispossess him, and thyself to reign?
+But mark what I arreed thee now, Avant;
+Fly neither whence thou fledst! If from this hour
+Within these hallowed limits thou appear,
+Back to the infernal pit I drag thee chained,
+And seal thee so, as henceforth not to scorn
+The facile gates of Hell too slightly barred.
+So threatened he; but Satan to no threats
+Gave heed, but waxing more in rage replied.
+Then when I am thy captive talk of chains,
+Proud limitary Cherub! but ere then
+Far heavier load thyself expect to feel
+From my prevailing arm, though Heaven's King
+Ride on thy wings, and thou with thy compeers,
+Us'd to the yoke, drawest his triumphant wheels
+In progress through the road of Heaven star-paved.
+While thus he spake, the angelick squadron bright
+Turned fiery red, sharpening in mooned horns
+Their phalanx, and began to hem him round
+With ported spears, as thick as when a field
+Of Ceres ripe for harvest waving bends
+Her bearded grove of ears, which way the wind
+Sways them; the careful plowman doubting stands,
+Left on the threshing floor his hopeless sheaves
+Prove chaff. On the other side, Satan, alarmed,
+Collecting all his might, dilated stood,
+Like Teneriff or Atlas, unremoved:
+His stature reached the sky, and on his crest
+Sat Horrour plumed; nor wanted in his grasp
+What seemed both spear and shield: Now dreadful deeds
+Might have ensued, nor only Paradise
+In this commotion, but the starry cope
+Of Heaven perhaps, or all the elements
+At least had gone to wrack, disturbed and torn
+With violence of this conflict, had not soon
+The Eternal, to prevent such horrid fray,
+Hung forth in Heaven his golden scales, yet seen
+Betwixt Astrea and the Scorpion sign,
+Wherein all things created first he weighed,
+The pendulous round earth with balanced air
+In counterpoise, now ponders all events,
+Battles and realms: In these he put two weights,
+The sequel each of parting and of fight:
+The latter quick up flew, and kicked the beam,
+Which Gabriel spying, thus bespake the Fiend.
+Satan, I know thy strength, and thou knowest mine;
+Neither our own, but given: What folly then
+To boast what arms can do? since thine no more
+Than Heaven permits, nor mine, though doubled now
+To trample thee as mire: For proof look up,
+And read thy lot in yon celestial sign;
+Where thou art weighed, and shown how light, how weak,
+If thou resist. The Fiend looked up, and knew
+His mounted scale aloft: Nor more;but fled
+Murmuring, and with him fled the shades of night.
+
+
+
+Book V
+
+
+Now Morn, her rosy steps in the eastern clime
+Advancing, sowed the earth with orient pearl,
+When Adam waked, so customed; for his sleep
+Was aery-light, from pure digestion bred,
+And temperate vapours bland, which the only sound
+Of leaves and fuming rills, Aurora's fan,
+Lightly dispersed, and the shrill matin song
+Of birds on every bough; so much the more
+His wonder was to find unwakened Eve
+With tresses discomposed, and glowing cheek,
+As through unquiet rest: He, on his side
+Leaning half raised, with looks of cordial love
+Hung over her enamoured, and beheld
+Beauty, which, whether waking or asleep,
+Shot forth peculiar graces; then with voice
+Mild, as when Zephyrus on Flora breathes,
+Her hand soft touching, whispered thus. Awake,
+My fairest, my espoused, my latest found,
+Heaven's last best gift, my ever new delight!
+Awake: The morning shines, and the fresh field
+Calls us; we lose the prime, to mark how spring
+Our tender plants, how blows the citron grove,
+What drops the myrrh, and what the balmy reed,
+How nature paints her colours, how the bee
+Sits on the bloom extracting liquid sweet.
+Such whispering waked her, but with startled eye
+On Adam, whom embracing, thus she spake.
+O sole in whom my thoughts find all repose,
+My glory, my perfection! glad I see
+Thy face, and morn returned; for I this night
+(Such night till this I never passed) have dreamed,
+If dreamed, not, as I oft am wont, of thee,
+Works of day past, or morrow's next design,
+But of offence and trouble, which my mind
+Knew never till this irksome night: Methought,
+Close at mine ear one called me forth to walk
+With gentle voice; I thought it thine: It said,
+'Why sleepest thou, Eve? now is the pleasant time,
+'The cool, the silent, save where silence yields
+'To the night-warbling bird, that now awake
+'Tunes sweetest his love-laboured song; now reigns
+'Full-orbed the moon, and with more pleasing light
+'Shadowy sets off the face of things; in vain,
+'If none regard; Heaven wakes with all his eyes,
+'Whom to behold but thee, Nature's desire?
+'In whose sight all things joy, with ravishment
+'Attracted by thy beauty still to gaze.'
+I rose as at thy call, but found thee not;
+To find thee I directed then my walk;
+And on, methought, alone I passed through ways
+That brought me on a sudden to the tree
+Of interdicted knowledge: fair it seemed,
+Much fairer to my fancy than by day:
+And, as I wondering looked, beside it stood
+One shaped and winged like one of those from Heaven
+By us oft seen; his dewy locks distilled
+Ambrosia; on that tree he also gazed;
+And 'O fair plant,' said he, 'with fruit surcharged,
+'Deigns none to ease thy load, and taste thy sweet,
+'Nor God, nor Man? Is knowledge so despised?
+'Or envy, or what reserve forbids to taste?
+'Forbid who will, none shall from me withhold
+'Longer thy offered good; why else set here?
+This said, he paused not, but with venturous arm
+He plucked, he tasted; me damp horrour chilled
+At such bold words vouched with a deed so bold:
+But he thus, overjoyed; 'O fruit divine,
+'Sweet of thyself, but much more sweet thus cropt,
+'Forbidden here, it seems, as only fit
+'For Gods, yet able to make Gods of Men:
+'And why not Gods of Men; since good, the more
+'Communicated, more abundant grows,
+'The author not impaired, but honoured more?
+'Here, happy creature, fair angelick Eve!
+'Partake thou also; happy though thou art,
+'Happier thou mayest be, worthier canst not be:
+'Taste this, and be henceforth among the Gods
+'Thyself a Goddess, not to earth confined,
+'But sometimes in the air, as we, sometimes
+'Ascend to Heaven, by merit thine, and see
+'What life the Gods live there, and such live thou!'
+So saying, he drew nigh, and to me held,
+Even to my mouth of that same fruit held part
+Which he had plucked; the pleasant savoury smell
+So quickened appetite, that I, methought,
+Could not but taste. Forthwith up to the clouds
+With him I flew, and underneath beheld
+The earth outstretched immense, a prospect wide
+And various: Wondering at my flight and change
+To this high exaltation; suddenly
+My guide was gone, and I, methought, sunk down,
+And fell asleep; but O, how glad I waked
+To find this but a dream! Thus Eve her night
+Related, and thus Adam answered sad.
+Best image of myself, and dearer half,
+The trouble of thy thoughts this night in sleep
+Affects me equally; nor can I like
+This uncouth dream, of evil sprung, I fear;
+Yet evil whence? in thee can harbour none,
+Created pure. But know that in the soul
+Are many lesser faculties, that serve
+Reason as chief; among these Fancy next
+Her office holds; of all external things
+Which the five watchful senses represent,
+She forms imaginations, aery shapes,
+Which Reason, joining or disjoining, frames
+All what we affirm or what deny, and call
+Our knowledge or opinion; then retires
+Into her private cell, when nature rests.
+Oft in her absence mimick Fancy wakes
+To imitate her; but, misjoining shapes,
+Wild work produces oft, and most in dreams;
+Ill matching words and deeds long past or late.
+Some such resemblances, methinks, I find
+Of our last evening's talk, in this thy dream,
+But with addition strange; yet be not sad.
+Evil into the mind of God or Man
+May come and go, so unreproved, and leave
+No spot or blame behind: Which gives me hope
+That what in sleep thou didst abhor to dream,
+Waking thou never will consent to do.
+Be not disheartened then, nor cloud those looks,
+That wont to be more cheerful and serene,
+Than when fair morning first smiles on the world;
+And let us to our fresh employments rise
+Among the groves, the fountains, and the flowers
+That open now their choisest bosomed smells,
+Reserved from night, and kept for thee in store.
+So cheered he his fair spouse, and she was cheered;
+But silently a gentle tear let fall
+From either eye, and wiped them with her hair;
+Two other precious drops that ready stood,
+Each in their crystal sluice, he ere they fell
+Kissed, as the gracious signs of sweet remorse
+And pious awe, that feared to have offended.
+So all was cleared, and to the field they haste.
+But first, from under shady arborous roof
+Soon as they forth were come to open sight
+Of day-spring, and the sun, who, scarce up-risen,
+With wheels yet hovering o'er the ocean-brim,
+Shot parallel to the earth his dewy ray,
+Discovering in wide landskip all the east
+Of Paradise and Eden's happy plains,
+Lowly they bowed adoring, and began
+Their orisons, each morning duly paid
+In various style; for neither various style
+Nor holy rapture wanted they to praise
+Their Maker, in fit strains pronounced, or sung
+Unmeditated; such prompt eloquence
+Flowed from their lips, in prose or numerous verse,
+More tuneable than needed lute or harp
+To add more sweetness; and they thus began.
+These are thy glorious works, Parent of good,
+Almighty! Thine this universal frame,
+Thus wonderous fair; Thyself how wonderous then!
+Unspeakable, who sitst above these heavens
+To us invisible, or dimly seen
+In these thy lowest works; yet these declare
+Thy goodness beyond thought, and power divine.
+Speak, ye who best can tell, ye sons of light,
+Angels; for ye behold him, and with songs
+And choral symphonies, day without night,
+Circle his throne rejoicing; ye in Heaven
+On Earth join all ye Creatures to extol
+Him first, him last, him midst, and without end.
+Fairest of stars, last in the train of night,
+If better thou belong not to the dawn,
+Sure pledge of day, that crownest the smiling morn
+With thy bright circlet, praise him in thy sphere,
+While day arises, that sweet hour of prime.
+Thou Sun, of this great world both eye and soul,
+Acknowledge him thy greater; sound his praise
+In thy eternal course, both when thou climbest,
+And when high noon hast gained, and when thou fallest.
+Moon, that now meetest the orient sun, now flyest,
+With the fixed Stars, fixed in their orb that flies;
+And ye five other wandering Fires, that move
+In mystick dance not without song, resound
+His praise, who out of darkness called up light.
+Air, and ye Elements, the eldest birth
+Of Nature's womb, that in quaternion run
+Perpetual circle, multiform; and mix
+And nourish all things; let your ceaseless change
+Vary to our great Maker still new praise.
+Ye Mists and Exhalations, that now rise
+From hill or steaming lake, dusky or gray,
+Till the sun paint your fleecy skirts with gold,
+In honour to the world's great Author rise;
+Whether to deck with clouds the uncoloured sky,
+Or wet the thirsty earth with falling showers,
+Rising or falling still advance his praise.
+His praise, ye Winds, that from four quarters blow,
+Breathe soft or loud; and, wave your tops, ye Pines,
+With every plant, in sign of worship wave.
+Fountains, and ye that warble, as ye flow,
+Melodious murmurs, warbling tune his praise.
+Join voices, all ye living Souls: Ye Birds,
+That singing up to Heaven-gate ascend,
+Bear on your wings and in your notes his praise.
+Ye that in waters glide, and ye that walk
+The earth, and stately tread, or lowly creep;
+Witness if I be silent, morn or even,
+To hill, or valley, fountain, or fresh shade,
+Made vocal by my song, and taught his praise.
+Hail, universal Lord, be bounteous still
+To give us only good; and if the night
+Have gathered aught of evil, or concealed,
+Disperse it, as now light dispels the dark!
+So prayed they innocent, and to their thoughts
+Firm peace recovered soon, and wonted calm.
+On to their morning's rural work they haste,
+Among sweet dews and flowers; where any row
+Of fruit-trees over-woody reached too far
+Their pampered boughs, and needed hands to check
+Fruitless embraces: or they led the vine
+To wed her elm; she, spoused, about him twines
+Her marriageable arms, and with him brings
+Her dower, the adopted clusters, to adorn
+His barren leaves. Them thus employed beheld
+With pity Heaven's high King, and to him called
+Raphael, the sociable Spirit, that deigned
+To travel with Tobias, and secured
+His marriage with the seventimes-wedded maid.
+Raphael, said he, thou hearest what stir on Earth
+Satan, from Hell 'scaped through the darksome gulf,
+Hath raised in Paradise; and how disturbed
+This night the human pair; how he designs
+In them at once to ruin all mankind.
+Go therefore, half this day as friend with friend
+Converse with Adam, in what bower or shade
+Thou findest him from the heat of noon retired,
+To respite his day-labour with repast,
+Or with repose; and such discourse bring on,
+As may advise him of his happy state,
+Happiness in his power left free to will,
+Left to his own free will, his will though free,
+Yet mutable; whence warn him to beware
+He swerve not, too secure: Tell him withal
+His danger, and from whom; what enemy,
+Late fallen himself from Heaven, is plotting now
+The fall of others from like state of bliss;
+By violence? no, for that shall be withstood;
+But by deceit and lies: This let him know,
+Lest, wilfully transgressing, he pretend
+Surprisal, unadmonished, unforewarned.
+So spake the Eternal Father, and fulfilled
+All justice: Nor delayed the winged Saint
+After his charge received; but from among
+Thousand celestial Ardours, where he stood
+Veiled with his gorgeous wings, up springing light,
+Flew through the midst of Heaven; the angelick quires,
+On each hand parting, to his speed gave way
+Through all the empyreal road; till, at the gate
+Of Heaven arrived, the gate self-opened wide
+On golden hinges turning, as by work
+Divine the sovran Architect had framed.
+From hence no cloud, or, to obstruct his sight,
+Star interposed, however small he sees,
+Not unconformed to other shining globes,
+Earth, and the garden of God, with cedars crowned
+Above all hills. As when by night the glass
+Of Galileo, less assured, observes
+Imagined lands and regions in the moon:
+Or pilot, from amidst the Cyclades
+Delos or Samos first appearing, kens
+A cloudy spot. Down thither prone in flight
+He speeds, and through the vast ethereal sky
+Sails between worlds and worlds, with steady wing
+Now on the polar winds, then with quick fan
+Winnows the buxom air; till, within soar
+Of towering eagles, to all the fowls he seems
+A phoenix, gazed by all as that sole bird,
+When, to enshrine his reliques in the Sun's
+Bright temple, to Egyptian Thebes he flies.
+At once on the eastern cliff of Paradise
+He lights, and to his proper shape returns
+A Seraph winged: Six wings he wore, to shade
+His lineaments divine; the pair that clad
+Each shoulder broad, came mantling o'er his breast
+With regal ornament; the middle pair
+Girt like a starry zone his waist, and round
+Skirted his loins and thighs with downy gold
+And colours dipt in Heaven; the third his feet
+Shadowed from either heel with feathered mail,
+Sky-tinctured grain. Like Maia's son he stood,
+And shook his plumes, that heavenly fragrance filled
+The circuit wide. Straight knew him all the bands
+Of Angels under watch; and to his state,
+And to his message high, in honour rise;
+For on some message high they guessed him bound.
+Their glittering tents he passed, and now is come
+Into the blissful field, through groves of myrrh,
+And flowering odours, cassia, nard, and balm;
+A wilderness of sweets; for Nature here
+Wantoned as in her prime, and played at will
+Her virgin fancies pouring forth more sweet,
+Wild above rule or art, enormous bliss.
+Him through the spicy forest onward come
+Adam discerned, as in the door he sat
+Of his cool bower, while now the mounted sun
+Shot down direct his fervid rays to warm
+Earth's inmost womb, more warmth than Adam needs:
+And Eve within, due at her hour prepared
+For dinner savoury fruits, of taste to please
+True appetite, and not disrelish thirst
+Of nectarous draughts between, from milky stream,
+Berry or grape: To whom thus Adam called.
+Haste hither, Eve, and worth thy sight behold
+Eastward among those trees, what glorious shape
+Comes this way moving; seems another morn
+Risen on mid-noon; some great behest from Heaven
+To us perhaps he brings, and will vouchsafe
+This day to be our guest. But go with speed,
+And, what thy stores contain, bring forth, and pour
+Abundance, fit to honour and receive
+Our heavenly stranger: Well we may afford
+Our givers their own gifts, and large bestow
+From large bestowed, where Nature multiplies
+Her fertile growth, and by disburthening grows
+More fruitful, which instructs us not to spare.
+To whom thus Eve. Adam, earth's hallowed mould,
+Of God inspired! small store will serve, where store,
+All seasons, ripe for use hangs on the stalk;
+Save what by frugal storing firmness gains
+To nourish, and superfluous moist consumes:
+But I will haste, and from each bough and brake,
+Each plant and juciest gourd, will pluck such choice
+To entertain our Angel-guest, as he
+Beholding shall confess, that here on Earth
+God hath dispensed his bounties as in Heaven.
+So saying, with dispatchful looks in haste
+She turns, on hospitable thoughts intent
+What choice to choose for delicacy best,
+What order, so contrived as not to mix
+Tastes, not well joined, inelegant, but bring
+Taste after taste upheld with kindliest change;
+Bestirs her then, and from each tender stalk
+Whatever Earth, all-bearing mother, yields
+In India East or West, or middle shore
+In Pontus or the Punick coast, or where
+Alcinous reigned, fruit of all kinds, in coat
+Rough, or smooth rind, or bearded husk, or shell,
+She gathers, tribute large, and on the board
+Heaps with unsparing hand; for drink the grape
+She crushes, inoffensive must, and meaths
+From many a berry, and from sweet kernels pressed
+She tempers dulcet creams; nor these to hold
+Wants her fit vessels pure; then strows the ground
+With rose and odours from the shrub unfumed.
+Mean while our primitive great sire, to meet
+His God-like guest, walks forth, without more train
+Accompanied than with his own complete
+Perfections; in himself was all his state,
+More solemn than the tedious pomp that waits
+On princes, when their rich retinue long
+Of horses led, and grooms besmeared with gold,
+Dazzles the croud, and sets them all agape.
+Nearer his presence Adam, though not awed,
+Yet with submiss approach and reverence meek,
+As to a superiour nature bowing low,
+Thus said. Native of Heaven, for other place
+None can than Heaven such glorious shape contain;
+Since, by descending from the thrones above,
+Those happy places thou hast deigned a while
+To want, and honour these, vouchsafe with us
+Two only, who yet by sovran gift possess
+This spacious ground, in yonder shady bower
+To rest; and what the garden choicest bears
+To sit and taste, till this meridian heat
+Be over, and the sun more cool decline.
+Whom thus the angelick Virtue answered mild.
+Adam, I therefore came; nor art thou such
+Created, or such place hast here to dwell,
+As may not oft invite, though Spirits of Heaven,
+To visit thee; lead on then where thy bower
+O'ershades; for these mid-hours, till evening rise,
+I have at will. So to the sylvan lodge
+They came, that like Pomona's arbour smiled,
+With flowerets decked, and fragrant smells; but Eve,
+Undecked save with herself, more lovely fair
+Than Wood-Nymph, or the fairest Goddess feigned
+Of three that in mount Ida naked strove,
+Stood to entertain her guest from Heaven; no veil
+She needed, virtue-proof; no thought infirm
+Altered her cheek. On whom the Angel Hail
+Bestowed, the holy salutation used
+Long after to blest Mary, second Eve.
+Hail, Mother of Mankind, whose fruitful womb
+Shall fill the world more numerous with thy sons,
+Than with these various fruits the trees of God
+Have heaped this table!--Raised of grassy turf
+Their table was, and mossy seats had round,
+And on her ample square from side to side
+All autumn piled, though spring and autumn here
+Danced hand in hand. A while discourse they hold;
+No fear lest dinner cool; when thus began
+Our author. Heavenly stranger, please to taste
+These bounties, which our Nourisher, from whom
+All perfect good, unmeasured out, descends,
+To us for food and for delight hath caused
+The earth to yield; unsavoury food perhaps
+To spiritual natures; only this I know,
+That one celestial Father gives to all.
+To whom the Angel. Therefore what he gives
+(Whose praise be ever sung) to Man in part
+Spiritual, may of purest Spirits be found
+No ingrateful food: And food alike those pure
+Intelligential substances require,
+As doth your rational; and both contain
+Within them every lower faculty
+Of sense, whereby they hear, see, smell, touch, taste,
+Tasting concoct, digest, assimilate,
+And corporeal to incorporeal turn.
+For know, whatever was created, needs
+To be sustained and fed: Of elements
+The grosser feeds the purer, earth the sea,
+Earth and the sea feed air, the air those fires
+Ethereal, and as lowest first the moon;
+Whence in her visage round those spots, unpurged
+Vapours not yet into her substance turned.
+Nor doth the moon no nourishment exhale
+From her moist continent to higher orbs.
+The sun that light imparts to all, receives
+From all his alimental recompence
+In humid exhalations, and at even
+Sups with the ocean. Though in Heaven the trees
+Of life ambrosial fruitage bear, and vines
+Yield nectar; though from off the boughs each morn
+We brush mellifluous dews, and find the ground
+Covered with pearly grain: Yet God hath here
+Varied his bounty so with new delights,
+As may compare with Heaven; and to taste
+Think not I shall be nice. So down they sat,
+And to their viands fell; nor seemingly
+The Angel, nor in mist, the common gloss
+Of Theologians; but with keen dispatch
+Of real hunger, and concoctive heat
+To transubstantiate: What redounds, transpires
+Through Spirits with ease; nor wonder;if by fire
+Of sooty coal the empirick alchemist
+Can turn, or holds it possible to turn,
+Metals of drossiest ore to perfect gold,
+As from the mine. Mean while at table Eve
+Ministered naked, and their flowing cups
+With pleasant liquours crowned: O innocence
+Deserving Paradise! if ever, then,
+Then had the sons of God excuse to have been
+Enamoured at that sight; but in those hearts
+Love unlibidinous reigned, nor jealousy
+Was understood, the injured lover's hell.
+Thus when with meats and drinks they had sufficed,
+Not burdened nature, sudden mind arose
+In Adam, not to let the occasion pass
+Given him by this great conference to know
+Of things above his world, and of their being
+Who dwell in Heaven, whose excellence he saw
+Transcend his own so far; whose radiant forms,
+Divine effulgence, whose high power, so far
+Exceeded human; and his wary speech
+Thus to the empyreal minister he framed.
+Inhabitant with God, now know I well
+Thy favour, in this honour done to Man;
+Under whose lowly roof thou hast vouchsafed
+To enter, and these earthly fruits to taste,
+Food not of Angels, yet accepted so,
+As that more willingly thou couldst not seem
+At Heaven's high feasts to have fed: yet what compare
+To whom the winged Hierarch replied.
+O Adam, One Almighty is, from whom
+All things proceed, and up to him return,
+If not depraved from good, created all
+Such to perfection, one first matter all,
+Endued with various forms, various degrees
+Of substance, and, in things that live, of life;
+But more refined, more spiritous, and pure,
+As nearer to him placed, or nearer tending
+Each in their several active spheres assigned,
+Till body up to spirit work, in bounds
+Proportioned to each kind. So from the root
+Springs lighter the green stalk, from thence the leaves
+More aery, last the bright consummate flower
+Spirits odorous breathes: flowers and their fruit,
+Man's nourishment, by gradual scale sublimed,
+To vital spirits aspire, to animal,
+To intellectual; give both life and sense,
+Fancy and understanding; whence the soul
+Reason receives, and reason is her being,
+Discursive, or intuitive; discourse
+Is oftest yours, the latter most is ours,
+Differing but in degree, of kind the same.
+Wonder not then, what God for you saw good
+If I refuse not, but convert, as you
+To proper substance. Time may come, when Men
+With Angels may participate, and find
+No inconvenient diet, nor too light fare;
+And from these corporal nutriments perhaps
+Your bodies may at last turn all to spirit,
+Improved by tract of time, and, winged, ascend
+Ethereal, as we; or may, at choice,
+Here or in heavenly Paradises dwell;
+If ye be found obedient, and retain
+Unalterably firm his love entire,
+Whose progeny you are. Mean while enjoy
+Your fill what happiness this happy state
+Can comprehend, incapable of more.
+To whom the patriarch of mankind replied.
+O favourable Spirit, propitious guest,
+Well hast thou taught the way that might direct
+Our knowledge, and the scale of nature set
+From center to circumference; whereon,
+In contemplation of created things,
+By steps we may ascend to God. But say,
+What meant that caution joined, If ye be found
+Obedient? Can we want obedience then
+To him, or possibly his love desert,
+Who formed us from the dust and placed us here
+Full to the utmost measure of what bliss
+Human desires can seek or apprehend?
+To whom the Angel. Son of Heaven and Earth,
+Attend! That thou art happy, owe to God;
+That thou continuest such, owe to thyself,
+That is, to thy obedience; therein stand.
+This was that caution given thee; be advised.
+God made thee perfect, not immutable;
+And good he made thee, but to persevere
+He left it in thy power; ordained thy will
+By nature free, not over-ruled by fate
+Inextricable, or strict necessity:
+Our voluntary service he requires,
+Not our necessitated; such with him
+Finds no acceptance, nor can find; for how
+Can hearts, not free, be tried whether they serve
+Willing or no, who will but what they must
+By destiny, and can no other choose?
+Myself, and all the angelick host, that stand
+In sight of God, enthroned, our happy state
+Hold, as you yours, while our obedience holds;
+On other surety none: Freely we serve,
+Because we freely love, as in our will
+To love or not; in this we stand or fall:
+And some are fallen, to disobedience fallen,
+And so from Heaven to deepest Hell; O fall
+From what high state of bliss, into what woe!
+To whom our great progenitor. Thy words
+Attentive, and with more delighted ear,
+Divine instructer, I have heard, than when
+Cherubick songs by night from neighbouring hills
+Aereal musick send: Nor knew I not
+To be both will and deed created free;
+Yet that we never shall forget to love
+Our Maker, and obey him whose command
+Single is yet so just, my constant thoughts
+Assured me, and still assure: Though what thou tellest
+Hath passed in Heaven, some doubt within me move,
+But more desire to hear, if thou consent,
+The full relation, which must needs be strange,
+Worthy of sacred silence to be heard;
+And we have yet large day, for scarce the sun
+Hath finished half his journey, and scarce begins
+His other half in the great zone of Heaven.
+Thus Adam made request; and Raphael,
+After short pause assenting, thus began.
+High matter thou enjoinest me, O prime of men,
+Sad task and hard: For how shall I relate
+To human sense the invisible exploits
+Of warring Spirits? how, without remorse,
+The ruin of so many glorious once
+And perfect while they stood? how last unfold
+The secrets of another world, perhaps
+Not lawful to reveal? yet for thy good
+This is dispensed; and what surmounts the reach
+Of human sense, I shall delineate so,
+By likening spiritual to corporal forms,
+As may express them best; though what if Earth
+Be but a shadow of Heaven, and things therein
+Each to other like, more than on earth is thought?
+As yet this world was not, and Chaos wild
+Reigned where these Heavens now roll, where Earth now rests
+Upon her center poised; when on a day
+(For time, though in eternity, applied
+To motion, measures all things durable
+By present, past, and future,) on such day
+As Heaven's great year brings forth, the empyreal host
+Of Angels by imperial summons called,
+Innumerable before the Almighty's throne
+Forthwith, from all the ends of Heaven, appeared
+Under their Hierarchs in orders bright:
+Ten thousand thousand ensigns high advanced,
+Standards and gonfalons 'twixt van and rear
+Stream in the air, and for distinction serve
+Of hierarchies, of orders, and degrees;
+Or in their glittering tissues bear imblazed
+Holy memorials, acts of zeal and love
+Recorded eminent. Thus when in orbs
+Of circuit inexpressible they stood,
+Orb within orb, the Father Infinite,
+By whom in bliss imbosomed sat the Son,
+Amidst as from a flaming mount, whose top
+Brightness had made invisible, thus spake.
+Hear, all ye Angels, progeny of light,
+Thrones, Dominations, Princedoms, Virtues, Powers;
+Hear my decree, which unrevoked shall stand.
+This day I have begot whom I declare
+My only Son, and on this holy hill
+Him have anointed, whom ye now behold
+At my right hand; your head I him appoint;
+And by myself have sworn, to him shall bow
+All knees in Heaven, and shall confess him Lord:
+Under his great vice-gerent reign abide
+United, as one individual soul,
+For ever happy: Him who disobeys,
+Me disobeys, breaks union, and that day,
+Cast out from God and blessed vision, falls
+Into utter darkness, deep ingulfed, his place
+Ordained without redemption, without end.
+So spake the Omnipotent, and with his words
+All seemed well pleased; all seemed, but were not all.
+That day, as other solemn days, they spent
+In song and dance about the sacred hill;
+Mystical dance, which yonder starry sphere
+Of planets, and of fixed, in all her wheels
+Resembles nearest, mazes intricate,
+Eccentrick, intervolved, yet regular
+Then most, when most irregular they seem;
+And in their motions harmony divine
+So smooths her charming tones, that God's own ear
+Listens delighted. Evening now approached,
+(For we have also our evening and our morn,
+We ours for change delectable, not need;)
+Forthwith from dance to sweet repast they turn
+Desirous; all in circles as they stood,
+Tables are set, and on a sudden piled
+With Angels food, and rubied nectar flows
+In pearl, in diamond, and massy gold,
+Fruit of delicious vines, the growth of Heaven.
+On flowers reposed, and with fresh flowerets crowned,
+They eat, they drink, and in communion sweet
+Quaff immortality and joy, secure
+Of surfeit, where full measure only bounds
+Excess, before the all-bounteous King, who showered
+With copious hand, rejoicing in their joy.
+Now when ambrosial night with clouds exhaled
+From that high mount of God, whence light and shade
+Spring both, the face of brightest Heaven had changed
+To grateful twilight, (for night comes not there
+In darker veil,) and roseat dews disposed
+All but the unsleeping eyes of God to rest;
+Wide over all the plain, and wider far
+Than all this globous earth in plain outspread,
+(Such are the courts of God) the angelick throng,
+Dispersed in bands and files, their camp extend
+By living streams among the trees of life,
+Pavilions numberless, and sudden reared,
+Celestial tabernacles, where they slept
+Fanned with cool winds; save those, who, in their course,
+Melodious hymns about the sovran throne
+Alternate all night long: but not so waked
+Satan; so call him now, his former name
+Is heard no more in Heaven; he of the first,
+If not the first Arch-Angel, great in power,
+In favour and pre-eminence, yet fraught
+With envy against the Son of God, that day
+Honoured by his great Father, and proclaimed
+Messiah King anointed, could not bear
+Through pride that sight, and thought himself impaired.
+Deep malice thence conceiving and disdain,
+Soon as midnight brought on the dusky hour
+Friendliest to sleep and silence, he resolved
+With all his legions to dislodge, and leave
+Unworshipt, unobeyed, the throne supreme,
+Contemptuous; and his next subordinate
+Awakening, thus to him in secret spake.
+Sleepest thou, Companion dear? What sleep can close
+Thy eye-lids? and rememberest what decree
+Of yesterday, so late hath passed the lips
+Of Heaven's Almighty. Thou to me thy thoughts
+Wast wont, I mine to thee was wont to impart;
+Both waking we were one; how then can now
+Thy sleep dissent? New laws thou seest imposed;
+New laws from him who reigns, new minds may raise
+In us who serve, new counsels to debate
+What doubtful may ensue: More in this place
+To utter is not safe. Assemble thou
+Of all those myriads which we lead the chief;
+Tell them, that by command, ere yet dim night
+Her shadowy cloud withdraws, I am to haste,
+And all who under me their banners wave,
+Homeward, with flying march, where we possess
+The quarters of the north; there to prepare
+Fit entertainment to receive our King,
+The great Messiah, and his new commands,
+Who speedily through all the hierarchies
+Intends to pass triumphant, and give laws.
+So spake the false Arch-Angel, and infused
+Bad influence into the unwary breast
+Of his associate: He together calls,
+Or several one by one, the regent Powers,
+Under him Regent; tells, as he was taught,
+That the Most High commanding, now ere night,
+Now ere dim night had disincumbered Heaven,
+The great hierarchal standard was to move;
+Tells the suggested cause, and casts between
+Ambiguous words and jealousies, to sound
+Or taint integrity: But all obeyed
+The wonted signal, and superiour voice
+Of their great Potentate; for great indeed
+His name, and high was his degree in Heaven;
+His countenance, as the morning-star that guides
+The starry flock, allured them, and with lies
+Drew after him the third part of Heaven's host.
+Mean while the Eternal eye, whose sight discerns
+Abstrusest thoughts, from forth his holy mount,
+And from within the golden lamps that burn
+Nightly before him, saw without their light
+Rebellion rising; saw in whom, how spread
+Among the sons of morn, what multitudes
+Were banded to oppose his high decree;
+And, smiling, to his only Son thus said.
+Son, thou in whom my glory I behold
+In full resplendence, Heir of all my might,
+Nearly it now concerns us to be sure
+Of our Omnipotence, and with what arms
+We mean to hold what anciently we claim
+Of deity or empire: Such a foe
+Is rising, who intends to erect his throne
+Equal to ours, throughout the spacious north;
+Nor so content, hath in his thought to try
+In battle, what our power is, or our right.
+Let us advise, and to this hazard draw
+With speed what force is left, and all employ
+In our defence; lest unawares we lose
+This our high place, our sanctuary, our hill.
+To whom the Son with calm aspect and clear,
+Lightning divine, ineffable, serene,
+Made answer. Mighty Father, thou thy foes
+Justly hast in derision, and, secure,
+Laughest at their vain designs and tumults vain,
+Matter to me of glory, whom their hate
+Illustrates, when they see all regal power
+Given me to quell their pride, and in event
+Know whether I be dextrous to subdue
+Thy rebels, or be found the worst in Heaven.
+So spake the Son; but Satan, with his Powers,
+Far was advanced on winged speed; an host
+Innumerable as the stars of night,
+Or stars of morning, dew-drops, which the sun
+Impearls on every leaf and every flower.
+Regions they passed, the mighty regencies
+Of Seraphim, and Potentates, and Thrones,
+In their triple degrees; regions to which
+All thy dominion, Adam, is no more
+Than what this garden is to all the earth,
+And all the sea, from one entire globose
+Stretched into longitude; which having passed,
+At length into the limits of the north
+They came; and Satan to his royal seat
+High on a hill, far blazing, as a mount
+Raised on a mount, with pyramids and towers
+From diamond quarries hewn, and rocks of gold;
+The palace of great Lucifer, (so call
+That structure in the dialect of men
+Interpreted,) which not long after, he
+Affecting all equality with God,
+In imitation of that mount whereon
+Messiah was declared in sight of Heaven,
+The Mountain of the Congregation called;
+For thither he assembled all his train,
+Pretending so commanded to consult
+About the great reception of their King,
+Thither to come, and with calumnious art
+Of counterfeited truth thus held their ears.
+Thrones, Dominations, Princedoms, Virtues, Powers;
+If these magnifick titles yet remain
+Not merely titular, since by decree
+Another now hath to himself engrossed
+All power, and us eclipsed under the name
+Of King anointed, for whom all this haste
+Of midnight-march, and hurried meeting here,
+This only to consult how we may best,
+With what may be devised of honours new,
+Receive him coming to receive from us
+Knee-tribute yet unpaid, prostration vile!
+Too much to one! but double how endured,
+To one, and to his image now proclaimed?
+But what if better counsels might erect
+Our minds, and teach us to cast off this yoke?
+Will ye submit your necks, and choose to bend
+The supple knee? Ye will not, if I trust
+To know ye right, or if ye know yourselves
+Natives and sons of Heaven possessed before
+By none; and if not equal all, yet free,
+Equally free; for orders and degrees
+Jar not with liberty, but well consist.
+Who can in reason then, or right, assume
+Monarchy over such as live by right
+His equals, if in power and splendour less,
+In freedom equal? or can introduce
+Law and edict on us, who without law
+Err not? much less for this to be our Lord,
+And look for adoration, to the abuse
+Of those imperial titles, which assert
+Our being ordained to govern, not to serve.
+Thus far his bold discourse without controul
+Had audience; when among the Seraphim
+Abdiel, than whom none with more zeal adored
+The Deity, and divine commands obeyed,
+Stood up, and in a flame of zeal severe
+The current of his fury thus opposed.
+O argument blasphemous, false, and proud!
+Words which no ear ever to hear in Heaven
+Expected, least of all from thee, Ingrate,
+In place thyself so high above thy peers.
+Canst thou with impious obloquy condemn
+The just decree of God, pronounced and sworn,
+That to his only Son, by right endued
+With regal scepter, every soul in Heaven
+Shall bend the knee, and in that honour due
+Confess him rightful King? unjust, thou sayest,
+Flatly unjust, to bind with laws the free,
+And equal over equals to let reign,
+One over all with unsucceeded power.
+Shalt thou give law to God? shalt thou dispute
+With him the points of liberty, who made
+Thee what thou art, and formed the Powers of Heaven
+Such as he pleased, and circumscribed their being?
+Yet, by experience taught, we know how good,
+And of our good and of our dignity
+How provident he is; how far from thought
+To make us less, bent rather to exalt
+Our happy state, under one head more near
+United. But to grant it thee unjust,
+That equal over equals monarch reign:
+Thyself, though great and glorious, dost thou count,
+Or all angelick nature joined in one,
+Equal to him begotten Son? by whom,
+As by his Word, the Mighty Father made
+All things, even thee; and all the Spirits of Heaven
+By him created in their bright degrees,
+Crowned them with glory, and to their glory named
+Thrones, Dominations, Princedoms, Virtues, Powers,
+Essential Powers; nor by his reign obscured,
+But more illustrious made; since he the head
+One of our number thus reduced becomes;
+His laws our laws; all honour to him done
+Returns our own. Cease then this impious rage,
+And tempt not these; but hasten to appease
+The incensed Father, and the incensed Son,
+While pardon may be found in time besought.
+So spake the fervent Angel; but his zeal
+None seconded, as out of season judged,
+Or singular and rash: Whereat rejoiced
+The Apostate, and, more haughty, thus replied.
+That we were formed then sayest thou? and the work
+Of secondary hands, by task transferred
+From Father to his Son? strange point and new!
+Doctrine which we would know whence learned: who saw
+When this creation was? rememberest thou
+Thy making, while the Maker gave thee being?
+We know no time when we were not as now;
+Know none before us, self-begot, self-raised
+By our own quickening power, when fatal course
+Had circled his full orb, the birth mature
+Of this our native Heaven, ethereal sons.
+Our puissance is our own; our own right hand
+Shall teach us highest deeds, by proof to try
+Who is our equal: Then thou shalt behold
+Whether by supplication we intend
+Address, and to begirt the almighty throne
+Beseeching or besieging. This report,
+These tidings carry to the anointed King;
+And fly, ere evil intercept thy flight.
+He said; and, as the sound of waters deep,
+Hoarse murmur echoed to his words applause
+Through the infinite host; nor less for that
+The flaming Seraph fearless, though alone
+Encompassed round with foes, thus answered bold.
+O alienate from God, O Spirit accursed,
+Forsaken of all good! I see thy fall
+Determined, and thy hapless crew involved
+In this perfidious fraud, contagion spread
+Both of thy crime and punishment: Henceforth
+No more be troubled how to quit the yoke
+Of God's Messiah; those indulgent laws
+Will not be now vouchsafed; other decrees
+Against thee are gone forth without recall;
+That golden scepter, which thou didst reject,
+Is now an iron rod to bruise and break
+Thy disobedience. Well thou didst advise;
+Yet not for thy advice or threats I fly
+These wicked tents devoted, lest the wrath
+Impendent, raging into sudden flame,
+Distinguish not: For soon expect to feel
+His thunder on thy head, devouring fire.
+Then who created thee lamenting learn,
+When who can uncreate thee thou shalt know.
+So spake the Seraph Abdiel, faithful found
+Among the faithless, faithful only he;
+Among innumerable false, unmoved,
+Unshaken, unseduced, unterrified,
+His loyalty he kept, his love, his zeal;
+Nor number, nor example, with him wrought
+To swerve from truth, or change his constant mind,
+Though single. From amidst them forth he passed,
+Long way through hostile scorn, which he sustained
+Superiour, nor of violence feared aught;
+And, with retorted scorn, his back he turned
+On those proud towers to swift destruction doomed.
+
+
+
+Book VI
+
+
+All night the dreadless Angel, unpursued,
+Through Heaven's wide champain held his way; till Morn,
+Waked by the circling Hours, with rosy hand
+Unbarred the gates of light. There is a cave
+Within the mount of God, fast by his throne,
+Where light and darkness in perpetual round
+Lodge and dislodge by turns, which makes through Heaven
+Grateful vicissitude, like day and night;
+Light issues forth, and at the other door
+Obsequious darkness enters, till her hour
+To veil the Heaven, though darkness there might well
+Seem twilight here: And now went forth the Morn
+Such as in highest Heaven arrayed in gold
+Empyreal; from before her vanished Night,
+Shot through with orient beams; when all the plain
+Covered with thick embattled squadrons bright,
+Chariots, and flaming arms, and fiery steeds,
+Reflecting blaze on blaze, first met his view:
+War he perceived, war in procinct; and found
+Already known what he for news had thought
+To have reported: Gladly then he mixed
+Among those friendly Powers, who him received
+With joy and acclamations loud, that one,
+That of so many myriads fallen, yet one
+Returned not lost. On to the sacred hill
+They led him high applauded, and present
+Before the seat supreme; from whence a voice,
+From midst a golden cloud, thus mild was heard.
+Servant of God. Well done; well hast thou fought
+The better fight, who single hast maintained
+Against revolted multitudes the cause
+Of truth, in word mightier than they in arms;
+And for the testimony of truth hast borne
+Universal reproach, far worse to bear
+Than violence; for this was all thy care
+To stand approved in sight of God, though worlds
+Judged thee perverse: The easier conquest now
+Remains thee, aided by this host of friends,
+Back on thy foes more glorious to return,
+Than scorned thou didst depart; and to subdue
+By force, who reason for their law refuse,
+Right reason for their law, and for their King
+Messiah, who by right of merit reigns.
+Go, Michael, of celestial armies prince,
+And thou, in military prowess next,
+Gabriel, lead forth to battle these my sons
+Invincible; lead forth my armed Saints,
+By thousands and by millions, ranged for fight,
+Equal in number to that Godless crew
+Rebellious: Them with fire and hostile arms
+Fearless assault; and, to the brow of Heaven
+Pursuing, drive them out from God and bliss,
+Into their place of punishment, the gulf
+Of Tartarus, which ready opens wide
+His fiery Chaos to receive their fall.
+So spake the Sovran Voice, and clouds began
+To darken all the hill, and smoke to roll
+In dusky wreaths, reluctant flames, the sign
+Of wrath awaked; nor with less dread the loud
+Ethereal trumpet from on high 'gan blow:
+At which command the Powers militant,
+That stood for Heaven, in mighty quadrate joined
+Of union irresistible, moved on
+In silence their bright legions, to the sound
+Of instrumental harmony, that breathed
+Heroick ardour to adventurous deeds
+Under their God-like leaders, in the cause
+Of God and his Messiah. On they move
+Indissolubly firm; nor obvious hill,
+Nor straitening vale, nor wood, nor stream, divides
+Their perfect ranks; for high above the ground
+Their march was, and the passive air upbore
+Their nimble tread; as when the total kind
+Of birds, in orderly array on wing,
+Came summoned over Eden to receive
+Their names of thee; so over many a tract
+Of Heaven they marched, and many a province wide,
+Tenfold the length of this terrene: At last,
+Far in the horizon to the north appeared
+From skirt to skirt a fiery region, stretched
+In battailous aspect, and nearer view
+Bristled with upright beams innumerable
+Of rigid spears, and helmets thronged, and shields
+Various, with boastful argument portrayed,
+The banded Powers of Satan hasting on
+With furious expedition; for they weened
+That self-same day, by fight or by surprise,
+To win the mount of God, and on his throne
+To set the Envier of his state, the proud
+Aspirer; but their thoughts proved fond and vain
+In the mid way: Though strange to us it seemed
+At first, that Angel should with Angel war,
+And in fierce hosting meet, who wont to meet
+So oft in festivals of joy and love
+Unanimous, as sons of one great Sire,
+Hymning the Eternal Father: But the shout
+Of battle now began, and rushing sound
+Of onset ended soon each milder thought.
+High in the midst, exalted as a God,
+The Apostate in his sun-bright chariot sat,
+Idol of majesty divine, enclosed
+With flaming Cherubim, and golden shields;
+Then lighted from his gorgeous throne, for now
+"twixt host and host but narrow space was left,
+A dreadful interval, and front to front
+Presented stood in terrible array
+Of hideous length: Before the cloudy van,
+On the rough edge of battle ere it joined,
+Satan, with vast and haughty strides advanced,
+Came towering, armed in adamant and gold;
+Abdiel that sight endured not, where he stood
+Among the mightiest, bent on highest deeds,
+And thus his own undaunted heart explores.
+O Heaven! that such resemblance of the Highest
+Should yet remain, where faith and realty
+Remain not: Wherefore should not strength and might
+There fail where virtue fails, or weakest prove
+Where boldest, though to fight unconquerable?
+His puissance, trusting in the Almighty's aid,
+I mean to try, whose reason I have tried
+Unsound and false; nor is it aught but just,
+That he, who in debate of truth hath won,
+Should win in arms, in both disputes alike
+Victor; though brutish that contest and foul,
+When reason hath to deal with force, yet so
+Most reason is that reason overcome.
+So pondering, and from his armed peers
+Forth stepping opposite, half-way he met
+His daring foe, at this prevention more
+Incensed, and thus securely him defied.
+Proud, art thou met? thy hope was to have reached
+The highth of thy aspiring unopposed,
+The throne of God unguarded, and his side
+Abandoned, at the terrour of thy power
+Or potent tongue: Fool!not to think how vain
+Against the Omnipotent to rise in arms;
+Who out of smallest things could, without end,
+Have raised incessant armies to defeat
+Thy folly; or with solitary hand
+Reaching beyond all limit, at one blow,
+Unaided, could have finished thee, and whelmed
+Thy legions under darkness: But thou seest
+All are not of thy train; there be, who faith
+Prefer, and piety to God, though then
+To thee not visible, when I alone
+Seemed in thy world erroneous to dissent
+From all: My sect thou seest;now learn too late
+How few sometimes may know, when thousands err.
+Whom the grand foe, with scornful eye askance,
+Thus answered. Ill for thee, but in wished hour
+Of my revenge, first sought for, thou returnest
+From flight, seditious Angel! to receive
+Thy merited reward, the first assay
+Of this right hand provoked, since first that tongue,
+Inspired with contradiction, durst oppose
+A third part of the Gods, in synod met
+Their deities to assert; who, while they feel
+Vigour divine within them, can allow
+Omnipotence to none. But well thou comest
+Before thy fellows, ambitious to win
+From me some plume, that thy success may show
+Destruction to the rest: This pause between,
+(Unanswered lest thou boast) to let thee know,
+At first I thought that Liberty and Heaven
+To heavenly souls had been all one; but now
+I see that most through sloth had rather serve,
+Ministring Spirits, trained up in feast and song!
+Such hast thou armed, the minstrelsy of Heaven,
+Servility with freedom to contend,
+As both their deeds compared this day shall prove.
+To whom in brief thus Abdiel stern replied.
+Apostate! still thou errest, nor end wilt find
+Of erring, from the path of truth remote:
+Unjustly thou depravest it with the name
+Of servitude, to serve whom God ordains,
+Or Nature: God and Nature bid the same,
+When he who rules is worthiest, and excels
+Them whom he governs. This is servitude,
+To serve the unwise, or him who hath rebelled
+Against his worthier, as thine now serve thee,
+Thyself not free, but to thyself enthralled;
+Yet lewdly darest our ministring upbraid.
+Reign thou in Hell, thy kingdom; let me serve
+In Heaven God ever blest, and his divine
+Behests obey, worthiest to be obeyed;
+Yet chains in Hell, not realms, expect: Mean while
+From me returned, as erst thou saidst, from flight,
+This greeting on thy impious crest receive.
+So saying, a noble stroke he lifted high,
+Which hung not, but so swift with tempest fell
+On the proud crest of Satan, that no sight,
+Nor motion of swift thought, less could his shield,
+Such ruin intercept: Ten paces huge
+He back recoiled; the tenth on bended knee
+His massy spear upstaid; as if on earth
+Winds under ground, or waters forcing way,
+Sidelong had pushed a mountain from his seat,
+Half sunk with all his pines. Amazement seised
+The rebel Thrones, but greater rage, to see
+Thus foiled their mightiest; ours joy filled, and shout,
+Presage of victory, and fierce desire
+Of battle: Whereat Michael bid sound
+The Arch-Angel trumpet; through the vast of Heaven
+It sounded, and the faithful armies rung
+Hosanna to the Highest: Nor stood at gaze
+The adverse legions, nor less hideous joined
+The horrid shock. Now storming fury rose,
+And clamour such as heard in Heaven till now
+Was never; arms on armour clashing brayed
+Horrible discord, and the madding wheels
+Of brazen chariots raged; dire was the noise
+Of conflict; over head the dismal hiss
+Of fiery darts in flaming vollies flew,
+And flying vaulted either host with fire.
+So under fiery cope together rushed
+Both battles main, with ruinous assault
+And inextinguishable rage. All Heaven
+Resounded; and had Earth been then, all Earth
+Had to her center shook. What wonder? when
+Millions of fierce encountering Angels fought
+On either side, the least of whom could wield
+These elements, and arm him with the force
+Of all their regions: How much more of power
+Army against army numberless to raise
+Dreadful combustion warring, and disturb,
+Though not destroy, their happy native seat;
+Had not the Eternal King Omnipotent,
+From his strong hold of Heaven, high over-ruled
+And limited their might; though numbered such
+As each divided legion might have seemed
+A numerous host; in strength each armed hand
+A legion; led in fight, yet leader seemed
+Each warriour single as in chief, expert
+When to advance, or stand, or turn the sway
+Of battle, open when, and when to close
+The ridges of grim war: No thought of flight,
+None of retreat, no unbecoming deed
+That argued fear; each on himself relied,
+As only in his arm the moment lay
+Of victory: Deeds of eternal fame
+Were done, but infinite; for wide was spread
+That war and various; sometimes on firm ground
+A standing fight, then, soaring on main wing,
+Tormented all the air; all air seemed then
+Conflicting fire. Long time in even scale
+The battle hung; till Satan, who that day
+Prodigious power had shown, and met in arms
+No equal, ranging through the dire attack
+Of fighting Seraphim confused, at length
+Saw where the sword of Michael smote, and felled
+Squadrons at once; with huge two-handed sway
+Brandished aloft, the horrid edge came down
+Wide-wasting; such destruction to withstand
+He hasted, and opposed the rocky orb
+Of tenfold adamant, his ample shield,
+A vast circumference. At his approach
+The great Arch-Angel from his warlike toil
+Surceased, and glad, as hoping here to end
+Intestine war in Heaven, the arch-foe subdued
+Or captive dragged in chains, with hostile frown
+And visage all inflamed first thus began.
+Author of evil, unknown till thy revolt,
+Unnamed in Heaven, now plenteous as thou seest
+These acts of hateful strife, hateful to all,
+Though heaviest by just measure on thyself,
+And thy adherents: How hast thou disturbed
+Heaven's blessed peace, and into nature brought
+Misery, uncreated till the crime
+Of thy rebellion! how hast thou instilled
+Thy malice into thousands, once upright
+And faithful, now proved false! But think not here
+To trouble holy rest; Heaven casts thee out
+From all her confines. Heaven, the seat of bliss,
+Brooks not the works of violence and war.
+Hence then, and evil go with thee along,
+Thy offspring, to the place of evil, Hell;
+Thou and thy wicked crew! there mingle broils,
+Ere this avenging sword begin thy doom,
+Or some more sudden vengeance, winged from God,
+Precipitate thee with augmented pain.
+So spake the Prince of Angels; to whom thus
+The Adversary. Nor think thou with wind
+Of aery threats to awe whom yet with deeds
+Thou canst not. Hast thou turned the least of these
+To flight, or if to fall, but that they rise
+Unvanquished, easier to transact with me
+That thou shouldst hope, imperious, and with threats
+To chase me hence? err not, that so shall end
+The strife which thou callest evil, but we style
+The strife of glory; which we mean to win,
+Or turn this Heaven itself into the Hell
+Thou fablest; here however to dwell free,
+If not to reign: Mean while thy utmost force,
+And join him named Almighty to thy aid,
+I fly not, but have sought thee far and nigh.
+They ended parle, and both addressed for fight
+Unspeakable; for who, though with the tongue
+Of Angels, can relate, or to what things
+Liken on earth conspicuous, that may lift
+Human imagination to such highth
+Of Godlike power? for likest Gods they seemed,
+Stood they or moved, in stature, motion, arms,
+Fit to decide the empire of great Heaven.
+Now waved their fiery swords, and in the air
+Made horrid circles; two broad suns their shields
+Blazed opposite, while Expectation stood
+In horrour: From each hand with speed retired,
+Where erst was thickest fight, the angelick throng,
+And left large field, unsafe within the wind
+Of such commotion; such as, to set forth
+Great things by small, if, nature's concord broke,
+Among the constellations war were sprung,
+Two planets, rushing from aspect malign
+Of fiercest opposition, in mid sky
+Should combat, and their jarring spheres confound.
+Together both with next to almighty arm
+Up-lifted imminent, one stroke they aimed
+That might determine, and not need repeat,
+As not of power at once; nor odds appeared
+In might or swift prevention: But the sword
+Of Michael from the armoury of God
+Was given him tempered so, that neither keen
+Nor solid might resist that edge: it met
+The sword of Satan, with steep force to smite
+Descending, and in half cut sheer; nor staid,
+But with swift wheel reverse, deep entering, shared
+All his right side: Then Satan first knew pain,
+And writhed him to and fro convolved; so sore
+The griding sword with discontinuous wound
+Passed through him: But the ethereal substance closed,
+Not long divisible; and from the gash
+A stream of necturous humour issuing flowed
+Sanguine, such as celestial Spirits may bleed,
+And all his armour stained, ere while so bright.
+Forthwith on all sides to his aid was run
+By Angels many and strong, who interposed
+Defence, while others bore him on their shields
+Back to his chariot, where it stood retired
+From off the files of war: There they him laid
+Gnashing for anguish, and despite, and shame,
+To find himself not matchless, and his pride
+Humbled by such rebuke, so far beneath
+His confidence to equal God in power.
+Yet soon he healed; for Spirits that live throughout
+Vital in every part, not as frail man
+In entrails, heart of head, liver or reins,
+Cannot but by annihilating die;
+Nor in their liquid texture mortal wound
+Receive, no more than can the fluid air:
+All heart they live, all head, all eye, all ear,
+All intellect, all sense; and, as they please,
+They limb themselves, and colour, shape, or size
+Assume, as?kikes them best, condense or rare.
+Mean while in other parts like deeds deserved
+Memorial, where the might of Gabriel fought,
+And with fierce ensigns pierced the deep array
+Of Moloch, furious king; who him defied,
+And at his chariot-wheels to drag him bound
+Threatened, nor from the Holy One of Heaven
+Refrained his tongue blasphemous; but anon
+Down cloven to the waist, with shattered arms
+And uncouth pain fled bellowing. On each wing
+Uriel, and Raphael, his vaunting foe,
+Though huge, and in a rock of diamond armed,
+Vanquished Adramelech, and Asmadai,
+Two potent Thrones, that to be less than Gods
+Disdained, but meaner thoughts learned in their flight,
+Mangled with ghastly wounds through plate and mail.
+Nor stood unmindful Abdiel to annoy
+The atheist crew, but with redoubled blow
+Ariel, and Arioch, and the violence
+Of Ramiel scorched and blasted, overthrew.
+I might relate of thousands, and their names
+Eternize here on earth; but those elect
+Angels, contented with their fame in Heaven,
+Seek not the praise of men: The other sort,
+In might though wonderous and in acts of war,
+Nor of renown less eager, yet by doom
+Cancelled from Heaven and sacred memory,
+Nameless in dark oblivion let them dwell.
+For strength from truth divided, and from just,
+Illaudable, nought merits but dispraise
+And ignominy; yet to glory aspires
+Vain-glorious, and through infamy seeks fame:
+Therefore eternal silence be their doom.
+And now, their mightiest quelled, the battle swerved,
+With many an inroad gored; deformed rout
+Entered, and foul disorder; all the ground
+With shivered armour strown, and on a heap
+Chariot and charioteer lay overturned,
+And fiery-foaming steeds; what stood, recoiled
+O'er-wearied, through the faint Satanick host
+Defensive scarce, or with pale fear surprised,
+Then first with fear surprised, and sense of pain,
+Fled ignominious, to such evil brought
+By sin of disobedience; till that hour
+Not liable to fear, or flight, or pain.
+Far otherwise the inviolable Saints,
+In cubick phalanx firm, advanced entire,
+Invulnerable, impenetrably armed;
+Such high advantages their innocence
+Gave them above their foes; not to have sinned,
+Not to have disobeyed; in fight they stood
+Unwearied, unobnoxious to be pained
+By wound, though from their place by violence moved,
+Now Night her course began, and, over Heaven
+Inducing darkness, grateful truce imposed,
+And silence on the odious din of war:
+Under her cloudy covert both retired,
+Victor and vanquished: On the foughten field
+Michael and his Angels prevalent
+Encamping, placed in guard their watches round,
+Cherubick waving fires: On the other part,
+Satan with his rebellious disappeared,
+Far in the dark dislodged; and, void of rest,
+His potentates to council called by night;
+And in the midst thus undismayed began.
+O now in danger tried, now known in arms
+Not to be overpowered, Companions dear,
+Found worthy not of liberty alone,
+Too mean pretence! but what we more affect,
+Honour, dominion, glory, and renown;
+Who have sustained one day in doubtful fight,
+(And if one day, why not eternal days?)
+What Heaven's Lord had powerfullest to send
+Against us from about his throne, and judged
+Sufficient to subdue us to his will,
+But proves not so: Then fallible, it seems,
+Of future we may deem him, though till now
+Omniscient thought. True is, less firmly armed,
+Some disadvantage we endured and pain,
+Till now not known, but, known, as soon contemned;
+Since now we find this our empyreal form
+Incapable of mortal injury,
+Imperishable, and, though pierced with wound,
+Soon closing, and by native vigour healed.
+Of evil then so small as easy think
+The remedy; perhaps more valid arms,
+Weapons more violent, when next we meet,
+May serve to better us, and worse our foes,
+Or equal what between us made the odds,
+In nature none: If other hidden cause
+Left them superiour, while we can preserve
+Unhurt our minds, and understanding sound,
+Due search and consultation will disclose.
+He sat; and in the assembly next upstood
+Nisroch, of Principalities the prime;
+As one he stood escaped from cruel fight,
+Sore toiled, his riven arms to havock hewn,
+And cloudy in aspect thus answering spake.
+Deliverer from new Lords, leader to free
+Enjoyment of our right as Gods; yet hard
+For Gods, and too unequal work we find,
+Against unequal arms to fight in pain,
+Against unpained, impassive; from which evil
+Ruin must needs ensue; for what avails
+Valour or strength, though matchless, quelled with pain
+Which all subdues, and makes remiss the hands
+Of mightiest? Sense of pleasure we may well
+Spare out of life perhaps, and not repine,
+But live content, which is the calmest life:
+But pain is perfect misery, the worst
+Of evils, and, excessive, overturns
+All patience. He, who therefore can invent
+With what more forcible we may offend
+Our yet unwounded enemies, or arm
+Ourselves with like defence, to me deserves
+No less than for deliverance what we owe.
+Whereto with look composed Satan replied.
+Not uninvented that, which thou aright
+Believest so main to our success, I bring.
+Which of us who beholds the bright surface
+Of this ethereous mould whereon we stand,
+This continent of spacious Heaven, adorned
+With plant, fruit, flower ambrosial, gems, and gold;
+Whose eye so superficially surveys
+These things, as not to mind from whence they grow
+Deep under ground, materials dark and crude,
+Of spiritous and fiery spume, till touched
+With Heaven's ray, and tempered, they shoot forth
+So beauteous, opening to the ambient light?
+These in their dark nativity the deep
+Shall yield us, pregnant with infernal flame;
+Which, into hollow engines, long and round,
+Thick rammed, at the other bore with touch of fire
+Dilated and infuriate, shall send forth
+From far, with thundering noise, among our foes
+Such implements of mischief, as shall dash
+To pieces, and o'erwhelm whatever stands
+Adverse, that they shall fear we have disarmed
+The Thunderer of his only dreaded bolt.
+Nor long shall be our labour; yet ere dawn,
+Effect shall end our wish. Mean while revive;
+Abandon fear; to strength and counsel joined
+Think nothing hard, much less to be despaired.
+He ended, and his words their drooping cheer
+Enlightened, and their languished hope revived.
+The invention all admired, and each, how he
+To be the inventer missed; so easy it seemed
+Once found, which yet unfound most would have thought
+Impossible: Yet, haply, of thy race
+In future days, if malice should abound,
+Some one intent on mischief, or inspired
+With devilish machination, might devise
+Like instrument to plague the sons of men
+For sin, on war and mutual slaughter bent.
+Forthwith from council to the work they flew;
+None arguing stood; innumerable hands
+Were ready; in a moment up they turned
+Wide the celestial soil, and saw beneath
+The originals of nature in their crude
+Conception; sulphurous and nitrous foam
+They found, they mingled, and, with subtle art,
+Concocted and adusted they reduced
+To blackest grain, and into store conveyed:
+Part hidden veins digged up (nor hath this earth
+Entrails unlike) of mineral and stone,
+Whereof to found their engines and their balls
+Of missive ruin; part incentive reed
+Provide, pernicious with one touch to fire.
+So all ere day-spring, under conscious night,
+Secret they finished, and in order set,
+With silent circumspection, unespied.
+Now when fair morn orient in Heaven appeared,
+Up rose the victor-Angels, and to arms
+The matin trumpet sung: In arms they stood
+Of golden panoply, refulgent host,
+Soon banded; others from the dawning hills
+Look round, and scouts each coast light-armed scour,
+Each quarter to descry the distant foe,
+Where lodged, or whither fled, or if for fight,
+In motion or in halt: Him soon they met
+Under spread ensigns moving nigh, in slow
+But firm battalion; back with speediest sail
+Zophiel, of Cherubim the swiftest wing,
+Came flying, and in mid air aloud thus cried.
+Arm, Warriours, arm for fight; the foe at hand,
+Whom fled we thought, will save us long pursuit
+This day; fear not his flight;so thick a cloud
+He comes, and settled in his face I see
+Sad resolution, and secure: Let each
+His adamantine coat gird well, and each
+Fit well his helm, gripe fast his orbed shield,
+Borne even or high; for this day will pour down,
+If I conjecture aught, no drizzling shower,
+But rattling storm of arrows barbed with fire.
+So warned he them, aware themselves, and soon
+In order, quit of all impediment;
+Instant without disturb they took alarm,
+And onward moved embattled: When behold!
+Not distant far with heavy pace the foe
+Approaching gross and huge, in hollow cube
+Training his devilish enginery, impaled
+On every side with shadowing squadrons deep,
+To hide the fraud. At interview both stood
+A while; but suddenly at head appeared
+Satan, and thus was heard commanding loud.
+Vanguard, to right and left the front unfold;
+That all may see who hate us, how we seek
+Peace and composure, and with open breast
+Stand ready to receive them, if they like
+Our overture; and turn not back perverse:
+But that I doubt; however witness, Heaven!
+Heaven, witness thou anon! while we discharge
+Freely our part: ye, who appointed stand
+Do as you have in charge, and briefly touch
+What we propound, and loud that all may hear!
+So scoffing in ambiguous words, he scarce
+Had ended; when to right and left the front
+Divided, and to either flank retired:
+Which to our eyes discovered, new and strange,
+A triple mounted row of pillars laid
+On wheels (for like to pillars most they seemed,
+Or hollowed bodies made of oak or fir,
+With branches lopt, in wood or mountain felled,)
+Brass, iron, stony mould, had not their mouths
+With hideous orifice gaped on us wide,
+Portending hollow truce: At each behind
+A Seraph stood, and in his hand a reed
+Stood waving tipt with fire; while we, suspense,
+Collected stood within our thoughts amused,
+Not long; for sudden all at once their reeds
+Put forth, and to a narrow vent applied
+With nicest touch. Immediate in a flame,
+But soon obscured with smoke, all Heaven appeared,
+From those deep-throated engines belched, whose roar
+Embowelled with outrageous noise the air,
+And all her entrails tore, disgorging foul
+Their devilish glut, chained thunderbolts and hail
+Of iron globes; which, on the victor host
+Levelled, with such impetuous fury smote,
+That, whom they hit, none on their feet might stand,
+Though standing else as rocks, but down they fell
+By thousands, Angel on Arch-Angel rolled;
+The sooner for their arms; unarmed, they might
+Have easily, as Spirits, evaded swift
+By quick contraction or remove; but now
+Foul dissipation followed, and forced rout;
+Nor served it to relax their serried files.
+What should they do? if on they rushed, repulse
+Repeated, and indecent overthrow
+Doubled, would render them yet more despised,
+And to their foes a laughter; for in view
+Stood ranked of Seraphim another row,
+In posture to displode their second tire
+Of thunder: Back defeated to return
+They worse abhorred. Satan beheld their plight,
+And to his mates thus in derision called.
+O Friends! why come not on these victors proud
+Ere while they fierce were coming; and when we,
+To entertain them fair with open front
+And breast, (what could we more?) propounded terms
+Of composition, straight they changed their minds,
+Flew off, and into strange vagaries fell,
+As they would dance; yet for a dance they seemed
+Somewhat extravagant and wild; perhaps
+For joy of offered peace: But I suppose,
+If our proposals once again were heard,
+We should compel them to a quick result.
+To whom thus Belial, in like gamesome mood.
+Leader! the terms we sent were terms of weight,
+Of hard contents, and full of force urged home;
+Such as we might perceive amused them all,
+And stumbled many: Who receives them right,
+Had need from head to foot well understand;
+Not understood, this gift they have besides,
+They show us when our foes walk not upright.
+So they among themselves in pleasant vein
+Stood scoffing, hightened in their thoughts beyond
+All doubt of victory: Eternal Might
+To match with their inventions they presumed
+So easy, and of his thunder made a scorn,
+And all his host derided, while they stood
+A while in trouble: But they stood not long;
+Rage prompted them at length, and found them arms
+Against such hellish mischief fit to oppose.
+Forthwith (behold the excellence, the power,
+Which God hath in his mighty Angels placed!)
+Their arms away they threw, and to the hills
+(For Earth hath this variety from Heaven
+Of pleasure situate in hill and dale,)
+Light as the lightning glimpse they ran, they flew;
+From their foundations loosening to and fro,
+They plucked the seated hills, with all their load,
+Rocks, waters, woods, and by the shaggy tops
+Up-lifting bore them in their hands: Amaze,
+Be sure, and terrour, seized the rebel host,
+When coming towards them so dread they saw
+The bottom of the mountains upward turned;
+Till on those cursed engines' triple-row
+They saw them whelmed, and all their confidence
+Under the weight of mountains buried deep;
+Themselves invaded next, and on their heads
+Main promontories flung, which in the air
+Came shadowing, and oppressed whole legions armed;
+Their armour helped their harm, crushed in and bruised
+Into their substance pent, which wrought them pain
+Implacable, and many a dolorous groan;
+Long struggling underneath, ere they could wind
+Out of such prison, though Spirits of purest light,
+Purest at first, now gross by sinning grown.
+The rest, in imitation, to like arms
+Betook them, and the neighbouring hills uptore:
+So hills amid the air encountered hills,
+Hurled to and fro with jaculation dire;
+That under ground they fought in dismal shade;
+Infernal noise! war seemed a civil game
+To this uproar; horrid confusion heaped
+Upon confusion rose: And now all Heaven
+Had gone to wrack, with ruin overspread;
+Had not the Almighty Father, where he sits
+Shrined in his sanctuary of Heaven secure,
+Consulting on the sum of things, foreseen
+This tumult, and permitted all, advised:
+That his great purpose he might so fulfil,
+To honour his anointed Son avenged
+Upon his enemies, and to declare
+All power on him transferred: Whence to his Son,
+The Assessour of his throne, he thus began.
+Effulgence of my glory, Son beloved,
+Son, in whose face invisible is beheld
+Visibly, what by Deity I am;
+And in whose hand what by decree I do,
+Second Omnipotence! two days are past,
+Two days, as we compute the days of Heaven,
+Since Michael and his Powers went forth to tame
+These disobedient: Sore hath been their fight,
+As likeliest was, when two such foes met armed;
+For to themselves I left them; and thou knowest,
+Equal in their creation they were formed,
+Save what sin hath impaired; which yet hath wrought
+Insensibly, for I suspend their doom;
+Whence in perpetual fight they needs must last
+Endless, and no solution will be found:
+War wearied hath performed what war can do,
+And to disordered rage let loose the reins
+With mountains, as with weapons, armed; which makes
+Wild work in Heaven, and dangerous to the main.
+Two days are therefore past, the third is thine;
+For thee I have ordained it; and thus far
+Have suffered, that the glory may be thine
+Of ending this great war, since none but Thou
+Can end it. Into thee such virtue and grace
+Immense I have transfused, that all may know
+In Heaven and Hell thy power above compare;
+And, this perverse commotion governed thus,
+To manifest thee worthiest to be Heir
+Of all things; to be Heir, and to be King
+By sacred unction, thy deserved right.
+Go then, Thou Mightiest, in thy Father's might;
+Ascend my chariot, guide the rapid wheels
+That shake Heaven's basis, bring forth all my war,
+My bow and thunder, my almighty arms
+Gird on, and sword upon thy puissant thigh;
+Pursue these sons of darkness, drive them out
+From all Heaven's bounds into the utter deep:
+There let them learn, as likes them, to despise
+God, and Messiah his anointed King.
+He said, and on his Son with rays direct
+Shone full; he all his Father full expressed
+Ineffably into his face received;
+And thus the Filial Godhead answering spake.
+O Father, O Supreme of heavenly Thrones,
+First, Highest, Holiest, Best; thou always seek'st
+To glorify thy Son, I always thee,
+As is most just: This I my glory account,
+My exaltation, and my whole delight,
+That thou, in me well pleased, declarest thy will
+Fulfilled, which to fulfil is all my bliss.
+Scepter and power, thy giving, I assume,
+And gladlier shall resign, when in the end
+Thou shalt be all in all, and I in thee
+For ever; and in me all whom thou lovest:
+But whom thou hatest, I hate, and can put on
+Thy terrours, as I put thy mildness on,
+Image of thee in all things; and shall soon,
+Armed with thy might, rid Heaven of these rebelled;
+To their prepared ill mansion driven down,
+To chains of darkness, and the undying worm;
+That from thy just obedience could revolt,
+Whom to obey is happiness entire.
+Then shall thy Saints unmixed, and from the impure
+Far separate, circling thy holy mount,
+Unfeigned Halleluiahs to thee sing,
+Hymns of high praise, and I among them Chief.
+So said, he, o'er his scepter bowing, rose
+From the right hand of Glory where he sat;
+And the third sacred morn began to shine,
+Dawning through Heaven. Forth rushed with whirlwind sound
+The chariot of Paternal Deity,
+Flashing thick flames, wheel within wheel undrawn,
+Itself instinct with Spirit, but convoyed
+By four Cherubick shapes; four faces each
+Had wonderous; as with stars, their bodies all
+And wings were set with eyes; with eyes the wheels
+Of beryl, and careering fires between;
+Over their heads a crystal firmament,
+Whereon a sapphire throne, inlaid with pure
+Amber, and colours of the showery arch.
+He, in celestial panoply all armed
+Of radiant Urim, work divinely wrought,
+Ascended; at his right hand Victory
+Sat eagle-winged; beside him hung his bow
+And quiver with three-bolted thunder stored;
+And from about him fierce effusion rolled
+Of smoke, and bickering flame, and sparkles dire:
+Attended with ten thousand thousand Saints,
+He onward came; far off his coming shone;
+And twenty thousand (I their number heard)
+Chariots of God, half on each hand, were seen;
+He on the wings of Cherub rode sublime
+On the crystalline sky, in sapphire throned,
+Illustrious far and wide; but by his own
+First seen: Them unexpected joy surprised,
+When the great ensign of Messiah blazed
+Aloft by Angels borne, his sign in Heaven;
+Under whose conduct Michael soon reduced
+His army, circumfused on either wing,
+Under their Head imbodied all in one.
+Before him Power Divine his way prepared;
+At his command the uprooted hills retired
+Each to his place; they heard his voice, and went
+Obsequious; Heaven his wonted face renewed,
+And with fresh flowerets hill and valley smiled.
+This saw his hapless foes, but stood obdured,
+And to rebellious fight rallied their Powers,
+Insensate, hope conceiving from despair.
+In heavenly Spirits could such perverseness dwell?
+But to convince the proud what signs avail,
+Or wonders move the obdurate to relent?
+They, hardened more by what might most reclaim,
+Grieving to see his glory, at the sight
+Took envy; and, aspiring to his highth,
+Stood re-embattled fierce, by force or fraud
+Weening to prosper, and at length prevail
+Against God and Messiah, or to fall
+In universal ruin last; and now
+To final battle drew, disdaining flight,
+Or faint retreat; when the great Son of God
+To all his host on either hand thus spake.
+Stand still in bright array, ye Saints; here stand,
+Ye Angels armed; this day from battle rest:
+Faithful hath been your warfare, and of God
+Accepted, fearless in his righteous cause;
+And as ye have received, so have ye done,
+Invincibly: But of this cursed crew
+The punishment to other hand belongs;
+Vengeance is his, or whose he sole appoints:
+Number to this day's work is not ordained,
+Nor multitude; stand only, and behold
+God's indignation on these godless poured
+By me; not you, but me, they have despised,
+Yet envied; against me is all their rage,
+Because the Father, to whom in Heaven s'preme
+Kingdom, and power, and glory appertains,
+Hath honoured me, according to his will.
+Therefore to me their doom he hath assigned;
+That they may have their wish, to try with me
+In battle which the stronger proves; they all,
+Or I alone against them; since by strength
+They measure all, of other excellence
+Not emulous, nor care who them excels;
+Nor other strife with them do I vouchsafe.
+So spake the Son, and into terrour changed
+His countenance too severe to be beheld,
+And full of wrath bent on his enemies.
+At once the Four spread out their starry wings
+With dreadful shade contiguous, and the orbs
+Of his fierce chariot rolled, as with the sound
+Of torrent floods, or of a numerous host.
+He on his impious foes right onward drove,
+Gloomy as night; under his burning wheels
+The stedfast empyrean shook throughout,
+All but the throne itself of God. Full soon
+Among them he arrived; in his right hand
+Grasping ten thousand thunders, which he sent
+Before him, such as in their souls infixed
+Plagues: They, astonished, all resistance lost,
+All courage; down their idle weapons dropt:
+O'er shields, and helms, and helmed heads he rode
+Of Thrones and mighty Seraphim prostrate,
+That wished the mountains now might be again
+Thrown on them, as a shelter from his ire.
+Nor less on either side tempestuous fell
+His arrows, from the fourfold-visaged Four
+Distinct with eyes, and from the living wheels
+Distinct alike with multitude of eyes;
+One Spirit in them ruled; and every eye
+Glared lightning, and shot forth pernicious fire
+Among the accursed, that withered all their strength,
+And of their wonted vigour left them drained,
+Exhausted, spiritless, afflicted, fallen.
+Yet half his strength he put not forth, but checked
+His thunder in mid volley; for he meant
+Not to destroy, but root them out of Heaven:
+The overthrown he raised, and as a herd
+Of goats or timorous flock together thronged
+Drove them before him thunder-struck, pursued
+With terrours, and with furies, to the bounds
+And crystal wall of Heaven; which, opening wide,
+Rolled inward, and a spacious gap disclosed
+Into the wasteful deep: The monstrous sight
+Struck them with horrour backward, but far worse
+Urged them behind: Headlong themselves they threw
+Down from the verge of Heaven; eternal wrath
+Burnt after them to the bottomless pit.
+Hell heard the unsufferable noise, Hell saw
+Heaven ruining from Heaven, and would have fled
+Affrighted; but strict Fate had cast too deep
+Her dark foundations, and too fast had bound.
+Nine days they fell: Confounded Chaos roared,
+And felt tenfold confusion in their fall
+Through his wild anarchy, so huge a rout
+Incumbered him with ruin: Hell at last
+Yawning received them whole, and on them closed;
+Hell, their fit habitation, fraught with fire
+Unquenchable, the house of woe and pain.
+Disburdened Heaven rejoiced, and soon repaired
+Her mural breach, returning whence it rolled.
+Sole victor, from the expulsion of his foes,
+Messiah his triumphal chariot turned:
+To meet him all his Saints, who silent stood
+Eye-witnesses of his almighty acts,
+With jubilee advanced; and, as they went,
+Shaded with branching palm, each Order bright,
+Sung triumph, and him sung victorious King,
+Son, Heir, and Lord, to him dominion given,
+Worthiest to reign: He, celebrated, rode
+Triumphant through mid Heaven, into the courts
+And temple of his Mighty Father throned
+On high; who into glory him received,
+Where now he sits at the right hand of bliss.
+Thus, measuring things in Heaven by things on Earth,
+At thy request, and that thou mayest beware
+By what is past, to thee I have revealed
+What might have else to human race been hid;
+The discord which befel, and war in Heaven
+Among the angelick Powers, and the deep fall
+Of those too high aspiring, who rebelled
+With Satan; he who envies now thy state,
+Who now is plotting how he may seduce
+Thee also from obedience, that, with him
+Bereaved of happiness, thou mayest partake
+His punishment, eternal misery;
+Which would be all his solace and revenge,
+As a despite done against the Most High,
+Thee once to gain companion of his woe.
+But listen not to his temptations, warn
+Thy weaker; let it profit thee to have heard,
+By terrible example, the reward
+Of disobedience; firm they might have stood,
+Yet fell; remember, and fear to transgress.
+
+
+
+Book VII
+
+
+Descend from Heaven, Urania, by that name
+If rightly thou art called, whose voice divine
+Following, above the Olympian hill I soar,
+Above the flight of Pegasean wing!
+The meaning, not the name, I call: for thou
+Nor of the Muses nine, nor on the top
+Of old Olympus dwellest; but, heavenly-born,
+Before the hills appeared, or fountain flowed,
+Thou with eternal Wisdom didst converse,
+Wisdom thy sister, and with her didst play
+In presence of the Almighty Father, pleased
+With thy celestial song. Up led by thee
+Into the Heaven of Heavens I have presumed,
+An earthly guest, and drawn empyreal air,
+Thy tempering: with like safety guided down
+Return me to my native element:
+Lest from this flying steed unreined, (as once
+Bellerophon, though from a lower clime,)
+Dismounted, on the Aleian field I fall,
+Erroneous there to wander, and forlorn.
+Half yet remains unsung, but narrower bound
+Within the visible diurnal sphere;
+Standing on earth, not rapt above the pole,
+More safe I sing with mortal voice, unchanged
+To hoarse or mute, though fallen on evil days,
+On evil days though fallen, and evil tongues;
+In darkness, and with dangers compassed round,
+And solitude; yet not alone, while thou
+Visitest my slumbers nightly, or when morn
+Purples the east: still govern thou my song,
+Urania, and fit audience find, though few.
+But drive far off the barbarous dissonance
+Of Bacchus and his revellers, the race
+Of that wild rout that tore the Thracian bard
+In Rhodope, where woods and rocks had ears
+To rapture, till the savage clamour drowned
+Both harp and voice; nor could the Muse defend
+Her son. So fail not thou, who thee implores:
+For thou art heavenly, she an empty dream.
+Say, Goddess, what ensued when Raphael,
+The affable Arch-Angel, had forewarned
+Adam, by dire example, to beware
+Apostasy, by what befel in Heaven
+To those apostates; lest the like befall
+In Paradise to Adam or his race,
+Charged not to touch the interdicted tree,
+If they transgress, and slight that sole command,
+So easily obeyed amid the choice
+Of all tastes else to please their appetite,
+Though wandering. He, with his consorted Eve,
+The story heard attentive, and was filled
+With admiration and deep muse, to hear
+Of things so high and strange; things, to their thought
+So unimaginable, as hate in Heaven,
+And war so near the peace of God in bliss,
+With such confusion: but the evil, soon
+Driven back, redounded as a flood on those
+From whom it sprung; impossible to mix
+With blessedness. Whence Adam soon repealed
+The doubts that in his heart arose: and now
+Led on, yet sinless, with desire to know
+What nearer might concern him, how this world
+Of Heaven and Earth conspicuous first began;
+When, and whereof created; for what cause;
+What within Eden, or without, was done
+Before his memory; as one whose drouth
+Yet scarce allayed still eyes the current stream,
+Whose liquid murmur heard new thirst excites,
+Proceeded thus to ask his heavenly guest.
+Great things, and full of wonder in our ears,
+Far differing from this world, thou hast revealed,
+Divine interpreter! by favour sent
+Down from the empyrean, to forewarn
+Us timely of what might else have been our loss,
+Unknown, which human knowledge could not reach;
+For which to the infinitely Good we owe
+Immortal thanks, and his admonishment
+Receive, with solemn purpose to observe
+Immutably his sovran will, the end
+Of what we are. But since thou hast vouchsafed
+Gently, for our instruction, to impart
+Things above earthly thought, which yet concerned
+Our knowing, as to highest wisdom seemed,
+Deign to descend now lower, and relate
+What may no less perhaps avail us known,
+How first began this Heaven which we behold
+Distant so high, with moving fires adorned
+Innumerable; and this which yields or fills
+All space, the ambient air wide interfused
+Embracing round this floried Earth; what cause
+Moved the Creator, in his holy rest
+Through all eternity, so late to build
+In Chaos; and the work begun, how soon
+Absolved; if unforbid thou mayest unfold
+What we, not to explore the secrets ask
+Of his eternal empire, but the more
+To magnify his works, the more we know.
+And the great light of day yet wants to run
+Much of his race though steep; suspense in Heaven,
+Held by thy voice, thy potent voice, he hears,
+And longer will delay to hear thee tell
+His generation, and the rising birth
+Of Nature from the unapparent Deep:
+Or if the star of evening and the moon
+Haste to thy audience, Night with her will bring,
+Silence; and Sleep, listening to thee, will watch;
+Or we can bid his absence, till thy song
+End, and dismiss thee ere the morning shine.
+Thus Adam his illustrious guest besought:
+And thus the Godlike Angel answered mild.
+This also thy request, with caution asked,
+Obtain; though to recount almighty works
+What words or tongue of Seraph can suffice,
+Or heart of man suffice to comprehend?
+Yet what thou canst attain, which best may serve
+To glorify the Maker, and infer
+Thee also happier, shall not be withheld
+Thy hearing; such commission from above
+I have received, to answer thy desire
+Of knowledge within bounds; beyond, abstain
+To ask; nor let thine own inventions hope
+Things not revealed, which the invisible King,
+Only Omniscient, hath suppressed in night;
+To none communicable in Earth or Heaven:
+Enough is left besides to search and know.
+But knowledge is as food, and needs no less
+Her temperance over appetite, to know
+In measure what the mind may well contain;
+Oppresses else with surfeit, and soon turns
+Wisdom to folly, as nourishment to wind.
+Know then, that, after Lucifer from Heaven
+(So call him, brighter once amidst the host
+Of Angels, than that star the stars among,)
+Fell with his flaming legions through the deep
+Into his place, and the great Son returned
+Victorious with his Saints, the Omnipotent
+Eternal Father from his throne beheld
+Their multitude, and to his Son thus spake.
+At least our envious Foe hath failed, who thought
+All like himself rebellious, by whose aid
+This inaccessible high strength, the seat
+Of Deity supreme, us dispossessed,
+He trusted to have seised, and into fraud
+Drew many, whom their place knows here no more:
+Yet far the greater part have kept, I see,
+Their station; Heaven, yet populous, retains
+Number sufficient to possess her realms
+Though wide, and this high temple to frequent
+With ministeries due, and solemn rites:
+But, lest his heart exalt him in the harm
+Already done, to have dispeopled Heaven,
+My damage fondly deemed, I can repair
+That detriment, if such it be to lose
+Self-lost; and in a moment will create
+Another world, out of one man a race
+Of men innumerable, there to dwell,
+Not here; till, by degrees of merit raised,
+They open to themselves at length the way
+Up hither, under long obedience tried;
+And Earth be changed to Heaven, and Heaven to Earth,
+One kingdom, joy and union without end.
+Mean while inhabit lax, ye Powers of Heaven;
+And thou my Word, begotten Son, by thee
+This I perform; speak thou, and be it done!
+My overshadowing Spirit and Might with thee
+I send along; ride forth, and bid the Deep
+Within appointed bounds be Heaven and Earth;
+Boundless the Deep, because I Am who fill
+Infinitude, nor vacuous the space.
+Though I, uncircumscribed myself, retire,
+And put not forth my goodness, which is free
+To act or not, Necessity and Chance
+Approach not me, and what I will is Fate.
+So spake the Almighty, and to what he spake
+His Word, the Filial Godhead, gave effect.
+Immediate are the acts of God, more swift
+Than time or motion, but to human ears
+Cannot without process of speech be told,
+So told as earthly notion can receive.
+Great triumph and rejoicing was in Heaven,
+When such was heard declared the Almighty's will;
+Glory they sung to the Most High, good will
+To future men, and in their dwellings peace;
+Glory to Him, whose just avenging ire
+Had driven out the ungodly from his sight
+And the habitations of the just; to Him
+Glory and praise, whose wisdom had ordained
+Good out of evil to create; instead
+Of Spirits malign, a better race to bring
+Into their vacant room, and thence diffuse
+His good to worlds and ages infinite.
+So sang the Hierarchies: Mean while the Son
+On his great expedition now appeared,
+Girt with Omnipotence, with radiance crowned
+Of Majesty Divine; sapience and love
+Immense, and all his Father in him shone.
+About his chariot numberless were poured
+Cherub, and Seraph, Potentates, and Thrones,
+And Virtues, winged Spirits, and chariots winged
+From the armoury of God; where stand of old
+Myriads, between two brazen mountains lodged
+Against a solemn day, harnessed at hand,
+Celestial equipage; and now came forth
+Spontaneous, for within them Spirit lived,
+Attendant on their Lord: Heaven opened wide
+Her ever-during gates, harmonious sound
+On golden hinges moving, to let forth
+The King of Glory, in his powerful Word
+And Spirit, coming to create new worlds.
+On heavenly ground they stood; and from the shore
+They viewed the vast immeasurable abyss
+Outrageous as a sea, dark, wasteful, wild,
+Up from the bottom turned by furious winds
+And surging waves, as mountains, to assault
+Heaven's highth, and with the center mix the pole.
+Silence, ye troubled Waves, and thou Deep, peace,
+Said then the Omnifick Word; your discord end!
+Nor staid; but, on the wings of Cherubim
+Uplifted, in paternal glory rode
+Far into Chaos, and the world unborn;
+For Chaos heard his voice: Him all his train
+Followed in bright procession, to behold
+Creation, and the wonders of his might.
+Then staid the fervid wheels, and in his hand
+He took the golden compasses, prepared
+In God's eternal store, to circumscribe
+This universe, and all created things:
+One foot he centered, and the other turned
+Round through the vast profundity obscure;
+And said, Thus far extend, thus far thy bounds,
+This be thy just circumference, O World!
+Thus God the Heaven created, thus the Earth,
+Matter unformed and void: Darkness profound
+Covered the abyss: but on the watery calm
+His brooding wings the Spirit of God outspread,
+And vital virtue infused, and vital warmth
+Throughout the fluid mass; but downward purged
+The black tartareous cold infernal dregs,
+Adverse to life: then founded, then conglobed
+Like things to like; the rest to several place
+Disparted, and between spun out the air;
+And Earth self-balanced on her center hung.
+Let there be light, said God; and forthwith Light
+Ethereal, first of things, quintessence pure,
+Sprung from the deep; and from her native east
+To journey through the aery gloom began,
+Sphered in a radiant cloud, for yet the sun
+Was not; she in a cloudy tabernacle
+Sojourned the while. God saw the light was good;
+And light from darkness by the hemisphere
+Divided: light the Day, and darkness Night,
+He named. Thus was the first day even and morn:
+Nor past uncelebrated, nor unsung
+By the celestial quires, when orient light
+Exhaling first from darkness they beheld;
+Birth-day of Heaven and Earth; with joy and shout
+The hollow universal orb they filled,
+And touched their golden harps, and hymning praised
+God and his works; Creator him they sung,
+Both when first evening was, and when first morn.
+Again, God said, Let there be firmament
+Amid the waters, and let it divide
+The waters from the waters; and God made
+The firmament, expanse of liquid, pure,
+Transparent, elemental air, diffused
+In circuit to the uttermost convex
+Of this great round; partition firm and sure,
+The waters underneath from those above
+Dividing: for as earth, so he the world
+Built on circumfluous waters calm, in wide
+Crystalline ocean, and the loud misrule
+Of Chaos far removed; lest fierce extremes
+Contiguous might distemper the whole frame:
+And Heaven he named the Firmament: So even
+And morning chorus sung the second day.
+The Earth was formed, but in the womb as yet
+Of waters, embryon immature involved,
+Appeared not: over all the face of Earth
+Main ocean flowed, not idle; but, with warm
+Prolifick humour softening all her globe,
+Fermented the great mother to conceive,
+Satiate with genial moisture; when God said,
+Be gathered now ye waters under Heaven
+Into one place, and let dry land appear.
+Immediately the mountains huge appear
+Emergent, and their broad bare backs upheave
+Into the clouds; their tops ascend the sky:
+So high as heaved the tumid hills, so low
+Down sunk a hollow bottom broad and deep,
+Capacious bed of waters: Thither they
+Hasted with glad precipitance, uprolled,
+As drops on dust conglobing from the dry:
+Part rise in crystal wall, or ridge direct,
+For haste; such flight the great command impressed
+On the swift floods: As armies at the call
+Of trumpet (for of armies thou hast heard)
+Troop to their standard; so the watery throng,
+Wave rolling after wave, where way they found,
+If steep, with torrent rapture, if through plain,
+Soft-ebbing; nor withstood them rock or hill;
+But they, or under ground, or circuit wide
+With serpent errour wandering, found their way,
+And on the washy oose deep channels wore;
+Easy, ere God had bid the ground be dry,
+All but within those banks, where rivers now
+Stream, and perpetual draw their humid train.
+The dry land, Earth; and the great receptacle
+Of congregated waters, he called Seas:
+And saw that it was good; and said, Let the Earth
+Put forth the verdant grass, herb yielding seed,
+And fruit-tree yielding fruit after her kind,
+Whose seed is in herself upon the Earth.
+He scarce had said, when the bare Earth, till then
+Desart and bare, unsightly, unadorned,
+Brought forth the tender grass, whose verdure clad
+Her universal face with pleasant green;
+Then herbs of every leaf, that sudden flowered
+Opening their various colours, and made gay
+Her bosom, smelling sweet: and, these scarce blown,
+Forth flourished thick the clustering vine, forth crept
+The swelling gourd, up stood the corny reed
+Embattled in her field, and the humble shrub,
+And bush with frizzled hair implicit: Last
+Rose, as in dance, the stately trees, and spread
+Their branches hung with copious fruit, or gemmed
+Their blossoms: With high woods the hills were crowned;
+With tufts the valleys, and each fountain side;
+With borders long the rivers: that Earth now
+Seemed like to Heaven, a seat where Gods might dwell,
+Or wander with delight, and love to haunt
+Her sacred shades: though God had yet not rained
+Upon the Earth, and man to till the ground
+None was; but from the Earth a dewy mist
+Went up, and watered all the ground, and each
+Plant of the field; which, ere it was in the Earth,
+God made, and every herb, before it grew
+On the green stem: God saw that it was good:
+So even and morn recorded the third day.
+Again the Almighty spake, Let there be lights
+High in the expanse of Heaven, to divide
+The day from night; and let them be for signs,
+For seasons, and for days, and circling years;
+And let them be for lights, as I ordain
+Their office in the firmament of Heaven,
+To give light on the Earth; and it was so.
+And God made two great lights, great for their use
+To Man, the greater to have rule by day,
+The less by night, altern; and made the stars,
+And set them in the firmament of Heaven
+To illuminate the Earth, and rule the day
+In their vicissitude, and rule the night,
+And light from darkness to divide. God saw,
+Surveying his great work, that it was good:
+For of celestial bodies first the sun
+A mighty sphere he framed, unlightsome first,
+Though of ethereal mould: then formed the moon
+Globose, and every magnitude of stars,
+And sowed with stars the Heaven, thick as a field:
+Of light by far the greater part he took,
+Transplanted from her cloudy shrine, and placed
+In the sun's orb, made porous to receive
+And drink the liquid light; firm to retain
+Her gathered beams, great palace now of light.
+Hither, as to their fountain, other stars
+Repairing, in their golden urns draw light,
+And hence the morning-planet gilds her horns;
+By tincture or reflection they augment
+Their small peculiar, though from human sight
+So far remote, with diminution seen,
+First in his east the glorious lamp was seen,
+Regent of day, and all the horizon round
+Invested with bright rays, jocund to run
+His longitude through Heaven's high road; the gray
+Dawn, and the Pleiades, before him danced,
+Shedding sweet influence: Less bright the moon,
+But opposite in levelled west was set,
+His mirrour, with full face borrowing her light
+From him; for other light she needed none
+In that aspect, and still that distance keeps
+Till night; then in the east her turn she shines,
+Revolved on Heaven's great axle, and her reign
+With thousand lesser lights dividual holds,
+With thousand thousand stars, that then appeared
+Spangling the hemisphere: Then first adorned
+With their bright luminaries that set and rose,
+Glad evening and glad morn crowned the fourth day.
+And God said, Let the waters generate
+Reptile with spawn abundant, living soul:
+And let fowl fly above the Earth, with wings
+Displayed on the open firmament of Heaven.
+And God created the great whales, and each
+Soul living, each that crept, which plenteously
+The waters generated by their kinds;
+And every bird of wing after his kind;
+And saw that it was good, and blessed them, saying.
+Be fruitful, multiply, and in the seas,
+And lakes, and running streams, the waters fill;
+And let the fowl be multiplied, on the Earth.
+Forthwith the sounds and seas, each creek and bay,
+With fry innumerable swarm, and shoals
+Of fish that with their fins, and shining scales,
+Glide under the green wave, in sculls that oft
+Bank the mid sea: part single, or with mate,
+Graze the sea-weed their pasture, and through groves
+Of coral stray; or, sporting with quick glance,
+Show to the sun their waved coats dropt with gold;
+Or, in their pearly shells at ease, attend
+Moist nutriment; or under rocks their food
+In jointed armour watch: on smooth the seal
+And bended dolphins play: part huge of bulk
+Wallowing unwieldy, enormous in their gait,
+Tempest the ocean: there leviathan,
+Hugest of living creatures, on the deep
+Stretched like a promontory sleeps or swims,
+And seems a moving land; and at his gills
+Draws in, and at his trunk spouts out, a sea.
+Mean while the tepid caves, and fens, and shores,
+Their brood as numerous hatch, from the egg that soon
+Bursting with kindly rupture forth disclosed
+Their callow young; but feathered soon and fledge
+They summed their pens; and, soaring the air sublime,
+With clang despised the ground, under a cloud
+In prospect; there the eagle and the stork
+On cliffs and cedar tops their eyries build:
+Part loosely wing the region, part more wise
+In common, ranged in figure, wedge their way,
+Intelligent of seasons, and set forth
+Their aery caravan, high over seas
+Flying, and over lands, with mutual wing
+Easing their flight; so steers the prudent crane
+Her annual voyage, borne on winds; the air
+Floats as they pass, fanned with unnumbered plumes:
+From branch to branch the smaller birds with song
+Solaced the woods, and spread their painted wings
+Till even; nor then the solemn nightingale
+Ceased warbling, but all night tun'd her soft lays:
+Others, on silver lakes and rivers, bathed
+Their downy breast; the swan with arched neck,
+Between her white wings mantling proudly, rows
+Her state with oary feet; yet oft they quit
+The dank, and, rising on stiff pennons, tower
+The mid aereal sky: Others on ground
+Walked firm; the crested cock whose clarion sounds
+The silent hours, and the other whose gay train
+Adorns him, coloured with the florid hue
+Of rainbows and starry eyes. The waters thus
+With fish replenished, and the air with fowl,
+Evening and morn solemnized the fifth day.
+The sixth, and of creation last, arose
+With evening harps and matin; when God said,
+Let the Earth bring forth soul living in her kind,
+Cattle, and creeping things, and beast of the Earth,
+Each in their kind. The Earth obeyed, and straight
+Opening her fertile womb teemed at a birth
+Innumerous living creatures, perfect forms,
+Limbed and full grown: Out of the ground up rose,
+As from his lair, the wild beast where he wons
+In forest wild, in thicket, brake, or den;
+Among the trees in pairs they rose, they walked:
+The cattle in the fields and meadows green:
+Those rare and solitary, these in flocks
+Pasturing at once, and in broad herds upsprung.
+The grassy clods now calved; now half appeared
+The tawny lion, pawing to get free
+His hinder parts, then springs as broke from bonds,
+And rampant shakes his brinded mane; the ounce,
+The libbard, and the tiger, as the mole
+Rising, the crumbled earth above them threw
+In hillocks: The swift stag from under ground
+Bore up his branching head: Scarce from his mould
+Behemoth biggest born of earth upheaved
+His vastness: Fleeced the flocks and bleating rose,
+As plants: Ambiguous between sea and land
+The river-horse, and scaly crocodile.
+At once came forth whatever creeps the ground,
+Insect or worm: those waved their limber fans
+For wings, and smallest lineaments exact
+In all the liveries decked of summer's pride
+With spots of gold and purple, azure and green:
+These, as a line, their long dimension drew,
+Streaking the ground with sinuous trace; not all
+Minims of nature; some of serpent-kind,
+Wonderous in length and corpulence, involved
+Their snaky folds, and added wings. First crept
+The parsimonious emmet, provident
+Of future; in small room large heart enclosed;
+Pattern of just equality perhaps
+Hereafter, joined in her popular tribes
+Of commonalty: Swarming next appeared
+The female bee, that feeds her husband drone
+Deliciously, and builds her waxen cells
+With honey stored: The rest are numberless,
+And thou their natures knowest, and gavest them names,
+Needless to thee repeated; nor unknown
+The serpent, subtlest beast of all the field,
+Of huge extent sometimes, with brazen eyes
+And hairy mane terrifick, though to thee
+Not noxious, but obedient at thy call.
+Now Heaven in all her glory shone, and rolled
+Her motions, as the great first Mover's hand
+First wheeled their course: Earth in her rich attire
+Consummate lovely smiled; air, water, earth,
+By fowl, fish, beast, was flown, was swum, was walked,
+Frequent; and of the sixth day yet remained:
+There wanted yet the master-work, the end
+Of all yet done; a creature, who, not prone
+And brute as other creatures, but endued
+With sanctity of reason, might erect
+His stature, and upright with front serene
+Govern the rest, self-knowing; and from thence
+Magnanimous to correspond with Heaven,
+But grateful to acknowledge whence his good
+Descends, thither with heart, and voice, and eyes
+Directed in devotion, to adore
+And worship God Supreme, who made him chief
+Of all his works: therefore the Omnipotent
+Eternal Father (for where is not he
+Present?) thus to his Son audibly spake.
+Let us make now Man in our image, Man
+In our similitude, and let them rule
+Over the fish and fowl of sea and air,
+Beast of the field, and over all the Earth,
+And every creeping thing that creeps the ground.
+This said, he formed thee, Adam, thee, O Man,
+Dust of the ground, and in thy nostrils breathed
+The breath of life; in his own image he
+Created thee, in the image of God
+Express; and thou becamest a living soul.
+Male he created thee; but thy consort
+Female, for race; then blessed mankind, and said,
+Be fruitful, multiply, and fill the Earth;
+Subdue it, and throughout dominion hold
+Over fish of the sea, and fowl of the air,
+And every living thing that moves on the Earth.
+Wherever thus created, for no place
+Is yet distinct by name, thence, as thou knowest,
+He brought thee into this delicious grove,
+This garden, planted with the trees of God,
+Delectable both to behold and taste;
+And freely all their pleasant fruit for food
+Gave thee; all sorts are here that all the Earth yields,
+Variety without end; but of the tree,
+Which, tasted, works knowledge of good and evil,
+Thou mayest not; in the day thou eatest, thou diest;
+Death is the penalty imposed; beware,
+And govern well thy appetite; lest Sin
+Surprise thee, and her black attendant Death.
+Here finished he, and all that he had made
+Viewed, and behold all was entirely good;
+So even and morn accomplished the sixth day:
+Yet not till the Creator from his work
+Desisting, though unwearied, up returned,
+Up to the Heaven of Heavens, his high abode;
+Thence to behold this new created world,
+The addition of his empire, how it showed
+In prospect from his throne, how good, how fair,
+Answering his great idea. Up he rode
+Followed with acclamation, and the sound
+Symphonious of ten thousand harps, that tuned
+Angelick harmonies: The earth, the air
+Resounded, (thou rememberest, for thou heardst,)
+The heavens and all the constellations rung,
+The planets in their station listening stood,
+While the bright pomp ascended jubilant.
+Open, ye everlasting gates! they sung,
+Open, ye Heavens! your living doors;let in
+The great Creator from his work returned
+Magnificent, his six days work, a World;
+Open, and henceforth oft; for God will deign
+To visit oft the dwellings of just men,
+Delighted; and with frequent intercourse
+Thither will send his winged messengers
+On errands of supernal grace. So sung
+The glorious train ascending: He through Heaven,
+That opened wide her blazing portals, led
+To God's eternal house direct the way;
+A broad and ample road, whose dust is gold
+And pavement stars, as stars to thee appear,
+Seen in the galaxy, that milky way,
+Which nightly, as a circling zone, thou seest
+Powdered with stars. And now on Earth the seventh
+Evening arose in Eden, for the sun
+Was set, and twilight from the east came on,
+Forerunning night; when at the holy mount
+Of Heaven's high-seated top, the imperial throne
+Of Godhead, fixed for ever firm and sure,
+The Filial Power arrived, and sat him down
+With his great Father; for he also went
+Invisible, yet staid, (such privilege
+Hath Omnipresence) and the work ordained,
+Author and End of all things; and, from work
+Now resting, blessed and hallowed the seventh day,
+As resting on that day from all his work,
+But not in silence holy kept: the harp
+Had work and rested not; the solemn pipe,
+And dulcimer, all organs of sweet stop,
+All sounds on fret by string or golden wire,
+Tempered soft tunings, intermixed with voice
+Choral or unison: of incense clouds,
+Fuming from golden censers, hid the mount.
+Creation and the six days acts they sung:
+Great are thy works, Jehovah! infinite
+Thy power! what thought can measure thee, or tongue
+Relate thee! Greater now in thy return
+Than from the giant Angels: Thee that day
+Thy thunders magnified; but to create
+Is greater than created to destroy.
+Who can impair thee, Mighty King, or bound
+Thy empire! Easily the proud attempt
+Of Spirits apostate, and their counsels vain,
+Thou hast repelled; while impiously they thought
+Thee to diminish, and from thee withdraw
+The number of thy worshippers. Who seeks
+To lessen thee, against his purpose serves
+To manifest the more thy might: his evil
+Thou usest, and from thence createst more good.
+Witness this new-made world, another Heaven
+From Heaven-gate not far, founded in view
+On the clear hyaline, the glassy sea;
+Of amplitude almost immense, with stars
+Numerous, and every star perhaps a world
+Of destined habitation; but thou knowest
+Their seasons: among these the seat of Men,
+Earth, with her nether ocean circumfused,
+Their pleasant dwelling-place. Thrice happy Men,
+And sons of Men, whom God hath thus advanced!
+Created in his image, there to dwell
+And worship him; and in reward to rule
+Over his works, on earth, in sea, or air,
+And multiply a race of worshippers
+Holy and just: Thrice happy, if they know
+Their happiness, and persevere upright!
+So sung they, and the empyrean rung
+With halleluiahs: Thus was sabbath kept.
+And thy request think now fulfilled, that asked
+How first this world and face of things began,
+And what before thy memory was done
+From the beginning; that posterity,
+Informed by thee, might know: If else thou seekest
+Aught, not surpassing human measure, say.
+
+
+
+Book VIII
+
+
+The Angel ended, and in Adam's ear
+So charming left his voice, that he a while
+Thought him still speaking, still stood fixed to hear;
+Then, as new waked, thus gratefully replied.
+What thanks sufficient, or what recompence
+Equal, have I to render thee, divine
+Historian, who thus largely hast allayed
+The thirst I had of knowledge, and vouchsafed
+This friendly condescension to relate
+Things, else by me unsearchable; now heard
+With wonder, but delight, and, as is due,
+With glory attributed to the high
+Creator! Something yet of doubt remains,
+Which only thy solution can resolve.
+When I behold this goodly frame, this world,
+Of Heaven and Earth consisting; and compute
+Their magnitudes; this Earth, a spot, a grain,
+An atom, with the firmament compared
+And all her numbered stars, that seem to roll
+Spaces incomprehensible, (for such
+Their distance argues, and their swift return
+Diurnal,) merely to officiate light
+Round this opacous Earth, this punctual spot,
+One day and night; in all her vast survey
+Useless besides; reasoning I oft admire,
+How Nature wise and frugal could commit
+Such disproportions, with superfluous hand
+So many nobler bodies to create,
+Greater so manifold, to this one use,
+For aught appears, and on their orbs impose
+Such restless revolution day by day
+Repeated; while the sedentary Earth,
+That better might with far less compass move,
+Served by more noble than herself, attains
+Her end without least motion, and receives,
+As tribute, such a sumless journey brought
+Of incorporeal speed, her warmth and light;
+Speed, to describe whose swiftness number fails.
+So spake our sire, and by his countenance seemed
+Entering on studious thoughts abstruse; which Eve
+Perceiving, where she sat retired in sight,
+With lowliness majestick from her seat,
+And grace that won who saw to wish her stay,
+Rose, and went forth among her fruits and flowers,
+To visit how they prospered, bud and bloom,
+Her nursery; they at her coming sprung,
+And, touched by her fair tendance, gladlier grew.
+Yet went she not, as not with such discourse
+Delighted, or not capable her ear
+Of what was high: such pleasure she reserved,
+Adam relating, she sole auditress;
+Her husband the relater she preferred
+Before the Angel, and of him to ask
+Chose rather; he, she knew, would intermix
+Grateful digressions, and solve high dispute
+With conjugal caresses: from his lip
+Not words alone pleased her. O! when meet now
+Such pairs, in love and mutual honour joined?
+With Goddess-like demeanour forth she went,
+Not unattended; for on her, as Queen,
+A pomp of winning Graces waited still,
+And from about her shot darts of desire
+Into all eyes, to wish her still in sight.
+And Raphael now, to Adam's doubt proposed,
+Benevolent and facile thus replied.
+To ask or search, I blame thee not; for Heaven
+Is as the book of God before thee set,
+Wherein to read his wonderous works, and learn
+His seasons, hours, or days, or months, or years:
+This to attain, whether Heaven move or Earth,
+Imports not, if thou reckon right; the rest
+From Man or Angel the great Architect
+Did wisely to conceal, and not divulge
+His secrets to be scanned by them who ought
+Rather admire; or, if they list to try
+Conjecture, he his fabrick of the Heavens
+Hath left to their disputes, perhaps to move
+His laughter at their quaint opinions wide
+Hereafter; when they come to model Heaven
+And calculate the stars, how they will wield
+The mighty frame; how build, unbuild, contrive
+To save appearances; how gird the sphere
+With centrick and eccentrick scribbled o'er,
+Cycle and epicycle, orb in orb:
+Already by thy reasoning this I guess,
+Who art to lead thy offspring, and supposest
+That bodies bright and greater should not serve
+The less not bright, nor Heaven such journeys run,
+Earth sitting still, when she alone receives
+The benefit: Consider first, that great
+Or bright infers not excellence: the Earth
+Though, in comparison of Heaven, so small,
+Nor glistering, may of solid good contain
+More plenty than the sun that barren shines;
+Whose virtue on itself works no effect,
+But in the fruitful Earth; there first received,
+His beams, unactive else, their vigour find.
+Yet not to Earth are those bright luminaries
+Officious; but to thee, Earth's habitant.
+And for the Heaven's wide circuit, let it speak
+The Maker's high magnificence, who built
+So spacious, and his line stretched out so far;
+That Man may know he dwells not in his own;
+An edifice too large for him to fill,
+Lodged in a small partition; and the rest
+Ordained for uses to his Lord best known.
+The swiftness of those circles attribute,
+Though numberless, to his Omnipotence,
+That to corporeal substances could add
+Speed almost spiritual: Me thou thinkest not slow,
+Who since the morning-hour set out from Heaven
+Where God resides, and ere mid-day arrived
+In Eden; distance inexpressible
+By numbers that have name. But this I urge,
+Admitting motion in the Heavens, to show
+Invalid that which thee to doubt it moved;
+Not that I so affirm, though so it seem
+To thee who hast thy dwelling here on Earth.
+God, to remove his ways from human sense,
+Placed Heaven from Earth so far, that earthly sight,
+If it presume, might err in things too high,
+And no advantage gain. What if the sun
+Be center to the world; and other stars,
+By his attractive virtue and their own
+Incited, dance about him various rounds?
+Their wandering course now high, now low, then hid,
+Progressive, retrograde, or standing still,
+In six thou seest; and what if seventh to these
+The planet earth, so stedfast though she seem,
+Insensibly three different motions move?
+Which else to several spheres thou must ascribe,
+Moved contrary with thwart obliquities;
+Or save the sun his labour, and that swift
+Nocturnal and diurnal rhomb supposed,
+Invisible else above all stars, the wheel
+Of day and night; which needs not thy belief,
+If earth, industrious of herself, fetch day
+Travelling east, and with her part averse
+From the sun's beam meet night, her other part
+Still luminous by his ray. What if that light,
+Sent from her through the wide transpicuous air,
+To the terrestrial moon be as a star,
+Enlightening her by day, as she by night
+This earth? reciprocal, if land be there,
+Fields and inhabitants: Her spots thou seest
+As clouds, and clouds may rain, and rain produce
+Fruits in her softened soil for some to eat
+Allotted there; and other suns perhaps,
+With their attendant moons, thou wilt descry,
+Communicating male and female light;
+Which two great sexes animate the world,
+Stored in each orb perhaps with some that live.
+For such vast room in Nature unpossessed
+By living soul, desart and desolate,
+Only to shine, yet scarce to contribute
+Each orb a glimpse of light, conveyed so far
+Down to this habitable, which returns
+Light back to them, is obvious to dispute.
+But whether thus these things, or whether not;
+But whether the sun, predominant in Heaven,
+Rise on the earth; or earth rise on the sun;
+He from the east his flaming road begin;
+Or she from west her silent course advance,
+With inoffensive pace that spinning sleeps
+On her soft axle, while she paces even,
+And bears thee soft with the smooth hair along;
+Sollicit not thy thoughts with matters hid;
+Leave them to God above; him serve, and fear!
+Of other creatures, as him pleases best,
+Wherever placed, let him dispose; joy thou
+In what he gives to thee, this Paradise
+And thy fair Eve; Heaven is for thee too high
+To know what passes there; be lowly wise:
+Think only what concerns thee, and thy being;
+Dream not of other worlds, what creatures there
+Live, in what state, condition, or degree;
+Contented that thus far hath been revealed
+Not of Earth only, but of highest Heaven.
+To whom thus Adam, cleared of doubt, replied.
+How fully hast thou satisfied me, pure
+Intelligence of Heaven, Angel serene!
+And, freed from intricacies, taught to live
+The easiest way; nor with perplexing thoughts
+To interrupt the sweet of life, from which
+God hath bid dwell far off all anxious cares,
+And not molest us; unless we ourselves
+Seek them with wandering thoughts, and notions vain.
+But apt the mind or fancy is to rove
+Unchecked, and of her roving is no end;
+Till warned, or by experience taught, she learn,
+That, not to know at large of things remote
+From use, obscure and subtle; but, to know
+That which before us lies in daily life,
+Is the prime wisdom: What is more, is fume,
+Or emptiness, or fond impertinence:
+And renders us, in things that most concern,
+Unpractised, unprepared, and still to seek.
+Therefore from this high pitch let us descend
+A lower flight, and speak of things at hand
+Useful; whence, haply, mention may arise
+Of something not unseasonable to ask,
+By sufferance, and thy wonted favour, deigned.
+Thee I have heard relating what was done
+Ere my remembrance: now, hear me relate
+My story, which perhaps thou hast not heard;
+And day is not yet spent; till then thou seest
+How subtly to detain thee I devise;
+Inviting thee to hear while I relate;
+Fond! were it not in hope of thy reply:
+For, while I sit with thee, I seem in Heaven;
+And sweeter thy discourse is to my ear
+Than fruits of palm-tree pleasantest to thirst
+And hunger both, from labour, at the hour
+Of sweet repast; they satiate, and soon fill,
+Though pleasant; but thy words, with grace divine
+Imbued, bring to their sweetness no satiety.
+To whom thus Raphael answered heavenly meek.
+Nor are thy lips ungraceful, Sire of men,
+Nor tongue ineloquent; for God on thee
+Abundantly his gifts hath also poured
+Inward and outward both, his image fair:
+Speaking, or mute, all comeliness and grace
+Attends thee; and each word, each motion, forms;
+Nor less think we in Heaven of thee on Earth
+Than of our fellow-servant, and inquire
+Gladly into the ways of God with Man:
+For God, we see, hath honoured thee, and set
+On Man his equal love: Say therefore on;
+For I that day was absent, as befel,
+Bound on a voyage uncouth and obscure,
+Far on excursion toward the gates of Hell;
+Squared in full legion (such command we had)
+To see that none thence issued forth a spy,
+Or enemy, while God was in his work;
+Lest he, incensed at such eruption bold,
+Destruction with creation might have mixed.
+Not that they durst without his leave attempt;
+But us he sends upon his high behests
+For state, as Sovran King; and to inure
+Our prompt obedience. Fast we found, fast shut,
+The dismal gates, and barricadoed strong;
+But long ere our approaching heard within
+Noise, other than the sound of dance or song,
+Torment, and loud lament, and furious rage.
+Glad we returned up to the coasts of light
+Ere sabbath-evening: so we had in charge.
+But thy relation now; for I attend,
+Pleased with thy words no less than thou with mine.
+So spake the Godlike Power, and thus our Sire.
+For Man to tell how human life began
+Is hard; for who himself beginning knew
+Desire with thee still longer to converse
+Induced me. As new waked from soundest sleep,
+Soft on the flowery herb I found me laid,
+In balmy sweat; which with his beams the sun
+Soon dried, and on the reeking moisture fed.
+Straight toward Heaven my wondering eyes I turned,
+And gazed a while the ample sky; till, raised
+By quick instinctive motion, up I sprung,
+As thitherward endeavouring, and upright
+Stood on my feet: about me round I saw
+Hill, dale, and shady woods, and sunny plains,
+And liquid lapse of murmuring streams; by these,
+Creatures that lived and moved, and walked, or flew;
+Birds on the branches warbling; all things smiled;
+With fragrance and with joy my heart o'erflowed.
+Myself I then perused, and limb by limb
+Surveyed, and sometimes went, and sometimes ran
+With supple joints, as lively vigour led:
+But who I was, or where, or from what cause,
+Knew not; to speak I tried, and forthwith spake;
+My tongue obeyed, and readily could name
+Whate'er I saw. Thou Sun, said I, fair light,
+And thou enlightened Earth, so fresh and gay,
+Ye Hills, and Dales, ye Rivers, Woods, and Plains,
+And ye that live and move, fair Creatures, tell,
+Tell, if ye saw, how I came thus, how here?--
+Not of myself;--by some great Maker then,
+In goodness and in power pre-eminent:
+Tell me, how may I know him, how adore,
+From whom I have that thus I move and live,
+And feel that I am happier than I know.--
+While thus I called, and strayed I knew not whither,
+From where I first drew air, and first beheld
+This happy light; when, answer none returned,
+On a green shady bank, profuse of flowers,
+Pensive I sat me down: There gentle sleep
+First found me, and with soft oppression seised
+My droused sense, untroubled, though I thought
+I then was passing to my former state
+Insensible, and forthwith to dissolve:
+When suddenly stood at my head a dream,
+Whose inward apparition gently moved
+My fancy to believe I yet had being,
+And lived: One came, methought, of shape divine,
+And said, 'Thy mansion wants thee, Adam; rise,
+'First Man, of men innumerable ordained
+'First Father! called by thee, I come thy guide
+'To the garden of bliss, thy seat prepared.'
+So saying, by the hand he took me raised,
+And over fields and waters, as in air
+Smooth-sliding without step, last led me up
+A woody mountain; whose high top was plain,
+A circuit wide, enclosed, with goodliest trees
+Planted, with walks, and bowers; that what I saw
+Of Earth before scarce pleasant seemed. Each tree,
+Loaden with fairest fruit that hung to the eye
+Tempting, stirred in me sudden appetite
+To pluck and eat; whereat I waked, and found
+Before mine eyes all real, as the dream
+Had lively shadowed: Here had new begun
+My wandering, had not he, who was my guide
+Up hither, from among the trees appeared,
+Presence Divine. Rejoicing, but with awe,
+In adoration at his feet I fell
+Submiss: He reared me, and 'Whom thou soughtest I am,'
+Said mildly, 'Author of all this thou seest
+'Above, or round about thee, or beneath.
+'This Paradise I give thee, count it thine
+'To till and keep, and of the fruit to eat:
+'Of every tree that in the garden grows
+'Eat freely with glad heart; fear here no dearth:
+'But of the tree whose operation brings
+'Knowledge of good and ill, which I have set
+'The pledge of thy obedience and thy faith,
+'Amid the garden by the tree of life,
+'Remember what I warn thee, shun to taste,
+'And shun the bitter consequence: for know,
+'The day thou eatest thereof, my sole command
+'Transgressed, inevitably thou shalt die,
+'From that day mortal; and this happy state
+'Shalt lose, expelled from hence into a world
+'Of woe and sorrow.' Sternly he pronounced
+The rigid interdiction, which resounds
+Yet dreadful in mine ear, though in my choice
+Not to incur; but soon his clear aspect
+Returned, and gracious purpose thus renewed.
+'Not only these fair bounds, but all the Earth
+'To thee and to thy race I give; as lords
+'Possess it, and all things that therein live,
+'Or live in sea, or air; beast, fish, and fowl.
+'In sign whereof, each bird and beast behold
+'After their kinds; I bring them to receive
+'From thee their names, and pay thee fealty
+'With low subjection; understand the same
+'Of fish within their watery residence,
+'Not hither summoned, since they cannot change
+'Their element, to draw the thinner air.'
+As thus he spake, each bird and beast behold
+Approaching two and two; these cowering low
+With blandishment; each bird stooped on his wing.
+I named them, as they passed, and understood
+Their nature, with such knowledge God endued
+My sudden apprehension: But in these
+I found not what methought I wanted still;
+And to the heavenly Vision thus presumed.
+O, by what name, for thou above all these,
+Above mankind, or aught than mankind higher,
+Surpassest far my naming; how may I
+Adore thee, Author of this universe,
+And all this good to man? for whose well being
+So amply, and with hands so liberal,
+Thou hast provided all things: But with me
+I see not who partakes. In solitude
+What happiness, who can enjoy alone,
+Or, all enjoying, what contentment find?
+Thus I presumptuous; and the Vision bright,
+As with a smile more brightened, thus replied.
+What callest thou solitude? Is not the Earth
+With various living creatures, and the air
+Replenished, and all these at thy command
+To come and play before thee? Knowest thou not
+Their language and their ways? They also know,
+And reason not contemptibly: With these
+Find pastime, and bear rule; thy realm is large.
+So spake the Universal Lord, and seemed
+So ordering: I, with leave of speech implored,
+And humble deprecation, thus replied.
+Let not my words offend thee, Heavenly Power;
+My Maker, be propitious while I speak.
+Hast thou not made me here thy substitute,
+And these inferiour far beneath me set?
+Among unequals what society
+Can sort, what harmony, or true delight?
+Which must be mutual, in proportion due
+Given and received; but, in disparity
+The one intense, the other still remiss,
+Cannot well suit with either, but soon prove
+Tedious alike: Of fellowship I speak
+Such as I seek, fit to participate
+All rational delight: wherein the brute
+Cannot be human consort: They rejoice
+Each with their kind, lion with lioness;
+So fitly them in pairs thou hast combined:
+Much less can bird with beast, or fish with fowl
+So well converse, nor with the ox the ape;
+Worse then can man with beast, and least of all.
+Whereto the Almighty answered, not displeased.
+A nice and subtle happiness, I see,
+Thou to thyself proposest, in the choice
+Of thy associates, Adam! and wilt taste
+No pleasure, though in pleasure, solitary.
+What thinkest thou then of me, and this my state?
+Seem I to thee sufficiently possessed
+Of happiness, or not? who am alone
+From all eternity; for none I know
+Second to me or like, equal much less.
+How have I then with whom to hold converse,
+Save with the creatures which I made, and those
+To me inferiour, infinite descents
+Beneath what other creatures are to thee?
+He ceased; I lowly answered. To attain
+The highth and depth of thy eternal ways
+All human thoughts come short, Supreme of things!
+Thou in thyself art perfect, and in thee
+Is no deficience found: Not so is Man,
+But in degree; the cause of his desire
+By conversation with his like to help
+Or solace his defects. No need that thou
+Shouldst propagate, already Infinite;
+And through all numbers absolute, though One:
+But Man by number is to manifest
+His single imperfection, and beget
+Like of his like, his image multiplied,
+In unity defective; which requires
+Collateral love, and dearest amity.
+Thou in thy secresy although alone,
+Best with thyself accompanied, seekest not
+Social communication; yet, so pleased,
+Canst raise thy creature to what highth thou wilt
+Of union or communion, deified:
+I, by conversing, cannot these erect
+From prone; nor in their ways complacence find.
+Thus I emboldened spake, and freedom used
+Permissive, and acceptance found; which gained
+This answer from the gracious Voice Divine.
+Thus far to try thee, Adam, I was pleased;
+And find thee knowing, not of beasts alone,
+Which thou hast rightly named, but of thyself;
+Expressing well the spirit within thee free,
+My image, not imparted to the brute;
+Whose fellowship therefore unmeet for thee
+Good reason was thou freely shouldst dislike;
+And be so minded still: I, ere thou spakest,
+Knew it not good for Man to be alone;
+And no such company as then thou sawest
+Intended thee; for trial only brought,
+To see how thou couldest judge of fit and meet:
+What next I bring shall please thee, be assured,
+Thy likeness, thy fit help, thy other self,
+Thy wish exactly to thy heart's desire.
+He ended, or I heard no more; for now
+My earthly by his heavenly overpowered,
+Which it had long stood under, strained to the highth
+In that celestial colloquy sublime,
+As with an object that excels the sense
+Dazzled and spent, sunk down; and sought repair
+Of sleep, which instantly fell on me, called
+By Nature as in aid, and closed mine eyes.
+Mine eyes he closed, but open left the cell
+Of fancy, my internal sight; by which,
+Abstract as in a trance, methought I saw,
+Though sleeping, where I lay, and saw the shape
+Still glorious before whom awake I stood:
+Who stooping opened my left side, and took
+From thence a rib, with cordial spirits warm,
+And life-blood streaming fresh; wide was the wound,
+But suddenly with flesh filled up and healed:
+The rib he formed and fashioned with his hands;
+Under his forming hands a creature grew,
+Man-like, but different sex; so lovely fair,
+That what seemed fair in all the world, seemed now
+Mean, or in her summed up, in her contained
+And in her looks; which from that time infused
+Sweetness into my heart, unfelt before,
+And into all things from her air inspired
+The spirit of love and amorous delight.
+She disappeared, and left me dark; I waked
+To find her, or for ever to deplore
+Her loss, and other pleasures all abjure:
+When out of hope, behold her, not far off,
+Such as I saw her in my dream, adorned
+With what all Earth or Heaven could bestow
+To make her amiable: On she came,
+Led by her heavenly Maker, though unseen,
+And guided by his voice; nor uninformed
+Of nuptial sanctity, and marriage rites:
+Grace was in all her steps, Heaven in her eye,
+In every gesture dignity and love.
+I, overjoyed, could not forbear aloud.
+This turn hath made amends; thou hast fulfilled
+Thy words, Creator bounteous and benign,
+Giver of all things fair! but fairest this
+Of all thy gifts! nor enviest. I now see
+Bone of my bone, flesh of my flesh, myself
+Before me: Woman is her name;of Man
+Extracted: for this cause he shall forego
+Father and mother, and to his wife adhere;
+And they shall be one flesh, one heart, one soul.
+She heard me thus; and though divinely brought,
+Yet innocence, and virgin modesty,
+Her virtue, and the conscience of her worth,
+That would be wooed, and not unsought be won,
+Not obvious, not obtrusive, but, retired,
+The more desirable; or, to say all,
+Nature herself, though pure of sinful thought,
+Wrought in her so, that, seeing me, she turned:
+I followed her; she what was honour knew,
+And with obsequious majesty approved
+My pleaded reason. To the nuptial bower
+I led her blushing like the morn: All Heaven,
+And happy constellations, on that hour
+Shed their selectest influence; the Earth
+Gave sign of gratulation, and each hill;
+Joyous the birds; fresh gales and gentle airs
+Whispered it to the woods, and from their wings
+Flung rose, flung odours from the spicy shrub,
+Disporting, till the amorous bird of night
+Sung spousal, and bid haste the evening-star
+On his hill top, to light the bridal lamp.
+Thus have I told thee all my state, and brought
+My story to the sum of earthly bliss,
+Which I enjoy; and must confess to find
+In all things else delight indeed, but such
+As, used or not, works in the mind no change,
+Nor vehement desire; these delicacies
+I mean of taste, sight, smell, herbs, fruits, and flowers,
+Walks, and the melody of birds: but here
+Far otherwise, transported I behold,
+Transported touch; here passion first I felt,
+Commotion strange! in all enjoyments else
+Superiour and unmoved; here only weak
+Against the charm of Beauty's powerful glance.
+Or Nature failed in me, and left some part
+Not proof enough such object to sustain;
+Or, from my side subducting, took perhaps
+More than enough; at least on her bestowed
+Too much of ornament, in outward show
+Elaborate, of inward less exact.
+For well I understand in the prime end
+Of Nature her the inferiour, in the mind
+And inward faculties, which most excel;
+In outward also her resembling less
+His image who made both, and less expressing
+The character of that dominion given
+O'er other creatures: Yet when I approach
+Her loveliness, so absolute she seems
+And in herself complete, so well to know
+Her own, that what she wills to do or say,
+Seems wisest, virtuousest, discreetest, best:
+All higher knowledge in her presence falls
+Degraded; Wisdom in discourse with her
+Loses discountenanced, and like Folly shows;
+Authority and Reason on her wait,
+As one intended first, not after made
+Occasionally; and, to consummate all,
+Greatness of mind and Nobleness their seat
+Build in her loveliest, and create an awe
+About her, as a guard angelick placed.
+To whom the Angel with contracted brow.
+Accuse not Nature, she hath done her part;
+Do thou but thine; and be not diffident
+Of Wisdom; she deserts thee not, if thou
+Dismiss not her, when most thou needest her nigh,
+By attributing overmuch to things
+Less excellent, as thou thyself perceivest.
+For, what admirest thou, what transports thee so,
+An outside? fair, no doubt, and worthy well
+Thy cherishing, thy honouring, and thy love;
+Not thy subjection: Weigh with her thyself;
+Then value: Oft-times nothing profits more
+Than self-esteem, grounded on just and right
+Well managed; of that skill the more thou knowest,
+The more she will acknowledge thee her head,
+And to realities yield all her shows:
+Made so adorn for thy delight the more,
+So awful, that with honour thou mayest love
+Thy mate, who sees when thou art seen least wise.
+But if the sense of touch, whereby mankind
+Is propagated, seem such dear delight
+Beyond all other; think the same vouchsafed
+To cattle and each beast; which would not be
+To them made common and divulged, if aught
+Therein enjoyed were worthy to subdue
+The soul of man, or passion in him move.
+What higher in her society thou findest
+Attractive, human, rational, love still;
+In loving thou dost well, in passion not,
+Wherein true love consists not: Love refines
+The thoughts, and heart enlarges; hath his seat
+In reason, and is judicious; is the scale
+By which to heavenly love thou mayest ascend,
+Not sunk in carnal pleasure; for which cause,
+Among the beasts no mate for thee was found.
+To whom thus, half abashed, Adam replied.
+Neither her outside formed so fair, nor aught
+In procreation common to all kinds,
+(Though higher of the genial bed by far,
+And with mysterious reverence I deem,)
+So much delights me, as those graceful acts,
+Those thousand decencies, that daily flow
+From all her words and actions mixed with love
+And sweet compliance, which declare unfeigned
+Union of mind, or in us both one soul;
+Harmony to behold in wedded pair
+More grateful than harmonious sound to the ear.
+Yet these subject not; I to thee disclose
+What inward thence I feel, not therefore foiled,
+Who meet with various objects, from the sense
+Variously representing; yet, still free,
+Approve the best, and follow what I approve.
+To love, thou blamest me not; for Love, thou sayest,
+Leads up to Heaven, is both the way and guide;
+Bear with me then, if lawful what I ask:
+Love not the heavenly Spirits, and how their love
+Express they? by looks only? or do they mix
+Irradiance, virtual or immediate touch?
+To whom the Angel, with a smile that glowed
+Celestial rosy red, Love's proper hue,
+Answered. Let it suffice thee that thou knowest
+Us happy, and without love no happiness.
+Whatever pure thou in the body enjoyest,
+(And pure thou wert created) we enjoy
+In eminence; and obstacle find none
+Of membrane, joint, or limb, exclusive bars;
+Easier than air with air, if Spirits embrace,
+Total they mix, union of pure with pure
+Desiring, nor restrained conveyance need,
+As flesh to mix with flesh, or soul with soul.
+But I can now no more; the parting sun
+Beyond the Earth's green Cape and verdant Isles
+Hesperian sets, my signal to depart.
+Be strong, live happy, and love! But, first of all,
+Him, whom to love is to obey, and keep
+His great command; take heed lest passion sway
+Thy judgement to do aught, which else free will
+Would not admit: thine, and of all thy sons,
+The weal or woe in thee is placed; beware!
+I in thy persevering shall rejoice,
+And all the Blest: Stand fast;to stand or fall
+Free in thine own arbitrement it lies.
+Perfect within, no outward aid require;
+And all temptation to transgress repel.
+So saying, he arose; whom Adam thus
+Followed with benediction. Since to part,
+Go, heavenly guest, ethereal Messenger,
+Sent from whose sovran goodness I adore!
+Gentle to me and affable hath been
+Thy condescension, and shall be honoured ever
+With grateful memory: Thou to mankind
+Be good and friendly still, and oft return!
+So parted they; the Angel up to Heaven
+From the thick shade, and Adam to his bower.
+
+
+
+Book IX
+
+
+No more of talk where God or Angel guest
+With Man, as with his friend, familiar us'd,
+To sit indulgent, and with him partake
+Rural repast; permitting him the while
+Venial discourse unblam'd. I now must change
+Those notes to tragick; foul distrust, and breach
+Disloyal on the part of Man, revolt,
+And disobedience: on the part of Heaven
+Now alienated, distance and distaste,
+Anger and just rebuke, and judgement given,
+That brought into this world a world of woe,
+Sin and her shadow Death, and Misery
+Death's harbinger: Sad talk!yet argument
+Not less but more heroick than the wrath
+Of stern Achilles on his foe pursued
+Thrice fugitive about Troy wall; or rage
+Of Turnus for Lavinia disespous'd;
+Or Neptune's ire, or Juno's, that so long
+Perplexed the Greek, and Cytherea's son:
+
+ 00482129
+If answerable style I can obtain
+Of my celestial patroness, who deigns
+Her nightly visitation unimplor'd,
+And dictates to me slumbering; or inspires
+Easy my unpremeditated verse:
+Since first this subject for heroick song
+Pleas'd me long choosing, and beginning late;
+Not sedulous by nature to indite
+Wars, hitherto the only argument
+Heroick deem'd chief mastery to dissect
+With long and tedious havock fabled knights
+In battles feign'd; the better fortitude
+Of patience and heroick martyrdom
+Unsung; or to describe races and games,
+Or tilting furniture, imblazon'd shields,
+Impresses quaint, caparisons and steeds,
+Bases and tinsel trappings, gorgeous knights
+At joust and tournament; then marshall'd feast
+Serv'd up in hall with sewers and seneshals;
+The skill of artifice or office mean,
+Not that which justly gives heroick name
+To person, or to poem. Me, of these
+Nor skill'd nor studious, higher argument
+Remains; sufficient of itself to raise
+That name, unless an age too late, or cold
+Climate, or years, damp my intended wing
+Depress'd; and much they may, if all be mine,
+Not hers, who brings it nightly to my ear.
+The sun was sunk, and after him the star
+Of Hesperus, whose office is to bring
+Twilight upon the earth, short arbiter
+"twixt day and night, and now from end to end
+Night's hemisphere had veil'd the horizon round:
+When satan, who late fled before the threats
+Of Gabriel out of Eden, now improv'd
+In meditated fraud and malice, bent
+On Man's destruction, maugre what might hap
+Of heavier on himself, fearless returned
+From compassing the earth; cautious of day,
+Since Uriel, regent of the sun, descried
+His entrance, and foreworned the Cherubim
+That kept their watch; thence full of anguish driven,
+The space of seven continued nights he rode
+With darkness; thrice the equinoctial line
+He circled; four times crossed the car of night
+From pole to pole, traversing each colure;
+On the eighth returned; and, on the coast averse
+From entrance or Cherubick watch, by stealth
+Found unsuspected way. There was a place,
+Now not, though sin, not time, first wrought the change,
+Where Tigris, at the foot of Paradise,
+Into a gulf shot under ground, till part
+Rose up a fountain by the tree of life:
+In with the river sunk, and with it rose
+Satan, involved in rising mist; then sought
+Where to lie hid; sea he had searched, and land,
+From Eden over Pontus and the pool
+Maeotis, up beyond the river Ob;
+Downward as far antarctick; and in length,
+West from Orontes to the ocean barred
+At Darien ; thence to the land where flows
+Ganges and Indus: Thus the orb he roamed
+With narrow search; and with inspection deep
+Considered every creature, which of all
+Most opportune might serve his wiles; and found
+The Serpent subtlest beast of all the field.
+Him after long debate, irresolute
+Of thoughts revolved, his final sentence chose
+Fit vessel, fittest imp of fraud, in whom
+To enter, and his dark suggestions hide
+From sharpest sight: for, in the wily snake
+Whatever sleights, none would suspicious mark,
+As from his wit and native subtlety
+Proceeding; which, in other beasts observed,
+Doubt might beget of diabolick power
+Active within, beyond the sense of brute.
+Thus he resolved, but first from inward grief
+His bursting passion into plaints thus poured.
+More justly, seat worthier of Gods, as built
+With second thoughts, reforming what was old!
+O Earth, how like to Heaven, if not preferred
+For what God, after better, worse would build?
+Terrestrial Heaven, danced round by other Heavens
+That shine, yet bear their bright officious lamps,
+Light above light, for thee alone, as seems,
+In thee concentring all their precious beams
+Of sacred influence! As God in Heaven
+Is center, yet extends to all; so thou,
+Centring, receivest from all those orbs: in thee,
+Not in themselves, all their known virtue appears
+Productive in herb, plant, and nobler birth
+Of creatures animate with gradual life
+Of growth, sense, reason, all summed up in Man.
+With what delight could I have walked thee round,
+If I could joy in aught, sweet interchange
+Of hill, and valley, rivers, woods, and plains,
+Now land, now sea and shores with forest crowned,
+Rocks, dens, and caves! But I in none of these
+Find place or refuge; and the more I see
+Pleasures about me, so much more I feel
+Torment within me, as from the hateful siege
+Of contraries: all good to me becomes
+Bane, and in Heaven much worse would be my state.
+But neither here seek I, no nor in Heaven
+To dwell, unless by mastering Heaven's Supreme;
+Nor hope to be myself less miserable
+By what I seek, but others to make such
+As I, though thereby worse to me redound:
+For only in destroying I find ease
+To my relentless thoughts; and, him destroyed,
+Or won to what may work his utter loss,
+For whom all this was made, all this will soon
+Follow, as to him linked in weal or woe;
+In woe then; that destruction wide may range:
+To me shall be the glory sole among
+The infernal Powers, in one day to have marred
+What he, Almighty styled, six nights and days
+Continued making; and who knows how long
+Before had been contriving? though perhaps
+Not longer than since I, in one night, freed
+From servitude inglorious well nigh half
+The angelick name, and thinner left the throng
+Of his adorers: He, to be avenged,
+And to repair his numbers thus impaired,
+Whether such virtue spent of old now failed
+More Angels to create, if they at least
+Are his created, or, to spite us more,
+Determined to advance into our room
+A creature formed of earth, and him endow,
+Exalted from so base original,
+With heavenly spoils, our spoils: What he decreed,
+He effected; Man he made, and for him built
+Magnificent this world, and earth his seat,
+Him lord pronounced; and, O indignity!
+Subjected to his service angel-wings,
+And flaming ministers to watch and tend
+Their earthly charge: Of these the vigilance
+I dread; and, to elude, thus wrapt in mist
+Of midnight vapour glide obscure, and pry
+In every bush and brake, where hap may find
+The serpent sleeping; in whose mazy folds
+To hide me, and the dark intent I bring.
+O foul descent! that I, who erst contended
+With Gods to sit the highest, am now constrained
+Into a beast; and, mixed with bestial slime,
+This essence to incarnate and imbrute,
+That to the highth of Deity aspired!
+But what will not ambition and revenge
+Descend to? Who aspires, must down as low
+As high he soared; obnoxious, first or last,
+To basest things. Revenge, at first though sweet,
+Bitter ere long, back on itself recoils:
+Let it; I reck not, so it light well aimed,
+Since higher I fall short, on him who next
+Provokes my envy, this new favourite
+Of Heaven, this man of clay, son of despite,
+Whom, us the more to spite, his Maker raised
+From dust: Spite then with spite is best repaid.
+So saying, through each thicket dank or dry,
+Like a black mist low-creeping, he held on
+His midnight-search, where soonest he might find
+The serpent; him fast-sleeping soon he found
+In labyrinth of many a round self-rolled,
+His head the midst, well stored with subtile wiles:
+Not yet in horrid shade or dismal den,
+Nor nocent yet; but, on the grassy herb,
+Fearless unfeared he slept: in at his mouth
+The Devil entered; and his brutal sense,
+In heart or head, possessing, soon inspired
+With act intelligential; but his sleep
+Disturbed not, waiting close the approach of morn.
+Now, when as sacred light began to dawn
+In Eden on the humid flowers, that breathed
+Their morning incense, when all things, that breathe,
+From the Earth's great altar send up silent praise
+To the Creator, and his nostrils fill
+With grateful smell, forth came the human pair,
+And joined their vocal worship to the quire
+Of creatures wanting voice; that done, partake
+The season prime for sweetest scents and airs:
+Then commune, how that day they best may ply
+Their growing work: for much their work out-grew
+The hands' dispatch of two gardening so wide,
+And Eve first to her husband thus began.
+Adam, well may we labour still to dress
+This garden, still to tend plant, herb, and flower,
+Our pleasant task enjoined; but, till more hands
+Aid us, the work under our labour grows,
+Luxurious by restraint; what we by day
+Lop overgrown, or prune, or prop, or bind,
+One night or two with wanton growth derides
+Tending to wild. Thou therefore now advise,
+Or bear what to my mind first thoughts present:
+Let us divide our labours; thou, where choice
+Leads thee, or where most needs, whether to wind
+The woodbine round this arbour, or direct
+The clasping ivy where to climb; while I,
+In yonder spring of roses intermixed
+With myrtle, find what to redress till noon:
+For, while so near each other thus all day
+Our task we choose, what wonder if so near
+Looks intervene and smiles, or object new
+Casual discourse draw on; which intermits
+Our day's work, brought to little, though begun
+Early, and the hour of supper comes unearned?
+To whom mild answer Adam thus returned.
+Sole Eve, associate sole, to me beyond
+Compare above all living creatures dear!
+Well hast thou motioned, well thy thoughts employed,
+How we might best fulfil the work which here
+God hath assigned us; nor of me shalt pass
+Unpraised: for nothing lovelier can be found
+In woman, than to study houshold good,
+And good works in her husband to promote.
+Yet not so strictly hath our Lord imposed
+Labour, as to debar us when we need
+Refreshment, whether food, or talk between,
+Food of the mind, or this sweet intercourse
+Of looks and smiles; for smiles from reason flow,
+To brute denied, and are of love the food;
+Love, not the lowest end of human life.
+For not to irksome toil, but to delight,
+He made us, and delight to reason joined.
+These paths and bowers doubt not but our joint hands
+Will keep from wilderness with ease, as wide
+As we need walk, till younger hands ere long
+Assist us; But, if much converse perhaps
+Thee satiate, to short absence I could yield:
+For solitude sometimes is best society,
+And short retirement urges sweet return.
+But other doubt possesses me, lest harm
+Befall thee severed from me; for thou knowest
+What hath been warned us, what malicious foe
+Envying our happiness, and of his own
+Despairing, seeks to work us woe and shame
+By sly assault; and somewhere nigh at hand
+Watches, no doubt, with greedy hope to find
+His wish and best advantage, us asunder;
+Hopeless to circumvent us joined, where each
+To other speedy aid might lend at need:
+Whether his first design be to withdraw
+Our fealty from God, or to disturb
+Conjugal love, than which perhaps no bliss
+Enjoyed by us excites his envy more;
+Or this, or worse, leave not the faithful side
+That gave thee being, still shades thee, and protects.
+The wife, where danger or dishonour lurks,
+Safest and seemliest by her husband stays,
+Who guards her, or with her the worst endures.
+To whom the virgin majesty of Eve,
+As one who loves, and some unkindness meets,
+With sweet austere composure thus replied.
+Offspring of Heaven and Earth, and all Earth's Lord!
+That such an enemy we have, who seeks
+Our ruin, both by thee informed I learn,
+And from the parting Angel over-heard,
+As in a shady nook I stood behind,
+Just then returned at shut of evening flowers.
+But, that thou shouldst my firmness therefore doubt
+To God or thee, because we have a foe
+May tempt it, I expected not to hear.
+His violence thou fearest not, being such
+As we, not capable of death or pain,
+Can either not receive, or can repel.
+His fraud is then thy fear; which plain infers
+Thy equal fear, that my firm faith and love
+Can by his fraud be shaken or seduced;
+Thoughts, which how found they harbour in thy breast,
+Adam, mis-thought of her to thee so dear?
+To whom with healing words Adam replied.
+Daughter of God and Man, immortal Eve!
+For such thou art; from sin and blame entire:
+Not diffident of thee do I dissuade
+Thy absence from my sight, but to avoid
+The attempt itself, intended by our foe.
+For he who tempts, though in vain, at least asperses
+The tempted with dishonour foul; supposed
+Not incorruptible of faith, not proof
+Against temptation: Thou thyself with scorn
+And anger wouldst resent the offered wrong,
+Though ineffectual found: misdeem not then,
+If such affront I labour to avert
+From thee alone, which on us both at once
+The enemy, though bold, will hardly dare;
+Or daring, first on me the assault shall light.
+Nor thou his malice and false guile contemn;
+Subtle he needs must be, who could seduce
+Angels; nor think superfluous other's aid.
+I, from the influence of thy looks, receive
+Access in every virtue; in thy sight
+More wise, more watchful, stronger, if need were
+Of outward strength; while shame, thou looking on,
+Shame to be overcome or over-reached,
+Would utmost vigour raise, and raised unite.
+Why shouldst not thou like sense within thee feel
+When I am present, and thy trial choose
+With me, best witness of thy virtue tried?
+So spake domestick Adam in his care
+And matrimonial love; but Eve, who thought
+Less attributed to her faith sincere,
+Thus her reply with accent sweet renewed.
+If this be our condition, thus to dwell
+In narrow circuit straitened by a foe,
+Subtle or violent, we not endued
+Single with like defence, wherever met;
+How are we happy, still in fear of harm?
+But harm precedes not sin: only our foe,
+Tempting, affronts us with his foul esteem
+Of our integrity: his foul esteem
+Sticks no dishonour on our front, but turns
+Foul on himself; then wherefore shunned or feared
+By us? who rather double honour gain
+From his surmise proved false; find peace within,
+Favour from Heaven, our witness, from the event.
+And what is faith, love, virtue, unassayed
+Alone, without exteriour help sustained?
+Let us not then suspect our happy state
+Left so imperfect by the Maker wise,
+As not secure to single or combined.
+Frail is our happiness, if this be so,
+And Eden were no Eden, thus exposed.
+To whom thus Adam fervently replied.
+O Woman, best are all things as the will
+Of God ordained them: His creating hand
+Nothing imperfect or deficient left
+Of all that he created, much less Man,
+Or aught that might his happy state secure,
+Secure from outward force; within himself
+The danger lies, yet lies within his power:
+Against his will he can receive no harm.
+But God left free the will; for what obeys
+Reason, is free; and Reason he made right,
+But bid her well be ware, and still erect;
+Lest, by some fair-appearing good surprised,
+She dictate false; and mis-inform the will
+To do what God expressly hath forbid.
+Not then mistrust, but tender love, enjoins,
+That I should mind thee oft; and mind thou me.
+Firm we subsist, yet possible to swerve;
+Since Reason not impossibly may meet
+Some specious object by the foe suborned,
+And fall into deception unaware,
+Not keeping strictest watch, as she was warned.
+Seek not temptation then, which to avoid
+Were better, and most likely if from me
+Thou sever not: Trial will come unsought.
+Wouldst thou approve thy constancy, approve
+First thy obedience; the other who can know,
+Not seeing thee attempted, who attest?
+But, if thou think, trial unsought may find
+Us both securer than thus warned thou seemest,
+Go; for thy stay, not free, absents thee more;
+Go in thy native innocence, rely
+On what thou hast of virtue; summon all!
+For God towards thee hath done his part, do thine.
+So spake the patriarch of mankind; but Eve
+Persisted; yet submiss, though last, replied.
+With thy permission then, and thus forewarned
+Chiefly by what thy own last reasoning words
+Touched only; that our trial, when least sought,
+May find us both perhaps far less prepared,
+The willinger I go, nor much expect
+A foe so proud will first the weaker seek;
+So bent, the more shall shame him his repulse.
+Thus saying, from her husband's hand her hand
+Soft she withdrew; and, like a Wood-Nymph light,
+Oread or Dryad, or of Delia's train,
+Betook her to the groves; but Delia's self
+In gait surpassed, and Goddess-like deport,
+Though not as she with bow and quiver armed,
+But with such gardening tools as Art yet rude,
+Guiltless of fire, had formed, or Angels brought.
+To Pales, or Pomona, thus adorned,
+Likest she seemed, Pomona when she fled
+Vertumnus, or to Ceres in her prime,
+Yet virgin of Proserpina from Jove.
+Her long with ardent look his eye pursued
+Delighted, but desiring more her stay.
+Oft he to her his charge of quick return
+Repeated; she to him as oft engaged
+To be returned by noon amid the bower,
+And all things in best order to invite
+Noontide repast, or afternoon's repose.
+O much deceived, much failing, hapless Eve,
+Of thy presumed return! event perverse!
+Thou never from that hour in Paradise
+Foundst either sweet repast, or sound repose;
+Such ambush, hid among sweet flowers and shades,
+Waited with hellish rancour imminent
+To intercept thy way, or send thee back
+Despoiled of innocence, of faith, of bliss!
+For now, and since first break of dawn, the Fiend,
+Mere serpent in appearance, forth was come;
+And on his quest, where likeliest he might find
+The only two of mankind, but in them
+The whole included race, his purposed prey.
+In bower and field he sought, where any tuft
+Of grove or garden-plot more pleasant lay,
+Their tendance, or plantation for delight;
+By fountain or by shady rivulet
+He sought them both, but wished his hap might find
+Eve separate; he wished, but not with hope
+Of what so seldom chanced; when to his wish,
+Beyond his hope, Eve separate he spies,
+Veiled in a cloud of fragrance, where she stood,
+Half spied, so thick the roses blushing round
+About her glowed, oft stooping to support
+Each flower of slender stalk, whose head, though gay
+Carnation, purple, azure, or specked with gold,
+Hung drooping unsustained; them she upstays
+Gently with myrtle band, mindless the while
+Herself, though fairest unsupported flower,
+From her best prop so far, and storm so nigh.
+Nearer he drew, and many a walk traversed
+Of stateliest covert, cedar, pine, or palm;
+Then voluble and bold, now hid, now seen,
+Among thick-woven arborets, and flowers
+Imbordered on each bank, the hand of Eve:
+Spot more delicious than those gardens feigned
+Or of revived Adonis, or renowned
+Alcinous, host of old Laertes' son;
+Or that, not mystick, where the sapient king
+Held dalliance with his fair Egyptian spouse.
+Much he the place admired, the person more.
+As one who long in populous city pent,
+Where houses thick and sewers annoy the air,
+Forth issuing on a summer's morn, to breathe
+Among the pleasant villages and farms
+Adjoined, from each thing met conceives delight;
+The smell of grain, or tedded grass, or kine,
+Or dairy, each rural sight, each rural sound;
+If chance, with nymph-like step, fair virgin pass,
+What pleasing seemed, for her now pleases more;
+She most, and in her look sums all delight:
+Such pleasure took the Serpent to behold
+This flowery plat, the sweet recess of Eve
+Thus early, thus alone: Her heavenly form
+Angelick, but more soft, and feminine,
+Her graceful innocence, her every air
+Of gesture, or least action, overawed
+His malice, and with rapine sweet bereaved
+His fierceness of the fierce intent it brought:
+That space the Evil-one abstracted stood
+From his own evil, and for the time remained
+Stupidly good; of enmity disarmed,
+Of guile, of hate, of envy, of revenge:
+But the hot Hell that always in him burns,
+Though in mid Heaven, soon ended his delight,
+And tortures him now more, the more he sees
+Of pleasure, not for him ordained: then soon
+Fierce hate he recollects, and all his thoughts
+Of mischief, gratulating, thus excites.
+Thoughts, whither have ye led me! with what sweet
+Compulsion thus transported, to forget
+What hither brought us! hate, not love;nor hope
+Of Paradise for Hell, hope here to taste
+Of pleasure; but all pleasure to destroy,
+Save what is in destroying; other joy
+To me is lost. Then, let me not let pass
+Occasion which now smiles; behold alone
+The woman, opportune to all attempts,
+Her husband, for I view far round, not nigh,
+Whose higher intellectual more I shun,
+And strength, of courage haughty, and of limb
+Heroick built, though of terrestrial mould;
+Foe not informidable! exempt from wound,
+I not; so much hath Hell debased, and pain
+Enfeebled me, to what I was in Heaven.
+She fair, divinely fair, fit love for Gods!
+Not terrible, though terrour be in love
+And beauty, not approached by stronger hate,
+Hate stronger, under show of love well feigned;
+The way which to her ruin now I tend.
+So spake the enemy of mankind, enclosed
+In serpent, inmate bad! and toward Eve
+Addressed his way: not with indented wave,
+Prone on the ground, as since; but on his rear,
+Circular base of rising folds, that towered
+Fold above fold, a surging maze! his head
+Crested aloft, and carbuncle his eyes;
+With burnished neck of verdant gold, erect
+Amidst his circling spires, that on the grass
+Floated redundant: pleasing was his shape
+And lovely; never since of serpent-kind
+Lovelier, not those that in Illyria changed,
+Hermione and Cadmus, or the god
+In Epidaurus; nor to which transformed
+Ammonian Jove, or Capitoline, was seen;
+He with Olympias; this with her who bore
+Scipio, the highth of Rome. With tract oblique
+At first, as one who sought access, but feared
+To interrupt, side-long he works his way.
+As when a ship, by skilful steersmen wrought
+Nigh river's mouth or foreland, where the wind
+Veers oft, as oft so steers, and shifts her sail:
+So varied he, and of his tortuous train
+Curled many a wanton wreath in sight of Eve,
+To lure her eye; she, busied, heard the sound
+Of rusling leaves, but minded not, as used
+To such disport before her through the field,
+From every beast; more duteous at her call,
+Than at Circean call the herd disguised.
+He, bolder now, uncalled before her stood,
+But as in gaze admiring: oft he bowed
+His turret crest, and sleek enamelled neck,
+Fawning; and licked the ground whereon she trod.
+His gentle dumb expression turned at length
+The eye of Eve to mark his play; he, glad
+Of her attention gained, with serpent-tongue
+Organick, or impulse of vocal air,
+His fraudulent temptation thus began.
+Wonder not, sovran Mistress, if perhaps
+Thou canst, who art sole wonder! much less arm
+Thy looks, the Heaven of mildness, with disdain,
+Displeased that I approach thee thus, and gaze
+Insatiate; I thus single;nor have feared
+Thy awful brow, more awful thus retired.
+Fairest resemblance of thy Maker fair,
+Thee all things living gaze on, all things thine
+By gift, and thy celestial beauty adore
+With ravishment beheld! there best beheld,
+Where universally admired; but here
+In this enclosure wild, these beasts among,
+Beholders rude, and shallow to discern
+Half what in thee is fair, one man except,
+Who sees thee? and what is one? who should be seen
+A Goddess among Gods, adored and served
+By Angels numberless, thy daily train.
+So glozed the Tempter, and his proem tuned:
+Into the heart of Eve his words made way,
+Though at the voice much marvelling; at length,
+Not unamazed, she thus in answer spake.
+What may this mean? language of man pronounced
+By tongue of brute, and human sense expressed?
+The first, at least, of these I thought denied
+To beasts; whom God, on their creation-day,
+Created mute to all articulate sound:
+The latter I demur; for in their looks
+Much reason, and in their actions, oft appears.
+Thee, Serpent, subtlest beast of all the field
+I knew, but not with human voice endued;
+Redouble then this miracle, and say,
+How camest thou speakable of mute, and how
+To me so friendly grown above the rest
+Of brutal kind, that daily are in sight?
+Say, for such wonder claims attention due.
+To whom the guileful Tempter thus replied.
+Empress of this fair world, resplendent Eve!
+Easy to me it is to tell thee all
+What thou commandest; and right thou shouldst be obeyed:
+I was at first as other beasts that graze
+The trodden herb, of abject thoughts and low,
+As was my food; nor aught but food discerned
+Or sex, and apprehended nothing high:
+Till, on a day roving the field, I chanced
+A goodly tree far distant to behold
+Loaden with fruit of fairest colours mixed,
+Ruddy and gold: I nearer drew to gaze;
+When from the boughs a savoury odour blown,
+Grateful to appetite, more pleased my sense
+Than smell of sweetest fennel, or the teats
+Of ewe or goat dropping with milk at even,
+Unsucked of lamb or kid, that tend their play.
+To satisfy the sharp desire I had
+Of tasting those fair apples, I resolved
+Not to defer; hunger and thirst at once,
+Powerful persuaders, quickened at the scent
+Of that alluring fruit, urged me so keen.
+About the mossy trunk I wound me soon;
+For, high from ground, the branches would require
+Thy utmost reach or Adam's: Round the tree
+All other beasts that saw, with like desire
+Longing and envying stood, but could not reach.
+Amid the tree now got, where plenty hung
+Tempting so nigh, to pluck and eat my fill
+I spared not; for, such pleasure till that hour,
+At feed or fountain, never had I found.
+Sated at length, ere long I might perceive
+Strange alteration in me, to degree
+Of reason in my inward powers; and speech
+Wanted not long; though to this shape retained.
+Thenceforth to speculations high or deep
+I turned my thoughts, and with capacious mind
+Considered all things visible in Heaven,
+Or Earth, or Middle; all things fair and good:
+But all that fair and good in thy divine
+Semblance, and in thy beauty's heavenly ray,
+United I beheld; no fair to thine
+Equivalent or second! which compelled
+Me thus, though importune perhaps, to come
+And gaze, and worship thee of right declared
+Sovran of creatures, universal Dame!
+So talked the spirited sly Snake; and Eve,
+Yet more amazed, unwary thus replied.
+Serpent, thy overpraising leaves in doubt
+The virtue of that fruit, in thee first proved:
+But say, where grows the tree? from hence how far?
+For many are the trees of God that grow
+In Paradise, and various, yet unknown
+To us; in such abundance lies our choice,
+As leaves a greater store of fruit untouched,
+Still hanging incorruptible, till men
+Grow up to their provision, and more hands
+Help to disburden Nature of her birth.
+To whom the wily Adder, blithe and glad.
+Empress, the way is ready, and not long;
+Beyond a row of myrtles, on a flat,
+Fast by a fountain, one small thicket past
+Of blowing myrrh and balm: if thou accept
+My conduct, I can bring thee thither soon
+Lead then, said Eve. He, leading, swiftly rolled
+In tangles, and made intricate seem straight,
+To mischief swift. Hope elevates, and joy
+Brightens his crest; as when a wandering fire,
+Compact of unctuous vapour, which the night
+Condenses, and the cold environs round,
+Kindled through agitation to a flame,
+Which oft, they say, some evil Spirit attends,
+Hovering and blazing with delusive light,
+Misleads the amazed night-wanderer from his way
+To bogs and mires, and oft through pond or pool;
+There swallowed up and lost, from succour far.
+So glistered the dire Snake, and into fraud
+Led Eve, our credulous mother, to the tree
+Of prohibition, root of all our woe;
+Which when she saw, thus to her guide she spake.
+Serpent, we might have spared our coming hither,
+Fruitless to me, though fruit be here to excess,
+The credit of whose virtue rest with thee;
+Wonderous indeed, if cause of such effects.
+But of this tree we may not taste nor touch;
+God so commanded, and left that command
+Sole daughter of his voice; the rest, we live
+Law to ourselves; our reason is our law.
+To whom the Tempter guilefully replied.
+Indeed! hath God then said that of the fruit
+Of all these garden-trees ye shall not eat,
+Yet Lords declared of all in earth or air$?
+To whom thus Eve, yet sinless. Of the fruit
+Of each tree in the garden we may eat;
+But of the fruit of this fair tree amidst
+The garden, God hath said, Ye shall not eat
+Thereof, nor shall ye touch it, lest ye die.
+She scarce had said, though brief, when now more bold
+The Tempter, but with show of zeal and love
+To Man, and indignation at his wrong,
+New part puts on; and, as to passion moved,
+Fluctuates disturbed, yet comely and in act
+Raised, as of some great matter to begin.
+As when of old some orator renowned,
+In Athens or free Rome, where eloquence
+Flourished, since mute! to some great cause addressed,
+Stood in himself collected; while each part,
+Motion, each act, won audience ere the tongue;
+Sometimes in highth began, as no delay
+Of preface brooking, through his zeal of right:
+So standing, moving, or to highth up grown,
+The Tempter, all impassioned, thus began.
+O sacred, wise, and wisdom-giving Plant,
+Mother of science! now I feel thy power
+Within me clear; not only to discern
+Things in their causes, but to trace the ways
+Of highest agents, deemed however wise.
+Queen of this universe! do not believe
+Those rigid threats of death: ye shall not die:
+How should you? by the fruit? it gives you life
+To knowledge; by the threatener? look on me,
+Me, who have touched and tasted; yet both live,
+And life more perfect have attained than Fate
+Meant me, by venturing higher than my lot.
+Shall that be shut to Man, which to the Beast
+Is open? or will God incense his ire
+For such a petty trespass? and not praise
+Rather your dauntless virtue, whom the pain
+Of death denounced, whatever thing death be,
+Deterred not from achieving what might lead
+To happier life, knowledge of good and evil;
+Of good, how just? of evil, if what is evil
+Be real, why not known, since easier shunned?
+God therefore cannot hurt ye, and be just;
+Not just, not God; not feared then, nor obeyed:
+Your fear itself of death removes the fear.
+Why then was this forbid? Why, but to awe;
+Why, but to keep ye low and ignorant,
+His worshippers? He knows that in the day
+Ye eat thereof, your eyes that seem so clear,
+Yet are but dim, shall perfectly be then
+Opened and cleared, and ye shall be as Gods,
+Knowing both good and evil, as they know.
+That ye shall be as Gods, since I as Man,
+Internal Man, is but proportion meet;
+I, of brute, human; ye, of human, Gods.
+So ye shall die perhaps, by putting off
+Human, to put on Gods; death to be wished,
+Though threatened, which no worse than this can bring.
+And what are Gods, that Man may not become
+As they, participating God-like food?
+The Gods are first, and that advantage use
+On our belief, that all from them proceeds:
+I question it; for this fair earth I see,
+Warmed by the sun, producing every kind;
+Them, nothing: if they all things, who enclosed
+Knowledge of good and evil in this tree,
+That whoso eats thereof, forthwith attains
+Wisdom without their leave? and wherein lies
+The offence, that Man should thus attain to know?
+What can your knowledge hurt him, or this tree
+Impart against his will, if all be his?
+Or is it envy? and can envy dwell
+In heavenly breasts? These, these, and many more
+Causes import your need of this fair fruit.
+Goddess humane, reach then, and freely taste!
+He ended; and his words, replete with guile,
+Into her heart too easy entrance won:
+Fixed on the fruit she gazed, which to behold
+Might tempt alone; and in her ears the sound
+Yet rung of his persuasive words, impregned
+With reason, to her seeming, and with truth:
+Mean while the hour of noon drew on, and waked
+An eager appetite, raised by the smell
+So savoury of that fruit, which with desire,
+Inclinable now grown to touch or taste,
+Solicited her longing eye; yet first
+Pausing a while, thus to herself she mused.
+Great are thy virtues, doubtless, best of fruits,
+Though kept from man, and worthy to be admired;
+Whose taste, too long forborn, at first assay
+Gave elocution to the mute, and taught
+The tongue not made for speech to speak thy praise:
+Thy praise he also, who forbids thy use,
+Conceals not from us, naming thee the tree
+Of knowledge, knowledge both of good and evil;
+Forbids us then to taste! but his forbidding
+Commends thee more, while it infers the good
+By thee communicated, and our want:
+For good unknown sure is not had; or, had
+And yet unknown, is as not had at all.
+In plain then, what forbids he but to know,
+Forbids us good, forbids us to be wise?
+Such prohibitions bind not. But, if death
+Bind us with after-bands, what profits then
+Our inward freedom? In the day we eat
+Of this fair fruit, our doom is, we shall die!
+How dies the Serpent? he hath eaten and lives,
+And knows, and speaks, and reasons, and discerns,
+Irrational till then. For us alone
+Was death invented? or to us denied
+This intellectual food, for beasts reserved?
+For beasts it seems: yet that one beast which first
+Hath tasted envies not, but brings with joy
+The good befallen him, author unsuspect,
+Friendly to man, far from deceit or guile.
+What fear I then? rather, what know to fear
+Under this ignorance of good and evil,
+Of God or death, of law or penalty?
+Here grows the cure of all, this fruit divine,
+Fair to the eye, inviting to the taste,
+Of virtue to make wise: What hinders then
+To reach, and feed at once both body and mind?
+So saying, her rash hand in evil hour
+Forth reaching to the fruit, she plucked, she eat!
+Earth felt the wound; and Nature from her seat,
+Sighing through all her works, gave signs of woe,
+That all was lost. Back to the thicket slunk
+The guilty Serpent; and well might;for Eve,
+Intent now wholly on her taste, nought else
+Regarded; such delight till then, as seemed,
+In fruit she never tasted, whether true
+Or fancied so, through expectation high
+Of knowledge; not was Godhead from her thought.
+Greedily she ingorged without restraint,
+And knew not eating death: Satiate at length,
+And hightened as with wine, jocund and boon,
+Thus to herself she pleasingly began.
+O sovran, virtuous, precious of all trees
+In Paradise! of operation blest
+To sapience, hitherto obscured, infamed.
+And thy fair fruit let hang, as to no end
+Created; but henceforth my early care,
+Not without song, each morning, and due praise,
+Shall tend thee, and the fertile burden ease
+Of thy full branches offered free to all;
+Till, dieted by thee, I grow mature
+In knowledge, as the Gods, who all things know;
+Though others envy what they cannot give:
+For, had the gift been theirs, it had not here
+Thus grown. Experience, next, to thee I owe,
+Best guide; not following thee, I had remained
+In ignorance; thou openest wisdom's way,
+And givest access, though secret she retire.
+And I perhaps am secret: Heaven is high,
+High, and remote to see from thence distinct
+Each thing on Earth; and other care perhaps
+May have diverted from continual watch
+Our great Forbidder, safe with all his spies
+About him. But to Adam in what sort
+Shall I appear? shall I to him make known
+As yet my change, and give him to partake
+Full happiness with me, or rather not,
+But keeps the odds of knowledge in my power
+Without copartner? so to add what wants
+In female sex, the more to draw his love,
+And render me more equal; and perhaps,
+A thing not undesirable, sometime
+Superiour; for, inferiour, who is free
+This may be well: But what if God have seen,
+And death ensue? then I shall be no more!
+And Adam, wedded to another Eve,
+Shall live with her enjoying, I extinct;
+A death to think! Confirmed then I resolve,
+Adam shall share with me in bliss or woe:
+So dear I love him, that with him all deaths
+I could endure, without him live no life.
+So saying, from the tree her step she turned;
+But first low reverence done, as to the Power
+That dwelt within, whose presence had infused
+Into the plant sciential sap, derived
+From nectar, drink of Gods. Adam the while,
+Waiting desirous her return, had wove
+Of choicest flowers a garland, to adorn
+Her tresses, and her rural labours crown;
+As reapers oft are wont their harvest-queen.
+Great joy he promised to his thoughts, and new
+Solace in her return, so long delayed:
+Yet oft his heart, divine of something ill,
+Misgave him; he the faltering measure felt;
+And forth to meet her went, the way she took
+That morn when first they parted: by the tree
+Of knowledge he must pass; there he her met,
+Scarce from the tree returning; in her hand
+A bough of fairest fruit, that downy smiled,
+New gathered, and ambrosial smell diffused.
+To him she hasted; in her face excuse
+Came prologue, and apology too prompt;
+Which, with bland words at will, she thus addressed.
+Hast thou not wondered, Adam, at my stay?
+Thee I have missed, and thought it long, deprived
+Thy presence; agony of love till now
+Not felt, nor shall be twice; for never more
+Mean I to try, what rash untried I sought,
+The pain of absence from thy sight. But strange
+Hath been the cause, and wonderful to hear:
+This tree is not, as we are told, a tree
+Of danger tasted, nor to evil unknown
+Opening the way, but of divine effect
+To open eyes, and make them Gods who taste;
+And hath been tasted such: The serpent wise,
+Or not restrained as we, or not obeying,
+Hath eaten of the fruit; and is become,
+Not dead, as we are threatened, but thenceforth
+Endued with human voice and human sense,
+Reasoning to admiration; and with me
+Persuasively hath so prevailed, that I
+Have also tasted, and have also found
+The effects to correspond; opener mine eyes,
+Dim erst, dilated spirits, ampler heart,
+And growing up to Godhead; which for thee
+Chiefly I sought, without thee can despise.
+For bliss, as thou hast part, to me is bliss;
+Tedious, unshared with thee, and odious soon.
+Thou therefore also taste, that equal lot
+May join us, equal joy, as equal love;
+Lest, thou not tasting, different degree
+Disjoin us, and I then too late renounce
+Deity for thee, when Fate will not permit.
+Thus Eve with countenance blithe her story told;
+But in her cheek distemper flushing glowed.
+On the other side Adam, soon as he heard
+The fatal trespass done by Eve, amazed,
+Astonied stood and blank, while horrour chill
+Ran through his veins, and all his joints relaxed;
+From his slack hand the garland wreathed for Eve
+Down dropt, and all the faded roses shed:
+Speechless he stood and pale, till thus at length
+First to himself he inward silence broke.
+O fairest of Creation, last and best
+Of all God's works, Creature in whom excelled
+Whatever can to sight or thought be formed,
+Holy, divine, good, amiable, or sweet!
+How art thou lost! how on a sudden lost,
+Defaced, deflowered, and now to death devote!
+Rather, how hast thou yielded to transgress
+The strict forbiddance, how to violate
+The sacred fruit forbidden! Some cursed fraud
+Of enemy hath beguiled thee, yet unknown,
+And me with thee hath ruined; for with thee
+Certain my resolution is to die:
+How can I live without thee! how forego
+Thy sweet converse, and love so dearly joined,
+To live again in these wild woods forlorn!
+Should God create another Eve, and I
+Another rib afford, yet loss of thee
+Would never from my heart: no, no!I feel
+The link of Nature draw me: flesh of flesh,
+Bone of my bone thou art, and from thy state
+Mine never shall be parted, bliss or woe.
+So having said, as one from sad dismay
+Recomforted, and after thoughts disturbed
+Submitting to what seemed remediless,
+Thus in calm mood his words to Eve he turned.
+Bold deed thou hast presumed, adventurous Eve,
+And peril great provoked, who thus hast dared,
+Had it been only coveting to eye
+That sacred fruit, sacred to abstinence,
+Much more to taste it under ban to touch.
+But past who can recall, or done undo?
+Not God Omnipotent, nor Fate; yet so
+Perhaps thou shalt not die, perhaps the fact
+Is not so heinous now, foretasted fruit,
+Profaned first by the serpent, by him first
+Made common, and unhallowed, ere our taste;
+Nor yet on him found deadly; yet he lives;
+Lives, as thou saidst, and gains to live, as Man,
+Higher degree of life; inducement strong
+To us, as likely tasting to attain
+Proportional ascent; which cannot be
+But to be Gods, or Angels, demi-Gods.
+Nor can I think that God, Creator wise,
+Though threatening, will in earnest so destroy
+Us his prime creatures, dignified so high,
+Set over all his works; which in our fall,
+For us created, needs with us must fail,
+Dependant made; so God shall uncreate,
+Be frustrate, do, undo, and labour lose;
+Not well conceived of God, who, though his power
+Creation could repeat, yet would be loth
+Us to abolish, lest the Adversary
+Triumph, and say; "Fickle their state whom God
+"Most favours; who can please him long? Me first
+"He ruined, now Mankind; whom will he next?"
+Matter of scorn, not to be given the Foe.
+However I with thee have fixed my lot,
+Certain to undergo like doom: If death
+Consort with thee, death is to me as life;
+So forcible within my heart I feel
+The bond of Nature draw me to my own;
+My own in thee, for what thou art is mine;
+Our state cannot be severed; we are one,
+One flesh; to lose thee were to lose myself.
+So Adam; and thus Eve to him replied.
+O glorious trial of exceeding love,
+Illustrious evidence, example high!
+Engaging me to emulate; but, short
+Of thy perfection, how shall I attain,
+Adam, from whose dear side I boast me sprung,
+And gladly of our union hear thee speak,
+One heart, one soul in both; whereof good proof
+This day affords, declaring thee resolved,
+Rather than death, or aught than death more dread,
+Shall separate us, linked in love so dear,
+To undergo with me one guilt, one crime,
+If any be, of tasting this fair fruit;
+Whose virtue for of good still good proceeds,
+Direct, or by occasion, hath presented
+This happy trial of thy love, which else
+So eminently never had been known?
+Were it I thought death menaced would ensue
+This my attempt, I would sustain alone
+The worst, and not persuade thee, rather die
+Deserted, than oblige thee with a fact
+Pernicious to thy peace; chiefly assured
+Remarkably so late of thy so true,
+So faithful, love unequalled: but I feel
+Far otherwise the event; not death, but life
+Augmented, opened eyes, new hopes, new joys,
+Taste so divine, that what of sweet before
+Hath touched my sense, flat seems to this, and harsh.
+On my experience, Adam, freely taste,
+And fear of death deliver to the winds.
+So saying, she embraced him, and for joy
+Tenderly wept; much won, that he his love
+Had so ennobled, as of choice to incur
+Divine displeasure for her sake, or death.
+In recompence for such compliance bad
+Such recompence best merits from the bough
+She gave him of that fair enticing fruit
+With liberal hand: he scrupled not to eat,
+Against his better knowledge; not deceived,
+But fondly overcome with female charm.
+Earth trembled from her entrails, as again
+In pangs; and Nature gave a second groan;
+Sky loured; and, muttering thunder, some sad drops
+Wept at completing of the mortal sin
+Original: while Adam took no thought,
+Eating his fill; nor Eve to iterate
+Her former trespass feared, the more to sooth
+Him with her loved society; that now,
+As with new wine intoxicated both,
+They swim in mirth, and fancy that they feel
+Divinity within them breeding wings,
+Wherewith to scorn the earth: But that false fruit
+Far other operation first displayed,
+Carnal desire inflaming; he on Eve
+Began to cast lascivious eyes; she him
+As wantonly repaid; in lust they burn:
+Till Adam thus 'gan Eve to dalliance move.
+Eve, now I see thou art exact of taste,
+And elegant, of sapience no small part;
+Since to each meaning savour we apply,
+And palate call judicious; I the praise
+Yield thee, so well this day thou hast purveyed.
+Much pleasure we have lost, while we abstained
+From this delightful fruit, nor known till now
+True relish, tasting; if such pleasure be
+In things to us forbidden, it might be wished,
+For this one tree had been forbidden ten.
+But come, so well refreshed, now let us play,
+As meet is, after such delicious fare;
+For never did thy beauty, since the day
+I saw thee first and wedded thee, adorned
+With all perfections, so inflame my sense
+With ardour to enjoy thee, fairer now
+Than ever; bounty of this virtuous tree!
+So said he, and forbore not glance or toy
+Of amorous intent; well understood
+Of Eve, whose eye darted contagious fire.
+Her hand he seised; and to a shady bank,
+Thick over-head with verdant roof imbowered,
+He led her nothing loth; flowers were the couch,
+Pansies, and violets, and asphodel,
+And hyacinth; Earth's freshest softest lap.
+There they their fill of love and love's disport
+Took largely, of their mutual guilt the seal,
+The solace of their sin; till dewy sleep
+Oppressed them, wearied with their amorous play,
+Soon as the force of that fallacious fruit,
+That with exhilarating vapour bland
+About their spirits had played, and inmost powers
+Made err, was now exhaled; and grosser sleep,
+Bred of unkindly fumes, with conscious dreams
+Incumbered, now had left them; up they rose
+As from unrest; and, each the other viewing,
+Soon found their eyes how opened, and their minds
+How darkened; innocence, that as a veil
+Had shadowed them from knowing ill, was gone;
+Just confidence, and native righteousness,
+And honour, from about them, naked left
+To guilty Shame; he covered, but his robe
+Uncovered more. So rose the Danite strong,
+Herculean Samson, from the harlot-lap
+Of Philistean Dalilah, and waked
+Shorn of his strength. They destitute and bare
+Of all their virtue: Silent, and in face
+Confounded, long they sat, as strucken mute:
+Till Adam, though not less than Eve abashed,
+At length gave utterance to these words constrained.
+O Eve, in evil hour thou didst give ear
+To that false worm, of whomsoever taught
+To counterfeit Man's voice; true in our fall,
+False in our promised rising; since our eyes
+Opened we find indeed, and find we know
+Both good and evil; good lost, and evil got;
+Bad fruit of knowledge, if this be to know;
+Which leaves us naked thus, of honour void,
+Of innocence, of faith, of purity,
+Our wonted ornaments now soiled and stained,
+And in our faces evident the signs
+Of foul concupiscence; whence evil store;
+Even shame, the last of evils; of the first
+Be sure then.--How shall I behold the face
+Henceforth of God or Angel, erst with joy
+And rapture so oft beheld? Those heavenly shapes
+Will dazzle now this earthly with their blaze
+Insufferably bright. O! might I here
+In solitude live savage; in some glade
+Obscured, where highest woods, impenetrable
+To star or sun-light, spread their umbrage broad
+And brown as evening: Cover me, ye Pines!
+Ye Cedars, with innumerable boughs
+Hide me, where I may never see them more!--
+But let us now, as in bad plight, devise
+What best may for the present serve to hide
+The parts of each from other, that seem most
+To shame obnoxious, and unseemliest seen;
+Some tree, whose broad smooth leaves together sewed,
+And girded on our loins, may cover round
+Those middle parts; that this new comer, Shame,
+There sit not, and reproach us as unclean.
+So counselled he, and both together went
+Into the thickest wood; there soon they chose
+The fig-tree; not that kind for fruit renowned,
+But such as at this day, to Indians known,
+In Malabar or Decan spreads her arms
+Branching so broad and long, that in the ground
+The bended twigs take root, and daughters grow
+About the mother tree, a pillared shade
+High over-arched, and echoing walks between:
+There oft the Indian herdsman, shunning heat,
+Shelters in cool, and tends his pasturing herds
+At loop-holes cut through thickest shade: Those leaves
+They gathered, broad as Amazonian targe;
+And, with what skill they had, together sewed,
+To gird their waist; vain covering, if to hide
+Their guilt and dreaded shame! O, how unlike
+To that first naked glory! Such of late
+Columbus found the American, so girt
+With feathered cincture; naked else, and wild
+Among the trees on isles and woody shores.
+Thus fenced, and, as they thought, their shame in part
+Covered, but not at rest or ease of mind,
+They sat them down to weep; nor only tears
+Rained at their eyes, but high winds worse within
+Began to rise, high passions, anger, hate,
+Mistrust, suspicion, discord; and shook sore
+Their inward state of mind, calm region once
+And full of peace, now tost and turbulent:
+For Understanding ruled not, and the Will
+Heard not her lore; both in subjection now
+To sensual Appetite, who from beneath
+Usurping over sovran Reason claimed
+Superiour sway: From thus distempered breast,
+Adam, estranged in look and altered style,
+Speech intermitted thus to Eve renewed.
+Would thou hadst hearkened to my words, and staid
+With me, as I besought thee, when that strange
+Desire of wandering, this unhappy morn,
+I know not whence possessed thee; we had then
+Remained still happy; not, as now, despoiled
+Of all our good; shamed, naked, miserable!
+Let none henceforth seek needless cause to approve
+The faith they owe; when earnestly they seek
+Such proof, conclude, they then begin to fail.
+To whom, soon moved with touch of blame, thus Eve.
+What words have passed thy lips, Adam severe!
+Imputest thou that to my default, or will
+Of wandering, as thou callest it, which who knows
+But might as ill have happened thou being by,
+Or to thyself perhaps? Hadst thou been there,
+Or here the attempt, thou couldst not have discerned
+Fraud in the Serpent, speaking as he spake;
+No ground of enmity between us known,
+Why he should mean me ill, or seek to harm.
+Was I to have never parted from thy side?
+As good have grown there still a lifeless rib.
+Being as I am, why didst not thou, the head,
+Command me absolutely not to go,
+Going into such danger, as thou saidst?
+Too facile then, thou didst not much gainsay;
+Nay, didst permit, approve, and fair dismiss.
+Hadst thou been firm and fixed in thy dissent,
+Neither had I transgressed, nor thou with me.
+To whom, then first incensed, Adam replied.
+Is this the love, is this the recompence
+Of mine to thee, ingrateful Eve! expressed
+Immutable, when thou wert lost, not I;
+Who might have lived, and joyed immortal bliss,
+Yet willingly chose rather death with thee?
+And am I now upbraided as the cause
+Of thy transgressing? Not enough severe,
+It seems, in thy restraint: What could I more
+I warned thee, I admonished thee, foretold
+The danger, and the lurking enemy
+That lay in wait; beyond this, had been force;
+And force upon free will hath here no place.
+But confidence then bore thee on; secure
+Either to meet no danger, or to find
+Matter of glorious trial; and perhaps
+I also erred, in overmuch admiring
+What seemed in thee so perfect, that I thought
+No evil durst attempt thee; but I rue
+The errour now, which is become my crime,
+And thou the accuser. Thus it shall befall
+Him, who, to worth in women overtrusting,
+Lets her will rule: restraint she will not brook;
+And, left to herself, if evil thence ensue,
+She first his weak indulgence will accuse.
+Thus they in mutual accusation spent
+The fruitless hours, but neither self-condemning;
+And of their vain contest appeared no end.
+
+
+
+Book X
+
+
+Mean while the heinous and despiteful act
+Of Satan, done in Paradise; and how
+He, in the serpent, had perverted Eve,
+Her husband she, to taste the fatal fruit,
+Was known in Heaven; for what can 'scape the eye
+Of God all-seeing, or deceive his heart
+Omniscient? who, in all things wise and just,
+Hindered not Satan to attempt the mind
+Of Man, with strength entire and free will armed,
+Complete to have discovered and repulsed
+Whatever wiles of foe or seeming friend.
+For still they knew, and ought to have still remembered,
+The high injunction, not to taste that fruit,
+Whoever tempted; which they not obeying,
+(Incurred what could they less?) the penalty;
+And, manifold in sin, deserved to fall.
+Up into Heaven from Paradise in haste
+The angelick guards ascended, mute, and sad,
+For Man; for of his state by this they knew,
+Much wondering how the subtle Fiend had stolen
+Entrance unseen. Soon as the unwelcome news
+From Earth arrived at Heaven-gate, displeased
+All were who heard; dim sadness did not spare
+That time celestial visages, yet, mixed
+With pity, violated not their bliss.
+About the new-arrived, in multitudes
+The ethereal people ran, to hear and know
+How all befel: They towards the throne supreme,
+Accountable, made haste, to make appear,
+With righteous plea, their utmost vigilance
+And easily approved; when the Most High
+Eternal Father, from his secret cloud,
+Amidst in thunder uttered thus his voice.
+Assembled Angels, and ye Powers returned
+From unsuccessful charge; be not dismayed,
+Nor troubled at these tidings from the earth,
+Which your sincerest care could not prevent;
+Foretold so lately what would come to pass,
+When first this tempter crossed the gulf from Hell.
+I told ye then he should prevail, and speed
+On his bad errand; Man should be seduced,
+And flattered out of all, believing lies
+Against his Maker; no decree of mine
+Concurring to necessitate his fall,
+Or touch with lightest moment of impulse
+His free will, to her own inclining left
+In even scale. But fallen he is; and now
+What rests, but that the mortal sentence pass
+On his transgression,--death denounced that day?
+Which he presumes already vain and void,
+Because not yet inflicted, as he feared,
+By some immediate stroke; but soon shall find
+Forbearance no acquittance, ere day end.
+Justice shall not return as bounty scorned.
+But whom send I to judge them? whom but thee,
+Vicegerent Son? To thee I have transferred
+All judgement, whether in Heaven, or Earth, or Hell.
+Easy it may be seen that I intend
+Mercy colleague with justice, sending thee
+Man's friend, his Mediator, his designed
+Both ransom and Redeemer voluntary,
+And destined Man himself to judge Man fallen.
+So spake the Father; and, unfolding bright
+Toward the right hand his glory, on the Son
+Blazed forth unclouded Deity: He full
+Resplendent all his Father manifest
+Expressed, and thus divinely answered mild.
+Father Eternal, thine is to decree;
+Mine, both in Heaven and Earth, to do thy will
+Supreme; that thou in me, thy Son beloved,
+Mayest ever rest well pleased. I go to judge
+On earth these thy transgressours; but thou knowest,
+Whoever judged, the worst on me must light,
+When time shall be; for so I undertook
+Before thee; and, not repenting, this obtain
+Of right, that I may mitigate their doom
+On me derived; yet I shall temper so
+Justice with mercy, as may illustrate most
+Them fully satisfied, and thee appease.
+Attendance none shall need, nor train, where none
+Are to behold the judgement, but the judged,
+Those two; the third best absent is condemned,
+Convict by flight, and rebel to all law:
+Conviction to the serpent none belongs.
+Thus saying, from his radiant seat he rose
+Of high collateral glory: Him Thrones, and Powers,
+Princedoms, and Dominations ministrant,
+Accompanied to Heaven-gate; from whence
+Eden, and all the coast, in prospect lay.
+Down he descended straight; the speed of Gods
+Time counts not, though with swiftest minutes winged.
+Now was the sun in western cadence low
+From noon, and gentle airs, due at their hour,
+To fan the earth now waked, and usher in
+The evening cool; when he, from wrath more cool,
+Came the mild Judge, and Intercessour both,
+To sentence Man: The voice of God they heard
+Now walking in the garden, by soft winds
+Brought to their ears, while day declined; they heard,
+And from his presence hid themselves among
+The thickest trees, both man and wife; till God,
+Approaching, thus to Adam called aloud.
+Where art thou, Adam, wont with joy to meet
+My coming seen far off? I miss thee here,
+Not pleased, thus entertained with solitude,
+Where obvious duty ere while appeared unsought:
+Or come I less conspicuous, or what change
+Absents thee, or what chance detains?--Come forth!
+He came; and with him Eve, more loth, though first
+To offend; discountenanced both, and discomposed;
+Love was not in their looks, either to God,
+Or to each other; but apparent guilt,
+And shame, and perturbation, and despair,
+Anger, and obstinacy, and hate, and guile.
+Whence Adam, faltering long, thus answered brief.
+I heard thee in the garden, and of thy voice
+Afraid, being naked, hid myself. To whom
+The gracious Judge without revile replied.
+My voice thou oft hast heard, and hast not feared,
+But still rejoiced; how is it now become
+So dreadful to thee? That thou art naked, who
+Hath told thee? Hast thou eaten of the tree,
+Whereof I gave thee charge thou shouldst not eat?
+To whom thus Adam sore beset replied.
+O Heaven! in evil strait this day I stand
+Before my Judge; either to undergo
+Myself the total crime, or to accuse
+My other self, the partner of my life;
+Whose failing, while her faith to me remains,
+I should conceal, and not expose to blame
+By my complaint: but strict necessity
+Subdues me, and calamitous constraint;
+Lest on my head both sin and punishment,
+However insupportable, be all
+Devolved; though should I hold my peace, yet thou
+Wouldst easily detect what I conceal.--
+This Woman, whom thou madest to be my help,
+And gavest me as thy perfect gift, so good,
+So fit, so acceptable, so divine,
+That from her hand I could suspect no ill,
+And what she did, whatever in itself,
+Her doing seemed to justify the deed;
+She gave me of the tree, and I did eat.
+To whom the Sovran Presence thus replied.
+Was she thy God, that her thou didst obey
+Before his voice? or was she made thy guide,
+Superiour, or but equal, that to her
+Thou didst resign thy manhood, and the place
+Wherein God set thee above her made of thee,
+And for thee, whose perfection far excelled
+Hers in all real dignity? Adorned
+She was indeed, and lovely, to attract
+Thy love, not thy subjection; and her gifts
+Were such, as under government well seemed;
+Unseemly to bear rule; which was thy part
+And person, hadst thou known thyself aright.
+So having said, he thus to Eve in few.
+Say, Woman, what is this which thou hast done?
+To whom sad Eve, with shame nigh overwhelmed,
+Confessing soon, yet not before her Judge
+Bold or loquacious, thus abashed replied.
+The Serpent me beguiled, and I did eat.
+Which when the Lord God heard, without delay
+To judgement he proceeded on the accused
+Serpent, though brute; unable to transfer
+The guilt on him, who made him instrument
+Of mischief, and polluted from the end
+Of his creation; justly then accursed,
+As vitiated in nature: More to know
+Concerned not Man, (since he no further knew)
+Nor altered his offence; yet God at last
+To Satan first in sin his doom applied,
+Though in mysterious terms, judged as then best:
+And on the Serpent thus his curse let fall.
+Because thou hast done this, thou art accursed
+Above all cattle, each beast of the field;
+Upon thy belly groveling thou shalt go,
+And dust shalt eat all the days of thy life.
+Between thee and the woman I will put
+Enmity, and between thine and her seed;
+Her seed shall bruise thy head, thou bruise his heel.
+So spake this oracle, then verified
+When Jesus, Son of Mary, second Eve,
+Saw Satan fall, like lightning, down from Heaven,
+Prince of the air; then, rising from his grave
+Spoiled Principalities and Powers, triumphed
+In open show; and, with ascension bright,
+Captivity led captive through the air,
+The realm itself of Satan, long usurped;
+Whom he shall tread at last under our feet;
+Even he, who now foretold his fatal bruise;
+And to the Woman thus his sentence turned.
+Thy sorrow I will greatly multiply
+By thy conception; children thou shalt bring
+In sorrow forth; and to thy husband's will
+Thine shall submit; he over thee shall rule.
+On Adam last thus judgement he pronounced.
+Because thou hast hearkened to the voice of thy wife,
+And eaten of the tree, concerning which
+I charged thee, saying, Thou shalt not eat thereof:
+Cursed is the ground for thy sake; thou in sorrow
+Shalt eat thereof, all the days of thy life;
+Thorns also and thistles it shall bring thee forth
+Unbid; and thou shalt eat the herb of the field;
+In the sweat of thy face shalt thou eat bread,
+Till thou return unto the ground; for thou
+Out of the ground wast taken, know thy birth,
+For dust thou art, and shalt to dust return.
+So judged he Man, both Judge and Saviour sent;
+And the instant stroke of death, denounced that day,
+Removed far off; then, pitying how they stood
+Before him naked to the air, that now
+Must suffer change, disdained not to begin
+Thenceforth the form of servant to assume;
+As when he washed his servants feet; so now,
+As father of his family, he clad
+Their nakedness with skins of beasts, or slain,
+Or as the snake with youthful coat repaid;
+And thought not much to clothe his enemies;
+Nor he their outward only with the skins
+Of beasts, but inward nakedness, much more.
+Opprobrious, with his robe of righteousness,
+Arraying, covered from his Father's sight.
+To him with swift ascent he up returned,
+Into his blissful bosom reassumed
+In glory, as of old; to him appeased
+All, though all-knowing, what had passed with Man
+Recounted, mixing intercession sweet.
+Mean while, ere thus was sinned and judged on Earth,
+Within the gates of Hell sat Sin and Death,
+In counterview within the gates, that now
+Stood open wide, belching outrageous flame
+Far into Chaos, since the Fiend passed through,
+Sin opening; who thus now to Death began.
+O Son, why sit we here each other viewing
+Idly, while Satan, our great author, thrives
+In other worlds, and happier seat provides
+For us, his offspring dear? It cannot be
+But that success attends him; if mishap,
+Ere this he had returned, with fury driven
+By his avengers; since no place like this
+Can fit his punishment, or their revenge.
+Methinks I feel new strength within me rise,
+Wings growing, and dominion given me large
+Beyond this deep; whatever draws me on,
+Or sympathy, or some connatural force,
+Powerful at greatest distance to unite,
+With secret amity, things of like kind,
+By secretest conveyance. Thou, my shade
+Inseparable, must with me along;
+For Death from Sin no power can separate.
+But, lest the difficulty of passing back
+Stay his return perhaps over this gulf
+Impassable, impervious; let us try
+Adventurous work, yet to thy power and mine
+Not unagreeable, to found a path
+Over this main from Hell to that new world,
+Where Satan now prevails; a monument
+Of merit high to all the infernal host,
+Easing their passage hence, for intercourse,
+Or transmigration, as their lot shall lead.
+Nor can I miss the way, so strongly drawn
+By this new-felt attraction and instinct.
+Whom thus the meager Shadow answered soon.
+Go, whither Fate, and inclination strong,
+Leads thee; I shall not lag behind, nor err
+The way, thou leading; such a scent I draw
+Of carnage, prey innumerable, and taste
+The savour of death from all things there that live:
+Nor shall I to the work thou enterprisest
+Be wanting, but afford thee equal aid.
+So saying, with delight he snuffed the smell
+Of mortal change on earth. As when a flock
+Of ravenous fowl, though many a league remote,
+Against the day of battle, to a field,
+Where armies lie encamped, come flying, lured
+With scent of living carcasses designed
+For death, the following day, in bloody fight:
+So scented the grim Feature, and upturned
+His nostril wide into the murky air;
+Sagacious of his quarry from so far.
+Then both from out Hell-gates, into the waste
+Wide anarchy of Chaos, damp and dark,
+Flew diverse; and with power (their power was great)
+Hovering upon the waters, what they met
+Solid or slimy, as in raging sea
+Tost up and down, together crouded drove,
+From each side shoaling towards the mouth of Hell;
+As when two polar winds, blowing adverse
+Upon the Cronian sea, together drive
+Mountains of ice, that stop the imagined way
+Beyond Petsora eastward, to the rich
+Cathaian coast. The aggregated soil
+Death with his mace petrifick, cold and dry,
+As with a trident, smote; and fixed as firm
+As Delos, floating once; the rest his look
+Bound with Gorgonian rigour not to move;
+And with Asphaltick slime, broad as the gate,
+Deep to the roots of Hell the gathered beach
+They fastened, and the mole immense wrought on
+Over the foaming deep high-arched, a bridge
+Of length prodigious, joining to the wall
+Immoveable of this now fenceless world,
+Forfeit to Death; from hence a passage broad,
+Smooth, easy, inoffensive, down to Hell.
+So, if great things to small may be compared,
+Xerxes, the liberty of Greece to yoke,
+From Susa, his Memnonian palace high,
+Came to the sea: and, over Hellespont
+Bridging his way, Europe with Asia joined,
+And scourged with many a stroke the indignant waves.
+Now had they brought the work by wonderous art
+Pontifical, a ridge of pendant rock,
+Over the vexed abyss, following the track
+Of Satan to the self-same place where he
+First lighted from his wing, and landed safe
+From out of Chaos, to the outside bare
+Of this round world: With pins of adamant
+And chains they made all fast, too fast they made
+And durable! And now in little space
+The confines met of empyrean Heaven,
+And of this World; and, on the left hand, Hell
+With long reach interposed; three several ways
+In sight, to each of these three places led.
+And now their way to Earth they had descried,
+To Paradise first tending; when, behold!
+Satan, in likeness of an Angel bright,
+Betwixt the Centaur and the Scorpion steering
+His zenith, while the sun in Aries rose:
+Disguised he came; but those his children dear
+Their parent soon discerned, though in disguise.
+He, after Eve seduced, unminded slunk
+Into the wood fast by; and, changing shape,
+To observe the sequel, saw his guileful act
+By Eve, though all unweeting, seconded
+Upon her husband; saw their shame that sought
+Vain covertures; but when he saw descend
+The Son of God to judge them, terrified
+He fled; not hoping to escape, but shun
+The present; fearing, guilty, what his wrath
+Might suddenly inflict; that past, returned
+By night, and listening where the hapless pair
+Sat in their sad discourse, and various plaint,
+Thence gathered his own doom; which understood
+Not instant, but of future time, with joy
+And tidings fraught, to Hell he now returned;
+And at the brink of Chaos, near the foot
+Of this new wonderous pontifice, unhoped
+Met, who to meet him came, his offspring dear.
+Great joy was at their meeting, and at sight
+Of that stupendious bridge his joy encreased.
+Long he admiring stood, till Sin, his fair
+Enchanting daughter, thus the silence broke.
+O Parent, these are thy magnifick deeds,
+Thy trophies! which thou viewest as not thine own;
+Thou art their author, and prime architect:
+For I no sooner in my heart divined,
+My heart, which by a secret harmony
+Still moves with thine, joined in connexion sweet,
+That thou on earth hadst prospered, which thy looks
+Now also evidence, but straight I felt,
+Though distant from thee worlds between, yet felt,
+That I must after thee, with this thy son;
+Such fatal consequence unites us three!
+Hell could no longer hold us in our bounds,
+Nor this unvoyageable gulf obscure
+Detain from following thy illustrious track.
+Thou hast achieved our liberty, confined
+Within Hell-gates till now; thou us impowered
+To fortify thus far, and overlay,
+With this portentous bridge, the dark abyss.
+Thine now is all this world; thy virtue hath won
+What thy hands builded not; thy wisdom gained
+With odds what war hath lost, and fully avenged
+Our foil in Heaven; here thou shalt monarch reign,
+There didst not; there let him still victor sway,
+As battle hath adjudged; from this new world
+Retiring, by his own doom alienated;
+And henceforth monarchy with thee divide
+Of all things, parted by the empyreal bounds,
+His quadrature, from thy orbicular world;
+Or try thee now more dangerous to his throne.
+Whom thus the Prince of darkness answered glad.
+Fair Daughter, and thou Son and Grandchild both;
+High proof ye now have given to be the race
+Of Satan (for I glory in the name,
+Antagonist of Heaven's Almighty King,)
+Amply have merited of me, of all
+The infernal empire, that so near Heaven's door
+Triumphal with triumphal act have met,
+Mine, with this glorious work; and made one realm,
+Hell and this world, one realm, one continent
+Of easy thorough-fare. Therefore, while I
+Descend through darkness, on your road with ease,
+To my associate Powers, them to acquaint
+With these successes, and with them rejoice;
+You two this way, among these numerous orbs,
+All yours, right down to Paradise descend;
+There dwell, and reign in bliss; thence on the earth
+Dominion exercise and in the air,
+Chiefly on Man, sole lord of all declared;
+Him first make sure your thrall, and lastly kill.
+My substitutes I send ye, and create
+Plenipotent on earth, of matchless might
+Issuing from me: on your joint vigour now
+My hold of this new kingdom all depends,
+Through Sin to Death exposed by my exploit.
+If your joint power prevail, the affairs of Hell
+No detriment need fear; go, and be strong!
+So saying he dismissed them; they with speed
+Their course through thickest constellations held,
+Spreading their bane; the blasted stars looked wan,
+And planets, planet-struck, real eclipse
+Then suffered. The other way Satan went down
+The causey to Hell-gate: On either side
+Disparted Chaos overbuilt exclaimed,
+And with rebounding surge the bars assailed,
+That scorned his indignation: Through the gate,
+Wide open and unguarded, Satan passed,
+And all about found desolate; for those,
+Appointed to sit there, had left their charge,
+Flown to the upper world; the rest were all
+Far to the inland retired, about the walls
+Of Pandemonium; city and proud seat
+Of Lucifer, so by allusion called
+Of that bright star to Satan paragoned;
+There kept their watch the legions, while the Grand
+In council sat, solicitous what chance
+Might intercept their emperour sent; so he
+Departing gave command, and they observed.
+As when the Tartar from his Russian foe,
+By Astracan, over the snowy plains,
+Retires; or Bactrin Sophi, from the horns
+Of Turkish crescent, leaves all waste beyond
+The realm of Aladule, in his retreat
+To Tauris or Casbeen: So these, the late
+Heaven-banished host, left desart utmost Hell
+Many a dark league, reduced in careful watch
+Round their metropolis; and now expecting
+Each hour their great adventurer, from the search
+Of foreign worlds: He through the midst unmarked,
+In show plebeian Angel militant
+Of lowest order, passed; and from the door
+Of that Plutonian hall, invisible
+Ascended his high throne; which, under state
+Of richest texture spread, at the upper end
+Was placed in regal lustre. Down a while
+He sat, and round about him saw unseen:
+At last, as from a cloud, his fulgent head
+And shape star-bright appeared, or brighter; clad
+With what permissive glory since his fall
+Was left him, or false glitter: All amazed
+At that so sudden blaze the Stygian throng
+Bent their aspect, and whom they wished beheld,
+Their mighty Chief returned: loud was the acclaim:
+Forth rushed in haste the great consulting peers,
+Raised from their dark Divan, and with like joy
+Congratulant approached him; who with hand
+Silence, and with these words attention, won.
+Thrones, Dominations, Princedoms, Virtues, Powers;
+For in possession such, not only of right,
+I call ye, and declare ye now; returned
+Successful beyond hope, to lead ye forth
+Triumphant out of this infernal pit
+Abominable, accursed, the house of woe,
+And dungeon of our tyrant: Now possess,
+As Lords, a spacious world, to our native Heaven
+Little inferiour, by my adventure hard
+With peril great achieved. Long were to tell
+What I have done; what suffered;with what pain
+Voyaged th' unreal, vast, unbounded deep
+Of horrible confusion; over which
+By Sin and Death a broad way now is paved,
+To expedite your glorious march; but I
+Toiled out my uncouth passage, forced to ride
+The untractable abyss, plunged in the womb
+Of unoriginal Night and Chaos wild;
+That, jealous of their secrets, fiercely opposed
+My journey strange, with clamorous uproar
+Protesting Fate supreme; thence how I found
+The new created world, which fame in Heaven
+Long had foretold, a fabrick wonderful
+Of absolute perfection! therein Man
+Placed in a Paradise, by our exile
+Made happy: Him by fraud I have seduced
+From his Creator; and, the more to encrease
+Your wonder, with an apple; he, thereat
+Offended, worth your laughter! hath given up
+Both his beloved Man, and all his world,
+To Sin and Death a prey, and so to us,
+Without our hazard, labour, or alarm;
+To range in, and to dwell, and over Man
+To rule, as over all he should have ruled.
+True is, me also he hath judged, or rather
+Me not, but the brute serpent in whose shape
+Man I deceived: that which to me belongs,
+Is enmity which he will put between
+Me and mankind; I am to bruise his heel;
+His seed, when is not set, shall bruise my head:
+A world who would not purchase with a bruise,
+Or much more grievous pain?--Ye have the account
+Of my performance: What remains, ye Gods,
+But up, and enter now into full bliss?
+So having said, a while he stood, expecting
+Their universal shout, and high applause,
+To fill his ear; when, contrary, he hears
+On all sides, from innumerable tongues,
+A dismal universal hiss, the sound
+Of publick scorn; he wondered, but not long
+Had leisure, wondering at himself now more,
+His visage drawn he felt to sharp and spare;
+His arms clung to his ribs; his legs entwining
+Each other, till supplanted down he fell
+A monstrous serpent on his belly prone,
+Reluctant, but in vain; a greater power
+Now ruled him, punished in the shape he sinned,
+According to his doom: he would have spoke,
+But hiss for hiss returned with forked tongue
+To forked tongue; for now were all transformed
+Alike, to serpents all, as accessories
+To his bold riot: Dreadful was the din
+Of hissing through the hall, thick swarming now
+With complicated monsters head and tail,
+Scorpion, and Asp, and Amphisbaena dire,
+Cerastes horned, Hydrus, and Elops drear,
+And Dipsas; (not so thick swarmed once the soil
+Bedropt with blood of Gorgon, or the isle
+Ophiusa,) but still greatest he the midst,
+Now Dragon grown, larger than whom the sun
+Ingendered in the Pythian vale or slime,
+Huge Python, and his power no less he seemed
+Above the rest still to retain; they all
+Him followed, issuing forth to the open field,
+Where all yet left of that revolted rout,
+Heaven-fallen, in station stood or just array;
+Sublime with expectation when to see
+In triumph issuing forth their glorious Chief;
+They saw, but other sight instead! a croud
+Of ugly serpents; horrour on them fell,
+And horrid sympathy; for, what they saw,
+They felt themselves, now changing; down their arms,
+Down fell both spear and shield; down they as fast;
+And the dire hiss renewed, and the dire form
+Catched, by contagion; like in punishment,
+As in their crime. Thus was the applause they meant,
+Turned to exploding hiss, triumph to shame
+Cast on themselves from their own mouths. There stood
+A grove hard by, sprung up with this their change,
+His will who reigns above, to aggravate
+Their penance, laden with fair fruit, like that
+Which grew in Paradise, the bait of Eve
+Used by the Tempter: on that prospect strange
+Their earnest eyes they fixed, imagining
+For one forbidden tree a multitude
+Now risen, to work them further woe or shame;
+Yet, parched with scalding thirst and hunger fierce,
+Though to delude them sent, could not abstain;
+But on they rolled in heaps, and, up the trees
+Climbing, sat thicker than the snaky locks
+That curled Megaera: greedily they plucked
+The fruitage fair to sight, like that which grew
+Near that bituminous lake where Sodom flamed;
+This more delusive, not the touch, but taste
+Deceived; they, fondly thinking to allay
+Their appetite with gust, instead of fruit
+Chewed bitter ashes, which the offended taste
+With spattering noise rejected: oft they assayed,
+Hunger and thirst constraining; drugged as oft,
+With hatefullest disrelish writhed their jaws,
+With soot and cinders filled; so oft they fell
+Into the same illusion, not as Man
+Whom they triumphed once lapsed. Thus were they plagued
+And worn with famine, long and ceaseless hiss,
+Till their lost shape, permitted, they resumed;
+Yearly enjoined, some say, to undergo,
+This annual humbling certain numbered days,
+To dash their pride, and joy, for Man seduced.
+However, some tradition they dispersed
+Among the Heathen, of their purchase got,
+And fabled how the Serpent, whom they called
+Ophion, with Eurynome, the wide--
+Encroaching Eve perhaps, had first the rule
+Of high Olympus; thence by Saturn driven
+And Ops, ere yet Dictaean Jove was born.
+Mean while in Paradise the hellish pair
+Too soon arrived; Sin, there in power before,
+Once actual; now in body, and to dwell
+Habitual habitant; behind her Death,
+Close following pace for pace, not mounted yet
+On his pale horse: to whom Sin thus began.
+Second of Satan sprung, all-conquering Death!
+What thinkest thou of our empire now, though earned
+With travel difficult, not better far
+Than still at Hell's dark threshold to have sat watch,
+Unnamed, undreaded, and thyself half starved?
+Whom thus the Sin-born monster answered soon.
+To me, who with eternal famine pine,
+Alike is Hell, or Paradise, or Heaven;
+There best, where most with ravine I may meet;
+Which here, though plenteous, all too little seems
+To stuff this maw, this vast unhide-bound corps.
+To whom the incestuous mother thus replied.
+Thou therefore on these herbs, and fruits, and flowers,
+Feed first; on each beast next, and fish, and fowl;
+No homely morsels! and, whatever thing
+The sithe of Time mows down, devour unspared;
+Till I, in Man residing, through the race,
+His thoughts, his looks, words, actions, all infect;
+And season him thy last and sweetest prey.
+This said, they both betook them several ways,
+Both to destroy, or unimmortal make
+All kinds, and for destruction to mature
+Sooner or later; which the Almighty seeing,
+From his transcendent seat the Saints among,
+To those bright Orders uttered thus his voice.
+See, with what heat these dogs of Hell advance
+To waste and havock yonder world, which I
+So fair and good created; and had still
+Kept in that state, had not the folly of Man
+Let in these wasteful furies, who impute
+Folly to me; so doth the Prince of Hell
+And his adherents, that with so much ease
+I suffer them to enter and possess
+A place so heavenly; and, conniving, seem
+To gratify my scornful enemies,
+That laugh, as if, transported with some fit
+Of passion, I to them had quitted all,
+At random yielded up to their misrule;
+And know not that I called, and drew them thither,
+My Hell-hounds, to lick up the draff and filth
+Which Man's polluting sin with taint hath shed
+On what was pure; til, crammed and gorged, nigh burst
+With sucked and glutted offal, at one sling
+Of thy victorious arm, well-pleasing Son,
+Both Sin, and Death, and yawning Grave, at last,
+Through Chaos hurled, obstruct the mouth of Hell
+For ever, and seal up his ravenous jaws.
+Then Heaven and Earth renewed shall be made pure
+To sanctity, that shall receive no stain:
+Till then, the curse pronounced on both precedes.
+He ended, and the heavenly audience loud
+Sung Halleluiah, as the sound of seas,
+Through multitude that sung: Just are thy ways,
+Righteous are thy decrees on all thy works;
+Who can extenuate thee? Next, to the Son,
+Destined Restorer of mankind, by whom
+New Heaven and Earth shall to the ages rise,
+Or down from Heaven descend.--Such was their song;
+While the Creator, calling forth by name
+His mighty Angels, gave them several charge,
+As sorted best with present things. The sun
+Had first his precept so to move, so shine,
+As might affect the earth with cold and heat
+Scarce tolerable; and from the north to call
+Decrepit winter; from the south to bring
+Solstitial summer's heat. To the blanc moon
+Her office they prescribed; to the other five
+Their planetary motions, and aspects,
+In sextile, square, and trine, and opposite,
+Of noxious efficacy, and when to join
+In synod unbenign; and taught the fixed
+Their influence malignant when to shower,
+Which of them rising with the sun, or falling,
+Should prove tempestuous: To the winds they set
+Their corners, when with bluster to confound
+Sea, air, and shore; the thunder when to roll
+With terrour through the dark aereal hall.
+Some say, he bid his Angels turn ascanse
+The poles of earth, twice ten degrees and more,
+From the sun's axle; they with labour pushed
+Oblique the centrick globe: Some say, the sun
+Was bid turn reins from the equinoctial road
+Like distant breadth to Taurus with the seven
+Atlantick Sisters, and the Spartan Twins,
+Up to the Tropick Crab: thence down amain
+By Leo, and the Virgin, and the Scales,
+As deep as Capricorn; to bring in change
+Of seasons to each clime; else had the spring
+Perpetual smiled on earth with vernant flowers,
+Equal in days and nights, except to those
+Beyond the polar circles; to them day
+Had unbenighted shone, while the low sun,
+To recompense his distance, in their sight
+Had rounded still the horizon, and not known
+Or east or west; which had forbid the snow
+From cold Estotiland, and south as far
+Beneath Magellan. At that tasted fruit
+The sun, as from Thyestean banquet, turned
+His course intended; else, how had the world
+Inhabited, though sinless, more than now,
+Avoided pinching cold and scorching heat?
+These changes in the Heavens, though slow, produced
+Like change on sea and land; sideral blast,
+Vapour, and mist, and exhalation hot,
+Corrupt and pestilent: Now from the north
+Of Norumbega, and the Samoed shore,
+Bursting their brazen dungeon, armed with ice,
+And snow, and hail, and stormy gust and flaw,
+Boreas, and Caecias, and Argestes loud,
+And Thrascias, rend the woods, and seas upturn;
+With adverse blast upturns them from the south
+Notus, and Afer black with thunderous clouds
+From Serraliona; thwart of these, as fierce,
+Forth rush the Levant and the Ponent winds,
+Eurus and Zephyr, with their lateral noise,
+Sirocco and Libecchio. Thus began
+Outrage from lifeless things; but Discord first,
+Daughter of Sin, among the irrational
+Death introduced, through fierce antipathy:
+Beast now with beast 'gan war, and fowl with fowl,
+And fish with fish; to graze the herb all leaving,
+Devoured each other; nor stood much in awe
+Of Man, but fled him; or, with countenance grim,
+Glared on him passing. These were from without
+The growing miseries, which Adam saw
+Already in part, though hid in gloomiest shade,
+To sorrow abandoned, but worse felt within;
+And, in a troubled sea of passion tost,
+Thus to disburden sought with sad complaint.
+O miserable of happy! Is this the end
+Of this new glorious world, and me so late
+The glory of that glory, who now become
+Accursed, of blessed? hide me from the face
+Of God, whom to behold was then my highth
+Of happiness!--Yet well, if here would end
+The misery; I deserved it, and would bear
+My own deservings; but this will not serve:
+All that I eat or drink, or shall beget,
+Is propagated curse. O voice, once heard
+Delightfully, Encrease and multiply;
+Now death to hear! for what can I encrease,
+Or multiply, but curses on my head?
+Who of all ages to succeed, but, feeling
+The evil on him brought by me, will curse
+My head? Ill fare our ancestor impure,
+For this we may thank Adam! but his thanks
+Shall be the execration: so, besides
+Mine own that bide upon me, all from me
+Shall with a fierce reflux on me rebound;
+On me, as on their natural center, light
+Heavy, though in their place. O fleeting joys
+Of Paradise, dear bought with lasting woes!
+Did I request thee, Maker, from my clay
+To mould me Man? did I solicit thee
+From darkness to promote me, or here place
+In this delicious garden? As my will
+Concurred not to my being, it were but right
+And equal to reduce me to my dust;
+Desirous to resign and render back
+All I received; unable to perform
+Thy terms too hard, by which I was to hold
+The good I sought not. To the loss of that,
+Sufficient penalty, why hast thou added
+The sense of endless woes? Inexplicable
+Why am I mocked with death, and lengthened out
+To deathless pain? How gladly would I meet
+Mortality my sentence, and be earth
+Insensible! How glad would lay me down
+As in my mother's lap! There I should rest,
+And sleep secure; his dreadful voice no more
+Would thunder in my ears; no fear of worse
+To me, and to my offspring, would torment me
+With cruel expectation. Yet one doubt
+Pursues me still, lest all I cannot die;
+Lest that pure breath of life, the spirit of Man
+Which God inspired, cannot together perish
+With this corporeal clod; then, in the grave,
+Or in some other dismal place, who knows
+But I shall die a living death? O thought
+Horrid, if true! Yet why? It was but breath
+Of life that sinned; what dies but what had life
+And sin? The body properly had neither,
+All of me then shall die: let this appease
+The doubt, since human reach no further knows.
+For though the Lord of all be infinite,
+Is his wrath also? Be it, Man is not so,
+But mortal doomed. How can he exercise
+Wrath without end on Man, whom death must end?
+Can he make deathless death? That were to make
+Strange contradiction, which to God himself
+Impossible is held; as argument
+Of weakness, not of power. Will he draw out,
+For anger's sake, finite to infinite,
+In punished Man, to satisfy his rigour,
+Satisfied never? That were to extend
+His sentence beyond dust and Nature's law;
+By which all causes else, according still
+To the reception of their matter, act;
+Not to the extent of their own sphere. But say
+That death be not one stroke, as I supposed,
+Bereaving sense, but endless misery
+From this day onward; which I feel begun
+Both in me, and without me; and so last
+To perpetuity;--Ay me!that fear
+Comes thundering back with dreadful revolution
+On my defenceless head; both Death and I
+Am found eternal, and incorporate both;
+Nor I on my part single; in me all
+Posterity stands cursed: Fair patrimony
+That I must leave ye, Sons! O, were I able
+To waste it all myself, and leave ye none!
+So disinherited, how would you bless
+Me, now your curse! Ah, why should all mankind,
+For one man's fault, thus guiltless be condemned,
+It guiltless? But from me what can proceed,
+But all corrupt; both mind and will depraved
+Not to do only, but to will the same
+With me? How can they then acquitted stand
+In sight of God? Him, after all disputes,
+Forced I absolve: all my evasions vain,
+And reasonings, though through mazes, lead me still
+But to my own conviction: first and last
+On me, me only, as the source and spring
+Of all corruption, all the blame lights due;
+So might the wrath! Fond wish!couldst thou support
+That burden, heavier than the earth to bear;
+Than all the world much heavier, though divided
+With that bad Woman? Thus, what thou desirest,
+And what thou fearest, alike destroys all hope
+Of refuge, and concludes thee miserable
+Beyond all past example and future;
+To Satan only like both crime and doom.
+O Conscience! into what abyss of fears
+And horrours hast thou driven me; out of which
+I find no way, from deep to deeper plunged!
+Thus Adam to himself lamented loud,
+Through the still night; not now, as ere Man fell,
+Wholesome, and cool, and mild, but with black air
+Accompanied; with damps, and dreadful gloom;
+Which to his evil conscience represented
+All things with double terrour: On the ground
+Outstretched he lay, on the cold ground; and oft
+Cursed his creation; Death as oft accused
+Of tardy execution, since denounced
+The day of his offence. Why comes not Death,
+Said he, with one thrice-acceptable stroke
+To end me? Shall Truth fail to keep her word,
+Justice Divine not hasten to be just?
+But Death comes not at call; Justice Divine
+Mends not her slowest pace for prayers or cries,
+O woods, O fountains, hillocks, dales, and bowers!
+With other echo late I taught your shades
+To answer, and resound far other song.--
+Whom thus afflicted when sad Eve beheld,
+Desolate where she sat, approaching nigh,
+Soft words to his fierce passion she assayed:
+But her with stern regard he thus repelled.
+Out of my sight, thou Serpent! That name best
+Befits thee with him leagued, thyself as false
+And hateful; nothing wants, but that thy shape,
+Like his, and colour serpentine, may show
+Thy inward fraud; to warn all creatures from thee
+Henceforth; lest that too heavenly form, pretended
+To hellish falshood, snare them! But for thee
+I had persisted happy; had not thy pride
+And wandering vanity, when least was safe,
+Rejected my forewarning, and disdained
+Not to be trusted; longing to be seen,
+Though by the Devil himself; him overweening
+To over-reach; but, with the serpent meeting,
+Fooled and beguiled; by him thou, I by thee
+To trust thee from my side; imagined wise,
+Constant, mature, proof against all assaults;
+And understood not all was but a show,
+Rather than solid virtue; all but a rib
+Crooked by nature, bent, as now appears,
+More to the part sinister, from me drawn;
+Well if thrown out, as supernumerary
+To my just number found. O! why did God,
+Creator wise, that peopled highest Heaven
+With Spirits masculine, create at last
+This novelty on earth, this fair defect
+Of nature, and not fill the world at once
+With Men, as Angels, without feminine;
+Or find some other way to generate
+Mankind? This mischief had not been befallen,
+And more that shall befall; innumerable
+Disturbances on earth through female snares,
+And strait conjunction with this sex: for either
+He never shall find out fit mate, but such
+As some misfortune brings him, or mistake;
+Or whom he wishes most shall seldom gain
+Through her perverseness, but shall see her gained
+By a far worse; or, if she love, withheld
+By parents; or his happiest choice too late
+Shall meet, already linked and wedlock-bound
+To a fell adversary, his hate or shame:
+Which infinite calamity shall cause
+To human life, and houshold peace confound.
+He added not, and from her turned; but Eve,
+Not so repulsed, with tears that ceased not flowing
+And tresses all disordered, at his feet
+Fell humble; and, embracing them, besought
+His peace, and thus proceeded in her plaint.
+Forsake me not thus, Adam! witness Heaven
+What love sincere, and reverence in my heart
+I bear thee, and unweeting have offended,
+Unhappily deceived! Thy suppliant
+I beg, and clasp thy knees; bereave me not,
+Whereon I live, thy gentle looks, thy aid,
+Thy counsel, in this uttermost distress,
+My only strength and stay: Forlorn of thee,
+Whither shall I betake me, where subsist?
+While yet we live, scarce one short hour perhaps,
+Between us two let there be peace; both joining,
+As joined in injuries, one enmity
+Against a foe by doom express assigned us,
+That cruel Serpent: On me exercise not
+Thy hatred for this misery befallen;
+On me already lost, me than thyself
+More miserable! Both have sinned;but thou
+Against God only; I against God and thee;
+And to the place of judgement will return,
+There with my cries importune Heaven; that all
+The sentence, from thy head removed, may light
+On me, sole cause to thee of all this woe;
+Me, me only, just object of his ire!
+She ended weeping; and her lowly plight,
+Immoveable, till peace obtained from fault
+Acknowledged and deplored, in Adam wrought
+Commiseration: Soon his heart relented
+Towards her, his life so late, and sole delight,
+Now at his feet submissive in distress;
+Creature so fair his reconcilement seeking,
+His counsel, whom she had displeased, his aid:
+As one disarmed, his anger all he lost,
+And thus with peaceful words upraised her soon.
+Unwary, and too desirous, as before,
+So now of what thou knowest not, who desirest
+The punishment all on thyself; alas!
+Bear thine own first, ill able to sustain
+His full wrath, whose thou feelest as yet least part,
+And my displeasure bearest so ill. If prayers
+Could alter high decrees, I to that place
+Would speed before thee, and be louder heard,
+That on my head all might be visited;
+Thy frailty and infirmer sex forgiven,
+To me committed, and by me exposed.
+But rise;--let us no more contend, nor blame
+Each other, blamed enough elsewhere; but strive
+In offices of love, how we may lighten
+Each other's burden, in our share of woe;
+Since this day's death denounced, if aught I see,
+Will prove no sudden, but a slow-paced evil;
+A long day's dying, to augment our pain;
+And to our seed (O hapless seed!) derived.
+To whom thus Eve, recovering heart, replied.
+Adam, by sad experiment I know
+How little weight my words with thee can find,
+Found so erroneous; thence by just event
+Found so unfortunate: Nevertheless,
+Restored by thee, vile as I am, to place
+Of new acceptance, hopeful to regain
+Thy love, the sole contentment of my heart
+Living or dying, from thee I will not hide
+What thoughts in my unquiet breast are risen,
+Tending to some relief of our extremes,
+Or end; though sharp and sad, yet tolerable,
+As in our evils, and of easier choice.
+If care of our descent perplex us most,
+Which must be born to certain woe, devoured
+By Death at last; and miserable it is
+To be to others cause of misery,
+Our own begotten, and of our loins to bring
+Into this cursed world a woeful race,
+That after wretched life must be at last
+Food for so foul a monster; in thy power
+It lies, yet ere conception to prevent
+The race unblest, to being yet unbegot.
+Childless thou art, childless remain: so Death
+Shall be deceived his glut, and with us two
+Be forced to satisfy his ravenous maw.
+But if thou judge it hard and difficult,
+Conversing, looking, loving, to abstain
+From love's due rights, nuptial embraces sweet;
+And with desire to languish without hope,
+Before the present object languishing
+With like desire; which would be misery
+And torment less than none of what we dread;
+Then, both ourselves and seed at once to free
+From what we fear for both, let us make short, --
+Let us seek Death; -- or, he not found, supply
+With our own hands his office on ourselves:
+Why stand we longer shivering under fears,
+That show no end but death, and have the power,
+Of many ways to die the shortest choosing,
+Destruction with destruction to destroy? --
+She ended here, or vehement despair
+Broke off the rest: so much of death her thoughts
+Had entertained, as dyed her cheeks with pale.
+But Adam, with such counsel nothing swayed,
+To better hopes his more attentive mind
+Labouring had raised; and thus to Eve replied.
+Eve, thy contempt of life and pleasure seems
+To argue in thee something more sublime
+And excellent, than what thy mind contemns;
+But self-destruction therefore sought, refutes
+That excellence thought in thee; and implies,
+Not thy contempt, but anguish and regret
+For loss of life and pleasure overloved.
+Or if thou covet death, as utmost end
+Of misery, so thinking to evade
+The penalty pronounced; doubt not but God
+Hath wiselier armed his vengeful ire, than so
+To be forestalled; much more I fear lest death,
+So snatched, will not exempt us from the pain
+We are by doom to pay; rather, such acts
+Of contumacy will provoke the Highest
+To make death in us live: Then let us seek
+Some safer resolution, which methinks
+I have in view, calling to mind with heed
+Part of our sentence, that thy seed shall bruise
+The Serpent's head; piteous amends! unless
+Be meant, whom I conjecture, our grand foe,
+Satan; who, in the serpent, hath contrived
+Against us this deceit: To crush his head
+Would be revenge indeed! which will be lost
+By death brought on ourselves, or childless days
+Resolved, as thou proposest; so our foe
+Shal 'scape his punishment ordained, and we
+Instead shall double ours upon our heads.
+No more be mentioned then of violence
+Against ourselves; and wilful barrenness,
+That cuts us off from hope; and savours only
+Rancour and pride, impatience and despite,
+Reluctance against God and his just yoke
+Laid on our necks. Remember with what mild
+And gracious temper he both heard, and judged,
+Without wrath or reviling; we expected
+Immediate dissolution, which we thought
+Was meant by death that day; when lo!to thee
+Pains only in child-bearing were foretold,
+And bringing forth; soon recompensed with joy,
+Fruit of thy womb: On me the curse aslope
+Glanced on the ground; with labour I must earn
+My bread; what harm? Idleness had been worse;
+My labour will sustain me; and, lest cold
+Or heat should injure us, his timely care
+Hath, unbesought, provided; and his hands
+Clothed us unworthy, pitying while he judged;
+How much more, if we pray him, will his ear
+Be open, and his heart to pity incline,
+And teach us further by what means to shun
+The inclement seasons, rain, ice, hail, and snow!
+Which now the sky, with various face, begins
+To show us in this mountain; while the winds
+Blow moist and keen, shattering the graceful locks
+Of these fair spreading trees; which bids us seek
+Some better shroud, some better warmth to cherish
+Our limbs benummed, ere this diurnal star
+Leave cold the night, how we his gathered beams
+Reflected may with matter sere foment;
+Or, by collision of two bodies, grind
+The air attrite to fire; as late the clouds
+Justling, or pushed with winds, rude in their shock,
+Tine the slant lightning; whose thwart flame, driven down
+Kindles the gummy bark of fir or pine;
+And sends a comfortable heat from far,
+Which might supply the sun: Such fire to use,
+And what may else be remedy or cure
+To evils which our own misdeeds have wrought,
+He will instruct us praying, and of grace
+Beseeching him; so as we need not fear
+To pass commodiously this life, sustained
+By him with many comforts, till we end
+In dust, our final rest and native home.
+What better can we do, than, to the place
+Repairing where he judged us, prostrate fall
+Before him reverent; and there confess
+Humbly our faults, and pardon beg; with tears
+Watering the ground, and with our sighs the air
+Frequenting, sent from hearts contrite, in sign
+Of sorrow unfeigned, and humiliation meek
+
+
+
+Book XI
+
+
+Undoubtedly he will relent, and turn
+From his displeasure; in whose look serene,
+When angry most he seemed and most severe,
+What else but favour, grace, and mercy, shone?
+So spake our father penitent; nor Eve
+Felt less remorse: they, forthwith to the place
+Repairing where he judged them, prostrate fell
+Before him reverent; and both confessed
+Humbly their faults, and pardon begged; with tears
+Watering the ground, and with their sighs the air
+Frequenting, sent from hearts contrite, in sign
+Of sorrow unfeigned, and humiliation meek.
+Thus they, in lowliest plight, repentant stood
+Praying; for from the mercy-seat above
+Prevenient grace descending had removed
+The stony from their hearts, and made new flesh
+Regenerate grow instead; that sighs now breathed
+Unutterable; which the Spirit of prayer
+Inspired, and winged for Heaven with speedier flight
+Than loudest oratory: Yet their port
+Not of mean suitors; nor important less
+Seemed their petition, than when the ancient pair
+In fables old, less ancient yet than these,
+Deucalion and chaste Pyrrha, to restore
+The race of mankind drowned, before the shrine
+Of Themis stood devout. To Heaven their prayers
+Flew up, nor missed the way, by envious winds
+Blown vagabond or frustrate: in they passed
+Dimensionless through heavenly doors; then clad
+With incense, where the golden altar fumed,
+By their great intercessour, came in sight
+Before the Father's throne: them the glad Son
+Presenting, thus to intercede began.
+See$ Father, what first-fruits on earth are sprung
+From thy implanted grace in Man; these sighs
+And prayers, which in this golden censer mixed
+With incense, I thy priest before thee bring;
+Fruits of more pleasing savour, from thy seed
+Sown with contrition in his heart, than those
+Which, his own hand manuring, all the trees
+Of Paradise could have produced, ere fallen
+From innocence. Now therefore, bend thine ear
+To supplication; hear his sighs, though mute;
+Unskilful with what words to pray, let me
+Interpret for him; me, his advocate
+And propitiation; all his works on me,
+Good, or not good, ingraft; my merit those
+Shall perfect, and for these my death shall pay.
+Accept me; and, in me, from these receive
+The smell of peace toward mankind: let him live
+Before thee reconciled, at least his days
+Numbered, though sad; till death, his doom, (which I
+To mitigate thus plead, not to reverse,)
+To better life shall yield him: where with me
+All my redeemed may dwell in joy and bliss;
+Made one with me, as I with thee am one.
+To whom the Father, without cloud, serene.
+All thy request for Man, accepted Son,
+Obtain; all thy request was my decree:
+But, longer in that Paradise to dwell,
+The law I gave to Nature him forbids:
+Those pure immortal elements, that know,
+No gross, no unharmonious mixture foul,
+Eject him, tainted now; and purge him off,
+As a distemper, gross, to air as gross,
+And mortal food; as may dispose him best
+For dissolution wrought by sin, that first
+Distempered all things, and of incorrupt
+Corrupted. I, at first, with two fair gifts
+Created him endowed; with happiness,
+And immortality: that fondly lost,
+This other served but to eternize woe;
+Till I provided death: so death becomes
+His final remedy; and, after life,
+Tried in sharp tribulation, and refined
+By faith and faithful works, to second life,
+Waked in the renovation of the just,
+Resigns him up with Heaven and Earth renewed.
+But let us call to synod all the Blest,
+Through Heaven's wide bounds: from them I will not hide
+My judgements; how with mankind I proceed,
+As how with peccant Angels late they saw,
+And in their state, though firm, stood more confirmed.
+He ended, and the Son gave signal high
+To the bright minister that watched; he blew
+His trumpet, heard in Oreb since perhaps
+When God descended, and perhaps once more
+To sound at general doom. The angelick blast
+Filled all the regions: from their blisful bowers
+Of amarantine shade, fountain or spring,
+By the waters of life, where'er they sat
+In fellowships of joy, the sons of light
+Hasted, resorting to the summons high;
+And took their seats; till from his throne supreme
+The Almighty thus pronounced his sovran will.
+O Sons, like one of us Man is become
+To know both good and evil, since his taste
+Of that defended fruit; but let him boast
+His knowledge of good lost, and evil got;
+Happier! had it sufficed him to have known
+Good by itself, and evil not at all.
+He sorrows now, repents, and prays contrite,
+My motions in him; longer than they move,
+His heart I know, how variable and vain,
+Self-left. Lest therefore his now bolder hand
+Reach also of the tree of life, and eat,
+And live for ever, dream at least to live
+For ever, to remove him I decree,
+And send him from the garden forth to till
+The ground whence he was taken, fitter soil.
+Michael, this my behest have thou in charge;
+Take to thee from among the Cherubim
+Thy choice of flaming warriours, lest the Fiend,
+Or in behalf of Man, or to invade
+Vacant possession, some new trouble raise:
+Haste thee, and from the Paradise of God
+Without remorse drive out the sinful pair;
+From hallowed ground the unholy; and denounce
+To them, and to their progeny, from thence
+Perpetual banishment. Yet, lest they faint
+At the sad sentence rigorously urged,
+(For I behold them softened, and with tears
+Bewailing their excess,) all terrour hide.
+If patiently thy bidding they obey,
+Dismiss them not disconsolate; reveal
+To Adam what shall come in future days,
+As I shall thee enlighten; intermix
+My covenant in the Woman's seed renewed;
+So send them forth, though sorrowing, yet in peace:
+And on the east side of the garden place,
+Where entrance up from Eden easiest climbs,
+Cherubick watch; and of a sword the flame
+Wide-waving; all approach far off to fright,
+And guard all passage to the tree of life:
+Lest Paradise a receptacle prove
+To Spirits foul, and all my trees their prey;
+With whose stolen fruit Man once more to delude.
+He ceased; and the arch-angelick Power prepared
+For swift descent; with him the cohort bright
+Of watchful Cherubim: four faces each
+Had, like a double Janus; all their shape
+Spangled with eyes more numerous than those
+Of Argus, and more wakeful than to drouse,
+Charmed with Arcadian pipe, the pastoral reed
+Of Hermes, or his opiate rod. Mean while,
+To re-salute the world with sacred light,
+Leucothea waked; and with fresh dews imbalmed
+The earth; when Adam and first matron Eve
+Had ended now their orisons, and found
+Strength added from above; new hope to spring
+Out of despair; joy, but with fear yet linked;
+Which thus to Eve his welcome words renewed.
+Eve, easily my faith admit, that all
+The good which we enjoy from Heaven descends;
+But, that from us aught should ascend to Heaven
+So prevalent as to concern the mind
+Of God high-blest, or to incline his will,
+Hard to belief may seem; yet this will prayer
+Or one short sigh of human breath, upborne
+Even to the seat of God. For since I sought
+By prayer the offended Deity to appease;
+Kneeled, and before him humbled all my heart;
+Methought I saw him placable and mild,
+Bending his ear; persuasion in me grew
+That I was heard with favour; peace returned
+Home to my breast, and to my memory
+His promise, that thy seed shall bruise our foe;
+Which, then not minded in dismay, yet now
+Assures me that the bitterness of death
+Is past, and we shall live. Whence hail to thee,
+Eve rightly called, mother of all mankind,
+Mother of all things living, since by thee
+Man is to live; and all things live for Man.
+To whom thus Eve with sad demeanour meek.
+Ill-worthy I such title should belong
+To me transgressour; who, for thee ordained
+A help, became thy snare; to me reproach
+Rather belongs, distrust, and all dispraise:
+But infinite in pardon was my Judge,
+That I, who first brought death on all, am graced
+The source of life; next favourable thou,
+Who highly thus to entitle me vouchsaf'st,
+Far other name deserving. But the field
+To labour calls us, now with sweat imposed,
+Though after sleepless night; for see!the morn,
+All unconcerned with our unrest, begins
+Her rosy progress smiling: let us forth;
+I never from thy side henceforth to stray,
+Where'er our day's work lies, though now enjoined
+Laborious, till day droop; while here we dwell,
+What can be toilsome in these pleasant walks?
+Here let us live, though in fallen state, content.
+So spake, so wished much humbled Eve; but Fate
+Subscribed not: Nature first gave signs, impressed
+On bird, beast, air; air suddenly eclipsed,
+After short blush of morn; nigh in her sight
+The bird of Jove, stooped from his aery tour,
+Two birds of gayest plume before him drove;
+Down from a hill the beast that reigns in woods,
+First hunter then, pursued a gentle brace,
+Goodliest of all the forest, hart and hind;
+Direct to the eastern gate was bent their flight.
+Adam observed, and with his eye the chase
+Pursuing, not unmoved, to Eve thus spake.
+O Eve, some further change awaits us nigh,
+Which Heaven, by these mute signs in Nature, shows
+Forerunners of his purpose; or to warn
+Us, haply too secure, of our discharge
+From penalty, because from death released
+Some days: how long, and what till then our life,
+Who knows? or more than this, that we are dust,
+And thither must return, and be no more?
+Why else this double object in our sight
+Of flight pursued in the air, and o'er the ground,
+One way the self-same hour? why in the east
+Darkness ere day's mid-course, and morning-light
+More orient in yon western cloud, that draws
+O'er the blue firmament a radiant white,
+And slow descends with something heavenly fraught?
+He erred not; for by this the heavenly bands
+Down from a sky of jasper lighted now
+In Paradise, and on a hill made halt;
+A glorious apparition, had not doubt
+And carnal fear that day dimmed Adam's eye.
+Not that more glorious, when the Angels met
+Jacob in Mahanaim, where he saw
+The field pavilioned with his guardians bright;
+Nor that, which on the flaming mount appeared
+In Dothan, covered with a camp of fire,
+Against the Syrian king, who to surprise
+One man, assassin-like, had levied war,
+War unproclaimed. The princely Hierarch
+In their bright stand there left his Powers, to seise
+Possession of the garden; he alone,
+To find where Adam sheltered, took his way,
+Not unperceived of Adam; who to Eve,
+While the great visitant approached, thus spake.
+Eve$ now expect great tidings, which perhaps
+Of us will soon determine, or impose
+New laws to be observed; for I descry,
+From yonder blazing cloud that veils the hill,
+One of the heavenly host; and, by his gait,
+None of the meanest; some great Potentate
+Or of the Thrones above; such majesty
+Invests him coming! yet not terrible,
+That I should fear; nor sociably mild,
+As Raphael, that I should much confide;
+But solemn and sublime; whom not to offend,
+With reverence I must meet, and thou retire.
+He ended: and the Arch-Angel soon drew nigh,
+Not in his shape celestial, but as man
+Clad to meet man; over his lucid arms
+A military vest of purple flowed,
+Livelier than Meliboean, or the grain
+Of Sarra, worn by kings and heroes old
+In time of truce; Iris had dipt the woof;
+His starry helm unbuckled showed him prime
+In manhood where youth ended; by his side,
+As in a glistering zodiack, hung the sword,
+Satan's dire dread; and in his hand the spear.
+Adam bowed low; he, kingly, from his state
+Inclined not, but his coming thus declared.
+Adam, Heaven's high behest no preface needs:
+Sufficient that thy prayers are heard; and Death,
+Then due by sentence when thou didst transgress,
+Defeated of his seisure many days
+Given thee of grace; wherein thou mayest repent,
+And one bad act with many deeds well done
+Mayest cover: Well may then thy Lord, appeased,
+Redeem thee quite from Death's rapacious claim;
+But longer in this Paradise to dwell
+Permits not: to remove thee I am come,
+And send thee from the garden forth to till
+The ground whence thou wast taken, fitter soil.
+He added not; for Adam at the news
+Heart-struck with chilling gripe of sorrow stood,
+That all his senses bound; Eve, who unseen
+Yet all had heard, with audible lament
+Discovered soon the place of her retire.
+O unexpected stroke, worse than of Death!
+Must I thus leave thee$ Paradise? thus leave
+Thee, native soil! these happy walks and shades,
+Fit haunt of Gods? where I had hope to spend,
+Quiet though sad, the respite of that day
+That must be mortal to us both. O flowers,
+That never will in other climate grow,
+My early visitation, and my last
+ ;t even, which I bred up with tender hand
+From the first opening bud, and gave ye names!
+Who now shall rear ye to the sun, or rank
+Your tribes, and water from the ambrosial fount?
+Thee lastly, nuptial bower! by me adorned
+With what to sight or smell was sweet! from thee
+How shall I part, and whither wander down
+Into a lower world; to this obscure
+And wild? how shall we breathe in other air
+Less pure, accustomed to immortal fruits?
+Whom thus the Angel interrupted mild.
+Lament not, Eve, but patiently resign
+What justly thou hast lost, nor set thy heart,
+Thus over-fond, on that which is not thine:
+Thy going is not lonely; with thee goes
+Thy husband; whom to follow thou art bound;
+Where he abides, think there thy native soil.
+Adam, by this from the cold sudden damp
+Recovering, and his scattered spirits returned,
+To Michael thus his humble words addressed.
+Celestial, whether among the Thrones, or named
+Of them the highest; for such of shape may seem
+Prince above princes! gently hast thou told
+Thy message, which might else in telling wound,
+And in performing end us; what besides
+Of sorrow, and dejection, and despair,
+Our frailty can sustain, thy tidings bring,
+Departure from this happy place, our sweet
+Recess, and only consolation left
+Familiar to our eyes! all places else
+Inhospitable appear, and desolate;
+Nor knowing us, nor known: And, if by prayer
+Incessant I could hope to change the will
+Of Him who all things can, I would not cease
+To weary him with my assiduous cries:
+But prayer against his absolute decree
+No more avails than breath against the wind,
+Blown stifling back on him that breathes it forth:
+Therefore to his great bidding I submit.
+This most afflicts me, that, departing hence,
+As from his face I shall be hid, deprived
+His blessed countenance: Here I could frequent
+With worship place by place where he vouchsafed
+Presence Divine; and to my sons relate,
+'On this mount he appeared; under this tree
+'Stood visible; among these pines his voice
+'I heard; here with him at this fountain talked:
+So many grateful altars I would rear
+Of grassy turf, and pile up every stone
+Of lustre from the brook, in memory,
+Or monument to ages; and theron
+Offer sweet-smelling gums, and fruits, and flowers:
+In yonder nether world where shall I seek
+His bright appearances, or foot-step trace?
+For though I fled him angry, yet recalled
+To life prolonged and promised race, I now
+Gladly behold though but his utmost skirts
+Of glory; and far off his steps adore.
+To whom thus Michael with regard benign.
+Adam, thou knowest Heaven his, and all the Earth;
+Not this rock only; his Omnipresence fills
+Land, sea, and air, and every kind that lives,
+Fomented by his virtual power and warmed:
+All the earth he gave thee to possess and rule,
+No despicable gift; surmise not then
+His presence to these narrow bounds confined
+Of Paradise, or Eden: this had been
+Perhaps thy capital seat, from whence had spread
+All generations; and had hither come
+From all the ends of the earth, to celebrate
+And reverence thee, their great progenitor.
+But this pre-eminence thou hast lost, brought down
+To dwell on even ground now with thy sons:
+Yet doubt not but in valley, and in plain,
+God is, as here; and will be found alike
+Present; and of his presence many a sign
+Still following thee, still compassing thee round
+With goodness and paternal love, his face
+Express, and of his steps the track divine.
+Which that thou mayest believe, and be confirmed
+Ere thou from hence depart; know, I am sent
+To show thee what shall come in future days
+To thee, and to thy offspring: good with bad
+Expect to hear; supernal grace contending
+With sinfulness of men; thereby to learn
+True patience, and to temper joy with fear
+And pious sorrow; equally inured
+By moderation either state to bear,
+Prosperous or adverse: so shalt thou lead
+Safest thy life, and best prepared endure
+Thy mortal passage when it comes.--Ascend
+This hill; let Eve (for I have drenched her eyes)
+Here sleep below; while thou to foresight wakest;
+As once thou sleptst, while she to life was formed.
+To whom thus Adam gratefully replied.
+Ascend, I follow thee, safe Guide, the path
+Thou leadest me; and to the hand of Heaven submit,
+However chastening; to the evil turn
+My obvious breast; arming to overcome
+By suffering, and earn rest from labour won,
+If so I may attain. -- So both ascend
+In the visions of God. It was a hill,
+Of Paradise the highest; from whose top
+The hemisphere of earth, in clearest ken,
+Stretched out to the amplest reach of prospect lay.
+Not higher that hill, nor wider looking round,
+Whereon, for different cause, the Tempter set
+Our second Adam, in the wilderness;
+To show him all Earth's kingdoms, and their glory.
+His eye might there command wherever stood
+City of old or modern fame, the seat
+Of mightiest empire, from the destined walls
+Of Cambalu, seat of Cathaian Can,
+And Samarchand by Oxus, Temir's throne,
+To Paquin of Sinaean kings; and thence
+To Agra and Lahor of great Mogul,
+Down to the golden Chersonese; or where
+The Persian in Ecbatan sat, or since
+In Hispahan; or where the Russian Ksar
+In Mosco; or the Sultan in Bizance,
+Turchestan-born; nor could his eye not ken
+The empire of Negus to his utmost port
+Ercoco, and the less maritim kings
+Mombaza, and Quiloa, and Melind,
+And Sofala, thought Ophir, to the realm
+Of Congo, and Angola farthest south;
+Or thence from Niger flood to Atlas mount
+The kingdoms of Almansor, Fez and Sus,
+Morocco, and Algiers, and Tremisen;
+On Europe thence, and where Rome was to sway
+The world: in spirit perhaps he also saw
+Rich Mexico, the seat of Montezume,
+And Cusco in Peru, the richer seat
+Of Atabalipa; and yet unspoiled
+Guiana, whose great city Geryon's sons
+Call El Dorado. But to nobler sights
+Michael from Adam's eyes the film removed,
+Which that false fruit that promised clearer sight
+Had bred; then purged with euphrasy and rue
+The visual nerve, for he had much to see;
+And from the well of life three drops instilled.
+So deep the power of these ingredients pierced,
+Even to the inmost seat of mental sight,
+That Adam, now enforced to close his eyes,
+Sunk down, and all his spirits became entranced;
+But him the gentle Angel by the hand
+Soon raised, and his attention thus recalled.
+Adam, now ope thine eyes; and first behold
+The effects, which thy original crime hath wrought
+In some to spring from thee; who never touched
+The excepted tree; nor with the snake conspired;
+Nor sinned thy sin; yet from that sin derive
+Corruption, to bring forth more violent deeds.
+His eyes he opened, and beheld a field,
+Part arable and tilth, whereon were sheaves
+New reaped; the other part sheep-walks and folds;
+I' the midst an altar as the land-mark stood,
+Rustick, of grassy sord; thither anon
+A sweaty reaper from his tillage brought
+First fruits, the green ear, and the yellow sheaf,
+Unculled, as came to hand; a shepherd next,
+More meek, came with the firstlings of his flock,
+Choicest and best; then, sacrificing, laid
+The inwards and their fat, with incense strowed,
+On the cleft wood, and all due rights performed:
+His offering soon propitious fire from Heaven
+Consumed with nimble glance, and grateful steam;
+The other's not, for his was not sincere;
+Whereat he inly raged, and, as they talked,
+Smote him into the midriff with a stone
+That beat out life; he fell;and, deadly pale,
+Groaned out his soul with gushing blood effused.
+Much at that sight was Adam in his heart
+Dismayed, and thus in haste to the Angel cried.
+O Teacher, some great mischief hath befallen
+To that meek man, who well had sacrificed;
+Is piety thus and pure devotion paid?
+To whom Michael thus, he also moved, replied.
+These two are brethren, Adam, and to come
+Out of thy loins; the unjust the just hath slain,
+For envy that his brother's offering found
+From Heaven acceptance; but the bloody fact
+Will be avenged; and the other's faith, approved,
+Lose no reward; though here thou see him die,
+Rolling in dust and gore. To which our sire.
+Alas! both for the deed, and for the cause!
+But have I now seen Death? Is this the way
+I must return to native dust? O sight
+Of terrour, foul and ugly to behold,
+Horrid to think, how horrible to feel!
+To whom thus Michael. Death thou hast seen
+In his first shape on Man; but many shapes
+Of Death, and many are the ways that lead
+To his grim cave, all dismal; yet to sense
+More terrible at the entrance, than within.
+Some, as thou sawest, by violent stroke shall die;
+By fire, flood, famine, by intemperance more
+In meats and drinks, which on the earth shall bring
+Diseases dire, of which a monstrous crew
+Before thee shall appear; that thou mayest know
+What misery the inabstinence of Eve
+Shall bring on Men. Immediately a place
+Before his eyes appeared, sad, noisome, dark;
+A lazar-house it seemed; wherein were laid
+Numbers of all diseased; all maladies
+Of ghastly spasm, or racking torture, qualms
+Of heart-sick agony, all feverous kinds,
+Convulsions, epilepsies, fierce catarrhs,
+Intestine stone and ulcer, colick-pangs,
+Demoniack phrenzy, moaping melancholy,
+And moon-struck madness, pining atrophy,
+Marasmus, and wide-wasting pestilence,
+Dropsies, and asthmas, and joint-racking rheums.
+Dire was the tossing, deep the groans; Despair
+Tended the sick busiest from couch to couch;
+And over them triumphant Death his dart
+Shook, but delayed to strike, though oft invoked
+With vows, as their chief good, and final hope.
+Sight so deform what heart of rock could long
+Dry-eyed behold? Adam could not, but wept,
+Though not of woman born; compassion quelled
+His best of man, and gave him up to tears
+A space, till firmer thoughts restrained excess;
+And, scarce recovering words, his plaint renewed.
+O miserable mankind, to what fall
+Degraded, to what wretched state reserved!
+Better end here unborn. Why is life given
+To be thus wrested from us? rather, why
+Obtruded on us thus? who, if we knew
+What we receive, would either no accept
+Life offered, or soon beg to lay it down;
+Glad to be so dismissed in peace. Can thus
+The image of God in Man, created once
+So goodly and erect, though faulty since,
+To such unsightly sufferings be debased
+Under inhuman pains? Why should not Man,
+Retaining still divine similitude
+In part, from such deformities be free,
+And, for his Maker's image sake, exempt?
+Their Maker's image, answered Michael, then
+Forsook them, when themselves they vilified
+To serve ungoverned Appetite; and took
+His image whom they served, a brutish vice,
+Inductive mainly to the sin of Eve.
+Therefore so abject is their punishment,
+Disfiguring not God's likeness, but their own;
+Or if his likeness, by themselves defaced;
+While they pervert pure Nature's healthful rules
+To loathsome sickness; worthily, since they
+God's image did not reverence in themselves.
+I yield it just, said Adam, and submit.
+But is there yet no other way, besides
+These painful passages, how we may come
+To death, and mix with our connatural dust?
+There is, said Michael, if thou well observe
+The rule of Not too much; by temperance taught,
+In what thou eatest and drinkest; seeking from thence
+Due nourishment, not gluttonous delight,
+Till many years over thy head return:
+So mayest thou live; till, like ripe fruit, thou drop
+Into thy mother's lap; or be with ease
+Gathered, nor harshly plucked; for death mature:
+This is Old Age; but then, thou must outlive
+Thy youth, thy strength, thy beauty; which will change
+To withered, weak, and gray; thy senses then,
+Obtuse, all taste of pleasure must forego,
+To what thou hast; and, for the air of youth,
+Hopeful and cheerful, in thy blood will reign
+A melancholy damp of cold and dry
+To weigh thy spirits down, and last consume
+The balm of life. To whom our ancestor.
+Henceforth I fly not death, nor would prolong
+Life much; bent rather, how I may be quit,
+Fairest and easiest, of this cumbrous charge;
+Which I must keep till my appointed day
+Of rendering up, and patiently attend
+My dissolution. Michael replied.
+Nor love thy life, nor hate; but what thou livest
+Live well; how long, or short, permit to Heaven:
+And now prepare thee for another sight.
+He looked, and saw a spacious plain, whereon
+Were tents of various hue; by some, were herds
+Of cattle grazing; others, whence the sound
+Of instruments, that made melodious chime,
+Was heard, of harp and organ; and, who moved
+Their stops and chords, was seen; his volant touch,
+Instinct through all proportions, low and high,
+Fled and pursued transverse the resonant fugue.
+In other part stood one who, at the forge
+Labouring, two massy clods of iron and brass
+Had melted, (whether found where casual fire
+Had wasted woods on mountain or in vale,
+Down to the veins of earth; thence gliding hot
+To some cave's mouth; or whether washed by stream
+From underground;) the liquid ore he drained
+Into fit moulds prepared; from which he formed
+First his own tools; then, what might else be wrought
+Fusil or graven in metal. After these,
+But on the hither side, a different sort
+From the high neighbouring hills, which was their seat,
+Down to the plain descended; by their guise
+Just men they seemed, and all their study bent
+To worship God aright, and know his works
+Not hid; nor those things last, which might preserve
+Freedom and peace to Men; they on the plain
+Long had not walked, when from the tents, behold!
+A bevy of fair women, richly gay
+In gems and wanton dress; to the harp they sung
+Soft amorous ditties, and in dance came on:
+The men, though grave, eyed them; and let their eyes
+Rove without rein; till, in the amorous net
+Fast caught, they liked; and each his liking chose;
+And now of love they treat, till the evening-star,
+Love's harbinger, appeared; then, all in heat
+They light the nuptial torch, and bid invoke
+Hymen, then first to marriage rites invoked:
+With feast and musick all the tents resound.
+Such happy interview, and fair event
+Of love and youth not lost, songs, garlands, flowers,
+And charming symphonies, attached the heart
+Of Adam, soon inclined to admit delight,
+The bent of nature; which he thus expressed.
+True opener of mine eyes, prime Angel blest;
+Much better seems this vision, and more hope
+Of peaceful days portends, than those two past;
+Those were of hate and death, or pain much worse;
+Here Nature seems fulfilled in all her ends.
+To whom thus Michael. Judge not what is best
+By pleasure, though to nature seeming meet;
+Created, as thou art, to nobler end
+Holy and pure, conformity divine.
+Those tents thou sawest so pleasant, were the tents
+Of wickedness, wherein shall dwell his race
+Who slew his brother; studious they appear
+Of arts that polish life, inventers rare;
+Unmindful of their Maker, though his Spirit
+Taught them; but they his gifts acknowledged none.
+Yet they a beauteous offspring shall beget;
+For that fair female troop thou sawest, that seemed
+Of Goddesses, so blithe, so smooth, so gay,
+Yet empty of all good wherein consists
+Woman's domestick honour and chief praise;
+Bred only and completed to the taste
+Of lustful appetence, to sing, to dance,
+To dress, and troll the tongue, and roll the eye:
+To these that sober race of men, whose lives
+Religious titled them the sons of God,
+Shall yield up all their virtue, all their fame
+Ignobly, to the trains and to the smiles
+Of these fair atheists; and now swim in joy,
+Erelong to swim at large; and laugh, for which
+The world erelong a world of tears must weep.
+To whom thus Adam, of short joy bereft.
+O pity and shame, that they, who to live well
+Entered so fair, should turn aside to tread
+Paths indirect, or in the mid way faint!
+But still I see the tenour of Man's woe
+Holds on the same, from Woman to begin.
+From Man's effeminate slackness it begins,
+Said the Angel, who should better hold his place
+By wisdom, and superiour gifts received.
+But now prepare thee for another scene.
+He looked, and saw wide territory spread
+Before him, towns, and rural works between;
+Cities of men with lofty gates and towers,
+Concourse in arms, fierce faces threatening war,
+Giants of mighty bone and bold emprise;
+Part wield their arms, part curb the foaming steed,
+Single or in array of battle ranged
+Both horse and foot, nor idly mustering stood;
+One way a band select from forage drives
+A herd of beeves, fair oxen and fair kine,
+From a fat meadow ground; or fleecy flock,
+Ewes and their bleating lambs over the plain,
+Their booty; scarce with life the shepherds fly,
+But call in aid, which makes a bloody fray;
+With cruel tournament the squadrons join;
+Where cattle pastured late, now scattered lies
+With carcasses and arms the ensanguined field,
+Deserted: Others to a city strong
+Lay siege, encamped; by battery, scale, and mine,
+Assaulting; others from the wall defend
+With dart and javelin, stones, and sulphurous fire;
+On each hand slaughter, and gigantick deeds.
+In other part the sceptered heralds call
+To council, in the city-gates; anon
+Gray-headed men and grave, with warriours mixed,
+Assemble, and harangues are heard; but soon,
+In factious opposition; till at last,
+Of middle age one rising, eminent
+In wise deport, spake much of right and wrong,
+Of justice, or religion, truth, and peace,
+And judgement from above: him old and young
+Exploded, and had seized with violent hands,
+Had not a cloud descending snatched him thence
+Unseen amid the throng: so violence
+Proceeded, and oppression, and sword-law,
+Through all the plain, and refuge none was found.
+Adam was all in tears, and to his guide
+Lamenting turned full sad; O!what are these,
+Death's ministers, not men? who thus deal death
+Inhumanly to men, and multiply
+Ten thousandfold the sin of him who slew
+His brother: for of whom such massacre
+Make they, but of their brethren; men of men
+But who was that just man, whom had not Heaven
+Rescued, had in his righteousness been lost?
+To whom thus Michael. These are the product
+Of those ill-mated marriages thou sawest;
+Where good with bad were matched, who of themselves
+Abhor to join; and, by imprudence mixed,
+Produce prodigious births of body or mind.
+Such were these giants, men of high renown;
+For in those days might only shall be admired,
+And valour and heroick virtue called;
+To overcome in battle, and subdue
+Nations, and bring home spoils with infinite
+Man-slaughter, shall be held the highest pitch
+Of human glory; and for glory done
+Of triumph, to be styled great conquerours
+Patrons of mankind, Gods, and sons of Gods;
+Destroyers rightlier called, and plagues of men.
+Thus fame shall be achieved, renown on earth;
+And what most merits fame, in silence hid.
+But he, the seventh from thee, whom thou beheldst
+The only righteous in a world preverse,
+And therefore hated, therefore so beset
+With foes, for daring single to be just,
+And utter odious truth, that God would come
+To judge them with his Saints; him the Most High
+Rapt in a balmy cloud with winged steeds
+Did, as thou sawest, receive, to walk with God
+High in salvation and the climes of bliss,
+Exempt from death; to show thee what reward
+Awaits the good; the rest what punishment;
+Which now direct thine eyes and soon behold.
+He looked, and saw the face of things quite changed;
+The brazen throat of war had ceased to roar;
+All now was turned to jollity and game,
+To luxury and riot, feast and dance;
+Marrying or prostituting, as befel,
+Rape or adultery, where passing fair
+Allured them; thence from cups to civil broils.
+At length a reverend sire among them came,
+And of their doings great dislike declared,
+And testified against their ways; he oft
+Frequented their assemblies, whereso met,
+Triumphs or festivals; and to them preached
+Conversion and repentance, as to souls
+In prison, under judgements imminent:
+But all in vain: which when he saw, he ceased
+Contending, and removed his tents far off;
+Then, from the mountain hewing timber tall,
+Began to build a vessel of huge bulk;
+Measured by cubit, length, and breadth, and highth;
+Smeared round with pitch; and in the side a door
+Contrived; and of provisions laid in large,
+For man and beast: when lo, a wonder strange!
+Of every beast, and bird, and insect small,
+Came sevens, and pairs; and entered in as taught
+Their order: last the sire and his three sons,
+With their four wives; and God made fast the door.
+Mean while the south-wind rose, and, with black wings
+Wide-hovering, all the clouds together drove
+From under Heaven; the hills to their supply
+Vapour, and exhalation dusk and moist,
+Sent up amain; and now the thickened sky
+Like a dark cieling stood; down rushed the rain
+Impetuous; and continued, till the earth
+No more was seen: the floating vessel swum
+Uplifted, and secure with beaked prow
+Rode tilting o'er the waves; all dwellings else
+Flood overwhelmed, and them with all their pomp
+Deep under water rolled; sea covered sea,
+Sea without shore; and in their palaces,
+Where luxury late reigned, sea-monsters whelped
+And stabled; of mankind, so numerous late,
+All left, in one small bottom swum imbarked.
+How didst thou grieve then, Adam, to behold
+The end of all thy offspring, end so sad,
+Depopulation! Thee another flood,
+Of tears and sorrow a flood, thee also drowned,
+And sunk thee as thy sons; till, gently reared
+By the Angel, on thy feet thou stoodest at last,
+Though comfortless; as when a father mourns
+His children, all in view destroyed at once;
+And scarce to the Angel utter'dst thus thy plaint.
+O visions ill foreseen! Better had I
+Lived ignorant of future! so had borne
+My part of evil only, each day's lot
+Enough to bear; those now, that were dispensed
+The burden of many ages, on me light
+At once, by my foreknowledge gaining birth
+Abortive, to torment me ere their being,
+With thought that they must be. Let no man seek
+Henceforth to be foretold, what shall befall
+Him or his children; evil he may be sure,
+Which neither his foreknowing can prevent;
+And he the future evil shall no less
+In apprehension than in substance feel,
+Grievous to bear: but that care now is past,
+Man is not whom to warn: those few escaped
+Famine and anguish will at last consume,
+Wandering that watery desart: I had hope,
+When violence was ceased, and war on earth,
+All would have then gone well; peace would have crowned
+With length of happy days the race of Man;
+But I was far deceived; for now I see
+Peace to corrupt no less than war to waste.
+How comes it thus? unfold, celestial Guide,
+And whether here the race of Man will end.
+To whom thus Michael. Those, whom last thou sawest
+In triumph and luxurious wealth, are they
+First seen in acts of prowess eminent
+And great exploits, but of true virtue void;
+Who, having spilt much blood, and done much wast
+Subduing nations, and achieved thereby
+Fame in the world, high titles, and rich prey;
+Shall change their course to pleasure, ease, and sloth,
+Surfeit, and lust; till wantonness and pride
+Raise out of friendship hostile deeds in peace.
+The conquered also, and enslaved by war,
+Shall, with their freedom lost, all virtue lose
+And fear of God; from whom their piety feigned
+In sharp contest of battle found no aid
+Against invaders; therefore, cooled in zeal,
+Thenceforth shall practice how to live secure,
+Worldly or dissolute, on what their lords
+Shall leave them to enjoy; for the earth shall bear
+More than enough, that temperance may be tried:
+So all shall turn degenerate, all depraved;
+Justice and temperance, truth and faith, forgot;
+One man except, the only son of light
+In a dark age, against example good,
+Against allurement, custom, and a world
+Offended: fearless of reproach and scorn,
+The grand-child, with twelve sons encreased, departs
+From Canaan, to a land hereafter called
+Egypt, divided by the river Nile;
+See where it flows, disgorging at seven mouths
+Into the sea: To sojourn in that land
+He comes, invited by a younger son
+In time of dearth; a son, whose worthy deeds
+Raise him to be the second in that realm
+Of Pharaoh: There he dies, and leaves his race
+Growing into a nation, and now grown
+Suspected to a sequent king, who seeks
+To stop their overgrowth, as inmate guests
+Or violence, he of their wicked ways
+Shall them admonish; and before them set
+The paths of righteousness, how much more safe
+And full of peace; denouncing wrath to come
+On their impenitence; and shall return
+Of them derided, but of God observed
+The one just man alive; by his command
+Shall build a wonderous ark, as thou beheldst,
+To save himself, and houshold, from amidst
+A world devote to universal wrack.
+No sooner he, with them of man and beast
+Select for life, shall in the ark be lodged,
+And sheltered round; but all the cataracts
+Of Heaven set open on the Earth shall pour
+Rain, day and night; all fountains of the deep,
+Broke up, shall heave the ocean to usurp
+Beyond all bounds; till inundation rise
+Above the highest hills: Then shall this mount
+Of Paradise by might of waves be moved
+Out of his place, pushed by the horned flood,
+With all his verdure spoiled, and trees adrift,
+Down the great river to the opening gulf,
+And there take root an island salt and bare,
+The haunt of seals, and orcs, and sea-mews' clang:
+To teach thee that God attributes to place
+No sanctity, if none be thither brought
+By men who there frequent, or therein dwell.
+And now, what further shall ensue, behold.
+He looked, and saw the ark hull on the flood,
+Which now abated; for the clouds were fled,
+Driven by a keen north-wind, that, blowing dry,
+Wrinkled the face of deluge, as decayed;
+And the clear sun on his wide watery glass
+Gazed hot, and of the fresh wave largely drew,
+As after thirst; which made their flowing shrink
+From standing lake to tripping ebb, that stole
+With soft foot towards the deep; who now had stopt
+His sluces, as the Heaven his windows shut.
+The ark no more now floats, but seems on ground,
+Fast on the top of some high mountain fixed.
+And now the tops of hills, as rocks, appear;
+With clamour thence the rapid currents drive,
+Towards the retreating sea, their furious tide.
+Forthwith from out the ark a raven flies,
+And after him, the surer messenger,
+A dove sent forth once and again to spy
+Green tree or ground, whereon his foot may light:
+The second time returning, in his bill
+An olive-leaf he brings, pacifick sign:
+Anon dry ground appears, and from his ark
+The ancient sire descends, with all his train;
+Then with uplifted hands, and eyes devout,
+Grateful to Heaven, over his head beholds
+A dewy cloud, and in the cloud a bow
+Conspicuous with three lifted colours gay,
+Betokening peace from God, and covenant new.
+Whereat the heart of Adam, erst so sad,
+Greatly rejoiced; and thus his joy broke forth.
+O thou, who future things canst represent
+As present, heavenly Instructer! I revive
+At this last sight; assured that Man shall live,
+With all the creatures, and their seed preserve.
+Far less I now lament for one whole world
+Of wicked sons destroyed, than I rejoice
+For one man found so perfect, and so just,
+That God vouchsafes to raise another world
+From him, and all his anger to forget.
+But say, what mean those coloured streaks in Heaven
+Distended, as the brow of God appeased?
+Or serve they, as a flowery verge, to bind
+The fluid skirts of that same watery cloud,
+Lest it again dissolve, and shower the earth?
+To whom the Arch-Angel. Dextrously thou aimest;
+So willingly doth God remit his ire,
+Though late repenting him of Man depraved;
+Grieved at his heart, when looking down he saw
+The whole earth filled with violence, and all flesh
+Corrupting each their way; yet, those removed,
+Such grace shall one just man find in his sight,
+That he relents, not to blot out mankind;
+And makes a covenant never to destroy
+The earth again by flood; nor let the sea
+Surpass his bounds; nor rain to drown the world,
+With man therein or beast; but, when he brings
+Over the earth a cloud, will therein set
+His triple-coloured bow, whereon to look,
+And call to mind his covenant: Day and night,
+Seed-time and harvest, heat and hoary frost,
+Shall hold their course; till fire purge all things new,
+Both Heaven and Earth, wherein the just shall dwell.
+
+
+
+Book XII
+
+
+As one who in his journey bates at noon,
+Though bent on speed; so here the Arch-Angel paused
+Betwixt the world destroyed and world restored,
+If Adam aught perhaps might interpose;
+Then, with transition sweet, new speech resumes.
+Thus thou hast seen one world begin, and end;
+And Man, as from a second stock, proceed.
+Much thou hast yet to see; but I perceive
+Thy mortal sight to fail; objects divine
+Must needs impair and weary human sense:
+Henceforth what is to come I will relate;
+Thou therefore give due audience, and attend.
+This second source of Men, while yet but few,
+And while the dread of judgement past remains
+Fresh in their minds, fearing the Deity,
+With some regard to what is just and right
+Shall lead their lives, and multiply apace;
+Labouring the soil, and reaping plenteous crop,
+Corn, wine, and oil; and, from the herd or flock,
+Oft sacrificing bullock, lamb, or kid,
+With large wine-offerings poured, and sacred feast,
+Shall spend their days in joy unblamed; and dwell
+Long time in peace, by families and tribes,
+Under paternal rule: till one shall rise
+Of proud ambitious heart; who, not content
+With fair equality, fraternal state,
+Will arrogate dominion undeserved
+Over his brethren, and quite dispossess
+Concord and law of nature from the earth;
+Hunting (and men not beasts shall be his game)
+With war, and hostile snare, such as refuse
+Subjection to his empire tyrannous:
+A mighty hunter thence he shall be styled
+Before the Lord; as in despite of Heaven,
+Or from Heaven, claiming second sovranty;
+And from rebellion shall derive his name,
+Though of rebellion others he accuse.
+He with a crew, whom like ambition joins
+With him or under him to tyrannize,
+Marching from Eden towards the west, shall find
+The plain, wherein a black bituminous gurge
+Boils out from under ground, the mouth of Hell:
+Of brick, and of that stuff, they cast to build
+A city and tower, whose top may reach to Heaven;
+And get themselves a name; lest, far dispersed
+In foreign lands, their memory be lost;
+Regardless whether good or evil fame.
+But God, who oft descends to visit men
+Unseen, and through their habitations walks
+To mark their doings, them beholding soon,
+Comes down to see their city, ere the tower
+Obstruct Heaven-towers, and in derision sets
+Upon their tongues a various spirit, to rase
+Quite out their native language; and, instead,
+To sow a jangling noise of words unknown:
+Forthwith a hideous gabble rises loud,
+Among the builders; each to other calls
+Not understood; till hoarse, and all in rage,
+As mocked they storm: great laughter was in Heaven,
+And looking down, to see the hubbub strange,
+And hear the din: Thus was the building left
+Ridiculous, and the work Confusion named.
+Whereto thus Adam, fatherly displeased.
+O execrable son! so to aspire
+Above his brethren; to himself assuming
+Authority usurped, from God not given:
+He gave us only over beast, fish, fowl,
+Dominion absolute; that right we hold
+By his donation; but man over men
+He made not lord; such title to himself
+Reserving, human left from human free.
+But this usurper his encroachment proud
+Stays not on Man; to God his tower intends
+Siege and defiance: Wretched man!what food
+Will he convey up thither, to sustain
+Himself and his rash army; where thin air
+Above the clouds will pine his entrails gross,
+And famish him of breath, if not of bread?
+To whom thus Michael. Justly thou abhorrest
+That son, who on the quiet state of men
+Such trouble brought, affecting to subdue
+Rational liberty; yet know withal,
+Since thy original lapse, true liberty
+Is lost, which always with right reason dwells
+Twinned, and from her hath no dividual being:
+Reason in man obscured, or not obeyed,
+Immediately inordinate desires,
+And upstart passions, catch the government
+From reason; and to servitude reduce
+Man, till then free. Therefore, since he permits
+Within himself unworthy powers to reign
+Over free reason, God, in judgement just,
+Subjects him from without to violent lords;
+Who oft as undeservedly enthrall
+His outward freedom: Tyranny must be;
+Though to the tyrant thereby no excuse.
+Yet sometimes nations will decline so low
+From virtue, which is reason, that no wrong,
+But justice, and some fatal curse annexed,
+Deprives them of their outward liberty;
+Their inward lost: Witness the irreverent son
+Of him who built the ark; who, for the shame
+Done to his father, heard this heavy curse,
+Servant of servants, on his vicious race.
+Thus will this latter, as the former world,
+Still tend from bad to worse; till God at last,
+Wearied with their iniquities, withdraw
+His presence from among them, and avert
+His holy eyes; resolving from thenceforth
+To leave them to their own polluted ways;
+And one peculiar nation to select
+From all the rest, of whom to be invoked,
+A nation from one faithful man to spring:
+Him on this side Euphrates yet residing,
+Bred up in idol-worship: O, that men
+(Canst thou believe?) should be so stupid grown,
+While yet the patriarch lived, who 'scaped the flood,
+As to forsake the living God, and fall
+To worship their own work in wood and stone
+For Gods! Yet him God the Most High vouchsafes
+To call by vision, from his father's house,
+His kindred, and false Gods, into a land
+Which he will show him; and from him will raise
+A mighty nation; and upon him shower
+His benediction so, that in his seed
+All nations shall be blest: he straight obeys;
+Not knowing to what land, yet firm believes:
+I see him, but thou canst not, with what faith
+He leaves his Gods, his friends, and native soil,
+Ur of Chaldaea, passing now the ford
+To Haran; after him a cumbrous train
+Of herds and flocks, and numerous servitude;
+Not wandering poor, but trusting all his wealth
+With God, who called him, in a land unknown.
+Canaan he now attains; I see his tents
+Pitched about Sechem, and the neighbouring plain
+Of Moreh; there by promise he receives
+Gift to his progeny of all that land,
+From Hameth northward to the Desart south;
+(Things by their names I call, though yet unnamed;)
+From Hermon east to the great western Sea;
+Mount Hermon, yonder sea; each place behold
+In prospect, as I point them; on the shore
+Mount Carmel; here, the double-founted stream,
+Jordan, true limit eastward; but his sons
+Shall dwell to Senir, that long ridge of hills.
+This ponder, that all nations of the earth
+Shall in his seed be blessed: By that seed
+Is meant thy great Deliverer, who shall bruise
+The Serpent's head; whereof to thee anon
+Plainlier shall be revealed. This patriarch blest,
+Whom faithful Abraham due time shall call,
+A son, and of his son a grand-child, leaves;
+Like him in faith, in wisdom, and renown:
+The grandchild, with twelve sons increased, departs
+From Canaan to a land hereafter called
+Egypt, divided by the river Nile
+See where it flows, disgorging at seven mouths
+Into the sea. To sojourn in that land
+He comes, invited by a younger son
+In time of dearth, a son whose worthy deeds
+Raise him to be the second in that realm
+Of Pharaoh. There he dies, and leaves his race
+Growing into a nation, and now grown
+Suspected to a sequent king, who seeks
+To stop their overgrowth, as inmate guests
+Too numerous; whence of guests he makes them slaves
+Inhospitably, and kills their infant males:
+Till by two brethren (these two brethren call
+Moses and Aaron) sent from God to claim
+His people from enthralment, they return,
+With glory and spoil, back to their promised land.
+But first, the lawless tyrant, who denies
+To know their God, or message to regard,
+Must be compelled by signs and judgements dire;
+To blood unshed the rivers must be turned;
+Frogs, lice, and flies, must all his palace fill
+With loathed intrusion, and fill all the land;
+His cattle must of rot and murren die;
+Botches and blains must all his flesh emboss,
+And all his people; thunder mixed with hail,
+Hail mixed with fire, must rend the Egyptians sky,
+And wheel on the earth, devouring where it rolls;
+What it devours not, herb, or fruit, or grain,
+A darksome cloud of locusts swarming down
+Must eat, and on the ground leave nothing green;
+Darkness must overshadow all his bounds,
+Palpable darkness, and blot out three days;
+Last, with one midnight stroke, all the first-born
+Of Egypt must lie dead. Thus with ten wounds
+The river-dragon tamed at length submits
+To let his sojourners depart, and oft
+Humbles his stubborn heart; but still, as ice
+More hardened after thaw; till, in his rage
+Pursuing whom he late dismissed, the sea
+Swallows him with his host; but them lets pass,
+As on dry land, between two crystal walls;
+Awed by the rod of Moses so to stand
+Divided, till his rescued gain their shore:
+Such wondrous power God to his saint will lend,
+Though present in his Angel; who shall go
+Before them in a cloud, and pillar of fire;
+By day a cloud, by night a pillar of fire;
+To guide them in their journey, and remove
+Behind them, while the obdurate king pursues:
+All night he will pursue; but his approach
+Darkness defends between till morning watch;
+Then through the fiery pillar, and the cloud,
+God looking forth will trouble all his host,
+And craze their chariot-wheels: when by command
+Moses once more his potent rod extends
+Over the sea; the sea his rod obeys;
+On their embattled ranks the waves return,
+And overwhelm their war: The race elect
+Safe toward Canaan from the shore advance
+Through the wild Desart, not the readiest way;
+Lest, entering on the Canaanite alarmed,
+War terrify them inexpert, and fear
+Return them back to Egypt, choosing rather
+Inglorious life with servitude; for life
+To noble and ignoble is more sweet
+Untrained in arms, where rashness leads not on.
+This also shall they gain by their delay
+In the wide wilderness; there they shall found
+Their government, and their great senate choose
+Through the twelve tribes, to rule by laws ordained:
+God from the mount of Sinai, whose gray top
+Shall tremble, he descending, will himself
+In thunder, lightning, and loud trumpets' sound,
+Ordain them laws; part, such as appertain
+To civil justice; part, religious rites
+Of sacrifice; informing them, by types
+And shadows, of that destined Seed to bruise
+The Serpent, by what means he shall achieve
+Mankind's deliverance. But the voice of God
+To mortal ear is dreadful: They beseech
+That Moses might report to them his will,
+And terrour cease; he grants what they besought,
+Instructed that to God is no access
+Without Mediator, whose high office now
+Moses in figure bears; to introduce
+One greater, of whose day he shall foretel,
+And all the Prophets in their age the times
+Of great Messiah shall sing. Thus, laws and rites
+Established, such delight hath God in Men
+Obedient to his will, that he vouchsafes
+Among them to set up his tabernacle;
+The Holy One with mortal Men to dwell:
+By his prescript a sanctuary is framed
+Of cedar, overlaid with gold; therein
+An ark, and in the ark his testimony,
+The records of his covenant; over these
+A mercy-seat of gold, between the wings
+Of two bright Cherubim; before him burn
+Seven lamps as in a zodiack representing
+The heavenly fires; over the tent a cloud
+Shall rest by day, a fiery gleam by night;
+Save when they journey, and at length they come,
+Conducted by his Angel, to the land
+Promised to Abraham and his seed:--The rest
+Were long to tell; how many battles fought
+How many kings destroyed; and kingdoms won;
+Or how the sun shall in mid Heaven stand still
+A day entire, and night's due course adjourn,
+Man's voice commanding, 'Sun, in Gibeon stand,
+'And thou moon in the vale of Aialon,
+'Till Israel overcome! so call the third
+From Abraham, son of Isaac; and from him
+His whole descent, who thus shall Canaan win.
+Here Adam interposed. O sent from Heaven,
+Enlightener of my darkness, gracious things
+Thou hast revealed; those chiefly, which concern
+Just Abraham and his seed: now first I find
+Mine eyes true-opening, and my heart much eased;
+Erewhile perplexed with thoughts, what would become
+Of me and all mankind: But now I see
+His day, in whom all nations shall be blest;
+Favour unmerited by me, who sought
+Forbidden knowledge by forbidden means.
+This yet I apprehend not, why to those
+Among whom God will deign to dwell on earth
+So many and so various laws are given;
+So many laws argue so many sins
+Among them; how can God with such reside?
+To whom thus Michael. Doubt not but that sin
+Will reign among them, as of thee begot;
+And therefore was law given them, to evince
+Their natural pravity, by stirring up
+Sin against law to fight: that when they see
+Law can discover sin, but not remove,
+Save by those shadowy expiations weak,
+The blood of bulls and goats, they may conclude
+Some blood more precious must be paid for Man;
+Just for unjust; that, in such righteousness
+To them by faith imputed, they may find
+Justification towards God, and peace
+Of conscience; which the law by ceremonies
+Cannot appease; nor Man the mortal part
+Perform; and, not performing, cannot live.
+So law appears imperfect; and but given
+With purpose to resign them, in full time,
+Up to a better covenant; disciplined
+From shadowy types to truth; from flesh to spirit;
+From imposition of strict laws to free
+Acceptance of large grace; from servile fear
+To filial; works of law to works of faith.
+And therefore shall not Moses, though of God
+Highly beloved, being but the minister
+Of law, his people into Canaan lead;
+But Joshua, whom the Gentiles Jesus call,
+His name and office bearing, who shall quell
+The adversary-Serpent, and bring back
+Through the world's wilderness long-wandered Man
+Safe to eternal Paradise of rest.
+Mean while they, in their earthly Canaan placed,
+Long time shall dwell and prosper, but when sins
+National interrupt their publick peace,
+Provoking God to raise them enemies;
+From whom as oft he saves them penitent
+By Judges first, then under Kings; of whom
+The second, both for piety renowned
+And puissant deeds, a promise shall receive
+Irrevocable, that his regal throne
+For ever shall endure; the like shall sing
+All Prophecy, that of the royal stock
+Of David (so I name this king) shall rise
+A Son, the Woman's seed to thee foretold,
+Foretold to Abraham, as in whom shall trust
+All nations; and to kings foretold, of kings
+The last; for of his reign shall be no end.
+But first, a long succession must ensue;
+And his next son, for wealth and wisdom famed,
+The clouded ark of God, till then in tents
+Wandering, shall in a glorious temple enshrine.
+Such follow him, as shall be registered
+Part good, part bad; of bad the longer scroll;
+Whose foul idolatries, and other faults
+Heaped to the popular sum, will so incense
+God, as to leave them, and expose their land,
+Their city, his temple, and his holy ark,
+With all his sacred things, a scorn and prey
+To that proud city, whose high walls thou sawest
+Left in confusion; Babylon thence called.
+There in captivity he lets them dwell
+The space of seventy years; then brings them back,
+Remembering mercy, and his covenant sworn
+To David, stablished as the days of Heaven.
+Returned from Babylon by leave of kings
+Their lords, whom God disposed, the house of God
+They first re-edify; and for a while
+In mean estate live moderate; till, grown
+In wealth and multitude, factious they grow;
+But first among the priests dissention springs,
+Men who attend the altar, and should most
+Endeavour peace: their strife pollution brings
+Upon the temple itself: at last they seise
+The scepter, and regard not David's sons;
+Then lose it to a stranger, that the true
+Anointed King Messiah might be born
+Barred of his right; yet at his birth a star,
+Unseen before in Heaven, proclaims him come;
+And guides the eastern sages, who inquire
+His place, to offer incense, myrrh, and gold:
+His place of birth a solemn Angel tells
+To simple shepherds, keeping watch by night;
+They gladly thither haste, and by a quire
+Of squadroned Angels hear his carol sung.
+A virgin is his mother, but his sire
+The power of the Most High: He shall ascend
+The throne hereditary, and bound his reign
+With Earth's wide bounds, his glory with the Heavens.
+He ceased, discerning Adam with such joy
+Surcharged, as had like grief been dewed in tears,
+Without the vent of words; which these he breathed.
+O prophet of glad tidings, finisher
+Of utmost hope! now clear I understand
+What oft my steadiest thoughts have searched in vain;
+Why our great Expectation should be called
+The seed of Woman: Virgin Mother, hail,
+High in the love of Heaven; yet from my loins
+Thou shalt proceed, and from thy womb the Son
+Of God Most High: so God with Man unites!
+Needs must the Serpent now his capital bruise
+Expect with mortal pain: Say where and when
+Their fight, what stroke shall bruise the victor's heel.
+To whom thus Michael. Dream not of their fight,
+As of a duel, or the local wounds
+Of head or heel: Not therefore joins the Son
+Manhood to Godhead, with more strength to foil
+Thy enemy; nor so is overcome
+Satan, whose fall from Heaven, a deadlier bruise,
+Disabled, not to give thee thy death's wound:
+Which he, who comes thy Saviour, shall recure,
+Not by destroying Satan, but his works
+In thee, and in thy seed: Nor can this be,
+But by fulfilling that which thou didst want,
+Obedience to the law of God, imposed
+On penalty of death, and suffering death;
+The penalty to thy transgression due,
+And due to theirs which out of thine will grow:
+So only can high Justice rest appaid.
+The law of God exact he shall fulfil
+Both by obedience and by love, though love
+Alone fulfil the law; thy punishment
+He shall endure, by coming in the flesh
+To a reproachful life, and cursed death;
+Proclaiming life to all who shall believe
+In his redemption; and that his obedience,
+Imputed, becomes theirs by faith; his merits
+To save them, not their own, though legal, works.
+For this he shall live hated, be blasphemed,
+Seised on by force, judged, and to death condemned
+A shameful and accursed, nailed to the cross
+By his own nation; slain for bringing life:
+But to the cross he nails thy enemies,
+The law that is against thee, and the sins
+Of all mankind, with him there crucified,
+Never to hurt them more who rightly trust
+In this his satisfaction; so he dies,
+But soon revives; Death over him no power
+Shall long usurp; ere the third dawning light
+Return, the stars of morn shall see him rise
+Out of his grave, fresh as the dawning light,
+Thy ransom paid, which Man from death redeems,
+His death for Man, as many as offered life
+Neglect not, and the benefit embrace
+By faith not void of works: This God-like act
+Annuls thy doom, the death thou shouldest have died,
+In sin for ever lost from life; this act
+Shall bruise the head of Satan, crush his strength,
+Defeating Sin and Death, his two main arms;
+And fix far deeper in his head their stings
+Than temporal death shall bruise the victor's heel,
+Or theirs whom he redeems; a death, like sleep,
+A gentle wafting to immortal life.
+Nor after resurrection shall he stay
+Longer on earth, than certain times to appear
+To his disciples, men who in his life
+Still followed him; to them shall leave in charge
+To teach all nations what of him they learned
+And his salvation; them who shall believe
+Baptizing in the profluent stream, the sign
+Of washing them from guilt of sin to life
+Pure, and in mind prepared, if so befall,
+For death, like that which the Redeemer died.
+All nations they shall teach; for, from that day,
+Not only to the sons of Abraham's loins
+Salvation shall be preached, but to the sons
+Of Abraham's faith wherever through the world;
+So in his seed all nations shall be blest.
+Then to the Heaven of Heavens he shall ascend
+With victory, triumphing through the air
+Over his foes and thine; there shall surprise
+The Serpent, prince of air, and drag in chains
+Through all his realm, and there confounded leave;
+Then enter into glory, and resume
+His seat at God's right hand, exalted high
+Above all names in Heaven; and thence shall come,
+When this world's dissolution shall be ripe,
+With glory and power to judge both quick and dead;
+To judge the unfaithful dead, but to reward
+His faithful, and receive them into bliss,
+Whether in Heaven or Earth; for then the Earth
+Shall all be Paradise, far happier place
+Than this of Eden, and far happier days.
+So spake the Arch-Angel Michael; then paused,
+As at the world's great period; and our sire,
+Replete with joy and wonder, thus replied.
+O Goodness infinite, Goodness immense!
+That all this good of evil shall produce,
+And evil turn to good; more wonderful
+Than that which by creation first brought forth
+Light out of darkness! Full of doubt I stand,
+Whether I should repent me now of sin
+By me done, and occasioned; or rejoice
+Much more, that much more good thereof shall spring;
+To God more glory, more good-will to Men
+From God, and over wrath grace shall abound.
+But say, if our Deliverer up to Heaven
+Must re-ascend, what will betide the few
+His faithful, left among the unfaithful herd,
+The enemies of truth? Who then shall guide
+His people, who defend? Will they not deal
+Worse with his followers than with him they dealt?
+Be sure they will, said the Angel; but from Heaven
+He to his own a Comforter will send,
+The promise of the Father, who shall dwell
+His Spirit within them; and the law of faith,
+Working through love, upon their hearts shall write,
+To guide them in all truth; and also arm
+With spiritual armour, able to resist
+Satan's assaults, and quench his fiery darts;
+What man can do against them, not afraid,
+Though to the death; against such cruelties
+With inward consolations recompensed,
+And oft supported so as shall amaze
+Their proudest persecutors: For the Spirit,
+Poured first on his Apostles, whom he sends
+To evangelize the nations, then on all
+Baptized, shall them with wonderous gifts endue
+To speak all tongues, and do all miracles,
+As did their Lord before them. Thus they win
+Great numbers of each nation to receive
+With joy the tidings brought from Heaven: At length
+Their ministry performed, and race well run,
+Their doctrine and their story written left,
+They die; but in their room, as they forewarn,
+Wolves shall succeed for teachers, grievous wolves,
+Who all the sacred mysteries of Heaven
+To their own vile advantages shall turn
+Of lucre and ambition; and the truth
+With superstitions and traditions taint,
+Left only in those written records pure,
+Though not but by the Spirit understood.
+Then shall they seek to avail themselves of names,
+Places, and titles, and with these to join
+Secular power; though feigning still to act
+By spiritual, to themselves appropriating
+The Spirit of God, promised alike and given
+To all believers; and, from that pretence,
+Spiritual laws by carnal power shall force
+On every conscience; laws which none shall find
+Left them inrolled, or what the Spirit within
+Shall on the heart engrave. What will they then
+But force the Spirit of Grace itself, and bind
+His consort Liberty? what, but unbuild
+His living temples, built by faith to stand,
+Their own faith, not another's? for, on earth,
+Who against faith and conscience can be heard
+Infallible? yet many will presume:
+Whence heavy persecution shall arise
+On all, who in the worship persevere
+Of spirit and truth; the rest, far greater part,
+Will deem in outward rites and specious forms
+Religion satisfied; Truth shall retire
+Bestuck with slanderous darts, and works of faith
+Rarely be found: So shall the world go on,
+To good malignant, to bad men benign;
+Under her own weight groaning; till the day
+Appear of respiration to the just,
+And vengeance to the wicked, at return
+Of him so lately promised to thy aid,
+The Woman's Seed; obscurely then foretold,
+Now ampler known thy Saviour and thy Lord;
+Last, in the clouds, from Heaven to be revealed
+In glory of the Father, to dissolve
+Satan with his perverted world; then raise
+From the conflagrant mass, purged and refined,
+New Heavens, new Earth, ages of endless date,
+Founded in righteousness, and peace, and love;
+To bring forth fruits, joy and eternal bliss.
+He ended; and thus Adam last replied.
+How soon hath thy prediction, Seer blest,
+Measured this transient world, the race of time,
+Till time stand fixed! Beyond is all abyss,
+Eternity, whose end no eye can reach.
+Greatly-instructed I shall hence depart;
+Greatly in peace of thought; and have my fill
+Of knowledge, what this vessel can contain;
+Beyond which was my folly to aspire.
+Henceforth I learn, that to obey is best,
+And love with fear the only God; to walk
+As in his presence; ever to observe
+His providence; and on him sole depend,
+Merciful over all his works, with good
+Still overcoming evil, and by small
+Accomplishing great things, by things deemed weak
+Subverting worldly strong, and worldly wise
+By simply meek: that suffering for truth's sake
+Is fortitude to highest victory,
+And, to the faithful, death the gate of life;
+Taught this by his example, whom I now
+Acknowledge my Redeemer ever blest.
+To whom thus also the Angel last replied.
+This having learned, thou hast attained the sum
+Of wisdom; hope no higher, though all the stars
+Thou knewest by name, and all the ethereal powers,
+All secrets of the deep, all Nature's works,
+Or works of God in Heaven, air, earth, or sea,
+And all the riches of this world enjoyedst,
+And all the rule, one empire; only add
+Deeds to thy knowledge answerable; add faith,
+Add virtue, patience, temperance; add love,
+By name to come called charity, the soul
+Of all the rest: then wilt thou not be loth
+To leave this Paradise, but shalt possess
+A Paradise within thee, happier far.--
+Let us descend now therefore from this top
+Of speculation; for the hour precise
+Exacts our parting hence; and see!the guards,
+By me encamped on yonder hill, expect
+Their motion; at whose front a flaming sword,
+In signal of remove, waves fiercely round:
+We may no longer stay: go, waken Eve;
+Her also I with gentle dreams have calmed
+Portending good, and all her spirits composed
+To meek submission: thou, at season fit,
+Let her with thee partake what thou hast heard;
+Chiefly what may concern her faith to know,
+The great deliverance by her seed to come
+(For by the Woman's seed) on all mankind:
+That ye may live, which will be many days,
+Both in one faith unanimous, though sad,
+With cause, for evils past; yet much more cheered
+With meditation on the happy end.
+He ended, and they both descend the hill;
+Descended, Adam to the bower, where Eve
+Lay sleeping, ran before; but found her waked;
+And thus with words not sad she him received.
+Whence thou returnest, and whither wentest, I know;
+For God is also in sleep; and dreams advise,
+Which he hath sent propitious, some great good
+Presaging, since with sorrow and heart's distress
+Wearied I fell asleep: But now lead on;
+In me is no delay; with thee to go,
+Is to stay here; without thee here to stay,
+Is to go hence unwilling; thou to me
+Art all things under $Heaven, all places thou,
+Who for my wilful crime art banished hence.
+This further consolation yet secure
+I carry hence; though all by me is lost,
+Such favour I unworthy am vouchsafed,
+By me the Promised Seed shall all restore.
+So spake our mother Eve; and Adam heard
+Well pleased, but answered not: For now, too nigh
+The Arch-Angel stood; and, from the other hill
+To their fixed station, all in bright array
+The Cherubim descended; on the ground
+Gliding meteorous, as evening-mist
+Risen from a river o'er the marish glides,
+And gathers ground fast at the labourer's heel
+Homeward returning. High in front advanced,
+The brandished sword of God before them blazed,
+Fierce as a comet; which with torrid heat,
+And vapour as the Libyan air adust,
+Began to parch that temperate clime; whereat
+In either hand the hastening Angel caught
+Our lingering parents, and to the eastern gate
+Led them direct, and down the cliff as fast
+To the subjected plain; then disappeared.
+They, looking back, all the eastern side beheld
+Of Paradise, so late their happy seat,
+Waved over by that flaming brand; the gate
+With dreadful faces thronged, and fiery arms:
+Some natural tears they dropt, but wiped them soon;
+The world was all before them, where to choose
+Their place of rest, and Providence their guide:
+They, hand in hand, with wandering steps and slow,
+Through Eden took their solitary way.
+
+[The End]
diff --git a/snappy-1.1.0/testdata/ptt5 b/snappy-1.1.0/testdata/ptt5
new file mode 100644
index 0000000..bdd7f36
--- /dev/null
+++ b/snappy-1.1.0/testdata/ptt5
Binary files differ
diff --git a/snappy-1.1.0/testdata/sum b/snappy-1.1.0/testdata/sum
new file mode 100644
index 0000000..758fd81
--- /dev/null
+++ b/snappy-1.1.0/testdata/sum
Binary files differ
diff --git a/snappy-1.1.0/testdata/urls.10K b/snappy-1.1.0/testdata/urls.10K
new file mode 100644
index 0000000..eaf0633
--- /dev/null
+++ b/snappy-1.1.0/testdata/urls.10K
@@ -0,0 +1,10000 @@
+http://ftp.sektornet.dk/tucows/herdwin0904.html
+http://209.143.244.16/directory/us/nd/fargo/insurance/automotive.html
+http://bellona.itworld.com:8080/cwi/reprint/0,1926,NAV63-128-1357-1367_STO46538,00.html
+http://www.legis.state.ia.us/usr/ns-home/docs/GA/76GA/Session.2/SJournal/01600/01644.html
+http://www.centc251.org/forums/aca-1/dispatch.cgi/isowg4/showFolder/100001/1211898
+http://www.burstnet.com/ads/ad7826a-map.cgi/271412263
+http://topcu.tucows.com/winme/adnload/137036_30095.html
+http://topcu.tucows.com/winme/adnload/145034_49120.html
+http://link.fastpartner.com/do/session/600342/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/bitconomy.php
+http://www.retrobytes.org/classiccmp/9911/msg01245.html
+http://www.localbusiness.com/Story/Print/0,1197,DFW_196102,00.html
+http://bbs.kh.edu.tw/treasure/childhood/M.962620586.A/M.966031025.A/M.966031098.A.html
+http://www.hig.se/(accessed,clientname,return)/~jackson/roxen/testform.html
+http://www.ipclub.ru:8102/cgi-bin/linkmaker/linklist-view.cgi?owner=elvis&Sector=434
+http://www.dulux.co.uk/UKRETAIL:229853034:DFinity.1QJiP4jMofi7bof
+http://www.dominionpost.com/cgi-bin/redirect.exe/85288
+http://br.egroups.com/message/anedotas/3988
+http://www.ing.iac.es/~cfg/group_notes/texinfo/spec/file$_must$_exist_$28appendfile$29.html
+http://hurweb01.hurriyetim.com.tr/hur/turk/99/06/22/yasam/14yas.htm
+http://www3.plala.or.jp/shinchi/niltuki/mai0416.htm
+http://www3.plala.or.jp/shinchi/niltuki/mai0420.htm
+http://213.36.119.69/do/session/152968/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www3.travelprice.com/voyages/recherche.phtml
+http://www.meristation.es/Trucos/s/starcraft_brood.htm
+http://www.meristation.es/Trucos/trainer/train_star_war.htm
+http://www.askme.com/cat/ShowCategory_3104_an_9.htm
+http://mozilla.org/newlayout/testcases/css/sec542cm.htm
+http://ampec.ampec.it/ted/box04/page36.htm
+http://ampec.ampec.it/ted/box04/page39.htm
+http://ampec.ampec.it/ted/box04/page42.htm
+http://ampec.ampec.it/ted/box04/page58.htm
+http://ampec.ampec.it/ted/box04/page62.htm
+http://www.businesswire.com/webbox/bw.080300/202160192.htm
+http://www.businesswire.com/webbox/bw.062700/201790580.htm
+http://www.businesswire.com/webbox/bw.040300/200940796.htm
+http://retailer.gocollect.com/do/session/1912606/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/top_ten.asp?pagenum=1
+http://retailer.gocollect.com/do/session/1912606/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://genforum.genealogy.com/cgi-bin/print.cgi?ivy::116.html
+http://www.spiral.at/Katalog/Artikel/6150331/
+http://www.spiral.at/Katalog/Artikel/6150390/
+http://www.spiral.at/Katalog/Artikel/6150411/
+http://bbs.msquare.or.kr/list.bbs/writer/Soohah/8.html
+http://www.eskimo.com/~wesn/waflyfishers/msg03537.html
+http://denniscares.mp2.homes.com/content/glossary.html?Letter=A
+http://library.bangor.ac.uk/search/aChandler,+Peter,+1936-/achandler+peter+1936/-5,-1,0,B/bibandlinks&F=achandler+raymond+1888+1959&5,,6
+http://www.kimkihong.pe.kr/
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/199/1998/6/0/1323673/
+http://musictz.com/user/fernman.html
+http://tucows.concepts.nl/winnt/adnload/1381_28803.html
+http://www.mirror.kiev.ua:8083/paper/2000/03/1251/text/03-06-6.htm
+http://ring.crl.go.jp/pub/linux/debian/debian-jp/dists/stable/non-free/binary-arm/x11/?N=D
+http://news.novgorod.ru/news/2000/4/23/2/9
+http://www.egroups.com/dir/World/Deutsch/Gesellschaft/Bildung/Schule?st=167
+http://www.egroups.com/group/abitur98
+http://genforum.genealogy.com/cgi-genforum/forums/casey.cgi?1477
+http://www.tvstore.com/browse/TV/BOXERSHO/s.UtRroVXF
+http://www.tvstore.com/browse/TV/COLLECTI/s.UtRroVXF
+http://www.tvstore.com/browse/TV/EARRINGS/s.UtRroVXF
+http://polygraph.ircache.net:8181/text/m90/http_-2ewp.aliant.com/attivita.htm
+http://rosebay.1000pages.com/ceclgt12.htm
+http://www02.u-page.so-net.ne.jp/sb3/mizo/home/sub1/link2/?M=A
+http://community.webshots.com/photo/5827455/5827535oqdRLPNiek
+http://troy.lib.sfu.ca/search/dbiology+periodicals/dbiology+periodicals/19,-1,0,B/frameset&F=dbiology+religious+aspects&1,1
+http://213.36.119.69/do/session/152973/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/special/alitalia.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/programs/simple/linux/math/computers/tunes.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/programs/simple/linux/math/lit/hasard.html
+http://www.elop.de/l0-1011-xx-3006-top.html
+http://britanica.com/bcom/eb/article/idxref/0/0,5716,364643,00.html
+http://britanica.com/bcom/eb/article/7/0,5716,28557+1+28108,00.html
+http://www.geocrawler.com/archives/3/3174/2000/5/50/3724502/
+http://www.geocrawler.com/archives/3/3174/2000/5/50/3699557/
+http://www.geocrawler.com/archives/3/3174/2000/5/50/3689003/
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-stable/net/slirp/files/
+http://www.duluxvalentine.com/FRANCE:219793321:DFinity.1QJiP4jmPgUaedp
+http://mundo.ole.es/ocio/articulo/html/oci4270.htm
+http://www.maasvlakte-cam.nl/webcams/43/etna__italy/1999/08/29/01:28:02.html
+http://www.chinabyte.com/staticpages/builder/builder_course_next/HIPR/builder_course_next_219_HIPR.html
+http://www.prospects2.csu.ac.uk/servlet/postgrad.TcAssess?pgid=9634
+http://ftp.sunet.se/pub/lang/perl/CPAN/authors/id/SPP/?N=D
+http://www.egroups.com/message/WDT/7751
+http://pub8.ezboard.com/fapricotyarn.unsubscribeUnregisteredToTopic?topicID=4.topic
+http://support.tandy.com/support_audio/doc9/9679.htm
+http://megalink.tucows.com/winme/preview/74862.html
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/199/1996/2/0/2460450/
+http://www.monaco.gouv.mc/dataweb/gouvmc.nsf/(NewsActu)/d28eaee29b3287d4c1256905004e1ef1!OpenDocument&ExpandSection=10.3,10.4,7,9,4,6
+http://www.fao.org/montes/foda/wforcong/PUBLI/V2/T8S/1-3.HTM
+http://library.cuhk.edu.hk/search*chi/a蔡淙霖,+1965-/a%7B215572%7D%7B214758%7D%7B215f60%7D+1965/-5,-1,0,B/browse
+http://www.nrk.no/finnmark/x31_12_97/nyh6.htm
+http://www.dailyrush.dk/stories/129/comments/pages/1
+http://home.wanadoo.nl/pieter.heres/nedbaskteam/nbt/Web%20Album%20nbt%20spelers/page3.htm
+http://members.tripod.co.jp/masa_selfish/?M=A
+http://bsd.sinica.edu.tw/cgi-bin/cvsweb.cgi/ports/misc/lile/patches/Attic/?sortby=date
+http://www.chaos.dk/sexriddle/z/l/x/y/m/
+http://www.chaos.dk/sexriddle/z/l/x/y/p/
+http://users.sexyboards.com/amandaslut/messages/17.html
+http://pub11.ezboard.com/fusscroatiastartrekanimators.showAddTopicScreenFromWeb
+http://retailer.gocollect.com/do/session/1912610/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/help/site_tour/index.asp
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-current/misc/boxes/pkg-comment
+http://www.ce-europe2.philips.com/do/session/80299/vsid/1034/tid/1034/cid/28533/mid/1020/rid/1021/chid/1024/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkZHbjbHrolLmbkKmefLifmLpkZHljlKmoaLl0/url/http://www.eu.microsoft.com/windows/ie_intl/es/
+http://www.peopledaily.co.jp/199904/26/newfiles/col_990426001084_tyxw.html
+http://www.peopledaily.co.jp/199904/26/newfiles/col_990426001087_tyxw.html
+http://iraustralia.com/listco/hk/swire/profile.htm
+http://jefferson.village.virginia.edu/wax/slow/english/3pix/BRight2/1/1a5a15a1.html
+http://infoserv2.ita.doc.gov/efm/efm.nsf/Sources!OpenView&Start=35.16&Count=30&Expand=37
+http://www.affiliate.hpstore.hp.co.uk/do/session/380772/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/entry1.asp
+http://www.trax.nilex.co.uk/trax.cgi/A1S/B1U/B1R/A3S/A4R/C2U/
+http://www.trax.nilex.co.uk/trax.cgi/A1S/B1U/B1R/A3S/A4R/C2S/
+http://www.quia.com/email.cgi?7106&fc
+http://www.mirror.edu.cn/res/sunsite/pub/academic/agriculture/sustainable_agriculture/news+mail-archives/6/
+http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/Beholder/CVSROOT/config?only_with_tag=MAIN
+http://collection.nlc-bnc.ca/100/201/300/info_tabac/html/1998/bull21/poumon.html
+http://www.erotism.com/sweetlostcherry/g3.htm
+http://adex3.flycast.com/server/socket/127.0.0.1:2800/click/SharewareMusicMachine/MusicSoftware1/96457
+http://members.tripod.com/~tonarcos/paginas/Nancy1.html
+http://www.gbnf.com/genealog2/stout/html/d0024/I2144.HTM
+http://ftp.du.se/disk4/FreeBSD/branches/4.0-stable/ports/deskutils/cbb/
+http://www.hri.org/docs//statedep/95-09-13.std.html
+http://ftp.univie.ac.at/packages/tex/macros/latex//contrib/supported/eurofont/adobeuro/readme.txt
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/showNextUnseen/fol/100001/1513138
+http://tucows.ipv.pt/winnt/adnload/1891_28712.html
+http://www.tucsonweekly.com/tw/02-09-95/danehy.htm
+http://message/artefactphil/87?expand=1
+http://www.kiarchive.ru:8091/pub/FreeBSD/FreeBSD-current/src/gnu/Makefile/
+http://retailer.gocollect.com/do/session/1912644/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/index.asp
+http://retailer.gocollect.com/do/session/1912644/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/about.asp
+http://park.org:8888/Cdrom/TheNot/Mail/NotPark/msg00070.html
+http://citeseer.nj.nec.com/cachedpage/67611/1
+http://citeseer.nj.nec.com/cidcontext/1053642
+http://www.3w-buecher.de/GiacamanGeorge/GiacamanGeorge0745312381.htm
+http://au.yahoo.com/Regional/U_S__States/Colorado/Cities/Littleton/Real_Estate/Agencies/
+http://www.power2lead.com/Global/English.nsf/pgWWLocations!OpenPage&ExpandSection=21,28,29,32,22
+http://hem.fyristorg.com/bfo/gagarin/WWW.SAMIRADIO.ORG/svenska/sport-sv.html
+http://www.chaos.dk/sexriddle/e/n/q/v/m/
+http://www.hig.se/(formoutput,remove_cookie,sort,sql,sqlquery)/~jackson/roxen/
+http://129.142.8.149/ds/it/isodocs/122400/12240011/12240000117900/
+http://129.142.8.149/ds/it/isodocs/122400/12240011/12240000116400/
+http://129.142.8.149/ds/it/isodocs/122400/12240011/12240000116200/
+http://129.142.8.149/ds/it/isodocs/122400/12240011/12240000113100/
+http://129.142.8.149/ds/it/isodocs/122400/12240011/12240000110800/
+http://koi.www.citycat.ru/funny/fido/2000_10/07.html
+http://koi.www.citycat.ru/funny/fido/2000_10/09.html
+http://www.hig.se/(countdown,debug,header,if,return)/~jackson/roxen/
+http://www.findtravel.to/search_engine_directory/north_america_usa_canada/united_states/michigan/_travel_guides/
+http://mediate.magicbutton.net/do/session/625534/vsid/3255/tid/3255/cid/87978/mid/2008/rid/2157/chid/2581/url/http://www1.getmapping.com/competition/index.cfm
+http://mediate.magicbutton.net/do/session/625534/vsid/3255/tid/3255/cid/87978/mid/2008/rid/2157/chid/2581/url/http://www1.getmapping.com/aboutus/partners2.cfm
+http://www.petropages.com/products/p9827.htm
+http://www.egroups.com/login.cgi?login_target=%2Fmessage%2Fspynews%2F54
+http://health.sx.zj.cn/Treatment/SuperGuide/2000-3-8/4716.htm
+http://www.nease.net/~qin/chardware.htm
+http://www.argos.asso.fr/bourges/pratiq/emploi/texte/anpesud.htm
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-current/www/p5-Apache-Session/?S=A
+http://www.eveclub.com/cgi-bin/eveclub.front/972959425847/Catalog/1000046
+http://retailer.gocollect.com/do/session/1912628/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/top_ten.asp?pagenum=1
+http://yp.gates96.com/1/10/21/73.html
+http://yp.gates96.com/1/10/21/95.html
+http://yp.gates96.com/1/10/22/21.html
+http://yp.gates96.com/1/10/22/31.html
+http://yp.gates96.com/1/10/22/52.html
+http://yp.gates96.com/1/10/22/76.html
+http://yp.gates96.com/1/10/22/79.html
+http://yp.gates96.com/1/10/23/57.html
+http://yp.gates96.com/1/10/23/73.html
+http://yp.gates96.com/1/10/25/20.html
+http://yp.gates96.com/1/10/25/46.html
+http://yp.gates96.com/1/10/25/87.html
+http://yp.gates96.com/1/10/26/76.html
+http://yp.gates96.com/1/10/26/84.html
+http://yp.gates96.com/1/10/27/67.html
+http://yp.gates96.com/1/10/28/70.html
+http://yp.gates96.com/1/10/28/91.html
+http://live.excite.com/lifestyle/politics_and_society/countries/asia/uzbekistan/guides_and_reference/
+http://biblioteca.upv.es/bib/doc/doc_fisbd/367/114176//C/1825519/0////25/S/MLTPAI
+http://mai.flora.org/forum/5322
+http://mai.flora.org/forum/5318
+http://www.brickshelf.com/scans/0000/0715/0715-03.html
+http://www.brickshelf.com/scans/0000/0715/0715-12.html
+http://www.brickshelf.com/scans/0000/0715/0715-21.html
+http://www.msb.malmo.se/search*swe/dManikyr/dmanikyr/-5,-1,0,B/frameset&F=dmani&1,1
+http://message/cinematik/2441?expand=1
+http://message/cinematik/2447?expand=1
+http://www.jamba.de/KNet/_KNet-Rco8j1-WDd-137sh/showInfo-special1.de/node.0/cde7f1uou
+http://www.jamba.de/KNet/_KNet-Rco8j1-WDd-137ss/showInfo-hilfe.de/node.0/cde7f1uou
+http://acmepet.petsmart.com/canine/breeds/labrador/bboard/messages/5245.html
+http://acmepet.petsmart.com/canine/breeds/labrador/bboard/messages/5226.html
+http://config.tucows.com/winnt/adnload/67680_29009.html
+http://config.tucows.com/winnt/adnload/55386_29005.html
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kdeutils/knotes/Attic/renamedlg.cpp?r1=1.7&only_with_tag=MAIN
+http://www.imagestation.com/member/?name=Twiggy5&c=1
+http://cometweb01.comet.co.uk/do!tid=20&rtid=3&vsid=700&session=131981&mid=1000&rid=1060&cid=37030&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHljbLqleHqjiLlel5jblKqlmLkeq5j1
+http://community.webshots.com/photo/1921549/2334169DWEIWPyCoH
+http://www.fogdog.com/cedroID/ssd3040183158605/nav/stores/skateboarding/
+http://www.fogdog.com/cedroID/ssd3040183158605/content/fan/subway_series/
+http://www.fogdog.com/cedroID/ssd3040183158605/boutique/ashworth/
+http://www.fogdog.com/cedroID/ssd3040183158605/customer_service/our_partners.html
+http://www.jacksonhewitt.com/ctg/cgi-bin/JacksonHewitt/media_center/AAAksrACwAAACCOAAl
+http://www.jacksonhewitt.com/ctg/cgi-bin/JacksonHewitt/talktous/AAAksrACwAAACCOAAl
+http://arabia.com/jordan/article/print/1,5130,3048|Life,00.html
+http://198.3.99.101/reference/politics_and_govt/humor/games/
+http://www.pocketbible.co.kr/old/Leviticus/Leviticus24/Leviticus24-14.htm
+http://www.ozon.ru/detail.cfm/ent=5&id=12&txt=1
+http://www.ozon.ru/detail.cfm/ent=2&id=2141
+http://www.chaos.dk/sexriddle/m/t/i/t/j/
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/5VhIq3rCy0eiHAzs1LOyTswNBIR33Wxc8NtFBCnYVNlrV5p9laRchaQrPWdU7-F739tsfX-p5-IA-j1rTm1YLCRAwn1FAriW9Ps21GP6CvyIL7YFYjLtOcez03i6Q9Xw3LRDtJY2CIzGQuZp-sH_-s_D66j9
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/lKhIoWbn-weE729M1n0JT8Ina4qOfm_FI2ROg8RdrrVu5kq_AK_urPMHafLCMwWCiOLuc8OIIHCFnJaCfz2LSrURBHFjDJP1fBO0X58Y28opSv0qVXWAKYtub7NbCIIWMbE_ldcypBmh
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/PbhIoduIKw3faQWbBTWSK5aq7Y-nGqcvK3flLaTRo02t7k7GMY8rPlupJIheD8869wCXUAer4VimzyYa25qUx7ef2l2VdMR9i_p-pJ5gg2S6ZcP-G6RuPfdDS3TEsJNXGVsOTs1rA605
+http://www.linux.com/networking/network/development/web_server/performance/?printable=yes
+http://www.linux.com/networking/network/development/web_server/performance/IBM/
+http://sunsite.icm.edu.pl/Linux/Documentation/HOWTO/mini/IP-Subnetworking-3.html
+http://dreamcity.gaiax.com/www/dreamcity/m/s/musou/frame.html
+http://guardian.co.uk/Widgets/Read_It_Later/TR/1,4694,4043922,00.html
+http://www.gpul.org/ftp/os/infinite/?M=A
+http://www.gpul.org/ftp/os/infinite/infinite_OS.txt
+http://retailer.gocollect.com/do/session/1912666/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/exclusives.asp
+http://yp.gates96.com/13/77/10/66.html
+http://yp.gates96.com/13/77/10/91.html
+http://yp.gates96.com/13/77/11/82.html
+http://yp.gates96.com/13/77/12/17.html
+http://yp.gates96.com/13/77/13/68.html
+http://yp.gates96.com/13/77/13/80.html
+http://yp.gates96.com/13/77/16/3.html
+http://yp.gates96.com/13/77/16/17.html
+http://yp.gates96.com/13/77/16/49.html
+http://yp.gates96.com/13/77/17/8.html
+http://yp.gates96.com/13/77/18/4.html
+http://yp.gates96.com/13/77/18/61.html
+http://yp.gates96.com/13/77/18/71.html
+http://yp.gates96.com/13/77/19/3.html
+http://yp.gates96.com/13/77/19/24.html
+http://yp.gates96.com/13/77/19/48.html
+http://yp.gates96.com/13/77/19/98.html
+http://yp.gates96.com/13/77/19/99.html
+http://scsinternet.tucows.com/winnt/mail95.html
+http://tolm.terrashare.com/45.htm
+http://news.dreamwiz.com/news/08/20001030/kukmin/200010301903081903261.html
+http://www.tccomputers.com/cgi-bin/bp/1463655603/services/info/tci.htm
+http://www.tccomputers.com/cgi-bin/bp/1463655603/services/csc/csc.htm
+http://www.2pl.com/b/pl/to/1/01/04/v2/1010400016-6-2r.htm
+http://www.2pl.com/b/pl/to/1/01/04/v2/1010400016-3-2r.htm
+http://www.2pl.com/b/pl/to/1/01/04/v2/1010400016-18-2r.htm
+http://www.2pl.com/b/pl/to/1/01/04/v2/1010400016-1r.htm
+http://www.123bestphonerates.com/q/001p/vn/vR85aEOIaY.htm
+http://www.thisislancashire.co.uk/lancashire/archive/1997/07/17/SPORTST5VQ.html
+http://www.thisislancashire.co.uk/lancashire/archive/1997/07/17/SPORTST7VQ.html
+http://www.thisislancashire.co.uk/lancashire/archive/1997/07/17/SPORTST11VQ.html
+http://www.elsur.cl/archivo/marzo2000/13marzo2000/elsur/deportes/ind3.php3
+http://home.no.net/fristart/kvasir816/
+http://www.fun7.de/party/cafe_europa/_vti_cnf/?D=A
+http://www.users.yun.co.jp/cgi-bin/moriq/pigeon/pigeon.cgi/%C5%E7%BA%AC%B8%A9.%C2%E7%B8%B6%B7%B4%C2%E7%C5%EC%C4%AE?c=e
+http://polygraph.ircache.net:8181/http_-2www.whowhere.com/http_-2www.expired.com/html/service.html
+http://home.t-online.de/home/mtc.hannover/head1655833.htm
+http://moneycentral.msn.com/investor/invsub/insider/Details.asp?Pval=1&Symbol=MKSI
+http://www.sohu.com/Regional/hunan/City_County/Yiyang/Firms/Food_Beverage/
+http://www.kulturkreis-rhein-lahn.de/lauer/fax.htm
+http://ustlib.ust.hk/search*chi/aporter+bill+1943/aporter+bill+1943/7,-1,0,B/browse
+http://www.brio.de/BRIO.catalog/39fe2f3708fb3c8e2740d472aa7806d5/UserTemplate/2
+http://www.brio.de/BRIO.catalog/39fe2f3708fb3c8e2740d472aa7806d5/UserTemplate/6
+http://rcsl.auto.inha.ac.kr/~treeman/Documents/HOWTO/Keyboard-and-Console-HOWTO-19.html
+http://www.etoys.com/cat/toy/category/construction/brio_builder_system/1
+http://www.kxmd.com/now/story/0,1597,194790-295,00.shtml
+http://www.ferien-immobilien.de/DominikanischeRep/verkauf/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/Gemeinsam/Gemeinsam/versicherungen/gebaeude/IIM-Teil/Startseite/froben.htm
+http://hiv.medscape.com/LWW/SMD/1999/v21.n03/smd2103.01.html
+http://www.egroups.com/message/dk-jaws/530
+http://no.egroups.com/message/daemon-news-announce/12
+http://ring.toyama-ix.net/archives/text/elisp/jaist/yamaoka/apel/00_THIS_DIRECTORY_WILL_NOT_BE_UPDATED_UNTIL_2000-10-26
+http://pub12.ezboard.com/ftibesataxg1637tibes.subscribeUnregisteredToTopic?topicID=7.topic
+http://ustlib.ust.hk/search*chi/ali+huan+1827+1891/ali+huan+1827+1891/-5,-1,0,E/frameset&F=ali+huan&4,,0
+http://ustlib.ust.hk/search*chi/ali+huan+1827+1891/ali+huan+1827+1891/-5,-1,0,E/frameset&F=ali+huang+1895&1,,0
+http://www.digitalcity.com/cincinnati/sports/log.dci?league=NCF&team=NNF
+http://ftp.nacamar.de/pub/debian/dists/potato/main/disks-m68k/2.2.16-2000-07-14/mac/images-1.44/?D=A
+http://www.academyfloral.com/state/arboo/flowers/thanksabunchbouquet2.html
+http://dante.bdp.it/cgi-bin/poseidon_v2.0/reflect/poseidon/disc/peacelink-scuola/2015003604/view/8
+http://ring.omp.ad.jp/pub/NetBSD/NetBSD-current/pkgsrc/lang/smalltalk/files/?S=A
+http://ring.omp.ad.jp/pub/NetBSD/NetBSD-current/pkgsrc/lang/smalltalk/files/patch-sum
+http://carriage.de/Schoner/Sammlungen/literature/collections/literature/modelle/
+http://www.buybuddy.com/sleuth/27/1/11001/1692/
+http://193.120.14.241/pub/languages/perl/CPAN/src/5.0/devel/
+http://lastminutetravel.bedandbreakfast.com/bbc/p208900.asp
+http://chat.sportsline.com/u/wire/stories/0,1169,2957692_59,00.html
+http://acad.uis.edu/sas/qc/q-index.htm
+http://acad.uis.edu/sas/qc/s-index.htm
+http://library.cuhk.edu.hk/search*chi/aPan,+Zhuonan./apan+zhuonan/-5,1,1,B/frameset&F=apan+zhichang+1956&1,1,
+http://www.linux.com/networking/network/install/tools/updates/new/
+http://www.linux.com/networking/network/install/tools/updates/Standards/
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=13,31,5,11,26
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=23,31,5,11,26
+http://www.mfa.no/fin/norsk/publ/stprp/006005-991562/index-hov017-b-n-a.html
+http://ftp.sunet.se/pub/lang/perl/CPAN/authors/id/DBEAZLEY/?N=D
+http://fi.egroups.com/messages/infoespo/6?expand=1
+http://ibc.cn.net/2000/0718/it-1message.html
+http://www.shaggysguide.com/conhtml/adnload/51647_1809.html
+http://www.shaggysguide.com/conhtml/adnload/51657_5567.html
+http://www.shaggysguide.com/conhtml/adnload/74370_17872.html
+http://www.shaggysguide.com/conhtml/adnload/78469_19520.html
+http://www.shaggysguide.com/conhtml/adnload/78940_19788.html
+http://www.backflip.com/members/jhferrara/5171381/page=1/sort=1/linkspp=10
+http://www.amcity.com/philadelphia/stories/1998/08/24/newscolumn3.html?t=printable
+http://www.rge.com/pub/tex/biblio/bibtex/ms-dos/demel/?N=D
+http://www.v2music.com/Scripts/WebObjects-ISAPI.dll/V2_New_Publisher.woa/67841000005885200000309700000064451/Giveaways.wo/257820000054451/2.0.0.6.0/3/Webobjects1
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www-gds.desy.de:8080/zeitpl/zpl.htm
+http://click-to.tell-a-friend.boardhost.com/tell-a-friend-confirm.cgi?chudtvlogic&msg=1596
+http://retailer.gocollect.com/do/session/1912639/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://www.jpc-music.com/5590216.htm
+http://huntingfishing.tripod.com/sturgeonmain.htm
+http://polygraph.ircache.net:8181/wwwboard/prodev/seminar/fast/http_-2www.centennialcc.org/bps.html
+http://www.chaos.dk/sexriddle/s/t/c/x/l/
+http://www.chaos.dk/sexriddle/s/t/c/x/z/
+http://es.egroups.com/messages/plato-meno/1285
+http://tonggu-gch.ed.seoul.kr/home/2grade/2-10/981001/hang.htm
+http://sjsulib1.sjsu.edu:81/search/dreligion/-5,-1,0,E/exact&dreligion+libraries&1,3
+http://www.generation-formation.fr/chiffrec.htm---o21zAo0UPwo0Ol9A074fo6Td4ezyr6feZJPAPfVbNyqHSezTHkekydMfeZJPdspt6dsSAtdsNhJdspt6dsrvrdjlhkfbd.htm
+http://www.generation-formation.fr/dicoguid/diclogin.htm---o21zAo0UPwo0Ol9A074fo6Td4ezyr6feZJPAPfVbNyqureds5cezwhlezMpDeH7vGebI1yoKkfMd4vmMAxaAooKkfMd4u5xdfb7rmdfbT.htm
+http://www.hollywoodonline.com/asplocal/mgvideoad.asp?rushhour-video-holdon-mov
+http://www.ifg.uni-kiel.de/doc-clients/kdelibs-doc/html/kdeui/full-list-KRestrictedLine.html
+http://www.3w-sciencefiction.de/ShapiroLarry/ShapiroLarry0760306729.htm
+http://202.96.140.98/js/wenge/
+http://www.great-cyber-mall.com/SelectCompany.asp?CityID=230&CatID=19
+http://www.great-cyber-mall.com/SelectCompany.asp?CityID=230&CatID=34
+http://www.amazon.com.hk/exec/obidos/tg/stores/browse/-/books/13361/
+http://www.hole.kommune.no/hole/journweb.nsf/weboffjournal!OpenView&Start=99&Count=50&Collapse=116
+http://www.pbase.com/image/35702/small
+http://www.infoscape.com.cn:8171/nf/0010/21/nfzy2104.htm
+http://dell.excite.com/photo/topic/weather/national/19
+http://www.linux.com/networking/network/network/firewall/microsoft/government/
+http://www.gasex.com/gay.photo/gay.penis.pics.html
+http://hausarbeiten.de/cgi-bin/superDBinters.pl/archiv/geschichte/gesch-stedinger.shtml
+http://polygraph.ircache.net:8181/http_-2www.microsoft.com/frontpage/http_-2www.exploreuw.com/cards/ssoenews.html
+http://www.fogdog.com/cedroID/ssd3040183137325/cgi-bin/MyFogdog
+http://www.fogdog.com/cedroID/ssd3040183137325/cgi-bin/CedroCommerce?func=EditBasket
+http://www.fogdog.com/cedroID/ssd3040183137325/nav/stores/cycling/
+http://www.fogdog.com/cedroID/ssd3040183137325/nav/stores/snowboarding/
+http://tucows.wanadoo.nl/win2k/organ2k_license.html
+http://tucows.wanadoo.nl/win2k/preview/59164.html
+http://windows.tucows.com/preview/001-009-005-005C.html
+http://anekdotwall.boom.ru/car/html/75.htm
+http://tucows.concepts.nl/win2k/clipb2k_size.html
+http://tucows.concepts.nl/win2k/adnload/37291_29917.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=cricrila&l=pt
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=cricrilava&l=pt
+http://www.trax.nilex.co.uk/trax.cgi/A1C/1AR/A2S/A3S/A3D/D1S/
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_ngqyjt_ngqyjt.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_rtnucb_tyciyrg.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_kiektgt_fpwif.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_rjdbc_rjdbc.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_xsygo_xsygo.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_bovqcy_mkaqta.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_lgbrnl_psnjjt.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_lgbrnl_ybvfp.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_vermn_xmxmm.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/12_keojvu_faoex.html
+http://info-china.hypermart.net/enterprise/company/messages/25.html
+http://ring.yamanashi.ac.jp/pub/linux/debian/debian-jp/dists/potato/non-US/contrib/binary-m68k/Release
+http://www.amigos.com/cgi-bin/w3com/pws/ffe/R7RIRASjZ5ATyRjNyXQBbwzK4LLK-rhgzZEBqJsLaR1cdnaeB7LT1xORWRg6aQmLxO7QWLEpsdjuf2ZqAnUO1IKpfrRctaIMYIzMNy1DSb7dp8_5z39WdF7oxbKUAByA
+http://indigotrem1.chemie.uni-mainz.de/~manng001/Filme/S/SexLuegenundVideo.html
+http://se.egroups.com/message/hur/387
+http://www.ilmessaggero.it/hermes/19990111/07_MARCHE/MARCHE_REGIONE/DUE.htm
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/lit/quizz/misc/colorart/lit/pushkin.html
+http://www.amzn.com/exec/obidos/ts/artist-glance/201040/ref=pm_dp_ln_m_6/
+http://tucows.netpower.no/winme/adnload/138674_29970.html
+http://www.chaos.dk/sexriddle/z/d/q/p/c/
+http://www.chaos.dk/sexriddle/z/d/q/p/u/
+http://sv.pachinkovillage.co.jp/catalog/DinoVaderB/3.html
+http://ww2.comune.fe.it/cgi-win/hiweb.exe/a2/B1,a,1f,6,6,3a,3a,,5,,1f,5,
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=deflazioneranno&l=it
+http://polygraph.ircache.net:8181/company/html/http_-2www.io.com/~kinnaman/pchealth/f-agents.html
+http://polygraph.ircache.net:8181/company/html/http_-2www.io.com/~kinnaman/pchealth/f-leisureworld.html
+http://ftp.univie.ac.at/packages/perl/modules/by-module/Tie/ILYAZ/cperl-mode/rms-emacs-20.2-patch-narrow-buffer+dirfiles
+http://www.expressindia.com/ie/daily/19991126/ige26097p.html
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/ELINKEINO-+JA+YRITYSTOIMINTA/yritt%E4jyys/lukio/oppimateriaali/itseopiskelu/
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=36,23,11,33,18
+http://www.trib.com/scjournal/ARC/1996/MAR/3_24_96/marines.html
+http://www.slac.stanford.edu/BFROOT/www/Computing/Programming/QA/QaBetaTools/6.7.5a/SunOS5/?S=D
+http://pokemonplant.tripod.com/150yellow.html
+http://ftp.debian.org/dists/potato/contrib/binary-all/devel/?N=D
+http://sunsite.org.uk/packages/tcl/Collections/ftp.neosoft.com/sorted/packages-8.0/print/frink/1.2p35/
+http://library.bangor.ac.uk/search/m304.6+LIN/m304.6+lin/-5,-1,0,B/frameset&F=m304.6+jos&1,1
+http://members.tripod.lycos.nl/janninksweg145/huis.htm
+http://www.uib.no/People/mihtr/PS01/PS01_219.htm
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus141561/eus174865/eus327367/eus327602/eus329879/
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus141561/eus174865/eus327367/eus327602/eus327608/
+http://sound-dist.secured.co.uk/cgi-bin/psShop.cgi/add|39P02|972959512|Communications|user|0|1,0,0,1
+http://www.bluefreds.f9.co.uk/vote2.html
+http://www.hri.org/docs//statedep/1999/99-05-07.std.html
+http://polygraph.ircache.net:8181/http_-2www.hblinfo.com/f_snowbuddies.html
+http://mediate.magicbutton.net/do/session/625565/vsid/3342/tid/3342/cid/88020/mid/2008/rid/2313/chid/2648/url/http://www1.getmapping.com/products.cfm
+http://cometweb01.comet.co.uk/do!tid=20&rtid=2&vsid=692&session=131975&mid=1000&rid=1060&cid=37051&chid=1702&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG5ubLZDXLZolLl3l5jbqLlci5XqVLkXsLkao4tloHbmlLoq5
+http://digilander.iol.it/net4free/spedia.htm
+http://totalsports.aol.com/stats/bbo/mlb/20000425/col.at.mon.prvw.html
+http://210.178.135.1/netbbs/Bbs.cgi/nhic32042/qry/pno/0/zka/B2-kB2Zk/qqatt/^
+http://cikkek.lezlisoft.com/kikelet/spiritualitas/spirit3v9.shtml
+http://www.wingateinns.com/ctg/cgi-bin/Wingate/aarp/AAAksrACwAAACCPAAl
+http://sunsite.berkeley.edu/PhiloBiblon/BITAGAP/BIB/BIB1848.html
+http://sunsite.uakom.sk/tucows/adnload/69390_28371.html
+http://sunsite.uakom.sk/tucows/preview/77630.html
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=(22,0+9,0-~0,3
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=(22,0+9,0-~9,6
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=(22,0+9,0-~21,0
+http://sirac.inrialpes.fr/Infos/Personnes/Christophe.Rippert/ressources/jdk1.2.2/docs/api/java/security/
+http://polygraph.ircache.net:8181/getting_started/http_-2www.microsoft.com/powered/radio/email_pal/email_pal.htm
+http://mirror.nucba.ac.jp/mirror/FreeBSD/branches/2.2-stable/ports/net/tund/?M=A
+http://mirror.nucba.ac.jp/mirror/FreeBSD/branches/2.2-stable/ports/net/tund/?D=A
+http://library.bangor.ac.uk/search/tNursing+times+clinical+monographs+&%2359%3B+no.+51/tnursing+times+clinical+monographs+no+++51/-17,-1,0,B/browse
+http://library.bangor.ac.uk/search/tNursing+times+clinical+monographs+&%2359%3B+no.+51/tnursing+times+clinical+monographs+no+++51/-5,-1,0,B/frameset&F=tnursing+times+complementary+therapy&1,1
+http://ftp.chg.ru/pub/FreeBSD/doc/en_US.ISO_8859-1/articles/programming-tools/
+http://polygraph.ircache.net:8181/getting_started/http_-2www.microsoft.com/powered/bomb/bomb.htm
+http://linux.tucows.inwind.it/conhtml/adnload/8523_5414.html
+http://www.magicvillage.de/magicvillage/KonferenzPlaza/fbs/%2328835852?NextInThread
+http://www.shopworks.com/samplers/index.cfm/action/cart/userid/0009CECE-2EE1-19FE-9038010B0A0ADCF2
+http://dailynews.sina.com/newsCenter/taiwan/udn/2000/1021/2051701_b5.html
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kdeutils/khexedit/pics/Attic/?hideattic=1&sortby=date
+http://moviestore.zap2it.com/browse/MOVIES/BOWL/s.zchC6lsi
+http://moviestore.zap2it.com/browse/MOVIES/MUSIC/s.zchC6lsi
+http://ww2.comune.fe.it/cgi-win/hiweb.exe/a2/d13/b12,c,1f,18,18,,13,,1f,13,17,,1f,17,
+http://ww2.comune.fe.it/cgi-win/hiweb.exe/a2/d14/b12,c,1f,18,18,,13,,1f,13,17,,1f,17,
+http://209.50.251.176/~bb/
+http://tucows.energy.it/winnt/adnload/59163_30035.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=circundara&l=pt
+http://vishvesha.tripod.com/4/068d.htm
+http://www.hot.ee/timbsy/kass_files/pildikogu.html
+http://www3.newstimes.com/archive99/jan2599/rga.htm
+http://pub11.ezboard.com/fmarjoriesdmboardpostyourdmpedigreeshere.showMessage?topicID=21.topic
+http://www.geocities.com/Heartland/Plains/4825/bennyn.html
+http://citeseer.nj.nec.com/site/115145
+http://www.techsupplies.com/sleuth/17/1/40406/254200/
+http://ccmnet.xj.cei.gov.cn/10/b10/b1007/99-05-02/a5-02.asp
+http://206.251.18.85/FEATURES/home_improvement/1999/10/01/fall_lawncare3.html
+http://www.dulux.co.uk/UKRETAIL:1355333640:DFinity.1QJiP4jmPgimjKlA
+http://cometweb01.comet.co.uk/do!tid=20&rtid=2&vsid=700&session=131985&mid=1000&rid=1060&cid=37030&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG5ubLZDXLZolLl3l5jbqLlci5XqVLkXsLkao4tloHbmlLoq5
+http://cometweb01.comet.co.uk/do!tid=20&rtid=1&vsid=700&session=131985&mid=1000&rid=1060&cid=37030&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplGGolLarZLq4fLpmiLXv-KmooLckYLoznGmpq0qsc0mojLbkYLozvGotc0ZdoLckYLozvGsmv0qmc0jXfLkVZLdocLkYoLzcj1XfkLVZXLqkXLjbzKcob5qroLkVrLoizKlZd5fjYHfklKkZlLjjbLoZbLpl51ubZLDXZLollK3ljLbqlKjXfLkkaHotl4obmLloqL
+http://www.berliner-morgenpost.de/bm/inhalt/990928/berlin/story14.html
+http://gb.toget.com.tw/article/printer_tool/19990825_3210_p1.html
+http://sbtr42.sbsusa.com/ncsamples/base1.htm
+http://halflife02.opasia.dk/cs3stats/players/_AMNeSIA_.html
+http://mediate.magicbutton.net/do/session/625570/vsid/3342/tid/3342/cid/88020/mid/2008/rid/2313/chid/2648/url/http://www1.getmapping.com/basket.cfm
+http://mediate.magicbutton.net/do/session/625570/vsid/3342/tid/3342/cid/88020/mid/2008/rid/2313/chid/2648/url/http://www1.getmapping.com/viewer.cfm
+http://www.citythek.de/erfurt/rheinhyp/fsinhalt.htm
+http://my.egroups.com/group/mall-komputer
+http://www-bd.cricket.org/link_to_database/ARCHIVE/1997-98/PAK_IN_RSA/PAK_IN_RSA_JAN-APR1998_PAK-SQUAD.html
+http://www-bd.cricket.org/link_to_database/GROUNDS/RSA/ST-GEORGE_PARK_PT-ELIZ/
+http://www-bd.cricket.org/link_to_database/ARCHIVE/1997-98/PAK_IN_RSA/PAK_RSA_T3_06-10MAR1998_ET_MR.html
+http://www.bemi-immobilien.de/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/versicherungen/unfall/Gemeinsam/erreichenPartner/Gemeinsam/MarketingStrategie/Gemeinsam/versicherungen/gebaeude/Gemeinsam/Top-Darlehens-Konditionen/anforderungsformular.htm
+http://www.online.kokusai.co.jp/Qa/V0043459/wrd/G800/qa/
+http://iland.tucows.com/win2k/adnload/59229_29990.html
+http://iland.tucows.com/win2k/preview/144411.html
+http://iland.tucows.com/win2k/adnload/38173_29963.html
+http://www.arm.com/sitearchitek/armtech.ns4/8ab0ea422fba51238025691f00399e13/9cb09cb360a967848025691f004e28b2!OpenDocument&ExpandSection=6,13,12,-1
+http://ftp.uni-mannheim.de/languages/perl/CPAN/modules/by-authors/id/JMURPHY/?N=D
+http://proam.golfonline.com/tours/2000/hooters/silversprings/scores2.html
+http://ftp.du.se/pub/FreeBSD/branches/4.0-stable/src/games/grdc/
+http://ftp.du.se/pub/FreeBSD/branches/4.0-stable/src/games/pom/
+http://ftp.du.se/pub/FreeBSD/branches/4.0-stable/src/games/Makefile
+http://www.artex.firenze.it/_qualitart/articoli/zoom/03651.htm
+http://www.chaos.dk/sexriddle/m/k/v/b/p/
+http://www.chaos.dk/sexriddle/m/k/v/b/s/
+http://www.chaos.dk/sexriddle/t/j/d/n/n/
+http://www.daysinn.com/ctg/cgi-bin/DaysInn/media_center/AAAksrACwAAACCQAAM
+http://tukela.heha.net/ys/ll/boyuan.htm
+http://tukela.heha.net/ys/ll/jinciming.htm
+http://genforum.genealogy.com/ai/messages/4299.html
+http://genforum.genealogy.com/ai/messages/4221.html
+http://genforum.genealogy.com/ai/messages/4225.html
+http://www.linkclub.or.jp/~sticky/index1/diary/1999/199906.html
+http://ww.egroups.com/subscribe/lexingtonkystrapon
+http://chita.fi.upm.es/docs/info/en_US/a_doc_lib/motif/motifsg/About.htm
+http://chita.fi.upm.es/docs/info/en_US/a_doc_lib/motif/motifsg/motifsg41.htm
+http://chita.fi.upm.es/docs/info/en_US/a_doc_lib/motif/motifsg/motifsg43.htm
+http://hakuba-net.gr.jp/guide/rest/spa_each/spa_2.html
+http://yp.gates96.com/6/16/40/22.html
+http://yp.gates96.com/6/16/40/44.html
+http://yp.gates96.com/6/16/40/50.html
+http://yp.gates96.com/6/16/40/69.html
+http://yp.gates96.com/6/16/40/83.html
+http://yp.gates96.com/6/16/41/49.html
+http://yp.gates96.com/6/16/41/50.html
+http://yp.gates96.com/6/16/41/67.html
+http://yp.gates96.com/6/16/42/15.html
+http://yp.gates96.com/6/16/42/51.html
+http://yp.gates96.com/6/16/42/56.html
+http://yp.gates96.com/6/16/43/8.html
+http://yp.gates96.com/6/16/43/69.html
+http://yp.gates96.com/6/16/43/71.html
+http://yp.gates96.com/6/16/44/11.html
+http://yp.gates96.com/6/16/44/51.html
+http://yp.gates96.com/6/16/45/20.html
+http://yp.gates96.com/6/16/45/43.html
+http://yp.gates96.com/6/16/46/12.html
+http://yp.gates96.com/6/16/46/25.html
+http://yp.gates96.com/6/16/46/64.html
+http://yp.gates96.com/6/16/47/42.html
+http://yp.gates96.com/6/16/47/80.html
+http://yp.gates96.com/6/16/48/54.html
+http://yp.gates96.com/6/16/48/85.html
+http://yp.gates96.com/6/16/49/51.html
+http://yp.gates96.com/6/16/49/62.html
+http://assgay.com/main.html?fuck.cock.gaysex
+http://ring.yamanashi.ac.jp/pub/linux/linuxppc/contrib/software/System_Environment/Libraries/?S=A
+http://computalynx.tucows.com/winme/adnload/138681_29976.html
+http://computalynx.tucows.com/winme/adnload/138706_29992.html
+http://computalynx.tucows.com/winme/adnload/138690_29990.html
+http://computalynx.tucows.com/winme/adnload/138694_29981.html
+http://iceberg.adhomeworld.com/cgi-win/redirect.exe/851857198
+http://link.fastpartner.com/do/session/600337/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/mondosoft.php
+http://link.fastpartner.com/do/session/600337/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/nordicliving.php
+http://link.fastpartner.com/do/session/600337/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/create/learn.htm
+http://www.linux.com/networking/network/applications/hardware/device/development/
+http://www.linux.com/networking/network/applications/hardware/device/Corel/
+http://www.linux.com/networking/network/applications/hardware/device/?kw_offset=50
+http://ftp.gigabell.net/debian/dists/unstable/main/binary-m68k/sound/?M=A
+http://no.egroups.com/message/slfxpzur/36
+http://no.egroups.com/message/slfxpzur/38
+http://nuance.dhs.org/lbo-talk/0004/2286.html
+http://www.jamba.de/KNet/_KNet-XEk8j1-ADd-136sq/showInfo-datenschutz.de/node.0/cde7f1uou
+http://yp.gates96.com/2/37/60/0.html
+http://yp.gates96.com/2/37/60/13.html
+http://yp.gates96.com/2/37/61/24.html
+http://yp.gates96.com/2/37/61/66.html
+http://yp.gates96.com/2/37/62/5.html
+http://yp.gates96.com/2/37/62/31.html
+http://yp.gates96.com/2/37/63/31.html
+http://yp.gates96.com/2/37/63/43.html
+http://yp.gates96.com/2/37/63/48.html
+http://yp.gates96.com/2/37/63/60.html
+http://yp.gates96.com/2/37/63/88.html
+http://yp.gates96.com/2/37/64/62.html
+http://yp.gates96.com/2/37/64/74.html
+http://yp.gates96.com/2/37/65/0.html
+http://yp.gates96.com/2/37/66/20.html
+http://yp.gates96.com/2/37/67/41.html
+http://yp.gates96.com/2/37/68/2.html
+http://yp.gates96.com/2/37/68/50.html
+http://yp.gates96.com/2/37/69/15.html
+http://yp.gates96.com/2/37/69/41.html
+http://yp.gates96.com/2/37/69/47.html
+http://yp.gates96.com/2/37/69/60.html
+http://yp.gates96.com/2/37/69/75.html
+http://yp.gates96.com/2/37/69/76.html
+http://gettosdownloads.subportal.com/sn/Palm_Pilot/Games/12428.html
+http://news.novgorod.ru/read/65/2000/10/27/10/49
+http://www.schwan.de/links-biografie.html
+http://www.fogdog.com/cedroID/ssd3040183124617/cgi-bin/MyFogdog
+http://www.nrk.no/finnmark/x27_6_97/nyh9.htm
+http://www.aelita.net/products/news/services/sitemap/~archive/Download_redirect/company/Copyright.htm
+http://www.staroriental.net/nav/soeg_c/ihf,aol,n15,149,TVB香港小姐2000.html
+http://members.xoom.com/agent187/politics.htm
+http://sunsite.org.uk/public/packages/perl/collections/cis.ufl/comp.lang.perl.announce/1998-03/724
+http://www.thestateofcolorado.com/gcecommercialsales.html
+http://ftp.du.se/pub/redhat/rawhide/sparc/RedHat/RPMS/?M=A
+http://www.linux.com/networking/network/community/trade_show/magazine/open_source/
+http://www.linux.com/networking/network/community/trade_show/magazine/Slashdot/
+http://www.linux.com/networking/network/community/trade_show/magazine/investors/
+http://scifi.emerchandise.com/browse/TV/PIN/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/DILBERT/_/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/DR.KATZ/_/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/FRIENDS/_/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/FUTURAMA/_/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/LOIS-CLARK/_/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/SPEEDRACER/_/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/THUNDERCATS/_/b.TV/s.KkOtzPMn
+http://scifi.emerchandise.com/browse/WCW/_/b.TV/s.KkOtzPMn
+http://www.railion.de/home/db_reise_touristik/region/bremen/db_rt_firmenreisedienst_reisezentrum_hb.shtml
+http://pegasus.infor.kanazawa-it.ac.jp/~hara/bsd4.1-release/D/N_GETFLAG_NET.html
+http://yp.gates96.com/5/54/20/19.html
+http://yp.gates96.com/5/54/21/5.html
+http://yp.gates96.com/5/54/21/42.html
+http://yp.gates96.com/5/54/21/60.html
+http://yp.gates96.com/5/54/21/69.html
+http://yp.gates96.com/5/54/21/81.html
+http://yp.gates96.com/5/54/21/96.html
+http://yp.gates96.com/5/54/22/6.html
+http://yp.gates96.com/5/54/22/29.html
+http://yp.gates96.com/5/54/22/33.html
+http://yp.gates96.com/5/54/22/64.html
+http://yp.gates96.com/5/54/22/83.html
+http://yp.gates96.com/5/54/22/94.html
+http://yp.gates96.com/5/54/22/98.html
+http://yp.gates96.com/5/54/23/17.html
+http://yp.gates96.com/5/54/23/41.html
+http://yp.gates96.com/5/54/24/2.html
+http://yp.gates96.com/5/54/24/5.html
+http://yp.gates96.com/5/54/24/9.html
+http://yp.gates96.com/5/54/24/90.html
+http://yp.gates96.com/5/54/25/89.html
+http://yp.gates96.com/5/54/26/41.html
+http://yp.gates96.com/5/54/27/83.html
+http://yp.gates96.com/6/59/21/52.html
+http://yp.gates96.com/6/59/22/63.html
+http://yp.gates96.com/6/59/23/37.html
+http://yp.gates96.com/6/59/23/95.html
+http://yp.gates96.com/6/59/24/3.html
+http://yp.gates96.com/6/59/24/9.html
+http://yp.gates96.com/6/59/25/26.html
+http://yp.gates96.com/6/59/25/55.html
+http://yp.gates96.com/6/59/25/84.html
+http://yp.gates96.com/6/59/25/94.html
+http://yp.gates96.com/6/59/26/53.html
+http://yp.gates96.com/6/59/26/73.html
+http://yp.gates96.com/6/59/27/15.html
+http://yp.gates96.com/6/59/27/29.html
+http://yp.gates96.com/6/59/27/49.html
+http://yp.gates96.com/6/59/27/97.html
+http://yp.gates96.com/6/59/28/31.html
+http://yp.gates96.com/6/59/28/32.html
+http://yp.gates96.com/6/59/28/39.html
+http://yp.gates96.com/6/59/28/98.html
+http://yp.gates96.com/6/59/29/22.html
+http://yp.gates96.com/6/59/29/83.html
+http://www.gbnf.com/genealogy/royal92/html/d0016/I1249.HTM
+http://www.gbnf.com/genealogy/royal92/html/d0018/I734.HTM
+http://hifichoice.co.uk/archive/perl/193_printreview.htm
+http://hifichoice.co.uk/archive/perl/313_printreview.htm
+http://www.highwired.net/Paper/UniversalNav/Redirect/0,5314,2623-7802,00.html
+http://www.mrlinux.notrix.de/
+http://www.ucalgary.ca/UofC/faculties/medicine/CHS/nhrdb/area/anat/fr.htm
+http://home.pchome.com.tw/tv/pili0614/xing-sh/capric/capric47.htm
+http://home.pchome.com.tw/tv/pili0614/xing-sh/capric/capric21.htm
+http://home.pchome.com.tw/tv/pili0614/xing-sh/capric/caf26.htm
+http://user.chollian.net/~pleiad7s/josun/3-37.htm
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=233&discrim=81,3,15
+http://mediate.magicbutton.net/do/session/625571/vsid/3342/tid/3342/cid/88020/mid/2008/rid/2313/chid/2648/url/http://www1.getmapping.com/aboutus/index.cfm
+http://www.telecombrokers.com/q/001p/atn8/2aS9DLAZRXc.htm
+http://www.telecomrefunds.com/q/001p/atn8/4SeFiiXvs2A.htm
+http://soho.nascom.nasa.gov/solarsoft/soho/lasco/lasco/data_anal/data/9701/?M=A
+http://members.xoom.com/mindnare
+http://people.freenet.de/TheChamp/nachhilfe.htm
+http://people.freenet.de/TheChamp/cheats.htm
+http://www.zinezone.com/movies/1,4003,1040-23080,00.html
+http://kulichki-win.rambler.ru/moshkow/TURIZM/kutsajo6.txt_with-icons.html
+http://www.linux.com/networking/network/release/availability/hardware/?printable=yes
+http://www.linux.com/networking/network/release/availability/hardware/applications/
+http://www.shopworks.com/flmp/index.cfm/action/cart/userid/000D1850-2F00-19FE-9038010B0A0ADCF2
+http://shrike.depaul.edu/~afranz/multimedia/?S=A
+http://totalsports.net/news/20001014/bbo/mlb/sea/001014.0024.html
+http://totalsports.net/news/20001009/bbo/mlb/sea/001009.0039.html
+http://totalsports.net/news/20001006/bbo/mlb/sea/001006.0354.html
+http://cometweb01.comet.co.uk/do!session=131986&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkkHbqpLZXmLbkZHljlKaltLkilLXalKfkaLbukKeqjLi1
+http://html.tucows.ciaoweb.it/adnload/berglincondlbind.html
+http://www.tiscover.com/1Root/Interessante_Region/127151/sportfreizeit/m_sportfreizeit.wm_sport_freibad..1.html
+http://f24.parsimony.net/forum54080/messages/97.htm
+http://f24.parsimony.net/forum54080/messages/68.htm
+http://www.amulation.com/md-l-archive/199702/msg00210.html
+http://netpower.tucows.com/winnt/adnload/2821_29573.html
+http://kutschen.de/Schoner/Info-d/literature/collections/collections/Geschichte/
+http://webtools.myschoolonline.com/page/0,1871,0-353-38-44534,00.html
+http://www.linux.com/networking/network/help/hardware/open_source/GNOME/
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=12,25,26,17,24
+http://retailer.gocollect.com/do/session/1912664/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/exclusives.asp
+http://retailer.gocollect.com/do/session/1912665/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/news/index.asp
+http://ring.nihon-u.ac.jp/pub/doc/jpnic/members/WORLDNET/members.txt
+http://www.123webagent.com/q/001p/atn8/zImXxARDSm.htm
+http://www.tu-chemnitz.de/~jflo/DOSDemos/cost_b.txt
+http://yp.gates96.com/5/54/27/97.html
+http://yp.gates96.com/5/54/28/23.html
+http://yp.gates96.com/5/54/29/33.html
+http://yp.gates96.com/5/54/29/64.html
+http://rex.skyline.net/html/Medical_Equipment.html?224,software,equipment,agriculture,science
+http://adex3.flycast.com/server/socket/127.0.0.1:2800/click/OnlineCitiesSM/OnlineCitiesInteractiveCityGuides/bd434602591
+http://www.dispatch.co.za/1998/05/29/business/BA.HTM
+http://www.dispatch.co.za/1998/05/29/business/JSE.HTM
+http://retailer.gocollect.com/do/session/1912663/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/help/site_tour/index.asp
+http://retailer.gocollect.com/do/session/1912663/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/about.asp
+http://retailer.gocollect.com/do/session/1912663/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/contact.asp
+http://www.hblb.org.uk/hblbweb.nsf/$Pages/NewsArchive1!OpenDocument&ExpandSection=8,9,3,6,1,11,13
+http://retailer.gocollect.com/do/session/1912620/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/gifts/gift_floor.asp
+http://genforum.genealogy.com/ga/messages/4583.html
+http://genforum.genealogy.com/ga/messages/4582.html
+http://genforum.genealogy.com/ga/messages/4570.html
+http://genforum.genealogy.com/ga/messages/4561.html
+http://genforum.genealogy.com/ga/messages/5575.html
+http://ftp.gnu.org/software/sather/ICSI_Sather/whoswho.html
+http://dk.egroups.com/group/GHSBasketball
+http://dk.egroups.com/group/lovebasket
+http://biblioteca.upv.es/bib/doc/doc_fisbd/10/131276//V/1820145/0////25/S/MLTPAID
+http://www.qth.net/archive/packfr/200009/20000921.html
+http://213.36.119.69/do/session/152975/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/preparer/sante.htm
+http://ftp.lip6.fr/pub8/FreeBSD/FreeBSD-current/ports/emulators/mtools/
+http://ftp.lip6.fr/pub8/FreeBSD/FreeBSD-current/ports/emulators/sim6811/
+http://fyi.cnn.com/ASIANOW/asiaweek/97/0328/aa7.html
+http://pub21.ezboard.com/fbeauxbatonfrm32.showMessage?topicID=6.topic
+http://www.tente.de/us/produkte/produkteigenschaften/aa000001609.htm
+http://www.tente.de/us/produkte/produkteigenschaften/aa000001630.htm
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-stable/net/rboot/?N=D
+http://www.geocities.co.jp/Technopolis-Mars/3952/link.html
+http://saleonall.com/cat/software/reference/5112/969434/advanced-search.html
+http://www.jazzbude.de/EddieLockjawDavis/B000026F24.htm
+http://www6.freeweb.ne.jp/art/iftaka/art/
+http://www.canit.se/(ftp,irc,k15,www)/support/kontakt.html
+http://www.mirror.edu.cn/res/sunsite/pub/academic/chemistry/iupac/Download/publications/pac/special/0199/
+http://cinemabilia.de/details/katnr/234764/
+http://polygraph.ircache.net:8181/services/design/http_-2www.infolane.com/dallas.htm
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-stable/games/crafty-open-medium/pkg-comment
+http://uk.dir.yahoo.com/Education/Primary_and_Secondary/Schools/Middle_Schools/By_Region/U_S__States/Virginia/Complete_List/
+http://yp.gates96.com/6/2/10/13.html
+http://yp.gates96.com/6/2/10/41.html
+http://yp.gates96.com/6/2/10/83.html
+http://yp.gates96.com/6/2/11/51.html
+http://yp.gates96.com/6/2/11/89.html
+http://yp.gates96.com/6/2/12/22.html
+http://yp.gates96.com/6/2/12/58.html
+http://yp.gates96.com/6/2/12/62.html
+http://yp.gates96.com/6/2/12/79.html
+http://yp.gates96.com/6/2/13/19.html
+http://yp.gates96.com/6/2/13/51.html
+http://yp.gates96.com/6/2/13/64.html
+http://yp.gates96.com/6/2/14/75.html
+http://yp.gates96.com/6/2/15/91.html
+http://yp.gates96.com/6/2/16/83.html
+http://yp.gates96.com/6/2/18/15.html
+http://yp.gates96.com/6/2/18/54.html
+http://yp.gates96.com/6/2/19/35.html
+http://yp.gates96.com/6/2/19/68.html
+http://yp.gates96.com/6/2/19/75.html
+http://yp.gates96.com/6/2/19/82.html
+http://yp.gates96.com/6/2/19/87.html
+http://www.chaos.dk/sexriddle/z/w/c/b/v/
+http://itcareers.careercast.com/texis/it/itjs/+bwwBmeg5986wwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewhTwdGpdGwBna5dhBiwGnawppcoqwBodD5amnVncdpMnDBaiw5roDtBdDamwBwaoDqc1moDtamn5otDanLpnGonDqnawDwcO5o5aMFqhTfR20Dzme8hwwwpBmeMWD86etmwww5rmeHdwwwBrmeZpwww/jobpage.html
+http://itcareers.careercast.com/texis/it/itjs/+3wwBmeV6D86euhwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewhTwdGpdGwBna5dhBiwGnawppcoqwBodD5amnVncdpMnDBaiw5roDtBdDamwBwaoDqc1moDtamn5otDanLpnGonDqnawDwcO5o5aMFqhTfR20Dzme8hwwwpBmeMWD86etmwww5rmeidwwwBrmeZpwww/jobpage.html
+http://itcareers.careercast.com/texis/it/itjs/+iwwBmeiWD86zwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewhTwdGpdGwBna5dhBiwGnawppcoqwBodD5amnVncdpMnDBaiw5roDtBdDamwBwaoDqc1moDtamn5otDanLpnGonDqnawDwcO5o5aMFqhTfR20Dzme8hwwwpBmeMWD86etmwww5rme3dwwwBrmeZpwww/jobpage.html
+http://sanming.ebigchina.com/
+http://www.bestinfo.net.cn/bsti_kjxn/gn/guoneifagui/17hebei3.htm
+http://www.detroitfreepress.com/photos/umgallery/g8/g8.1.htm
+http://www.detroitfreepress.com/photos/umgallery/g8/g8.3.htm
+http://xgll.soyou.edu.cn/item/2000-04-07/43733.html43733.html
+http://se.egroups.com/message/bunyan/903
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/KIRJASTO-+JA+TIETOPALVELUT/p%E4ij%E4t-h%E4meen+koulutuskonserni/tietokannat/kirjastot/viitetietokannat/
+http://channel.nytimes.com/2000/05/19/technology/
+http://www.ycwb.com.cn/gb/2000/04/15/jrzk/jrms/5.html
+http://no.egroups.com/message/healthdigest/97
+http://no.egroups.com/message/healthdigest/119
+http://www.securitiestimes.com.cn/199909/10/ssgs_19990910007_xw.html
+http://javatest.a-net.nl/servlet/pedit.Main/http://www.dohistory.org/interests/i_teaching.html
+http://www.buybuddy.com/sleuth/27/1/11009/518452/
+http://www.buybuddy.com/sleuth/27/1/11001/518452/
+http://www.buybuddy.com/sleuth/27/1/11004/518452/
+http://ring.omp.ad.jp/archives/text/CTAN/fonts/metrics/tools/?D=A
+http://www.jamba.de/KNet/_KNet-CIq8j1-hEd-138qo/showInfo-special1.de/node.0/cde7f1uou
+http://cafe4.daum.net/Cafe-bin/Bbs.cgi/sdfamilypds/qry/zka/B2-kBI7p/qqatt/^
+http://www.insurequotes.com/oh3/1AB2.html
+http://www.egroups.com/login.cgi?login_target=%2Fmessage%2FWHKPNews%2F190
+http://www.linux.com/networking/network/performance/reliability/linux/?printable=yes
+http://preview.egroups.com/message/tattoos88/32
+http://ring.shibaura-it.ac.jp/archives/NetBSD/packages/1.5/cobalt/math/
+http://ring.shibaura-it.ac.jp/archives/NetBSD/packages/1.5/cobalt/sysutils/
+http://in.us.biz.yahoo.com/z/a/p/prgx/prgx_f0149933.html
+http://www.backflip.org/members/robeeena/6484057
+http://www.accesslasvegas.com/shared/health/adam/ency/article/003481res.html
+http://library.cuhk.edu.hk/search*chi/dAir+--+Pollution+--+China+--+Hong+Kong./dair+pollution+china+hong+kong/-17,1,1,B/frameset&F=dair+pilots+united+states+biography&7,,7
+http://innopac.lib.tsinghua.edu.cn:2082/search*chi/cTM-62+C288/ctm-62+c288/-5,-1,,B/browse
+http://www.nd.edu/~rarebook/coins/bnl-mg/BNL-index-B/BNL-index-BU/BNL-index-bursley.html
+http://home.kimo.com.tw/lcl566/布告欄.htm
+http://www.northampton.ac.uk/cgi-bin/liberation/betsie/betsie.pl/1005/www.northampton.ac.uk/stu/commdev/chap.htm
+http://www.peopledaily.co.jp/199905/11/newfiles/col_990511001040_zyxw.html
+http://missuniverse.studiostore.com/browse/PAGEANTS/CAP/s.pJicQfVY
+http://ftp.up.pt/Linux/Linus/kernel/v2.1/patch-html/patch-2.2.0-pre6/linux_drivers_misc_parport_procfs.c.html
+http://ftp.up.pt/Linux/Linus/kernel/v2.1/patch-html/patch-2.2.0-pre6/linux_drivers_sound_es1370.c.html
+http://ftp.up.pt/Linux/Linus/kernel/v2.1/patch-html/patch-2.2.0-pre6/linux_include_asm-arm_arch-vnc_system.h.html
+http://ftp.up.pt/Linux/Linus/kernel/v2.1/patch-html/patch-2.2.0-pre6/linux_include_asm-arm_dec21285.h.html
+http://www.gbnf.com/genealog2/dezarn/html/d0004/I1071.HTM
+http://dogbert.wu-wien.ac.at/UniverCD/cc/td/doc/product/access/acs_mod/cis4000/4000/c4000him/22693/
+http://www.uralweb.ru:8081/stats/who
+http://www.rrz.uni-hamburg.de/biologie/b_online/kegg/kegg/db/ligand/cpdhtm/C04881.html
+http://www.la.digitalcity.com/fortwaynein/health/conditions.dci?condition=badbreath
+http://ibelong.digitalcity.com/uticaarea/guygirlmidwest/main.dci?page=guyssept2000
+http://moviestore.zap2it.com/browse/MOVIES/JACKET/s.jNIqMaLO
+http://www.doc.ic.ac.uk/~ace97/whoknows/whoknows.cgi?topic=applescript
+http://www.doc.ic.ac.uk/~ace97/whoknows/whoknows.cgi?topic=prolog
+http://www.doc.ic.ac.uk/~ace97/whoknows/whoknows.cgi?topic=samba
+http://209.52.189.2/discussions.cfm/3031/1757-1776
+http://209.52.189.2/discussions.cfm/3031/757-776
+http://209.52.189.2/discussions.cfm/3031/57-76
+http://itcareers.careercast.com/texis/it/itjs/+DwwBmeOWD86OwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewVtqDhdGMwBodDanDtoDnnGaoDBntGwBodDaMwDwtnMnDBanDBnGpGo5na5nGVnG5anLpnGonDqnaDnBidGAa5O5BnMawppcoqwBodDaMFqhTfR20DzmeitwwwpBme2WD86e1xwww5rmenDwwwBrmeZpwww/morelike.html
+http://volunteersolutions.org/austin/volunteer/opp/one_100634_printer_detailed.html
+http://www.changeyourhome.net/PropertiesToLet/WithamLet/LOO606/pages/DCP_0421_JPG.htm
+http://www.users.qwest.net/~eagletac/
+http://www.motorradversand.de/cgi-bin/bekleidung/integralhelm/NG94G933/beurteilung.htm
+http://stol.list.ru/catalog/25440.html
+http://stol.list.ru/catalog/25301.html
+http://www.eveclub.com/cgi-bin/eveclub.front/972959436300/Club/start/1000000
+http://www.gohamptonroads.com/sportsticker/events/06-12/0447.CWS.FSUTEXCURRENT.html
+http://genforum.genealogy.com/merriman/messages/228.html
+http://genforum.genealogy.com/merriman/messages/223.html
+http://genforum.genealogy.com/merriman/messages/163.html
+http://genforum.genealogy.com/merriman/messages/495.html
+http://genforum.genealogy.com/merriman/messages/232.html
+http://genforum.genealogy.com/merriman/messages/351.html
+http://genforum.genealogy.com/merriman/messages/324.html
+http://genforum.genealogy.com/merriman/messages/510.html
+http://genforum.genealogy.com/merriman/messages/57.html
+http://genforum.genealogy.com/merriman/messages/12.html
+http://genforum.genealogy.com/merriman/messages/263.html
+http://genforum.genealogy.com/merriman/messages/15.html
+http://retailer.gocollect.com/do/session/1912656/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus53832/eus53833/eus328722/eus129553/eus129564/
+http://cma.arabia.com:8008/jordan/article/print/arabic/0,5195,3750,00.html
+http://webhome.ai-lab.fh-furtwangen.de/for_local_use_only/CD-TMFUMV/daten/mathema/01121m/?N=D
+http://store1.europe.yahoo.com/brink2/2000000141305.html
+http://www.contractorresource.com/Vermont/Westford/Architects.shtml
+http://www.bemi-immobilien.de/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/3d-service/Top-Darlehens-Konditionen/Startseite/Gemeinsam/versicherungen/gebaeude/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Top-Darlehens-Konditionen/anforderungsformular.htm
+http://free.polbox.pl/p/pphromar/OFERTA.htm
+http://www.burstnet.com/ads/ad5788a-map.cgi/tr00010005_12
+http://www.private-immobilien-boerse.de/ungarn/verkauf/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/Gemeinsam/Immolink/3d-service/IIM-Teil/Startseite/froben.htm
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/KIRJASTO-+JA+TIETOPALVELUT/ammattikorkeakoulukirjastot/lahti/toisen+asteen+koulutus/ammattikorkeakoulut/
+http://www.geomag.com/pirates/html/4books.html
+http://www.lithoquoter.com/Scripts/WebObjects.exe/Printers.woa/559420000049560000009753100000548302/main.wo/7016200000448302/0/-/prime
+http://www.adventurecentre.com/Framesets/intrside/csh.htm
+http://mitglied.tripod.de/vox0/negrostodos/de_sexo_dobles.html
+http://www.sasinstitute.com/offices/asiapacific/taiwan/whatsnew/art1999/art091601.html
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/gdb/sim/ppc/Attic/ppc-opcode-complex?only_with_tag=HEAD
+http://www.yorosiku.net:8080/-_-http://www.suntory.co.jp/eco/what.html
+http://www.yorosiku.net:8080/-_-http://www.suntory.co.jp/culture/birds/welcome.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/linux/music/misc/unitest/lit/pushkin.html
+http://sunsite.uakom.sk/tucows/adnload/69291_28346.html
+http://members.tripod.com/yamabito2/gardening_000416_0502_n22.htm
+http://www.affiliate.hpstore.hp.co.uk/do/session/380775/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/REGISTRATION/entry.asp
+http://www.onsemi.com.cn/pub/prod/0,1193,products1_Disty_order=MC100H642FNR2,00.html
+http://perso.wanadoo.fr/michel.brunel/Infographie/content/contacts.htm
+http://mindit.netmind.com/proxy/http://www.film.com/RGI/FC.(/watch/broadband.jhtml).def...RGI//reviews/features/mow/blairwitch2.jhtml
+http://www.doc.ic.ac.uk/lab/labsrc_area/firstyear/submissions/1997-98/jmc1/labs/Ex09/gv197/?N=D
+http://www-d0.fnal.gov/d0dist/dist/releases/test/l3fmuo_unpack/rcp/?N=D
+http://students.lsu.edu/students/main.nsf/c81d2bf8cb0b80ff862566fb00105ab2/44dc495cc7534894862566fe00127751!OpenDocument&ExpandSection=7,10,4,9
+http://www.zdnet.com/gamespot/filters/printerfriendly/0,10855,2531809-95,00.html
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/asiasanahaku/el%25C3%2583%25C2%25A4kelaitokset/vakuutuslaitokset/rahoitus/el%E4kerahastot/
+http://coe.ier.hit-u.ac.jp/BibEc/data/Papers/fthteavfo2-96.html
+http://polygraph.ircache.net:8181/http_-2ESPN.SportsZone.com/nfl/mall/http_-2www.excite.com/http_-2www.exploreuw.com/cards/
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=cosido&l=pt
+http://fazmali.bigsmart.com/mall/allinone/comparison_chart_new.html
+http://sunsite.ualberta.ca/pub/Mirror/gnu/etc/ORDERS
+http://www.bumppo.net/lists/realbasic-dr/1998/12/msg00347.html
+http://www.bumppo.net/lists/realbasic-dr/1998/12/msg00363.html
+http://www.bumppo.net/lists/realbasic-dr/1998/12/msg00482.html
+http://www.bumppo.net/lists/realbasic-dr/1998/12/msg00483.html
+http://www.bumppo.net/lists/realbasic-dr/1998/12/msg00499.html
+http://www.bumppo.net/lists/realbasic-dr/1998/12/msg00508.html
+http://www.bumppo.net/lists/realbasic-dr/1998/12/msg00518.html
+http://it.sports.yahoo.com/000911/90/of8m.html
+http://ftp.support.compaq.com/public/dunix/v3.2g/TruCluster_V1.0/?M=A
+http://ftp.support.compaq.com/public/dunix/v3.2g/TruCluster_V1.0/ReleaseNotes.pdf
+http://www.quzhou.gov.cn/flfg.nsf/0a043ae26eb50247002564640039f21d/e3cb86464a9f805a002564ac0039422d!OpenDocument&ExpandSection=5,1,9
+http://www.quzhou.gov.cn/flfg.nsf/0a043ae26eb50247002564640039f21d/e3cb86464a9f805a002564ac0039422d!OpenDocument&ExpandSection=6,1,9
+http://polygraph.ircache.net:8181/Keyboards/http_-2www.sky.net/~robertf/http_-2domino.findyn.com/fdi.nsf/http_-2home.netscape.com/
+http://www.nv.cc.va.us/home/jakim
+http://itcareers.careercast.com/texis/it/itjs/+nwwBmJe0B-deVmwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewXhmoBGnaqdGpdGwBodDaDnBidGAoDta5O5BnM5amo5BGox1BnmanDtoDnnGaMw55wqr15nBB5a51ppdGBamnVncdpaBn5BaMFqhTfR20DzmeQtwwwpBme-WD86eyxwww5rmesdwwwBrmeZpwww/morelike.html
+http://itcareers.careercast.com/texis/it/itjs/+MwwBme7WD86JwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewXhmoBGnaqdGpdGwBodDaDnBidGAoDta5O5BnM5amo5BGox1BnmanDtoDnnGaMw55wqr15nBB5a51ppdGBamnVncdpaBn5BaMFqhTfR20DzmeQtwwwpBme-WD86eyxwww5rme4dwwwBrmeZpwww/jobpage.html
+http://my.dreamwiz.com/hideyu/couple/couplemain.htm
+http://www.noras.bizland.com/top_pages/top_gen_1.htm
+http://www.nomade.fr/catm6/entreprises_economi/electricite_electro/electricite/composants_fournitu/index5.shtml
+http://www.staroriental.net/nav/soeg_c/ihf,aeb,s0,363,黎明.html
+http://online.excite.de/lifestyle/katalog/27990
+http://www.linux.com/networking/network/performance/install/news/Linux/
+http://www.linux.com/networking/network/performance/install/news/kernel/
+http://tw.yahoo.com/Regional/Countries_and_Regions/China/Provinces__Regions_and_Municipalities/Shandong/Cities_and_Towns/He_Zhe/Government/
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/ReadAdverData/2000-10-29/12/972792271154.txt
+http://independent-sun-01.whoc.theplanet.co.uk/news/Sport/Football/Bradford/ipswich221000.shtml
+http://www.emis.de/journals/EJDE/Monographs/Volumes/Monographs/1996/05-Hetzer/Hetzer-tex
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.3-4/linux/arch/arm/def-configs/assabet?only_with_tag=LINUX-2_4_0-test1
+http://www.nrk.no/finnmark/x22_8_96/arkivet/
+http://pelit.saunalahti.fi/.9/telenation/valveworld/games/Half-Life/?S=A
+http://pelit.saunalahti.fi/.9/telenation/valveworld/games/Half-Life/_Dedicated.txt
+http://pelit.saunalahti.fi/.9/telenation/valveworld/games/Half-Life/_Mods.txt
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-stable/games/bugsx/?N=D
+http://ring.yamanashi.ac.jp/archives/NetBSD/packages/1.4.1/sparc/databases/
+http://citeseer.nj.nec.com/cidcontext/260967
+http://members.tripod.co.jp/jojo6251/sasamineHP.htm
+http://www.segodnya.ru/w3s.nsf/Archive/2000_96_life_vrez_noname2.html
+http://www.citybrasil.com.br/rs/ivora/cidadefala.htm
+http://web62.com/engl/fashion/pompoes/nav.htm
+http://www.jufo.com/netcenter/house/item/bglz/477_lmt.html
+http://gatekeeper.dec.com/pub/BSD/FreeBSD/FreeBSD-current/src/gnu/libexec/uucp/uupick/
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/lelandsystems.stanford.edu/announce/pubsw/
+http://www.schleuse.de/maschine/World/Deutsch/Kultur/Literatur/Autoren_und_Autorinnen/D/Dominik,_Hans/
+http://www.elsur.cl/archivo/mayo2000/8mayo2000/elsur/espectaculos/ind2.php3
+http://www.jpc-neuheiten.de/2881737.htm
+http://www.digitaldrucke.de/(aktuell,arbeitsvermittlung,computer,creaccess,gaestebuch,hilfe,hilfeallgemein,individualverkehr,kultur,onlineservice,schnellübersicht,sense,veranstaltungen,verkehr,von)/_fort/html/themen/computer/soft/links/softquad.htm
+http://bbs.syu.ac.kr/NetBBS/Bbs.dll/groupbbs031/rcm/zka/B2-kB23m/qqo/004A/qqatt/^
+http://www.city-map.de/city/print/nl/Niedersachsen/Osterholz/actueel_&_nieuw/onroerendgoed_&_woningen/k012700681.html
+http://members.tripod.com/sultana_2/thiskindalife.htm
+http://members.tripod.com/sultana_2/thisthing.htm
+http://members.tripod.com/sultana_2/believeinthis.html
+http://tulips.ntu.edu.tw/search*chi/m586.47+4412/m586.47+4412/-5,-1,0,B/frameset&F=m586.48+0146&1,1
+http://btp1da.phy.uni-bayreuth.de/ftp/pub/FreeBSD/ports/www/linbot/?S=A
+http://pub6.ezboard.com/fbiblediscussionandsharingparableorversesharing.subscribeUnregisteredToTopic?topicID=113.topic
+http://www.cs.rit.edu/usr/local/pub/atk/course_descr/481.dir/?M=A
+http://neptune.guestworld.com/gear/gateway.cfm?action=manage&owner=Nickdays
+http://retailer.gocollect.com/do/session/1912673/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/shipping_policy.asp
+http://tucows.minorisa.es/adnload/001-006-009-001.html
+http://www.cwi.nl/~jack/spunk/texts/pubs/sekhmet/8/sp001225.txt
+http://homepage.yesky.com/33554432/36700160/103524.htm
+http://cvs.php.net/viewcvs.cgi/php3/functions/gd.c?annotate=1.65&sortby=log
+http://www.genexchange.com/deathreg.cfm?state=nc&county=pasquotank
+http://www.genexchange.com/schoolreg.cfm?state=nc&county=pasquotank
+http://www.tagnet.org/uva/Eventos/Emergencia99/Fotos/FotosOccidente01.htm
+http://itcareers.careercast.com/texis/it/itjs/+CwwBmue0B-dswwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew6nmoBGnaqdGpdGwBodDa5oBnaoDqc1mnanLqnca15naGn31oGnma5Aocc5awqqd1DBoDtamn5oGwxcnaMFqhTfR20Dzme9twwwpBme+6D865www5rmesDwwwBrmeRdwww/jobpage.html
+http://retailer.gocollect.com/do/session/1912638/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://kulichki-win.rambler.ru/inkwell/bio/zitinsk.htm
+http://www.thestateofcolorado.com/e1tatpiercing.html
+http://www.pc-schulmusik.purespace.de/seminar/START.HTM
+http://www.feeler.nl/rubrieken/index.xml/818004059
+http://ftp.dartmouth.edu/~mcb/faculty/fiering.html
+http://ustlib.ust.hk/search*chi/cHD30.28+.C56+1995/chd+++30.28+c56+1995/-17,-1,0,E/2browse
+http://herndon1.sdrdc.com/cgi-bin/com_detail/C00325258/
+http://www.linux.com/networking/network/industry/press_release/linuxworld/Linux/
+http://mindit.netmind.com/proxy/http://www.abc.net.au/children/bananas/dreamtime/page1.htm
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959860700/Catalog/1000188
+http://207.87.5.36/pc/news/saa7108/
+http://musicalproducts.asiaep.com/muspro5a.htm
+http://www.trax.nilex.co.uk/trax.cgi/A1S/A1U/1AL/A1S/A2S/C1L/
+http://www.cjga.com/JamMoviesCanadianO/obsessed.html
+http://www.symantec.se/region/jp/support/mac/utiliti/num352/num352up.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=catapultaras&l=pt
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=catapultai&l=pt
+http://no.egroups.com/group/Chenzhou-families
+http://www.teenplatinum.com/barelylegal/anal-sexass/young-adultbest-friends/hardaction/slutsnude/red-toenail-polishfoot-fetish/toenail-polish.html
+http://beatles.sonicnet.com/allmusic/ai_links.jhtml?ai_id=1000
+http://www.luecos.de/wow/art/fu_satir_30142.html
+http://nw1.newsweek.com/nw-srv/inetguide/iguide_4505343.html
+http://www.si.uniovi.es/mirror/squid/mail-archive/squid-users/200002/0637.html
+http://sunsite.compapp.dcu.ie/pub/perl/modules/by-category/08_User_Interfaces/Tk/NI-S/Tk402.004.readme
+http://www.amzn.com/exec/obidos/tg/feature/-/44435/
+http://www.amzn.com/exec/obidos/tg/feature/-/2869/
+http://www.hanter21.co.kr/NetBBS/Bbs.dll/dhliter02/lst/qqeq/1/zka/B2-kBINo/qqo/PRMY
+http://www.linux.com/networking/network/help/email/web/security/
+http://www.linux.com/networking/network/help/email/web/Slackware/
+http://www.linux.com/networking/network/help/email/web/e-commerce/
+http://www.linux.com/networking/network/help/email/web/release/
+http://debian.tod.net/debian/dists/stable/contrib/binary-all/web/?S=A
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-current/devel/fastcrc/pkg-descr
+http://www.trax.nilex.co.uk/trax.cgi/A1C/A2S/B1S/B3S/B1S/C1U/
+http://www.trax.nilex.co.uk/trax.cgi/A1C/A2S/B1S/B3S/B1S/C1D/
+http://rex.skyline.net/html/Metalurgy.html?266,supplies,hobbies,painting,arts
+http://infoseek.wunderground.com/geo/BigtempBannerPromo/US/CO/Cortez.html
+http://www.kaernten.at/1Root/Kontinent/6/Staat/7/Bundesland/17/Ort/820/Pension/304806/Homepage/h_homepage...1.html
+http://dellnet.excite.de/nachrichten/katalog/6663
+http://www.users.skynet.be/eloymarc/infomobil2/sobeen13.htm
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/hXRIA9gT9KNJakAdbkyW2SaEFRyXAJCa2tpUDiYF1BHxbpYG0_go-roWL4XPWFopknXRvCQG4gmCQLNceomD4GJpJ4hvR4eYeQbgN2CFeSPhxakPczINPvttFOQK3IDjjmYz66jR
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/_cRIZWRepq55uG8fC8ijlWOJrkBzrY7AXdlxz7fhosBeDRNPqhpYFY3uMBgWodvLAPXL2sPRQ7GqKF66xzHYxHZISDRz4dfZjEKnEShXdRFhDxBcOPx4ufr7uXHA0sNvRvMq6Z1j
+http://polygraph.ircache.net:8181/health/http_-2cyril.com/http_-2www.americanexpress.com/corp/consumerinfo/privacy/privacystatement.shtml
+http://polygraph.ircache.net:8181/health/http_-2cyril.com/arch.html
+http://www.villager.com/ctg/cgi-bin/Villager/home/AAAksrACwAAACCOAAI
+http://www.medoc-ias.u-psud.fr:81/synoptic/gif/950829/?D=A
+http://members.tripod.lycos.nl/unlimited_pagez/pld2.html
+http://www.thisislancashire.co.uk/lancashire/archive/1996/01/25/FEATURES0VQ.html
+http://members.tripod.com/rebelstrange/buxoms.html
+http://fi.egroups.com/message/TEZKo/3
+http://www.yamato.jp.ibm.com/servers/eserver/xseries/about/availa.html
+http://polygraph.ircache.net:8181/NetworkInfo/http_-2www.thepetsupply.com/3d/web.html
+http://polygraph.ircache.net:8181/NetworkInfo/http_-2www.thepetsupply.com/3d/http_-2www.sccsi.com/welcome.html
+http://www.luf.org/wiki/edit/GIG/GenericCodingTerm
+http://208.178.109.85/msgshow.cfm/msgboard=822531545582878&msg=50215618980084&page=1&idDispSub=-1
+http://mercury.spaceports.com/~xenical/diet-food.html
+http://de.news.yahoo.com/991202/3/echc.html
+http://web.tiscalinet.it/ipsiang/uviafede/tertulli.html
+http://www.brio.de/BRIO.catalog/39fdb8820423a4d82740d472aa780733/Customer/Register
+http://rainforest.parentsplace.com/dialog/thread.pl/bradley2/16/2.html?dir=prevResponse
+http://www.centc251.org/forums/aca-1/dispatch.cgi/isowg4/folderFrame/100012/0/def/1208103
+http://www.bemi-immobilien.de/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/versicherungen/gebaeude/Gemeinsam/Inserieren/Gemeinsam/MarketingStrategie/Gemeinsam/erreichenPartner/Gemeinsam/versicherungen/unfall/Top-Darlehens-Konditionen/anforderungsformular.htm
+http://www.planetit.com/techcenters/docs/internet_&_intranet/news/PIT20000630S0024/threads?comment_status=on
+http://ftp.eq.uc.pt/software/unix/Linux/redhat/redhat-6.2/doc/HOWTOS/localization/Hellenic-HOWTO-html/Hellenic-HOWTO-8.html
+http://help.sap.com/saphelp_45b/helpdata/de/20/7be8341545ab06e10000009b38f83b/applet.htm
+http://www.imagestation.com/member/?name=RonnyClas6&c=1
+http://www.egroups.com/messages/cmass-syd-talk/1170
+http://bellsouth-cl.tucows.com/winnt/xwinservernt_size.html
+http://ftp.surfnet.nl/os/FreeBSD/cdrom/development/FreeBSD-CVS/ports/mail/youbin/patches/home.html
+http://chat.bigchurch.com/cgi-bin/w3com/pws/bc/PDhIf1s64yA1us4SS1FzmCsroIgpwrmcmdaKEhvT295b5JjMxs9ttaP_gpBzDbn5VR9hkgTaiz3efTGjRK64ORbhJMs0Q8ONiYshBhnFHdkQjl3uSSwZim5B5Layd_SDwYDTVgHM659c
+http://www.starshop.co.uk/Masson-Andre/Masson-Andre-Soleil-3200802.html
+http://www.21hk.com/book/wx1/wx/zpj/h/huanzhulouzhu/shushan/4/
+http://www.dietrich-computer.de/creativegrafik.htm
+http://forum.kf.kommorg.no/forum/agenda21/dispatch.cgi/disk_1/showFolder/100005/9206559
+http://mindit.netmind.com/proxy/http://abc.net.au/rn/schedule/wed.htm
+http://www.fogdog.com/cedroID/ssd3040183156802/nav/stores/adventure_travel/
+http://www.fogdog.com/cedroID/ssd3040183156802/nav/stores/tennis/
+http://link.fastpartner.com/do/session/600349/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/nordicliving.php
+http://members2.clubphoto.com/luisf216501/TAMARINDO/icons.phtml
+http://www.affiliate.hpstore.hp.co.uk/do/session/380795/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/SMARTTIPS/brocdesign.asp
+http://www.hblb.org.uk/hblbweb.nsf/$Pages/NewsArchive1!OpenDocument&ExpandSection=3,7,14,5,13,4,12
+http://www.chaos.dk/sexriddle/d/l/t/i/a/
+http://www.crutchfield.com/S-s7BJxKzNmKr/shop/
+http://www.crutchfield.com/cgi-bin/S-s7BJxKzNmKr/email.asp?sid=S-s7BJxKzNmKr
+http://tucows.interbaun.com/winme/adnload/137104_47064.html
+http://iland.tucows.com/win2k/adnload/73990_29810.html
+http://ftp.uk.debian.org/debian/dists/woody/contrib/binary-alpha/text/?M=A
+http://sound-dist.secured.co.uk/cgi-bin/psShop.cgi/add|10P02|972959526|Warm===and===Dry|user|0|1,0,0,1
+http://pub14.ezboard.com/fjavagateforum69255multibasicboard
+http://www.xrefer.com/entry/317621
+http://library.cuhk.edu.hk/search*chi/aChen,+Jih-peng./achen+jih+peng/-5,-1,0,B/frameset&F=achen+jie+qi&1,1
+http://library.cuhk.edu.hk/search*chi/aChen,+Jih-peng./achen+jih+peng/-5,-1,0,B/exact&F=achen+jih+hsin&1,2
+http://yp.gates96.com/5/50/60/53.html
+http://yp.gates96.com/5/50/60/98.html
+http://yp.gates96.com/5/50/61/14.html
+http://yp.gates96.com/5/50/61/60.html
+http://yp.gates96.com/5/50/62/0.html
+http://yp.gates96.com/5/50/63/12.html
+http://yp.gates96.com/5/50/63/14.html
+http://yp.gates96.com/5/50/63/51.html
+http://yp.gates96.com/5/50/63/52.html
+http://yp.gates96.com/5/50/64/2.html
+http://yp.gates96.com/5/50/64/31.html
+http://yp.gates96.com/5/50/65/36.html
+http://yp.gates96.com/5/50/65/44.html
+http://yp.gates96.com/5/50/65/58.html
+http://yp.gates96.com/5/50/65/78.html
+http://yp.gates96.com/5/50/66/33.html
+http://yp.gates96.com/5/50/66/38.html
+http://yp.gates96.com/5/50/67/3.html
+http://yp.gates96.com/5/50/67/83.html
+http://yp.gates96.com/5/50/68/40.html
+http://yp.gates96.com/5/50/69/2.html
+http://yp.gates96.com/5/50/69/36.html
+http://yp.gates96.com/5/50/69/49.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=cochichastes&l=pt
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=cochicharam&l=pt
+http://www.affiliate.hpstore.hp.co.uk/do/session/380791/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp.com/cposupport/fr/?CTRYcod=FR
+http://www.affiliate.hpstore.hp.co.uk/do/session/380791/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/FR/REGISTRATION/entry.asp
+http://pub22.ezboard.com/fworldofmugenfrm2.showMessage?topicID=131.topic&index=1
+http://pub23.ezboard.com/fmugenshowdownfrm8.showMessage?topicID=36.topic&index=1
+http://www.questlink.com/QL/CDA/Research/ProductBrief/1,1768,0_11203_135680_85724,00.html
+http://www.jamba.de/KNet/_KNet-KBq8j1-gEd-138pd/showInfo-special1.de/node.0/cde7f1uou
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_41/chapter_050/rcw_41_50_650.txt
+http://www.tiscover.ch/1Root/Kontinent/6/Staat/30/Bundesland/31/Ort/234/Ferienpaket/20120/Homepage/buchen...1.html
+http://family.go.com/Categories/Features/family_2000_02/kidv/kidv0200resourceiii/
+http://www.online.kokusai.co.jp/Service/V0043469/wrd/G200/service/service.html
+http://www.linux.com/networking/network/help/hardware/website/ISP/
+http://store1.europe.yahoo.com/I/freemans_1592_58696403
+http://202.99.23.195/BIG5/channel5/745/20000427/51173.html
+http://www-usa10.cricket.org/link_to_database/GROUNDS/WI/ALBION/ALBION_SPORTS_COMPLEX_00772/
+http://www16.freeweb.ne.jp/computer/taka34/
+http://books.hyperlink.co.uk/bookinfo/Caught_in_a_Tornado/Ross/James_R./155553192X
+http://ftp.uni-stuttgart.de/pub/security/unix/SSLapps/doc/?S=A
+http://www.moviestarpages.com/rebecca_romijn-stamos/picture05.htm
+http://html.tucows.ciaoweb.it/adnload/001-009-008-022.html
+http://html.tucows.ciaoweb.it/adnload/001-009-008-019.html
+http://www.brio.de/BRIO.catalog/39fe2f4306cb75f4273fd472aa780708/UserTemplate/2
+http://www.hole.kommune.no/hole/journweb.nsf/weboffjournal!OpenView&Start=92&Count=50&Expand=170
+http://polygraph.ircache.net:8181/docs/Win95/MSdialer/http_-2www.fastcounter.com/http_-2home.netscape.com/home/http_-2www.bildhome.com/plantationhomes/bale1500.htm
+http://polygraph.ircache.net:8181/docs/Win95/MSdialer/http_-2www.fastcounter.com/http_-2home.netscape.com/home/http_-2www.bildhome.com/plantationhomes/bale8000.htm
+http://writer.heha.net/poetics/90_poetics.htm
+http://yp.gates96.com/5/55/20/98.html
+http://yp.gates96.com/5/55/21/17.html
+http://yp.gates96.com/5/55/21/75.html
+http://yp.gates96.com/5/55/22/2.html
+http://yp.gates96.com/5/55/22/22.html
+http://yp.gates96.com/5/55/22/92.html
+http://yp.gates96.com/5/55/23/11.html
+http://yp.gates96.com/5/55/23/46.html
+http://yp.gates96.com/5/55/23/66.html
+http://yp.gates96.com/5/55/23/90.html
+http://yp.gates96.com/5/55/24/2.html
+http://yp.gates96.com/5/55/24/83.html
+http://yp.gates96.com/5/55/24/85.html
+http://yp.gates96.com/5/55/25/62.html
+http://yp.gates96.com/5/55/26/38.html
+http://yp.gates96.com/5/55/26/48.html
+http://yp.gates96.com/5/55/28/5.html
+http://yp.gates96.com/5/55/28/77.html
+http://yp.gates96.com/5/55/29/14.html
+http://yp.gates96.com/6/50/40/47.html
+http://yp.gates96.com/6/50/40/60.html
+http://yp.gates96.com/6/50/40/62.html
+http://yp.gates96.com/6/50/41/81.html
+http://yp.gates96.com/6/50/41/83.html
+http://yp.gates96.com/6/50/42/58.html
+http://yp.gates96.com/6/50/42/90.html
+http://yp.gates96.com/6/50/42/93.html
+http://yp.gates96.com/6/50/43/29.html
+http://yp.gates96.com/6/50/43/79.html
+http://yp.gates96.com/6/50/43/85.html
+http://yp.gates96.com/6/50/44/40.html
+http://yp.gates96.com/6/50/44/76.html
+http://yp.gates96.com/6/50/44/81.html
+http://yp.gates96.com/6/50/45/15.html
+http://yp.gates96.com/6/50/45/52.html
+http://yp.gates96.com/6/50/46/15.html
+http://yp.gates96.com/6/50/46/19.html
+http://yp.gates96.com/6/50/46/92.html
+http://yp.gates96.com/6/50/47/2.html
+http://yp.gates96.com/6/50/47/7.html
+http://yp.gates96.com/6/50/47/33.html
+http://yp.gates96.com/6/50/49/29.html
+http://yp.gates96.com/6/50/49/36.html
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/wRtIx3JBCL5wVzA1pIKradbm9z4Oo2BbPRx_FVh-j4UyLzjojbipsV0nsuM2iF9RxJ1jG2C4LUy3YP5pJl7qDqPdnqV765l2x5hJ0fIUUJuWLaccxO0svbclJ4-alyBQj6Y5dO8YdURyhf9q05q8mJ25FlvF62sm
+http://213.36.119.69/do/session/152980/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www3.travelprice.com/voyages/recherche.phtml
+http://yp.gates96.com/6/2/20/11.html
+http://yp.gates96.com/6/2/21/12.html
+http://yp.gates96.com/6/2/21/51.html
+http://yp.gates96.com/6/2/21/56.html
+http://yp.gates96.com/6/2/22/8.html
+http://yp.gates96.com/6/2/22/38.html
+http://yp.gates96.com/6/2/22/65.html
+http://yp.gates96.com/6/2/23/14.html
+http://yp.gates96.com/6/2/23/50.html
+http://yp.gates96.com/6/2/23/57.html
+http://yp.gates96.com/6/2/23/75.html
+http://yp.gates96.com/6/2/24/15.html
+http://yp.gates96.com/6/2/24/31.html
+http://yp.gates96.com/6/2/24/43.html
+http://yp.gates96.com/6/2/24/70.html
+http://yp.gates96.com/6/2/24/87.html
+http://yp.gates96.com/6/2/25/22.html
+http://yp.gates96.com/6/2/25/53.html
+http://yp.gates96.com/6/2/25/90.html
+http://yp.gates96.com/6/2/26/25.html
+http://yp.gates96.com/6/2/26/26.html
+http://yp.gates96.com/6/2/26/45.html
+http://yp.gates96.com/6/2/26/76.html
+http://yp.gates96.com/6/2/27/34.html
+http://yp.gates96.com/6/2/28/1.html
+http://yp.gates96.com/6/2/28/25.html
+http://yp.gates96.com/6/2/29/2.html
+http://yp.gates96.com/6/2/29/31.html
+http://yp.gates96.com/6/2/29/57.html
+http://yp.gates96.com/6/2/29/74.html
+http://archive.bitcon.no/tucows//winme/preview/136862.html
+http://archive.bitcon.no/tucows//winme/preview/138371.html
+http://archive.bitcon.no/tucows//winme/preview/137011.html
+http://archive.bitcon.no/tucows//winme/preview/137897.html
+http://archive.bitcon.no/tucows//winme/preview/138157.html
+http://www.ngmag.com/books/reference/0792275667.html
+http://socrates.berkeley.edu:4231/pth.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/music/midi/lit/quizz/lit/multiple.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/music/midi/lit/quizz/lit/god.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/music/midi/lit/quizz/misc/colorart/
+http://retailer.gocollect.com/do/session/1912687/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/postcards/index.asp
+http://www.affiliate.hpstore.hp.co.uk/do/session/380807/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/creative/entry.asp
+http://home.swipnet.se/~w-29806/Tab/Guitar/Svenska/h/Jakob%20Hellman/VACKERT_.TXT
+http://jupiter.u-3mrs.fr/~msc41www/releves/16860204.HTM
+http://citeseer.nj.nec.com/cidcontext/1003669
+http://citeseer.nj.nec.com/cidcontext/1003675
+http://citeseer.nj.nec.com/cidcontext/1003676
+http://www.escribe.com/religion/nondualitysalon/m10801.html
+http://www.escribe.com/religion/nondualitysalon/m10824.html
+http://www.tvstore.com/browse/TV/PATCH/s.bCooTxTe
+http://digilander.iol.it/lorciao/computer.htm
+http://yosemite.epa.gov/r9/sfund/overview.nsf/ef81e03b0f6bcdb28825650f005dc4c1/1d8f2e36da9dc1de8825660b007ee696?OpenDocument&ExpandSection=-1,-8,-4
+http://cn.egroups.com/post/ukr_liga?act=reply&messageNum=40
+http://www.lithoquoter.com/Scripts/WebObjects.exe/Printers.woa/048720000079262000002260000000798302/Session_Expired_Page.wo/6144200000698302/0/-/prime
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=coadjuvaram&l=pt
+http://www.craft-supplies.co.uk/cgi-bin/psProdDet.cgi/LW132|972959517|Liming_&_Patinating|user|0|0,0,1,1
+http://www.angelfire.com/va/boogiescamp
+http://www.kyotei.or.jp/JLC/VS/19/991209/0212.htm
+http://www.affiliate.hpstore.hp.co.uk/do/session/380800/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/assistance/entry.asp
+http://www.city-map.nl/city/map/en/Niedersachsen/Landkreis_Cuxhaven/customers/Dr.rer.nat._Büro_für_Erdwiss.Untersuchungen_Udo_Lade/contact.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=consternais&l=pt
+http://muenchen.bda.de/freizeitparks/gastbuch/gaestebuch003.html
+http://www.linux.com/networking/network/industry/growth/editing/SAP/
+http://www.linux.com/networking/network/industry/growth/editing/mobile/
+http://lists.omnipotent.net/qmail/199909/msg00892.html
+http://lists.omnipotent.net/qmail/199909/msg00952.html
+http://lists.omnipotent.net/qmail/199909/msg00964.html
+http://ftp.cc.chuo-u.ac.jp/home/pub/lang/perl/CPAN/ports/msdos/old/?N=D
+http://www3.buch-per-sms.de/faq.jsp$ID=To7697mC5277111659640048At0.5320036065114109
+http://www3.buch-per-sms.de/wir_ueber_uns.jsp$ID=To7697mC5277111659640048At0.5337056452821441
+http://tradersdirectory.com/channel/jobs/insurance/insurance_policy_clerk/b.2166.g.2360.html
+http://www.mapion.co.jp/custom/nikkei/admi/13/13119/takashimadaira/7chome/27/
+http://www.dispatch.co.za/1998/02/19/easterncape/MARCHANC.HTM
+http://www.techsupplies.com/sleuth/33/1/10703/523434/
+http://fi.egroups.com/message/911dispatchers/171
+http://polygraph.ircache.net:8181/services/define/toast/congress2000/http_-2www.sportfish.net/fish.htm
+http://polygraph.ircache.net:8181/services/define/toast/congress2000/MS.htm
+http://polygraph.ircache.net:8181/services/define/toast/congress2000/http_-2leader.linkexchange.com/1/X171400/clicklogo
+http://polygraph.ircache.net:8181/services/define/toast/congress2000/cfiref.htm
+http://www.digitaldrucke.de/(aktuell,arbeitsvermittlung,computer,daham,hilfe,individualverkehr,kultur,literatur,veranstaltungen,verkehr)/_fort/html/themen/aktuell/events/events.htm#regional
+http://dellnet.excite.de/computer/katalog/7054
+http://read.cnread.net/cnread1/ztxs/b/baitian/lmss/006.htm
+http://www-d0.fnal.gov/d0dist/dist/releases/psim01.02.00/l2utils/GNUmakefile
+http://www.allgemeine-immobilien-boerse.de/Frankreich/Verkauf/Private-IB/Startseite/Gemeinsam/erreichenPartner/Gemeinsam/Inserieren/Allgemeine-IB/
+http://wish.themes.tucows.com/adnload/14495.html
+http://wish.themes.tucows.com/preview/14494.html
+http://wish.themes.tucows.com/preview/78220.html
+http://www.uwm.edu/IMT/Computing/sasdoc8/sashtml/af/z0230835.htm
+http://www.bdnet.com/Taiga/H/Fulu/fiche_serie.htm
+http://se.egroups.com/message/clippingts/14?source=1
+http://adelaida.net/music/texts/trex_s1.html
+http://archive.bitcon.no/pub/cica/handheld/desktop/
+http://www.jacksonhewitt.com/ctg/cgi-bin/JacksonHewitt/disclaimers/AAAksrACwAAACCMAAC
+http://ftp.cc.chuo-u.ac.jp/home/pub/TeX/CTAN/language/ethiopia/ethtex/lj_fonts/?N=D
+http://sirac.inrialpes.fr/Infos/Personnes/Christophe.Rippert/ressources/jdk1.3/docs/guide/jdbc/spec/jdbc-spec.frame16.html
+http://www.linux.com/networking/network/release/press_release/competition/web/
+http://www.linux.com/networking/network/release/press_release/competition/internet/
+http://www.linux.com/networking/network/release/press_release/competition/HTTP/
+http://hughes.tucows.com/win2k/share2k_size.html
+http://icq.planetout.com/popcornq/movienews/98/10/23/money/careers
+http://go3.163.com/_NTES/~cntop07/files/k20808/zengby-k201/zengby-k201-09.html
+http://uunetnl.pda.tucows.com/palm/pqa_news_license.html
+http://uunetnl.pda.tucows.com/palm/preview/54359.html
+http://uunetnl.pda.tucows.com/palm/preview/58637.html
+http://uunetnl.pda.tucows.com/palm/adnload/72726_21807.html
+http://uunetnl.pda.tucows.com/palm/adnload/62079_21796.html
+http://uunetnl.pda.tucows.com/palm/preview/33674.html
+http://uunetnl.pda.tucows.com/palm/preview/33501.html
+http://uunetnl.pda.tucows.com/palm/adnload/52518_21780.html
+http://ftp.dei.uc.pt/pub/net/ip/trace/traffic/?N=D
+http://dreamgallery.simplenet.com/lobby/yrestless/sets/26/yrz19.htm
+http://sanqin.net/wenyuan/gudian/fengshen/a/fengshen24.html
+http://windows.tucows.com/preview/001-010-005-007C.html
+http://windows.tucows.com/preview/001-010-005-004C.html
+http://proshikanet.tucows.com/win2k/preview/37883.html
+http://www5.cplaza.ne.jp/auth/kingdom/bbs/rescue/no70/182.html
+http://www5.cplaza.ne.jp/auth/kingdom/bbs/rescue/no70/84.html
+http://www5.cplaza.ne.jp/auth/kingdom/bbs/rescue/no70/82.html
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=7,19,34,20,29
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=36,19,34,20,29
+http://www.ne.jp/asahi/kume-kume/kume/photogellery/zoo/nihon_saru/html/nihon_saru04.html
+http://www.ne.jp/asahi/kume-kume/kume/photogellery/zoo/nihon_saru/html/nihon_saru05.html
+http://www.iabusnet.org:90/forums/aca-1/dispatch.exe/survey/showNextUnseen/fol/100001/2443194
+http://www.chaos.dk/sexriddle/t/r/p/c/p/
+http://www.ld.com/cbd/archive/1999/09(September)/13-Sep-1999/16sol007.htm
+http://www.ld.com/cbd/archive/1999/09(September)/13-Sep-1999/16sol024.htm
+http://www.ld.com/cbd/archive/1999/09(September)/13-Sep-1999/16sol025.htm
+http://www.ld.com/cbd/archive/1999/09(September)/13-Sep-1999/16sol030.htm
+http://debian.linux.org.tw/debian/dists/Debian2.1r4/non-free/binary-alpha/oldlibs/?N=D
+http://www.tamil.net/list/2000-04/nav00304.html
+http://www.2pl.com/b/se/to/1/01/05/v2/1010500263-7.htm
+http://www.2pl.com/b/se/to/1/01/05/v2/1010500263-8.htm
+http://www.mirror.ac.uk/sites/ftp.microsoft.com/deskapps/powerpt/KB/Q129/5/
+http://www.gbnf.com/genealogy/royal92/html/d0028/I307.HTM
+http://www-linux.gsi.de/linux-doc/libqt2/examples/qfd/?M=A
+http://www.arm.com/sitearchitek/support.ns4/html/sdt_debug!OpenDocument&ExpandSection=24,6,37,7
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kdeutils/kab/kab_kab1importer.h?sortby=log&only_with_tag=KDE_2_0_RELEASE
+http://www.allgemeine-immobilien-boerse.de/nordrhein-Westfalen/bielefeld/Verkauf/Allgemeine-IB/Gemeinsam/versicherungen/gebaeude/Private-IB/Gemeinsam/erreichenPartner/email3d.htm
+http://www.allgemeine-immobilien-boerse.de/nordrhein-Westfalen/bielefeld/Verkauf/Allgemeine-IB/Gemeinsam/versicherungen/gebaeude/Private-IB/3d-service/info.htm
+http://satlink.tucows.com/winme/htmleditme_rating.html
+http://satlink.tucows.com/winme/adnload/137630_29066.html
+http://satlink.tucows.com/winme/adnload/137653_29087.html
+http://yp.gates96.com/5/55/40/63.html
+http://yp.gates96.com/5/55/40/93.html
+http://yp.gates96.com/5/55/41/8.html
+http://yp.gates96.com/5/55/41/27.html
+http://yp.gates96.com/5/55/41/93.html
+http://yp.gates96.com/5/55/42/1.html
+http://yp.gates96.com/5/55/42/65.html
+http://yp.gates96.com/5/55/43/15.html
+http://yp.gates96.com/5/55/43/26.html
+http://yp.gates96.com/5/55/43/94.html
+http://yp.gates96.com/5/55/44/70.html
+http://yp.gates96.com/5/55/44/83.html
+http://yp.gates96.com/5/55/45/17.html
+http://yp.gates96.com/5/55/46/3.html
+http://yp.gates96.com/5/55/46/39.html
+http://yp.gates96.com/5/55/46/43.html
+http://yp.gates96.com/5/55/47/18.html
+http://yp.gates96.com/5/55/48/23.html
+http://yp.gates96.com/5/55/48/40.html
+http://yp.gates96.com/5/55/48/72.html
+http://yp.gates96.com/5/55/48/93.html
+http://yp.gates96.com/5/55/49/7.html
+http://yp.gates96.com/5/55/49/8.html
+http://yp.gates96.com/5/55/49/20.html
+http://yp.gates96.com/5/55/49/37.html
+http://yp.gates96.com/5/55/49/49.html
+http://yp.gates96.com/5/55/49/60.html
+http://yp.gates96.com/5/55/49/69.html
+http://www.ramtron.com/pages/visiters.htm
+http://genforum.genealogy.com/cgi-genforum/forums/oh/wayne.cgi?56
+http://freebsd.ntu.edu.tw/perl/modules/by-module/DB_File/STAS/?N=D
+http://sunsite.org.uk/public/usenet/news-faqs/alt.answers/us-visa-faq/?D=A
+http://circumstance.co.kr/www.globalvillage.com/support/software.html
+http://mediate.magicbutton.net/do/session/625589/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-top50.html
+http://itcareers.careercast.com/texis/it/itjs/+9wwBmev6D86wwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewGPndhBiwGna5O5BnManDtoDnnGamnVncdpoDtaBn5Baw1BdMwBodDaGn31oGnma5Aocc5anLpnGonDqnaGnwcaMFqhTfR20DzmeTtwwwpBm3eP0-dmwww5rmehDwwwBrmeZpwww/morelike.html
+http://library.bangor.ac.uk/search/dProtestant+churches+--+New+York+(State)+--+History+--+19th+century/dprotestant+churches+new+york+state+history+++19th+century/-17,-1,0,B/frameset&F=dprotestant+churches+england+history+++16th+century&2,,3
+http://augustachronicle.com/stories/021299/fea_223-4914.000.shtml
+http://dreamcity.gaiax.com/www/dreamcity/k/n/kint/menu.html
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceMallCategories-BBC709D6_97E3_3D628A3FC67830F4FB7BD0E0AC833504
+http://www.mirror.kiev.ua:8082/paper/2000/07/1251/text/07-09-1.htm
+http://www.burstnet.com/ads/ad7826a-map.cgi/1025131450
+http://link.fastpartner.com/do/session/600341/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/se/
+http://topcu.tucows.com/winme/adnload/137966_29370.html
+http://topcu.tucows.com/winme/adnload/137990_29378.html
+http://itcareers.careercast.com/texis/it/itjs/+9wwBmeS+D86swwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew6hwAwMwoaBnqrDoqwcaqdD51cBoDta5wcn5aqdD51cBwDB5aBnqrDdcdton5apGd5pnqBoVnaq15BdMnG5apGdm1qBaBnwMaMFqtwAwMwoDzmehxwwwpBmeV+D86eqxwww5rmedDwwwBrmeZpwww/jobpage.html
+http://itcareers.careercast.com/texis/it/itjs/+DwwBmeoWD86eDqwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew6hwAwMwoaBnqrDoqwcaqdD51cBoDta5wcn5aqdD51cBwDB5aBnqrDdcdton5apGd5pnqBoVnaq15BdMnG5apGdm1qBaBnwMaMFqtwAwMwoDzmehxwwwpBmeV+D86eqxwww5rmeqDwwwBrmeZpwww/morelike.html
+http://itcareers.careercast.com/texis/it/itjs/+QwwBme4+D86qxwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew6hwAwMwoaBnqrDoqwcaqdD51cBoDta5wcn5aqdD51cBwDB5aBnqrDdcdton5apGd5pnqBoVnaq15BdMnG5apGdm1qBaBnwMaMFqtwAwMwoDzmehxwwwpBmeV+D86eqxwww5rm+mwwBrmeZpwww/jobpage.html
+http://wwwbackup.trinler.net/anleitungen/manual/mod/mod_dll.html
+http://wwwbackup.trinler.net/anleitungen/manual/mod/mod_log_agent.html
+http://as400bks.rochester.ibm.com/pubs/html/as400/v4r5/ic2962/info/RZAIENETDOTDATA.HTM
+http://www.gov.ie/educ/000928.htm
+http://www.gov.ie/educ/speech/000928.htm
+http://pub3.ezboard.com/utaela.showPublicProfile?language=EN
+http://genforum.genealogy.com/cody/messages/700.html
+http://genforum.genealogy.com/cody/messages/525.html
+http://genforum.genealogy.com/cody/messages/494.html
+http://genforum.genealogy.com/cody/messages/447.html
+http://ftp.surfnet.nl/os/FreeBSD/cdrom/development/FreeBSD-CVS/ports/editors/psgml-emacs/files/home.html
+http://www.mic.hr/PGBURZA:135556
+http://pub8.ezboard.com/fthecompanionswebboardfrm19
+http://pub8.ezboard.com/fthecompanionswebboardarchive
+http://gallery2.simplenet.com/lobby/main/videocaps/ghoffman/precious/ghsp36.htm
+http://www.symantec.ru/avcenter/venc/data/unashamed.html
+http://www.symantec.ru/avcenter/cgi-bin/virauto.cgi?vid=7000
+http://www.symantec.ru/avcenter/cgi-bin/virauto.cgi?vid=1685
+http://www.symantec.ru/avcenter/cgi-bin/virauto.cgi?vid=5358
+http://rex.skyline.net/navigate.cgi?reading,retail,hobbies,painting,arts
+http://rex.skyline.net/navigate.cgi?forsale,retail,hobbies,painting,arts
+http://pds.nchu.edu.tw/cpatch/ftp/cuteftp/?S=A
+http://www.tel.de/s/M/MCFIT.htm
+http://zeus.uni-trier.de/~ley/db/indices/a-tree/s/Stevenson:Allan.html
+http://www.alsapresse.com/jdj/00/07/14/SA/article_16.html
+http://link.fastpartner.com/do/session/600359/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/jobpilot.php
+http://link.fastpartner.com/do/session/600359/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/index.php
+http://news.dreamwiz.com/news_lg/04/20001025/joins/200010251653041653193.html
+http://news.dreamwiz.com/news_lg/04/20001025/joins/200010250820040820583.html
+http://windows.tucows.com/winnt/adnload/71593_30161.html
+http://213.36.119.69/do/session/152979/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/reserver/encheres/
+http://213.36.119.69/do/session/152979/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/IT_IT/
+http://www.centc251.org/forums/aca-1/dispatch.cgi/isowg4/showNextUnseen/fol/100012/1220541
+http://bigpanda.net/46/alphabetical.html
+http://bigpanda.net/46/io.html
+http://fi.egroups.com/message/puzzles/547
+http://theaceshow.com/drawinglinda.html
+http://theaceshow.com/drawingsketch.html
+http://ftp.jp.debian.org/debian/dists/woody/main/binary-all/news/?D=A
+http://www.trax.nilex.co.uk/trax.cgi/A1S/A2L/1AS/B3U/B4L/C2S/
+http://www.trax.nilex.co.uk/trax.cgi/A1S/A2L/1AS/B3U/B4L/C4D/
+http://in.egroups.com/message/islaam/3
+http://in.egroups.com/message/islaam/29
+http://ustlib.ust.hk/search*chi/a%7B233e68%7D%7B215976%7D%7B213e2e%7D/a%7B233e68%7D%7B215976%7D%7B213e2e%7D/-5,-1,0,B/browse
+http://yp.gates96.com/13/8/20/68.html
+http://yp.gates96.com/13/8/21/25.html
+http://yp.gates96.com/13/8/21/32.html
+http://yp.gates96.com/13/8/21/49.html
+http://yp.gates96.com/13/8/21/63.html
+http://yp.gates96.com/13/8/21/88.html
+http://yp.gates96.com/13/8/22/2.html
+http://yp.gates96.com/13/8/22/10.html
+http://yp.gates96.com/13/8/22/67.html
+http://yp.gates96.com/13/8/22/79.html
+http://yp.gates96.com/13/8/23/19.html
+http://yp.gates96.com/13/8/23/31.html
+http://yp.gates96.com/13/8/25/64.html
+http://yp.gates96.com/13/8/25/68.html
+http://yp.gates96.com/13/8/25/73.html
+http://yp.gates96.com/13/8/26/6.html
+http://yp.gates96.com/13/8/26/11.html
+http://yp.gates96.com/13/8/26/12.html
+http://yp.gates96.com/13/8/26/39.html
+http://yp.gates96.com/13/8/26/54.html
+http://yp.gates96.com/13/8/26/55.html
+http://yp.gates96.com/13/8/26/82.html
+http://yp.gates96.com/13/8/27/89.html
+http://yp.gates96.com/13/8/28/22.html
+http://yp.gates96.com/13/8/28/61.html
+http://yp.gates96.com/13/8/29/13.html
+http://yp.gates96.com/13/8/29/33.html
+http://yp.gates96.com/13/8/29/83.html
+http://www.private-immobilien-boerse.de/baden-wuertemberg/ostalb-kreis/Verkauf/Versteigerungen-IB/Startseite/Gemeinsam/erreichenPartner/IIM-Teil/Startseite/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/indexbeginn.htm
+http://www2.so-net.ne.jp/mc/columns/nakama/1112/
+http://ring.shibaura-it.ac.jp/archives/pack/x68/personal/tokei/00_index.txt
+http://yp.gates96.com/5/32/0/0.html
+http://yp.gates96.com/5/32/0/99.html
+http://yp.gates96.com/5/32/1/92.html
+http://yp.gates96.com/5/32/1/93.html
+http://yp.gates96.com/5/32/3/68.html
+http://yp.gates96.com/5/32/4/21.html
+http://yp.gates96.com/5/32/4/72.html
+http://yp.gates96.com/5/32/5/87.html
+http://yp.gates96.com/5/32/6/64.html
+http://yp.gates96.com/5/32/7/25.html
+http://yp.gates96.com/5/32/7/32.html
+http://yp.gates96.com/5/32/7/44.html
+http://yp.gates96.com/5/32/7/68.html
+http://yp.gates96.com/5/32/7/78.html
+http://yp.gates96.com/5/32/8/40.html
+http://yp.gates96.com/5/32/8/59.html
+http://yp.gates96.com/5/32/8/90.html
+http://yp.gates96.com/5/32/8/95.html
+http://yp.gates96.com/5/32/9/3.html
+http://yp.gates96.com/5/32/9/54.html
+http://yp.gates96.com/5/32/9/62.html
+http://yp.gates96.com/5/32/9/77.html
+http://tucows.soneraplaza.nl/winme/preview/138260.html
+http://www.cnnews.com/maya/finance/cjsy/gncj/item/2000_07/206341.shtml
+http://212.31.0.37/hur/turk/98/09/23/dunya/02dun.htm
+http://212.31.0.37/hur/turk/98/09/12/dunya/01dun.htm
+http://ftp.cwi.nl/ftp/mdr/LOCKED/
+http://ftp.cwi.nl/ftp/mdr/PICH/
+http://www.ncte.org/lists/ncte-talk/jan2000/msg02008.html
+http://www.russ.ru/forums/prav-dir/conf2/695_r.htm
+http://www.doc.ic.ac.uk/lab/labsrc_area/firstyear/submissions/1997-98/jmc1/labs/Ex05/mjp97/?D=A
+http://www.affiliate.hpstore.hp.co.uk/do/session/380786/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/search.asp
+http://www.flapjack.de/main/2ndHP/jangl43637.htm
+http://195.166.55.201/vfg-uk/HTML/P145232.HTM
+http://www.greenleaves.com/bookcat/gb_0689826788.html
+http://webraft.its.unimelb.edu.au/730452/students/sgm/pub/
+http://ring.omp.ad.jp/pub/NetBSD/packages/pkgsrc/print/teTeX-share/files/
+http://ww.egroups.com/subscribe/wtcjk_purnawirawan
+http://167.8.29.14/life/travel/ski/skinj.htm
+http://www.nrk.no/finnmark/x26_5_97/fastesid/abonn.htm
+http://www.brio.de/BRIO.catalog/39fe2f41050aa9b82741d472aa7806dd/UserTemplate/6
+http://207.25.71.143/golf/news/2000/04/18/heintz/
+http://weekends.worldres.com/script/gen_review.asp?hotel_id=4291&n=1231
+http://www.netitor.com/photos/schools/bc/sport/m-footbl/auto_pdf/weekly-release-082800.pdf
+http://www.3w-sciencefiction.de/SmytheRH/SmytheRH0785808744.htm
+http://www.zdnet.com/gamespot/stories/screens/0,10865,2617426-32,00.html
+http://ftp.lip6.fr/pub2/sgml-tools/website/HOWTO/Root-RAID-HOWTO/t1450.html
+http://webusers.siba.fi/doc/texmf/latex/ms/?M=A
+http://www.trax.nilex.co.uk/trax.cgi/A1S/1AL/A3L/A1U/A3S/1AS/
+http://www.trax.nilex.co.uk/trax.cgi/A1S/1AL/A3L/A1U/A3S/D1U/
+http://www.trax.nilex.co.uk/trax.cgi/A1S/1AL/A3L/A1U/A3S/D3S/
+http://thaigate.rd.nacsis.ac.jp/ftp/thaisoft/nectec/linux.tle/6.01/Mandrake/?S=D
+http://www-ind5.cricket.org/link_to_database/ARCHIVE/2000-01/AUS_LOCAL/GRADE/NSW/SCA/WOMEN/SCA-WOMEN_2000-01_FIXTURES.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=abbratend&l=de
+http://www.webvillage.org/mBEDJPsite/html/downloadplugins.html
+http://www.gov.karelia.ru:8081/gov/Karelia/658/8.html
+http://www.private-immobilien-boerse.de/bayern/ingolstadt/Verkauf/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/Gemeinsam/Inserieren/Gemeinsam/erreichenPartner/Ferien-IB/Startseite/
+http://pillsonline.00go.com/lowfatdiet/lifetime_fitness.htm
+http://tecfa2.unige.ch/guides/java/examples/JavaClassLibExamples/io/FileReader/Main.class
+http://www.burstnet.com/ads/ad7826a-map.cgi/1933336291
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/asiasanahaku/Hong%2520Kong/aasia/talous/pika-+ja+perustilastoja/
+http://home.tiscalinet.be/oaseidstad/vonk/optop2000.html
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=19,36,22,32,23
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=29,36,22,32,23
+http://cn.egroups.com/messages/virtualaccess/194
+http://jerken.grida.no/nor/soeno97/ozone/frames/pressure.htm
+http://online.excite.de/erotik/katalog/6213
+http://online.excite.de/erotik/katalog/6187
+http://online.excite.de/erotik/katalog/6221
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=28,7,35,25,13
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=31,7,35,25,13
+http://genforum.genealogy.com/cgi-genforum/forums/loughlin.cgi?11
+http://freesoftware.missouri.edu/pub/CPAN/authors/id/J/JS/JSWARTZ/?D=A
+http://link.fastpartner.com/do/session/600360/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/fastpartner.php
+http://www.jobvillage.com/channel/jobs/sciences/life_sciences/soil_plant_scientist/b.1041.g.251.html
+http://ftp.debian.org/dists/Debian2.2r0/non-free/binary-sparc/mail/?D=A
+http://generalstore.everdream.com/kore/catalog/Office_Supplies/General_Office_Supplies/Tape_Flags/Arrow/GRP-US6663/product.html
+http://www.hig.se/(date,if,set,tablify,user)/~jackson/roxen/
+http://www.hig.se/(date,if,language,set,tablify)/~jackson/roxen/
+http://www.cyber-pages.com/0prog/classifieds_display.cgi?oakland=WEMP=0
+http://202.84.17.6/csnews/articles/141_18691.htm
+http://202.84.17.6/csnews/articles/142_18526.htm
+http://ftp.dti.ad.jp/pub/FreeBSD/FreeBSD-current/www/es/releases/1.1.5/
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=9&discrim=247,207,129
+http://ftp.up.pt/Linux/debian/dists/unstable/main/disks-i386/?M=A
+http://www.unterhaltungs-cd.de/HillJonny/B000025087.htm
+http://filebox.vt.edu/users/aneal/excess/_fpclass/
+http://www.jamba.de/KNet/_KNet-JOt8j1-OEd-139q0/showInfo-presse.de/node.0/cde7f1uou
+http://www.tercera.cl/diario/1997/12/05/win.html
+http://yp.gates96.com/14/88/20/8.html
+http://yp.gates96.com/14/88/20/13.html
+http://yp.gates96.com/14/88/22/30.html
+http://yp.gates96.com/14/88/25/28.html
+http://yp.gates96.com/14/88/25/65.html
+http://yp.gates96.com/14/88/26/3.html
+http://bsdweb.pasta.cs.uit.no/bsdweb.cgi/~checkout~/pkgsrc/math/grace/pkg/
+http://ftp.tokyonet.ad.jp/pub/Linux/debian-jp/dists/unstable-jp/contrib/binary-m68k/math/?S=A
+http://my.dreamwiz.com/piramos/lan.htm
+http://pub8.ezboard.com/fselfreliantlivingfrm16.showMessage?topicID=11.topic
+http://pub8.ezboard.com/fselfreliantlivingfrm16.showMessage?topicID=4.topic
+http://www.affiliate.hpstore.hp.co.uk/do/session/380798/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/SMARTTIPS/vacationcards.asp
+http://systemlogic.neoseeker.com/Companies/productportfolios/NEC_Interchannel/?sortby=sections
+http://www.houses-apartment-rentals.com/Virginia/city_search_criteria.asp?state=VA&City=DALHART
+http://www.wcbcourses.com/wcb2/schools/MERCED/merced/dhauser/2/forums/forum2/messages/17.html
+http://www.wcbcourses.com/wcb2/schools/MERCED/merced/dhauser/2/forums/forum2/messages/10.html
+http://beautifulsavers.subportal.com/sn/Shell_and_Desktop/Quick_Shutdown_Tools/2702.html
+http://polygraph.ircache.net:8181/getting_started/http_-2www.lucent.com/micro/K56flex/http_-2home.netscape.com/comprod/mirror/http_-2www.wtcsf.org/mall/http_-2www.cdnow.com/http_-2www.microsoft.com/msoffice/publicaffairs.html
+http://polygraph.ircache.net:8181/getting_started/http_-2www.lucent.com/micro/K56flex/http_-2home.netscape.com/comprod/mirror/http_-2www.wtcsf.org/mall/http_-2www.cdnow.com/http_-2www.microsoft.com/msoffice/videobroadcast/
+http://www.yagoo.co.kr/stats/pitching.asp?Mlbmanid=JESPEN7599
+http://www.4hotfantasy.com/acommon/guests/python4.html
+http://boerseninfos.ksk-tut.de/dynamic/ak/adhoc/news/519000-20000316-150811.html
+http://boerseninfos.ksk-tut.de/dynamic/ak/adhoc/news/519000-19991025-082814.html
+http://cn.yahoo.com/Regional/Countries_and_Regions/China/Provinces__Regions_and_Municipalities/Zhejiang/Cities_and_Towns/Li_Hsua/Business/Companies/Books/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380810/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/FR/REGISTRATION/entry.asp
+http://kuyper.calvin.edu/fathers2/NPNF1-01/npnf1-01-12.htm
+http://library.bangor.ac.uk/search/dModernism+(Literature)/dmodernism+literature/-5,-1,0,E/2browse
+http://aleph.tau.ac.il:4500/ALEPH/ENG/ATA/AAS/AAS/SHORT/410519/1/
+http://pub1.ezboard.com/fflashboard1flashjunkiestalk.showAddReplyScreenFromWeb?topicID=190.topic&index=2
+http://www.inforiese.de/db_cargo/typ_b_files/db_cargo_cargo_ansprechpartner.shtml
+http://www.gbnf.com/genealogy/dehart/html/d0005/I985.HTM
+http://btclickfam.excite.co.uk/directory/categories/670199
+http://www.worldmedicus.com/servlet/Controller/$7008040516620000.sj_viewc/
+http://www.worldmedicus.com/servlet/Controller/$7008040528250000.sj/
+http://207.25.71.143/features/galleries/then_and_now/belinsky/belinsky01_lg_01.html
+http://wiem.onet.pl/wiem/002c66.html
+http://www.peopledaily.com.cn/GB/paper40/544/58242.html
+http://www.uihealthcare.com////PatientsVisitors/MedMuseum/CenturyOfCaring/UniversityHospitals/05Quarantine.html
+http://se.egroups.com/login.cgi?login_target=%2Fmessages%2Fwotccglist%2F333
+http://se.egroups.com/message/wotccglist/334
+http://se.egroups.com/message/wotccglist/350
+http://se.egroups.com/message/wotccglist/358
+http://www.msn.expedia.co.uk/wg/North_America/United_States/P30131.asp
+http://www.uol.com.br/cinemaonline/starwars
+http://www.perotech.ch/d/securedb/html/listtopic.php?7396
+http://moviestore.zap2it.com/browse/X-FILES/POSTCARD/s.goFzN1Lb
+http://zeus.uni-trier.de/~ley/db/indices/a-tree/m/Morgoev:Vladimir_K=.html
+http://www.3w-buecher.de/GilliesRobertJ/GilliesRobertJ0122839803.htm
+http://www.buybuddy.com/sleuth/27/1/11002/6637/
+http://ftp.uk.debian.org/debian/dists/unstable/contrib/binary-powerpc/oldlibs/?D=A
+http://no.egroups.com/login.cgi?login_target=%2Fgroup%2Fwww.members.xoom.com%2FLibertyFlame
+http://www.aelita.net/products/support/sitemap/Reg/QuoteRegister/news/company/Copyright.htm
+http://www.aelita.net/products/support/sitemap/Reg/QuoteRegister/news/services/default.htm
+http://www.amateurplatinum.com/spankingfantasy/fertiletrophy-wife/hot-hardcore-fuckinglongest/red-toenail-polishfeet-fucking-/vietnamesewomen/chinesechi/womenpetite.html
+http://www.amateurplatinum.com/spankingfantasy/fertiletrophy-wife/hot-hardcore-fuckinglongest/red-toenail-polishfeet-fucking-/vietnamesewomen/fuckinghard/actionsmacking.html
+http://genforum.genealogy.com/cgi-bin/print.cgi?fikes::26.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/programs/unlambda/lit/quizz/music/midi/
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/programs/unlambda/lit/quizz/computers/callcc.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/programs/unlambda/lit/quizz/misc/colorart/
+http://www.musiciansfriend.com/ex/ds/live/001030182726064208037002434823
+http://www.musiciansfriend.com/ex/ds/home/funzone/001030182726064208037002434823?doc=doc,postcard.html
+http://www.musiciansfriend.com/ex/ds/home/platinum/001030182726064208037002434823?g,home.platinum.html
+http://www.musiciansfriend.com/ex/ds/home/articles/001030182726064208037002434823?dbase=gw,gwmain.html
+http://www.musiciansfriend.com/ex/ds/home/articles/001030182726064208037002434823?dbase=info,privacy.html
+http://preview.egroups.com/dir/Business/Training_and_Schools/Management_Training/Consultants?st=4
+http://hammer.prohosting.com/~nieting/html1216/lmtf015.htm
+http://planetfreebies.subportal.com/sn/Information_Management/Misc__Information_Databases/12835.html
+http://dada.linuxberg.com/kdehtml/adnload/61589_33448.html
+http://www.wlu.ca/~wwwregi/95-96/cal/ucourses/GM/GM151.html
+http://walkabout.tucows.com/win2k/adnload/61015_28629.html
+http://www.1001e.net/02/qbt/09.htm
+http://se.egroups.com/post/webfaaa?act=reply&messageNum=3
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/keats.admin.virginia.edu/asbestos/home.html
+http://www.hotelboulevard.com/fr/riviera/standard/htmlf752567459c6d803842381c50e94fd9f/sessionLang/ANG/gettingstarted.html
+http://ring.omp.ad.jp/pub/NetBSD/packages/pkgsrc/print/transfig/?N=D
+http://citeseer.nj.nec.com/cidcontext/2339336
+http://www.uk.multimap.com/p/browse.cgi?pc=LS287DR
+http://topcu.linux.tucows.com/x11html/adnload/46019_3809.html
+http://www.mon.de/nr/stuemges
+http://www.tamil.net/list/1998-10/msg00212.html
+http://retailer.gocollect.com/do/session/1912682/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/terms_and_conditions.asp
+http://pl.php.net/manual/nl/function.pfpro-version.php
+http://members.tripod.co.jp/millenium/top.html
+http://community.webshots.com/photo/4331085/4331572GooaFzYUAJ
+http://community.webshots.com/photo/4331085/4331589oKrBmsJbga
+http://community.webshots.com/photo/4331085/4331620zgfyMLoSjs
+http://www.utdallas.edu/~chansen/text/qabbala9.html
+http://www.jobvillage.com/channel/jobs/installation_repair/safety_equipment/fire_alarm/b.2283.g.3516.html
+http://www.geocities.com/Area51/Chamber/8750/DoesKitEverTalkAboutTheSubjectOnHand.html
+http://www.geocities.com/Area51/Chamber/8750/TheMotherofAllMissleBoats.html
+http://www.geocities.com/Area51/Chamber/8750/Tomahawk2.html
+http://www.thecitizennews.com/main/archive-000628/thecitizennews/citizen.html
+http://links2go.publiweb.com/expert/topic/Mp3_Hardware
+http://webhelp.promovacances.net/S02/BL/BEGYP/SAI00512024/cal.htm?d=1013
+http://205.161.150.96/cgi-bin/c2k/title_talent.html&id=143786&title_star=DOMINICK
+http://dennou-q.geo.kyushu-u.ac.jp/library/Linux/debian-jp/dists/stable/non-free-jp/binary-all/net/?S=A
+http://wow-online.vhm.de/Wirtschaft/Unternehmen/Versicherungen/Versicherungsgesellschaften/Signal_Versicherung.html
+http://www.linux.com/networking/network/firewall/web/communications/?kw_offset=50
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_28b/chapter_056/rcw_28b_56_090.txt
+http://pub12.ezboard.com/flalaland96545listeningbooth.showMessage?topicID=74.topic
+http://www.fogdog.com/cedroID/ssd3040183156032/crs/pw__/wld/fogdog_sports/lee_sport/fan_memorabilia/apparel/new_york_yanke_2000_ameri_leagu_champ_tee_shi.html
+http://www.fogdog.com/cedroID/ssd3040183156032/nav/stores/adventure_travel/
+http://www.hoovers.com/travel/cityguide/detailed/0,3368,46_119158,00.html
+http://user.chollian.net/~mlsc/
+http://www.158china.com/data/stock/fundowner/default.asp?stck_cd=0548
+http://www.affiliate.hpstore.hp.co.uk/do/session/380803/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/SMARTTIPS/createbroch.asp
+http://rcsl.auto.inha.ac.kr/~treeman/Documents/HOWTO/Consultants-HOWTO-3.html
+http://www.diogenes.ch/4DACTION/web_rd_aut_prview/a_id=7056427&area=&ID=483330
+http://polygraph.ircache.net:8181/http_-2www.horizonfinance.com/http_-2www.netscape.com/download/http_-2www.microsoft.com/ie/http_-2207.91.150.20/links.html
+http://www.multicosm.com/facade/www.adobe.com/support/techguides/printpublishing/scanning/psscanning01b.html
+http://yp.gates96.com/0/50/10/62.html
+http://yp.gates96.com/0/50/10/95.html
+http://yp.gates96.com/0/50/11/1.html
+http://yp.gates96.com/0/50/11/18.html
+http://yp.gates96.com/0/50/11/49.html
+http://yp.gates96.com/0/50/12/55.html
+http://yp.gates96.com/0/50/13/48.html
+http://yp.gates96.com/0/50/13/96.html
+http://yp.gates96.com/0/50/14/15.html
+http://yp.gates96.com/0/50/14/73.html
+http://yp.gates96.com/0/50/15/50.html
+http://yp.gates96.com/0/50/15/80.html
+http://yp.gates96.com/0/50/16/1.html
+http://yp.gates96.com/0/50/16/8.html
+http://yp.gates96.com/0/50/17/50.html
+http://yp.gates96.com/0/50/17/71.html
+http://yp.gates96.com/0/50/18/25.html
+http://yp.gates96.com/0/50/18/73.html
+http://yp.gates96.com/0/50/18/82.html
+http://yp.gates96.com/0/50/18/84.html
+http://yp.gates96.com/0/50/18/90.html
+http://cisne.sim.ucm.es/search*spi/dBallets+--+Gran+Bretaña+--+Discos+compactos/dballets+gran+bretan~aa+discos+compactos/-29,-1,0,B/browse
+http://opac.lib.ntnu.edu.tw/search*chi/++ftlist/bp20005025/-17,-1,0,B/browse
+http://www.trax.nilex.co.uk/trax.cgi/A1S/1AL/A3L/A4R/B1D/A3S/
+http://php.nic.fi/manual/html/function.cpdf-open.html
+http://php.nic.fi/manual/html/function.cpdf-fill.html
+http://php.nic.fi/manual/html/function.cpdf-setrgbcolor-fill.html
+http://www.classiccmp.org/mail-archive/classiccmp/1998-04/1426.html
+http://text.csn.ul.ie/~danny/tabs/p/proclaimers/?N=D
+http://mirror.nucba.ac.jp/mirror/FreeBSD/branches/3.0-stable/ports/japanese/zangband/?N=D
+http://augustachronicle.com/stories/100197/spo_fishing.html
+http://www.symatrixinc.com/website/website.nsf/0/3e40df86fb357cd5882568720079613f!OpenDocument&ExpandSection=10,8,9,5
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/linux/music/quizz/pics.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/linux/music/quizz/lit/ldvelh.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/linux/music/quizz/misc/unitest/
+http://mirror.nucba.ac.jp/mirror/FreeBSD/branches/3.0-stable/ports/japanese/ptex-pkfonts360/?N=D
+http://www.2pl.com/b/ru/fi/1/24/06/b1/1240601249-11023.htm
+http://galaxy.einet.net/galaxy/Community/United-States/States/Minnesota/Cities-and-Regions/Winona/Education/K--12/Middle/Public.html
+http://www.hotelboulevard.com/fr/paris/standard/htmlc866e5cecf73322551f00b0108eb84bc/sessionLang/ANG/prov/browse/cp/75001/resultatSearch.html
+http://btp1da.phy.uni-bayreuth.de/ftp/pub/FreeBSD/ports/japanese/dvipsk-vflib/pkg-descr
+http://32548news.subportal.com/sn/Utilities/Misc__Encryption_Utilities/
+http://www.hongen.com/proedu/hext/zxks/dxyw/html/dxy62804.htm
+http://www.users.globalnet.co.uk/~roy/InternetTree/WC01/WC01_226.htm
+http://www2.msstate.edu/~eaddy/famtread/html/nti07339.htm
+http://www.trackinfo.com/trakdocs/hound/ca/RESULTS/ARCHIVE/1996/0996/GRCA19S.HTM
+http://www.idg.net/crd_essential_110984.html
+http://www.zdnet.de//news/artikel/2000/09/06015-wc.html
+http://www.secinfo.com/d114Cu.52.htm
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus141561/eus174865/eus327367/eus327527/eus331435/
+http://enjoy100.com.cn/200005/23/
+http://link.fastpartner.com/do/session/600348/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/mediatransfer.php
+http://www.chaos.dk/sexriddle/t/z/p/b/b/
+http://www.brio.de/BRIO.catalog/39fe2f4106ca8ce0273fd472aa7806ff/UserTemplate/6
+http://link.fastpartner.com/do/session/600352/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/robinhus.php
+http://link.fastpartner.com/do/session/600352/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/create/index.php
+http://www.underground-online.com/companyfinder/filters/products/0,9996,1793-101,00.html
+http://mediate.magicbutton.net/do/session/625588/vsid/3342/tid/3342/cid/88020/mid/2008/rid/2313/chid/2648/url/http://www1.getmapping.com/viewer.cfm
+http://aol.digitalcity.com/houston/recreation/event.dci?eid=6452
+http://www.linux.com.hk/mirror/ldp/LDP/LG/issue10/lg_bytes10.html
+http://www.linux.com.hk/mirror/ldp/LDP/LG/issue10/issue10.txt
+http://www.beauty.net.cn/main/japanese/mie.htm
+http://www.allgemeine-immobilien-boerse.de/kanada/verkauf/Gemeinsam/Inserieren/Allgemeine-IB/Ferien-IB/Startseite/Private-IB/Startseite/Default.htm
+http://www.kodak.co.uk/US/en/corp/store/catalog/Product.jhtml?PRODID=2113&CATID=2234
+http://opac.lib.ntnu.edu.tw/search*chi/f373+017/f373+017/-5,-1,,B/browse
+http://ftp.du.se/disk3/mandrake/7.1/Mandrake/mdkinst/etc/pcmcia/?M=A
+http://www.teenplatinum.com/barelylegal/anal-sexass/taismall/almond-skinned/{gaylink}
+http://194.128.65.4/pa/cm199697/cmhansrd/vo970318/debtext/70318-11.htm
+http://netlondon.hotelbook.com/live/photos/19368
+http://www.centc251.org/forums/aca-1/dispatch.cgi/hsi/folderFrame/100205/0/author/1243894
+http://www.teacherformation.org/html/od/facilitators.cfm/task1,login/discussion_id,2/xid,5474/yid,3022999
+http://polygraph.ircache.net:8181/environment_energy/heritage/http_-2www.apache.org/
+http://plat.debian.or.jp/debian/dists/unstable/main/binary-alpha/math/?D=A
+http://home.hiwaay.net/~bjacobs/genealogy/laster/html/d0054/g0000038.html
+http://www.northampton.ac.uk/cgi-bin/liberation/betsie/betsie.pl/1005/www.northampton.ac.uk/cgi-bin/liberation/betsie/betsie.pl/1037/www.northampton.ac.uk/lrs/Information/refword.html
+http://ustlib.ust.hk/search*chi/cPL1275+.F426+1991/cpl+1275+f426+1991/-5,1,1,E/frameset&F=cpl+1273+y36+1982&1,1,
+http://stormix.com/en/resources/packages/tex/devel/debmake
+http://stormix.com/en/resources/packages/tex/devel/doc++
+http://stormix.com/en/resources/packages/tex/devel/ftnchek
+http://stormix.com/en/resources/packages/tex/devel/libnet0-dev
+http://stormix.com/en/resources/packages/tex/devel/libobgtk-dev
+http://stormix.com/en/resources/packages/tex/devel/netatalk-dev
+http://stormix.com/en/resources/packages/tex/devel/pact-base
+http://stormix.com/en/resources/packages/tex/devel/scalapack1-mpich
+http://members.tripod.co.jp/sugisaka/?M=A
+http://www.szinfo.com/book/wai/no/fa/h/hongyuhei/011.htm
+http://www.szinfo.com/book/wai/no/fa/h/hongyuhei/054.htm
+http://www.centc251.org/forums/aca-1/dispatch.cgi/hsi/listUnseen/fol/100205/20,0/1230074
+http://www.crutchfield.com/cgi-bin/S-p5rPnwuC0SA/Auto.asp
+http://www.abb.co.uk/global/seapr/SEAPR035.NSF/viewUNID/f79b6db19a951ce0c125697300319a41!OpenDocument&ExpandSection=6,4,8,5
+http://freebsd.ntu.edu.tw/perl/authors/id/A/AO/AOCINAR/?S=A
+http://www.gaymencam.com/elke.html
+http://www.linux.com/networking/network/industry/new/web_server/website/
+http://www.tccomputers.com/cgi-bin/bp/1899758621/products/removeabledrives/removeabledrives.htm
+http://www.tccomputers.com/cgi-bin/bp/1899758621/store/showcart.html
+http://www.highwired.net/Guidance/Section/0,1860,1779-27626,00.html
+http://gd.cnread.net/cnread1/net/zpj/r/repinsky/005.htm
+http://www.amateurplatinum.com/tubal-ligationmilk/pregnanttubal-ligation/off-the-ragnipples/jizz-dribbling-cumshotscumming/{amateurlink}
+http://home.dqt.com.cn/~why/wenzhang/ckpajq/.htm
+http://ftp.fi.debian.org/debian/dists/woody/non-free/binary-all/doc/?D=A
+http://www.linux.com/networking/network/website/hardware/howto/Linuxcare/
+http://www.linux.com/networking/network/website/hardware/howto/sales/
+http://shn.webmd.com/printing/asset/adam_imagepage_8626
+http://www.geocities.co.jp/Outdoors/2127/bangai_makuyama.html
+http://www2.to/souhey
+http://www.hotelboulevard.com/fr/paris/standard/html73b90b9d262d517e98c9d779b3b09b7a/sessionLang/ANG/prov/browse/cp/75017/resultatSearch.html
+http://perso.wanadoo.fr/olivier.leieber/page22.html
+http://www.computer-networking.de/studenten/dv_labor/onlinebuecher/apache/sections.html
+http://saejong.pufs.ac.kr/~cilim/homepage/link.html
+http://cafe3.daum.net/Cafe-bin/Bbs.cgi/hopepds/qry/zka/B2-kCYFp/qqatt/^
+http://www3.newstimes.com/archive99/jun1899/lch.htm
+http://www.7thlevel.com/python/cwot/demo/
+http://www.paidmania.com/getpaid/signup/100/4632
+http://yp.gates96.com/12/14/0/31.html
+http://yp.gates96.com/12/14/0/43.html
+http://yp.gates96.com/12/14/0/60.html
+http://yp.gates96.com/12/14/1/18.html
+http://yp.gates96.com/12/14/1/44.html
+http://yp.gates96.com/12/14/1/64.html
+http://yp.gates96.com/12/14/1/82.html
+http://yp.gates96.com/12/14/2/84.html
+http://yp.gates96.com/12/14/3/61.html
+http://yp.gates96.com/12/14/4/65.html
+http://yp.gates96.com/12/14/5/24.html
+http://yp.gates96.com/12/14/5/49.html
+http://yp.gates96.com/12/14/5/60.html
+http://yp.gates96.com/12/14/5/62.html
+http://yp.gates96.com/12/14/6/20.html
+http://yp.gates96.com/12/14/6/51.html
+http://yp.gates96.com/12/14/7/28.html
+http://yp.gates96.com/12/14/7/85.html
+http://yp.gates96.com/12/14/7/93.html
+http://planet.gaiax.com/home/kito/main
+http://www.svt.se/falun/packat/program/603/images/1rep/?D=A
+http://volunteersolutions.org/swt/volunteer/opp/one_151124_printer_detailed.html
+http://fyi.cnn.com/ASIANOW/asiaweek/97/1003/nat1.html
+http://www.farhi.org/ps09/ps09_233.htm
+http://yp.gates96.com/6/8/30/27.html
+http://biz.yahoo.com/apf/000929/tire_death_7.html
+http://www.studentadvantage.gamers.com/game/135583
+http://www.studentadvantage.gamers.com/game/45759
+http://yp.gates96.com/6/8/30/44.html
+http://yp.gates96.com/6/8/30/50.html
+http://yp.gates96.com/6/8/30/72.html
+http://yp.gates96.com/6/8/30/86.html
+http://yp.gates96.com/6/8/30/89.html
+http://yp.gates96.com/6/8/31/78.html
+http://yp.gates96.com/6/8/31/88.html
+http://yp.gates96.com/6/8/32/3.html
+http://yp.gates96.com/6/8/32/24.html
+http://yp.gates96.com/6/8/32/34.html
+http://yp.gates96.com/6/8/33/14.html
+http://yp.gates96.com/6/8/33/42.html
+http://yp.gates96.com/6/8/33/75.html
+http://yp.gates96.com/6/8/34/32.html
+http://yp.gates96.com/6/8/34/97.html
+http://yp.gates96.com/6/8/35/53.html
+http://yp.gates96.com/6/8/35/98.html
+http://yp.gates96.com/6/8/36/74.html
+http://yp.gates96.com/6/8/36/99.html
+http://yp.gates96.com/6/8/38/92.html
+http://yp.gates96.com/6/8/38/97.html
+http://yp.gates96.com/6/8/39/45.html
+http://yp.gates96.com/6/8/39/69.html
+http://tour.stanford.edu/tour/29.0/gMlPb
+http://idl.tucows.com/winme/adnload/138396_30343.html
+http://idl.tucows.com/winme/adnload/138395_29743.html
+http://web.singnet.com.sg/~tay7012i/family.htm
+http://www.chaos.dk/sexriddle/p/f/g/j/o/
+http://lcweb2.loc.gov/ll/llnt/070/?S=A
+http://lcweb2.loc.gov/ll/llnt/070/0100/
+http://www.crosswinds.net/~lucifern/
+http://pub14.ezboard.com/fblazinofdablazinestdabattledome.subscribeUnregisteredToTopic?topicID=190.topic
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/computers/lit/quizz/programs/unlambda/misc/peanuts.html
+http://members.se.tripod.de/svdata/inglis/sida2.htm
+http://www.fogdog.com/cedroID/ssd3040183217284/crs/hp/nav/stores/golf/
+http://198.103.152.100/search*frc/tOperations+guide+to+ZIM/toperations+guide+to+zim/-17,-1,0,E/2browse
+http://herndon1.sdrdc.com/cgi-bin/com_detail/C00186353
+http://www.j2ee.com/products/javamail/javadocs/javax/mail/Flags.html
+http://www.j2ee.com/products/javamail/javadocs/javax/mail/Header.html
+http://www.intellicast.com/Sail/World/UnitedStates/FourCorners/Arizona/LakeMeadCanyon/LocalWinds/d1_18/
+http://genforum.genealogy.com/cgi-bin/print.cgi?guill::871.html
+http://in.egroups.com/message/ucc-medicine/9
+http://in.egroups.com/message/ucc-medicine/14
+http://www-uk3.cricket.org/link_to_database/PLAYERS/WOMEN/AUS/WILSON_B_02011221/index.NSW-WOMEN.html
+http://ftp.du.se/disk4/FreeBSD/FreeBSD-current/www/ja/releases/?M=A
+http://www.citythek.de/koeln/eduscho/fsinhalt.htm
+http://198.103.152.100/search*frc/cCA1+MPY30+97C31/cca1+mpy30+97c31/-5,-1,,E/browse
+http://ftp.nsysu.edu.tw/Linux/RedHat/doc/en/HOWTOS/localization/Serbian/?N=D
+http://mk158.tripod.co.jp/old/praga1/do/bio.html
+http://oneplace.adbureau.net/accipiter/adclick/site=ONEPLACE/area=INDEX/POSITION=FOOTER/AAMSZ=468x60/ACC_RANDOM=449975866078
+http://members.tripod.co.jp/Primrose/honeydcolumn3.html
+http://911codes.com/games/platform/n64/sect/div/cont/list_cheat/spray/y/id/0000009564/gid/0000003291/_cheats/_walkthroughs/_codes/_pc/_n64/_psx/_gameboy/_playstation/
+http://iqseek.shop.goto.com/compperiph/monfol/mon/search/detail.jhtml?MANUF=ViewSonic&MODEL=E790
+http://iqseek.shop.goto.com/compperiph/monfol/mon/search/detail.jhtml?MANUF=ViewSonic&MODEL=GA655
+http://plat.debian.or.jp/debian/dists/stable/main/binary-powerpc/shells/?M=A
+http://retailer.gocollect.com/do/session/1912686/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/shipping_policy.asp
+http://vvv.geocities.co.jp/Playtown-Yoyo/5287/
+http://vvv.geocities.co.jp/Playtown-Yoyo/5714/
+http://vvv.geocities.co.jp/Playtown-Yoyo/5750/
+http://genforum.genealogy.com/cgi-genforum/forums/charpia.cgi?3
+http://www.amateurplatinum.com/tubal-ligationmilk/plus-sizecoushin-for-the-pushin/best-friendsjail-bait/vietnamese/ac/dclubrication/bisexualelbow-grease.html
+http://library.bangor.ac.uk/search/tContemporary+psychology+series/tcontemporary+psychology+series/-17,-1,0,B/2exact&F=tcontemporary+problems+in+geography&1,4
+http://www-d0.fnal.gov/cgi-bin/cvsweb.cgi/calreco/VERSION?only_with_tag=p05-br
+http://www.158china.com/news/2000/08/21/52747.htm
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx031009.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx031106.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx031208.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx031507.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx032406.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx032902.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx041501.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx041611.txt
+http://www.ln.cei.gov.cn/dh/hgjj/wscf/hx/hx1.txt
+http://wuarchive.wustl.edu/edu/math/software/multi-platform/SLATEC/G/G2/G2H/G2H2/sbols/
+http://www.loststars.net/story4/ab200-2.html
+http://www.indian-express.com/ie/daily/19981219/35350564.html
+http://www.indian-express.com/ie/daily/19981219/35351234.html
+http://www.homestead.com/jennyb/pets.html
+http://www.allgemeine-immobilien-boerse.de/kanada/verkauf/Gemeinsam/Inserieren/Allgemeine-IB/Versteigerungen-IB/Startseite/Gemeinsam/suche.htm
+http://www.sankei.co.jp/databox/paper/9808/06/paper/today/sports/soccer/06soc002.htm
+http://rex.skyline.net/navigate.cgi?history,collectibles,recreation,sculpture,arts
+http://tjohoo.se/sport/snowboard/2.php3
+http://www.du-et.net/prof/n/nkaworu.html
+http://www.iwon.com/home/movies/movies_summary_page/0,13160,383543,00.html
+http://www.iwon.com/home/movies/movies_summary_page/0,13160,481885,00.html
+http://www.iwon.com/home/movies/movies_summary_page/0,13160,372508,00.html
+http://pub13.ezboard.com/fvisualbasicexplorergettingstarted.emailToFriend?topicID=861.topic
+http://www.fogdog.com/cedroID/ssd3040183158417/customer_service/
+http://www.fogdog.com/cedroID/ssd3040183158417/cgi-bin/CedroCommerce?func=EditBasket
+http://www.fogdog.com/cedroID/ssd3040183158417/nav/products/cycling/1y/software/
+http://www.niwl.se/wais/new/28/28189.htm
+http://retailer.gocollect.com/do/session/1912674/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://www.trax.nilex.co.uk/trax.cgi/A1C/A2R/A2U/B3R/A1U/Resign/
+http://www.sofitware.com/books/sci05/0471969664.html
+http://www.genome.wustl.edu:8021/gsc1/est/zebrafish_reports/old_rank_reports/zebrafish.rank.990322
+http://www.genome.wustl.edu:8021/gsc1/est/zebrafish_reports/old_rank_reports/zebrafish.rank.991004
+http://www.farhi.org/ps01/ps01_015.htm
+http://www-usa10.cricket.org/link_to_database/ARCHIVE/WORLD_CUPS/WC99/STATS/BY_TEAM/SL/WC99_BOWL_BEST_INNS_SR_SL.html
+http://www.online.kokusai.co.jp/Stock_corner/V0043480/wrd/G500/stock_corner/stock_corner.html
+http://www.online.kokusai.co.jp/Mmf_corner/V0043480/mmf_corner/mmf_corner/url
+http://mediate.magicbutton.net/do/session/625604/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-cust.html
+http://www.malaysia.net/lists/sangkancil/1999-05/frm00449.html
+http://www.bigstar.com/contest/index.cfm/4ae093fg371d8ddg3?fa=contest
+http://www.bigstar.com/tv/index.cfm/4ae093fg371d8ddg3
+http://linux.tucows.dia.dk/gnomehtml/adnload/49933_5879.html
+http://dc.web.aol.com/roanoke/health/directories.dci?type=professionals
+http://dc.web.aol.com/roanoke/health/categories.dci?category=fitnessdiet
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux/drivers/isdn/icn/Makefile?only_with_tag=davem-cvs-merge
+http://dennou-h.gfd-dennou.org/arch/cc-env.old/db/?M=A
+http://www.envy.nu/wildcats/gare.html
+http://www.envy.nu/wildcats/horst.html
+http://www.linux.com/networking/network/release/performance/updates/Netscape/
+http://ftpsearch.belnet.be/pub/os/linux/Linux-sunsite.unc/distributions/ultra/Users-Guide/?S=A
+http://www.chaos.dk/sexriddle/n/f/p/g/a/
+http://pub24.ezboard.com/fphilosophersstonefrm7.showAddTopicScreenFromWeb
+http://pub24.ezboard.com/fphilosophersstonefrm7.showMessage?topicID=10.topic
+http://www.yorosiku.net:8080/-_-http://www2.biglobe.ne.jp/~animenet/jan222/note/bbs2.html
+http://www.web-chart.com/Detail.htm?s=2568&c=229
+http://www.brio.de/BRIO.catalog/39fe2f5009021d362740d472aa780645/UserTemplate/8
+http://www.service911.com/egghead/step/0,2743,10+55+157+24348+17295_2,00.html
+http://home.pchome.com.tw/computer/judy7777/fast-7.htm
+http://big5.peopledaily.com.cn/zdxw/11/20000126/200001261111.html
+http://www.nhic.or.kr/netbbs/Bbs.cgi/nhic31792/lst/qqo/012D
+http://sunsite.org.uk/public/usenet/news-faqs/alt.answers/paranormal/faq
+http://newsone.net/nnr/listl/alt.bbs.elebbs/1
+http://ourworld.compuserve.com/homepages/hallg/mg_vor.htm
+http://www.world001.com/forum/yue/1573.html
+http://www.greenleaves.com/bookcat/gb_1567112730.html
+http://quotidiano.monrif.net/chan/motori:1119539:/2000/10/30:
+http://quotidiano.monrif.net/chan/motori:926303:/2000/10/30:
+http://quotidiano.monrif.net/chan/motori:944719:/2000/10/30:
+http://home.online.tj.cn/~madgoe/subtitle/nt/nt363.htm
+http://home.online.tj.cn/~madgoe/subtitle/nt/nt352.htm
+http://home.online.tj.cn/~madgoe/subtitle/nt/nt343.htm
+http://home.online.tj.cn/~madgoe/subtitle/nt/nt327.htm
+http://home.online.tj.cn/~madgoe/subtitle/nt/nt320.htm
+http://www.collectingnation.com/cgi-bin/bn/request_email.mod?EHANDLE=Vincze
+http://www.beanienation.com/cgi-bin/bn/view_feedback.mod?HANDLE=ving
+http://www.collectingnation.com/cgi-bin/bn/request_email.mod?EHANDLE=Vinrye
+http://www.collectingnation.com/cgi-bin/bn/request_email.mod?EHANDLE=Vinzy
+http://www.beanienation.com/cgi-bin/bn/view_feedback.mod?HANDLE=violinist
+http://www.beanienation.com/cgi-bin/bn/view_feedback.mod?HANDLE=Violin
+http://www.collectingnation.com/cgi-bin/bn/request_email.mod?EHANDLE=vione
+http://www.beanienation.com/cgi-bin/bn/view_feedback.mod?HANDLE=viper0669
+http://www.missouri.edu/HyperNews/get/writery/poetry/1.html?embed=-1
+http://www.missouri.edu/HyperNews/get/writery/poetry/6.html?outline=1&embed=1
+http://www.missouri.edu/HyperNews/get/writery/poetry/9.html?outline=-1&embed=1
+http://www.missouri.edu/HyperNews/get/writery/poetry/20.html?outline=3&embed=1
+http://www.missouri.edu/HyperNews/get/writery/poetry/21.html?outline=-1&embed=1
+http://www.missouri.edu/HyperNews/get/writery/poetry/23.html?outline=1&embed=1
+http://www.missouri.edu/HyperNews/get/writery/poetry/38.html?outline=1&embed=1
+http://fi.egroups.com/messages/Avon3DayBoston/5
+http://www.online.kokusai.co.jp/Demo/V0043481/wrd/G400/demo/
+http://www.jamba.de/KNet/_KNet-TQt8j1-PEd-139qr/showInfo-werbung.de/node.0/cde7f1uou
+http://computalynx.tucows.com/winnt/adnload/73435_29524.html
+http://www.intellicast.com/Golf/World/UnitedStates/Northwest/Oregon/OregonDunes/THUNDERcast/d2_06/
+http://202.105.55.146/h0/news/200009/20/jty7.htm
+http://pda.tucows.edisontel.com/newton/newtsfiction_size.html
+http://pda.tucows.edisontel.com/newton/adnload/33238_19961.html
+http://hem.fyristorg.com/lottaleman/LLfar/1_2942.htm
+http://www.norrblom.com/..\hund\1996\s2665496.htm
+http://www.ferien-immobilien.de/niedersachsen/weserbergland/Verkauf/Gemeinsam/MarketingStrategie/Allgemeine-IB/Gemeinsam/Super-Zins-Konditionen/Private-IB/Startseite/Default.htm
+http://nathanael.upi.jussieu.fr/tele6.nsf/autres+centres+de+formations!OpenPage&ExpandSection=14,18,11,9,15,8
+http://dennou-h.gfd-dennou.org/arch/cc-env.old/xtop/TEBIKI.top.rs590
+http://www.amzn.com/exec/obidos/search-handle-url/index=vhs&field-director=Jim%20Stenstrum/
+http://www.amzn.com/exec/obidos/tg/browse/-/169237/
+http://www.flora.org/flora.oclug/old-6088
+http://www.msn.expedia.co.uk/wg/Images/P24601.htm
+http://www.asahi-net.or.jp/~ei2h-kdu/photos/rail/sanin/amarube3.html
+http://au.yahoo.com/Business_and_Economy/Shopping_and_Services/Health/Providers/By_Region/U_S__States/Montana/Complete_List/
+http://www.staroriental.net/nav/soeg/ihf,aai,n2,118,Electric+Wave+Girl+1998.html
+http://www.hig.se/(accessed,formoutput,referrer,smallcaps,sqlquery)/~jackson/roxen/
+http://carefinder.digitalcity.com/fargond/sports/team.dci?league=NF2&team=VAC
+http://carefinder.digitalcity.com/fargond/sports/team.dci?league=NF2&team=GAA
+http://carefinder.digitalcity.com/fargond/sports/team.dci?league=NF2&team=AAB
+http://carefinder.digitalcity.com/fargond/sports/team.dci?league=NF2&team=AAF
+http://newnova.tucows.com/preview/60922.html
+http://www-d0.fnal.gov/d0dist/dist/releases/test/l3fsmtcluster/rcp/?S=A
+http://www.cs.rit.edu/~ats/inferno/man/html/proto8.htm
+http://dandini.cranfield.ac.uk/vl=-39835473/cl=140/nw=1/rpsv/cw/web/nw1/browse.htm
+http://homepage.mac.com/nanameneko/job/architecture-oriented/OHP/Why/why_05.html
+http://ftp.sunet.se/pub/FreeBSD/FreeBSD-current/ports/games/CaribbeanStud/?M=A
+http://ftp.sunet.se/pub/FreeBSD/FreeBSD-current/ports/games/CaribbeanStud/distinfo
+http://ads3.zdnet.com/c/g=r734&c=a53975&idx=2000.10.30.21.30.24/www.zdnet.com/downloads/stories/info/0,,000FDG,.html
+http://yp.gates96.com/6/57/80/89.html
+http://yp.gates96.com/6/57/81/42.html
+http://yp.gates96.com/6/57/81/66.html
+http://yp.gates96.com/6/57/82/16.html
+http://yp.gates96.com/6/57/82/61.html
+http://yp.gates96.com/6/57/83/37.html
+http://yp.gates96.com/6/57/83/54.html
+http://yp.gates96.com/6/57/84/14.html
+http://yp.gates96.com/6/57/85/7.html
+http://yp.gates96.com/6/57/85/24.html
+http://yp.gates96.com/6/57/85/35.html
+http://yp.gates96.com/6/57/85/64.html
+http://yp.gates96.com/6/57/86/80.html
+http://yp.gates96.com/6/57/86/96.html
+http://yp.gates96.com/6/57/87/15.html
+http://yp.gates96.com/6/57/89/2.html
+http://yp.gates96.com/6/57/89/95.html
+http://www.oncology.com/v2_MainFrame/1,1614,_12|00332|00_21|002|00_04|0039|00_38|00188,00.html
+http://library.bangor.ac.uk/search/aEllis,+Gail/aellis+gail/-5,-1,0,B/exact&F=aellis+griffith+1844+1913&1,9
+http://www.rezel.enst.fr/ftp/linux/distributions/debian/CD-2/debian/dists/unstable/contrib/source/mail/?S=A
+http://itcareers.careercast.com/texis/it/itjs/+SwwBmeYKD86e8hwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewhPndhBiwGna5O5BnManDtoDnnGamn5otDamnVncdpaGnwcaBoMnaoDhdGMwBodDaDnBidGAanLpnGonDqnaMFqhTfR20Dzme4twwwpBmex_D86ejxwww5rme6dwwwBrmeZpwww/morelike.html
+http://esatnet.tucows.com/winnt/adnload/31316_29136.html
+http://home.c2i.net/w-225961/steinare/brosjyre.htm
+http://aleph.tau.ac.il:4500/ALEPH/ENG/ATA/AAS/AAS/FIND-ACC/0860271
+http://www.chaos.dk/sexriddle/v/c/w/d/r/
+http://www9.hmv.co.uk:5555/do/session/1347760/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d135_sd0_pt0.html
+http://tagesanzeiger.ch/archiv/99november/991122/79295.HTM
+http://www.pacifictech.com.cn/pcsoftware/sj/jq/00803.htm
+http://www.pacifictech.com.cn/pcsoftware/sj/jq/00430b.htm
+http://www.pacifictech.com.cn/pcsoftware/zl/syjq/dmtgj/old/tuxing/3d/20000131.html
+http://www.building.com/communities/texis/db/go/+DexVFdeKmYnwrmwxerJOwrmwx3exmww/profile.html
+http://my.egroups.com/message/mathies/43?source=1
+http://www.brio.de/BRIO.catalog/39fe2f5706df064c273fd472aa78067c/UserTemplate/6
+http://www.brio.de/BRIO.catalog/39fe2f5706df064c273fd472aa78067c/UserTemplate/9
+http://www.egroups.com/messages/GollyBeenz/44
+http://www.buybuddy.com/sleuth/15/1/1020507/495848/
+http://www.brio.de/BRIO.catalog/39fe2f41010c308a2742d472aa7806a7/UserTemplate/5
+http://www.ferien-immobilien.de/hessen/bad-hersfeld/Verkauf/IIM-Teil/Startseite/Private-IB/Allgemeine-IB/Gemeinsam/versicherungen/gebaeude/deckungsumfang.htm
+http://www.ferien-immobilien.de/hessen/bad-hersfeld/Verkauf/IIM-Teil/Startseite/Private-IB/Allgemeine-IB/Gemeinsam/impressum.htm
+http://beetle.marion.ohio-state.edu/Bratt2000/D0029/I10769.html
+http://members.tripod.lycos.co.kr/RAINBOR/?D=A
+http://www.eos.ncsu.edu/eos/info/bae/bae324_info/
+http://www.chez.com/mousis/vg/aqui/pages/0006.htm
+http://search.chollian.net/cgi-bin/filter.cgi?cid=2052&p=1
+http://channel.nytimes.com/1998/03/15/technology/cybertimes/eurobytes/
+http://www4.nas.edu/ohr.nsf/All+Documents/Major+Units?OpenDocument&ExpandSection=13,4,2,7,11
+http://uk.dir.yahoo.com/Regional/Countries/Mexico/States/Baja_California/Cities/Ensenada/Travel_and_Transportation/Accommodation/Caravan_Parks_and_Campgrounds/
+http://ring.toyama-ix.net/archives/mac/info-mac/inet/_Mail/_Eudora/
+http://sport.voila.fr/it/calcio/euro2000/teams/por/squad/nunogomes.html
+http://idefix-41.cs.kuleuven.ac.be/~henk/DPS/
+http://library.bangor.ac.uk/search/dLaw+--+Study+and+teaching+--+Great+Britain/dlaw+study+and+teaching+great+britain/-5,-1,0,B/buttonframe&F=dlaw+study+and+teaching+great+britain&7,,7
+http://www.eveclub.com/cgi-bin/eveclub.front/972959440822/Catalog/1000002
+http://www.eveclub.com/cgi-bin/eveclub.front/972959440822/Catalog/1000062
+http://ring.shibaura-it.ac.jp/archives/FreeBSD-PC98/dists/4.0-RELEASE/XF86336/PC98-Servers/?N=D
+http://www.uq.edu.au/site-index/index.phtml?site_tree_data=1,91,95,203,338,344,2,6,182,148
+http://www.uq.edu.au/site-index/index.phtml?site_tree_data=1,91,95,203,338,344,2,6,182,163
+http://www.xmission.com/(apocalypse,art,caffiene,geek,misc,music,music,caffiene,art,toys,dots,edge,misc,shopping,ftp,places,privacy,geek,cuseeme,apocalypse,people,stuffiuse,people,places,shopping,stuffiuse,toys)/~bill/links.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=confinarias&l=pt
+http://www.xmission.com/(apocalypse,art,caffiene,cuseeme,geek,misc,music,music,caffiene,art,toys,dots,edge,misc,shopping,ftp,places,privacy,geek,cuseeme,apocalypse,people,stuffiuse,places,privacy,stuffiuse,toys)/~bill/links.html
+http://www.gigclub.co.jp/tanigawa/tanigawa/980915/menu.html
+http://www.3w-sciencefiction.de/SmithWilliamK/SmithWilliamK0126528756.htm
+http://w3c1.inria.fr/Mobile/posdep/Presentations/Mogid/sld014.htm
+http://members.tripod.co.jp/view_i/p.html
+http://202.99.23.245/zdxw/11/20000317/200003171117.html
+http://www.jpc-music.com/7334085.htm
+http://library.bangor.ac.uk/search/aLibrary+Association/alibrary+association/-5,-1,0,B/buttonframe&F=alibrary+association&2,,64
+http://www.sf.digitalcity.com/puntagordafl/sports/team.dci?league=FSL&team=CHA
+http://www.sf.digitalcity.com/puntagordafl/sports/team.dci?league=FSL&team=LAK
+http://brain.brent.gov.uk/__802564ff0045d739.nsf/vWebAllPagesByLocsSrvd!OpenView&Start=33&Count=60&Collapse=45
+http://www.nypost.com/news/933.htm
+http://www.nypost.com/business/979.htm
+http://www.nypost.com/living/951.htm
+http://www.computer-networking.de/studenten/cn_intern/bauer/jobst/k07-graphik-gui/controls/swing/
+http://194.55.30.33/albanian/tema_gjermane/67823.html
+http://194.55.30.33/albanian/tema_gjermane/65962.html
+http://yp.gates96.com/14/85/10/12.html
+http://yp.gates96.com/14/85/11/98.html
+http://yp.gates96.com/14/85/12/24.html
+http://yp.gates96.com/14/85/13/57.html
+http://yp.gates96.com/14/85/14/92.html
+http://yp.gates96.com/14/85/16/37.html
+http://yp.gates96.com/14/85/16/51.html
+http://yp.gates96.com/14/85/16/78.html
+http://yp.gates96.com/14/85/17/38.html
+http://yp.gates96.com/14/85/17/48.html
+http://yp.gates96.com/14/85/17/91.html
+http://yp.gates96.com/14/85/19/35.html
+http://yp.gates96.com/14/85/19/88.html
+http://genforum.genealogy.com/cgi-genforum/forums/deppen.cgi?3
+http://www.ferien-immobilien.de/nordrhein-Westfalen/Muehlheim-ruhr/Verkauf/Private-IB/Startseite/Gemeinsam/Inserieren/Versteigerungen-IB/Startseite/Ferien-IB/Startseite/
+http://www.redrocksports.com/sports/webSession/shopper/RR972959668-31057/store/dept-5/department/dept-5/item/51800
+http://www.redrocksports.com/sports/webSession/shopper/RR972959668-31057/store/dept-5/department/dept-5/item/53510
+http://www.redrocksports.com/sports/webSession/shopper/RR972959668-31057/store/dept-5/department/dept-5/item/52600
+http://www.redrocksports.com/sports/webSession/shopper/RR972959668-31057/store/dept-5/department/dept-5/item/50510
+http://www.redrocksports.com/sports/webSession/shopper/RR972959668-31057/store/dept-5/department/dept-5/item/50400
+http://polygraph.ircache.net:8181/http_-2www.horizonfinance.com/http_-2www.netscape.com/download/http_-2www.microsoft.com/ie/http_-2207.91.150.20/http_-2www.updowntowner.org/julyjamm/headliners.html
+http://www.ccurrents.com/magazine/national/1702/nets31702.html
+http://adept.subportal.com/sn/Themes/Vehicle_Themes/5090.html
+http://www.fogdog.com/cedroID/ssd3040183211390/nav/products/outlet/1a/fishing/
+http://www.linux.com/networking/network/communications/article/unix/sales/
+http://fyi.cnn.com/content/US/9902/25/germans.death.penalty.ap/
+http://fyi.cnn.com/US/9902/09/monk.execute.ap.02/
+http://fyi.cnn.com/WORLD/asiapcf/9902/06/PM-Philippines-DeathPena.ap/
+http://pub11.ezboard.com/ucivik.showPublicProfile
+http://playboy.software.net/PKIN005896/prod.htm
+http://www.linux.com/networking/network/help/free/performance/install/
+http://www.linux.com/networking/network/help/free/performance/X/
+http://se.egroups.com/message/ghost_tales/1490
+http://niteowl.userfriendly.net/linux/RPM/rawhide/1.0/i386/usr_src_linux-2.4.0_include_Tree.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=coexistissem&l=pt
+http://promed.univ-rennes1.fr/cerf/ico_an/IDRE/21_HADM.HTM
+http://promed.univ-rennes1.fr/cerf/ico_an/IDRE/25_HADM.HTM
+http://promed.univ-rennes1.fr/cerf/ico_an/IDRE/86_HADM.HTM
+http://promed.univ-rennes1.fr/cerf/ico_an/IDRE/88_HADM.HTM
+http://promed.univ-rennes1.fr/cerf/ico_an/IDRE/90_HADM.HTM
+http://promed.univ-rennes1.fr/cerf/ico_an/IDRE/HADM6.HTM
+http://www.estrelladigital.es/000814/articulos/economia/correos.htm
+http://itcareers.careercast.com/texis/it/itjs/+awwBme4CD86LxwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewPPnBwpcnaqdGpdGwBnaoDhdGMwBodDahoDma5BdGnaq15BdMnGa5nGVoqnaqdDBwqBamo5BGox1BodDaMwDwtnMnDBaMFqrIRE7P0IDzme_xwwwpBmHe0B-deaqwww5rmsmwwBrme7Dwww/morelike.html
+http://yp.gates96.com/3/79/50/30.html
+http://yp.gates96.com/3/79/50/54.html
+http://yp.gates96.com/3/79/51/1.html
+http://yp.gates96.com/3/79/51/11.html
+http://yp.gates96.com/3/79/51/80.html
+http://yp.gates96.com/3/79/52/27.html
+http://yp.gates96.com/3/79/52/81.html
+http://yp.gates96.com/3/79/53/81.html
+http://yp.gates96.com/3/79/54/0.html
+http://yp.gates96.com/3/79/54/31.html
+http://yp.gates96.com/3/79/55/74.html
+http://yp.gates96.com/3/79/55/78.html
+http://yp.gates96.com/3/79/56/72.html
+http://yp.gates96.com/3/79/57/0.html
+http://yp.gates96.com/3/79/58/27.html
+http://yp.gates96.com/3/79/58/31.html
+http://yp.gates96.com/3/79/58/48.html
+http://yp.gates96.com/3/79/58/76.html
+http://yp.gates96.com/3/79/58/99.html
+http://yp.gates96.com/3/79/59/27.html
+http://yp.gates96.com/3/79/59/32.html
+http://yp.gates96.com/3/79/59/49.html
+http://yp.gates96.com/3/79/59/81.html
+http://yp.gates96.com/3/79/59/83.html
+http://startribune.atevo.com/misc/print_article/0,3869,4504302,00.html
+http://browse.carnaby.com/home/showcase/6/381/2078/A0638120780000EA01.html
+http://www.checkout.com/music/earmail/form/1,7650,325272-1761567,00.html
+http://ring.shibaura-it.ac.jp/archives/doc/jpnic/minutes/committee/200007/shiryou-4-1.txt
+http://www.secinfo.com/d1ZMQs.51h.htm
+http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/AtlantisPBEM/CVSROOT/modules?only_with_tag=MAIN
+http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/AtlantisPBEM/CVSROOT/modules?only_with_tag=HEAD
+http://ftp.bitcon.no/tucows/adnload/4961_28325.html
+http://yp.gates96.com/3/37/0/21.html
+http://yp.gates96.com/3/37/0/29.html
+http://yp.gates96.com/3/37/0/80.html
+http://yp.gates96.com/3/37/0/87.html
+http://yp.gates96.com/3/37/1/9.html
+http://yp.gates96.com/3/37/2/83.html
+http://yp.gates96.com/3/37/2/92.html
+http://yp.gates96.com/3/37/3/26.html
+http://yp.gates96.com/3/37/4/9.html
+http://yp.gates96.com/3/37/4/29.html
+http://yp.gates96.com/3/37/5/31.html
+http://yp.gates96.com/3/37/5/49.html
+http://yp.gates96.com/3/37/5/51.html
+http://yp.gates96.com/3/37/5/63.html
+http://yp.gates96.com/3/37/5/95.html
+http://yp.gates96.com/3/37/6/0.html
+http://yp.gates96.com/3/37/6/4.html
+http://yp.gates96.com/3/37/7/22.html
+http://yp.gates96.com/3/37/8/10.html
+http://yp.gates96.com/3/37/8/50.html
+http://yp.gates96.com/3/37/8/92.html
+http://yp.gates96.com/3/37/9/46.html
+http://ftp.digex.net/debian/dists/woody/contrib/binary-sh/libs/?N=D
+http://students.lsu.edu/students/main.nsf/c81d2bf8cb0b80ff862566fb00105ab2/7f3436ae9cb1268886256773006f9288!OpenDocument&ExpandSection=4,15,12,16
+http://in.egroups.com/group/bbw-uk
+http://home.swipnet.se/~w-20817/
+http://shop.puretec.de/kunden/19867293/detailansicht_Aku1025B.html
+http://www.rezeptkoch.de/Rezepte/Heimisches_/Gemuse/Sommerliche_Gemusegerichte/sommerliche_gemusegerichte_2.html
+http://www.rezeptkoch.de/Rezepte/Heimisches_/Gemuse/Kohl/kohl_4.html
+http://www.rezeptkoch.de/Rezepte/Heimisches_/Gemuse/Kohl/kohl_11.html
+http://www.chinainvest.com.cn/C/Showdetail/20359.html
+http://tucows.sp-plus.nl/winme/preview/141310.html
+http://www.al-hujjat.grid9.net/gnomehtml/ent_enhance_rating.html
+http://www.warmbloods.net/breeding/_vti_bin/shtml.dll/disc123_post.htm?1260
+http://ftp.sunet.se/pub/FreeBSD/FreeBSD-current/ports/net/ruby-snmp/Makefile
+http://basil.cs.uwp.edu/Documentation/java/jdk/docs/guide/sound/prog_guide/chapter3.fm.html
+http://tucows.1web.it/winme/preview/75525.html
+http://uk-wire.ukinvest.com/articles/200009180701200586R.html
+http://www.ozon.ru/detail.cfm/ent=33&id=953&add2navigator=1&txt=1
+http://cometweb01.comet.co.uk/do!session=131984&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkkHbqpLZXmLbkZHljlKaltLkilLXalKfkaLbukKeqjLi1
+http://community.webshots.com/photo/3922869/3923445TSuTSQIWpD
+http://www.eveclub.com/cgi-bin/eveclub.front/972959447434/Catalog/1000040
+http://www.tvstore.com/browse/TV/NIGHTSHI/s.nXZNPRgQ
+http://www.tvstore.com/browse/TV/COMIC/s.nXZNPRgQ
+http://www.xmwb.sh.cn/xmwb/19981016/GB/13389^8101623.htm
+http://helios.nlib.ee/search*est/tThe+threshold+series/tthreshold+series/-5,-1,0,B/frameset&F=tthrillers&1,1
+http://www4.nas.edu/ohr.nsf/All+Documents/Major+Units?OpenDocument&ExpandSection=23,9,7,18
+http://ftp.bitcon.no/pub/windowsce/epoc/desktop5.htm
+http://ftp.lip6.fr/pub2/sgml-tools/website/HOWTO/Multicast-HOWTO/t1595.html
+http://ftp.rge.com/pub/X/XFree86/3.3.3.1/untarred/xc/programs/Xserver/
+http://ftp.rge.com/pub/X/XFree86/3.3.3.1/untarred/xc/programs/xwud/
+http://syix.tucows.com/win2k/adnload/73370_29328.html
+http://yp.gates96.com/0/54/80/40.html
+http://yp.gates96.com/0/54/80/56.html
+http://yp.gates96.com/0/54/80/61.html
+http://yp.gates96.com/0/54/80/79.html
+http://yp.gates96.com/0/54/81/11.html
+http://yp.gates96.com/0/54/81/25.html
+http://yp.gates96.com/0/54/81/58.html
+http://yp.gates96.com/0/54/82/48.html
+http://yp.gates96.com/0/54/82/75.html
+http://yp.gates96.com/0/54/83/0.html
+http://yp.gates96.com/0/54/84/12.html
+http://yp.gates96.com/0/54/84/67.html
+http://yp.gates96.com/0/54/85/47.html
+http://yp.gates96.com/0/54/85/59.html
+http://yp.gates96.com/0/54/86/52.html
+http://yp.gates96.com/0/54/86/55.html
+http://yp.gates96.com/0/54/86/79.html
+http://yp.gates96.com/0/54/86/87.html
+http://yp.gates96.com/0/54/87/12.html
+http://yp.gates96.com/0/54/87/81.html
+http://yp.gates96.com/0/54/88/97.html
+http://yp.gates96.com/0/54/89/90.html
+http://www.yorosiku.net:8080/-_-http://liinwww.ira.uka.de/bibliography/Distributed/SIGCOMM.94.html
+http://news.pchome.com.tw/ftv/health/20000915/
+http://www.emis.de/journals/EJDE/Volumes/Volumes/Monographs/1998/05/?N=D
+http://travelocity-dest.excite.com/DestGuides/0,1840,TRAVELOCITY|5706|3|1|159040|photo_id|4022,00.html
+http://travelocity-dest.excite.com/DestGuides/0,1840,TRAVELOCITY|5706|3|1|159040|photo_id|4020,00.html
+http://lhcbsoft.web.cern.ch/LHCbSoft/simmuon/v1/mgr/CVS/Root
+http://tucows.soneraplaza.nl/winme/adnload/137454_28942.html
+http://www.borland.nl/techpubs/jbuilder/jbuilder3/ui/wclass.html
+http://fi.egroups.com/links/dssf
+http://www.homestead.com/jcv2000/MBoard.html
+http://careershop.resumeshotgun.com/directory/italy/sardegna/o.10.p.4408.html
+http://www.hantsnet.co.uk/istcclr/cch32751.html
+http://www.hantsnet.co.uk/istcclr/cch16729.html
+http://www.hantsnet.co.uk/istcclr/cch03788.html
+http://www.hantsnet.co.uk/istcclr/cch05491.html
+http://www.hantsnet.co.uk/istcclr/cchr0418.html
+http://www.hantsnet.co.uk/istcclr/cchh2289.html
+http://www.hantsnet.co.uk/istcclr/cchh2074.html
+http://www.hantsnet.co.uk/istcclr/cch30426.html
+http://www.hantsnet.co.uk/istcclr/cch11726.html
+http://www.hantsnet.co.uk/istcclr/cch03858.html
+http://www.hantsnet.co.uk/istcclr/cche0920.html
+http://www.hantsnet.co.uk/istcclr/cch34768.html
+http://www.hantsnet.co.uk/istcclr/cchc2067.html
+http://www.hantsnet.co.uk/istcclr/cche1085.html
+http://www.v2music.com/Scripts/WebObjects-ISAPI.dll/V2_New_Publisher.woa/53771000000443000000339400000065451/v2tvindex.wo/614720000055451/1.14/3/Webobjects1
+http://www.sternonline.de/magazin/fotogalerie/hinz/index5.html
+http://www.envy.nu/Sing.html
+http://employment.subportal.com/sn/Themes/
+http://www.diogenes.ch/4DACTION/web_rd_aut_prview/a_id=7002120&area=&ID=483332
+http://wlink.tucows.com/winme/adnload/137847_29260.html
+http://tucows.computalynx.net/winnt/adnload/71633_28766.html
+http://ftp.up.pt/Linux/debian/dists/stable/main/disks-m68k/?M=A
+http://lcweb2.loc.gov/ll/llnt/009/0000/
+http://www.magma.ca/~denisd/africa/day02.html
+http://www.magma.ca/~denisd/africa/day16.html
+http://content.health.msn.com/message_board_author/802072
+http://ep.com/js/about/c0/189455
+http://ep.com/js/about/c0/154005
+http://www.realbig.com/miata/miata/1999-12/2340.html
+http://www.multimap.com/wi/33738.htm
+http://www.multimap.com/wi/148724.htm
+http://www.bemi-immobilien.de/Landhaus-Bordeaux/Gemeinsam/3d-service/Gemeinsam/versicherungen/lebensversicherung/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/versicherungen/lebensversicherung/Gemeinsam/MarketingStrategie/Strategie.htm
+http://link.fastpartner.com/do/session/600347/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/create/learn.htm
+http://pub16.ezboard.com/fisnforumsfrm16.subscribeUnregisteredToTopic?topicID=731.topic
+http://freesoftware.subportal.com/sn/Business/Application_Add-ins/726.html
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/ports/deskutils/genius/files/?sortby=date
+http://www.madein.nnov.ru/stat/index.phtml?cid=418&t=3
+http://citeseer.nj.nec.com/correct/294145
+http://www.phillips.semiconductors.com/pip/PCF5001H
+http://www.tvstore.com/browse/TV/BANK/s.Vaphccqs
+http://www.tvstore.com/browse/TV/SCRIPT/s.Vaphccqs
+http://www.tvstore.com/aboutus/s.Vaphccqs
+http://www.fogdog.com/cedroID/ssd3040183205929/nav/products/featured_brands/3b/arm_warmers/
+http://orders.mkn.co.uk/bear/steiff/classic/order/now.en$NOK?what-e=1
+http://www.crutchfield.com/S-jtpRS1P7vRY/help/
+http://www06.u-page.so-net.ne.jp/tb3/y-miyu/azure/kodatour.htm
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-stable/japanese/escpf/distinfo
+http://no.egroups.com/subscribe/Theater_plays
+http://www.equipe.fr/Football/FootballFicheJoueur8954_0.html
+http://www.equipe.fr/Football/FootballFicheJoueur6039_0.html
+http://www.pmdc.org.uk/dogsdb/p00/P00133.HTM
+http://ip.tosp.co.jp/i.asp?i=nononatti3
+http://tucows.wlink.com.np/adnload/144221_48889.html
+http://store.yahoo.co.jp/I/naturum_1590_147867488
+http://providenet.office.tucows.com/adnload/77414_41755.html
+http://providenet.office.tucows.com/adnload/73011_41097.html
+http://www.goldersgreen.londonengland.co.uk/medicalequipmentrentalandleasing.htm
+http://www.online.kokusai.co.jp/Mmf_corner/V0043462/mmf_corner/mmf_corner/url
+http://www.qth.net/archive/packrats/200008/20000804.html
+http://www.expage.com/buffykat11nelly
+http://dk.egroups.com/login.cgi?login_target=%2Fmessages%2Fbbs_people
+http://dk.egroups.com/message/bbs_people/23
+http://www.linux.com/networking/network/technology/free/development/learning/
+http://www.chaos.dk/sexriddle/r/x/z/t/l/
+http://www.opensecrets.org/lobbyists/98profiles/5918.htm
+http://www.cbs.sportsline.com/u/football/nfl/kids/players/3418.htm
+http://www.cbs.sportsline.com/u/football/nfl/kids/players/3868.htm
+http://www.cbs.sportsline.com/u/football/nfl/kids/players/133268.htm
+http://www.hig.se/(apre,clientname,countdown,language,set_cookie)/~jackson/roxen/
+http://www.platogmbh.de/plato/home.nsf/c81870434660ba41c125652a0029a47a/fb7566ed772f8580c12566f00036ac59!OpenDocument&ExpandSection=4,8,11,12
+http://www.fogdog.com/cedroID/ssd3040183211315/nav/products/featured_brands/2m/kick_sprint_boards/
+http://www.iabusnet.org:90/forums/aca-1/dispatch.exe/survey/folderFrame/100001/0/alpha/2458960
+http://www.jamba.de/KNet/_KNet-ONt8j1-NEd-139p9/showInfo-jobs.de/node.0/cde7f1uou
+http://www.jamba.de/KNet/_KNet-ONt8j1-NEd-139pf/browse.de/node.0/cdzqggtyb
+http://iland.tucows.com/win2k/adnload/38318_29882.html
+http://builder.hw.net/frmRestDir/0,1112,'1~21~325~1~S~020060~04880',00.html
+http://builder.hw.net/frmRestDir/0,1112,'1~21~325~1~S~020060~35840',00.html
+http://builder.hw.net/frmRestDir/0,1112,'1~21~325~1~S~020060~90237',00.html
+http://sunsite.org.uk/public/usenet/news.answers/alt.answers/self-impr-faq/part1
+http://ftp.bitcon.no/pub/simtelnet/win95/fileutl/?S=A
+http://totalsports.aol.com/stats/bbo/mlb/20000517/bal.at.ana.game.html
+http://au.yahoo.com/Regional/U_S__States/Virginia/Counties_and_Regions/Henrico_County/Business_and_Shopping/Shopping_and_Services/Travel/
+http://ftp.up.pt/Linux/debian/dists/unstable/main/binary-all/math/
+http://students.lsu.edu/students/main.nsf/c81d2bf8cb0b80ff862566fb00105ab2/7f3436ae9cb1268886256773006f9288!OpenDocument&ExpandSection=10,17,13,14
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-stable/japanese/vfghostscript/Makefile
+http://polygraph.ircache.net:8181/yp/User_Contribs/http_-2home.netscape.com/comprod/mirror/
+http://www.emis.de/journals/EJDE/Volumes/Monographs/Volumes/1998/26/?S=A
+http://www.smartshop.com/cgi-bin/main.cgi?c=314&a=contactus
+http://213.36.119.69/do/session/152986/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/BE_NL/
+http://www.outdoorwire.com/lists/dirt/200009/msg01273.html
+http://chicagocow.com/top/1,1419,M-Metromix-Home-Carryout!InputReview-9757--0,00.html
+http://www.lithoquoter.com/Scripts/WebObjects.exe/Printers.woa/659920000022582000008720100000129302/main.wo/9193100000029302/4/-/prime
+http://groups.haas.berkeley.edu/hcs/Docs/SASv8/sasdoc/sashtml/proc/z0292493.htm
+http://groups.haas.berkeley.edu/hcs/Docs/SASv8/sasdoc/sashtml/proc/z0292495.htm
+http://groups.haas.berkeley.edu/hcs/Docs/SASv8/sasdoc/sashtml/proc/z0292496.htm
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/jlhIVflnBPgWmpC4eFAjXlk3QXcFhcK-b9D_cbZyHLtTP5aigpMrgot7TKiIhNzg8y23_mmQAn7GVTQsvALIGIvJI8RFNXRZDuyGCzJ8JFs6ysbZfjgM3ik0nyIt5yhT_ujQhRI-42lzAOeb666j
+http://www.nissan.co.jp/RENAULT-DEALERS/PASSPORT/view.cgi/admission/972959588--
+http://www.intellicast.com/Golf/World/UnitedStates/MidAtlantic/Virginia/RoyalNewKentGC/LocalWinds/d1_12/
+http://gbchinese.yahoo.com/headlines/001028/sports/ycwb/ycba28c003txttyxw00102800.html
+http://gbchinese.yahoo.com/headlines/001028/sports/ycwb/ycba28c004txttyxw00102800.html
+http://mx.php.net/manual/hu/language.references.unset.php
+http://www.cbtravelguide.com/north_america/united_states/info_2.htm?sortby=city
+http://www.intellicast.com/Sail/World/UnitedStates/Northwest/Idaho/Targhee/LocalWinds/d1_03/
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-current/devel/libgii/distinfo
+http://biblioteca.upv.es/bib/doc/doc_fisbd/816/149599//C/1826373/0////25/S/MLTPAI
+http://willsmith.sonicnet.com/events/jay_z/index_sonicnet.jhtml
+http://tucows.soneraplaza.nl/winme/tucowsme_license.html
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/src/usr.sbin/fdcontrol/Makefile?only_with_tag=MAIN
+http://www.kurit.com/ip/a5iu/dungeon/showsw1.html
+http://www.mapion.co.jp/custom/AOL/admi/13/13118/minamisenju/3chome/index-30.html
+http://yp.gates96.com/3/2/10/4.html
+http://yp.gates96.com/3/2/10/19.html
+http://yp.gates96.com/3/2/10/48.html
+http://yp.gates96.com/3/2/10/52.html
+http://yp.gates96.com/3/2/10/82.html
+http://yp.gates96.com/3/2/11/10.html
+http://yp.gates96.com/3/2/11/13.html
+http://yp.gates96.com/3/2/13/31.html
+http://yp.gates96.com/3/2/13/41.html
+http://yp.gates96.com/3/2/13/43.html
+http://yp.gates96.com/3/2/14/3.html
+http://yp.gates96.com/3/2/14/19.html
+http://yp.gates96.com/3/2/15/54.html
+http://yp.gates96.com/3/2/15/72.html
+http://yp.gates96.com/3/2/16/84.html
+http://yp.gates96.com/3/2/17/22.html
+http://yp.gates96.com/3/2/17/61.html
+http://yp.gates96.com/3/2/18/1.html
+http://yp.gates96.com/3/2/18/41.html
+http://yp.gates96.com/3/2/18/58.html
+http://yp.gates96.com/3/2/19/56.html
+http://yp.gates96.com/3/2/19/79.html
+http://www.stas.net/lonlywtrsoul/minesweeper/ms.html
+http://ksu.freeyellow.com/
+http://www.genome.wustl.edu:8021/gsc10/est/yt/yt69/
+http://www.genome.wustl.edu:8021/gsc10/est/yt/yt82/
+http://www.winsite.com/info/pc/win95/miscutil/cutty10.exe/downltop.html
+http://habenix.uni-muenster.de/Rektorat/Forschungsberichte-1997-1998/fo05bbe03.htm
+http://www.jobvillage.com/channel/jobs/installation_repair/bicycle/g.3370.html
+http://www.mordkommission.de/ratgeber/praxis/service/broschueren/40504/
+http://www.aelita.net/products/news/solutions/sitemap/company/library/default.htm
+http://www.beanienation.com/cgi-bin/bn/view_feedback.mod?HANDLE=acejet
+http://cgi1.washingtonpost.com/wp-dyn/metro/va/alexandria/
+http://www.linux.com/networking/network/applications/interface/linux/distro/
+http://www2.brent.gov.uk/bv1nsf.nsf/031d5c68638196618025664000760871/963fe55ca97ccaa5802568f900503269!OpenDocument&Start=57.3&Count=60&Expand=69
+http://www2.brent.gov.uk/bv1nsf.nsf/031d5c68638196618025664000760871/963fe55ca97ccaa5802568f900503269!OpenDocument&Start=57.3&Count=60&Expand=72
+http://www2.brent.gov.uk/bv1nsf.nsf/031d5c68638196618025664000760871/963fe55ca97ccaa5802568f900503269!OpenDocument&Start=57.3&Count=60&Expand=87
+http://genforum.genealogy.com/cgi-genforum/forums/youngs.cgi?26
+http://www.tvstore.com/browse/TV/CAP/s.IRspZRIy
+http://210.178.135.1/netbbs/Bbs.cgi/nhic30592/qry/zka/B2-kB2-p/pno/0/qqo/012A/qqatt/^
+http://home.sol.no/~leskjerv/aner/12063.htm
+http://pub6.ezboard.com/fwatckkeepersgeneralwatchkeeperdiscussion?page=5
+http://www.centc251.org/forums/aca-1/dispatch.cgi/hsi/folderFrame/100217/0/def/1210456
+http://ftp.sunet.se/pub/FreeBSD/ports/ports-stable/games/xosmulti/?S=A
+http://opac.lib.rpi.edu/search/ddata+processing+english+language+style/7,-1,0,B/browse
+http://yp.gates96.com/7/40/0/5.html
+http://yp.gates96.com/7/40/0/33.html
+http://yp.gates96.com/7/40/1/27.html
+http://yp.gates96.com/7/40/3/25.html
+http://yp.gates96.com/7/40/3/36.html
+http://yp.gates96.com/7/40/4/67.html
+http://yp.gates96.com/7/40/4/77.html
+http://yp.gates96.com/7/40/6/28.html
+http://yp.gates96.com/7/40/6/49.html
+http://yp.gates96.com/7/40/6/89.html
+http://yp.gates96.com/7/40/7/21.html
+http://yp.gates96.com/7/40/9/24.html
+http://indonesian.wunderground.com/geo/GizmoTempBigPromo/global/stations/07434.html
+http://www.teenplatinum.com/barelylegal/anal-sexass/legsred-toenail-polish/swallowspit/submissiondiscipline/maledomspanking/hardcorebondage.html
+http://cgi.cnnsi.com/basketball/college/women/scoreboards/aeast/2000/10/18/
+http://cgi.cnnsi.com/basketball/college/women/scoreboards/aeast/2000/10/16/
+http://bellona.itworld.com:8080/cwi/Printer_Friendly_Version/frame/0,1212,NAV63-128-1357-1367_STO48482-,00.html
+http://cdrwww.who.int/fsf/ehec.pdf
+http://tw.yahoo.com/Regional/Countries_and_Regions/China/Provinces__Regions_and_Municipalities/Jiangxi/Cities_and_Towns/Nanchang/Real_Estate/
+http://tw.yahoo.com/Regional/Countries_and_Regions/China/Provinces__Regions_and_Municipalities/Jiangxi/Cities_and_Towns/Nanchang/Society_and_Culture/
+http://www.camden-industrial.com/supply/webSession/shopper/CI972959657-31048/store/dept-8
+http://www.msb.malmo.se/search*swe/mQdfm/mqdfm/-5,-1,0,E/2browse
+http://tagesanzeiger.ch/archiv/96september/960903/213235.htm
+http://yp.gates96.com/3/7/20/3.html
+http://yp.gates96.com/3/7/20/28.html
+http://yp.gates96.com/3/7/20/42.html
+http://yp.gates96.com/3/7/21/5.html
+http://yp.gates96.com/3/7/21/61.html
+http://yp.gates96.com/3/7/22/18.html
+http://yp.gates96.com/3/7/22/20.html
+http://yp.gates96.com/3/7/22/24.html
+http://yp.gates96.com/3/7/23/33.html
+http://yp.gates96.com/3/7/23/49.html
+http://yp.gates96.com/3/7/23/57.html
+http://yp.gates96.com/3/7/24/22.html
+http://yp.gates96.com/3/7/24/23.html
+http://yp.gates96.com/3/7/24/27.html
+http://yp.gates96.com/3/7/24/36.html
+http://yp.gates96.com/3/7/24/45.html
+http://yp.gates96.com/3/7/25/98.html
+http://yp.gates96.com/3/7/26/56.html
+http://yp.gates96.com/3/7/26/77.html
+http://yp.gates96.com/3/7/26/94.html
+http://yp.gates96.com/3/7/27/10.html
+http://yp.gates96.com/3/7/27/17.html
+http://yp.gates96.com/3/7/27/61.html
+http://yp.gates96.com/3/7/27/73.html
+http://yp.gates96.com/3/7/27/81.html
+http://yp.gates96.com/3/7/27/82.html
+http://yp.gates96.com/3/7/27/87.html
+http://yp.gates96.com/3/7/28/48.html
+http://yp.gates96.com/3/7/29/1.html
+http://yp.gates96.com/3/7/29/8.html
+http://yp.gates96.com/3/7/29/32.html
+http://www.crit.org/http://www-mel.nrlmry.navy.mil/%ff:words:(MEL-is-a-sponsored-distributed-environmental-data-access-system-which-allows-users-to-search-for-browse-and-retrieve-environmental-data-from-distributed-sources)
+http://www.crit.org/http://crit.org/pub/radiks.net/jwoods/%ff:words:jwoods-radiks-net-(A-More-Graceful-Transition)-An-expanded-definition
+http://shn.webmd.com/roundtable_reply/802056
+http://shn.webmd.com/roundtable_author/802056
+http://bbs.bianca.com/mforums/e/expounder/posts/2000_Jan_09/3067/3073.html
+http://www.spaindustry.com/ita/geosearch/navarra/navarra/ESLAVA.html
+http://www.backflip.org/members/rj2nagle/4643211
+http://www.backflip.org/members/rj2nagle/7211888
+http://www.backflip.org/members/rj2nagle/5066953
+http://www.backflip.org/members/rj2nagle/5346740
+http://www.backflip.org/members/rj2nagle/5382951
+http://www.linux.com/networking/network/performance/help/va_linux_systems/server/
+http://www.secinfo.com/d178s.ad.htm
+http://www.secinfo.com/d178s.9d.htm
+http://www.secinfo.com/d178s.8b.htm
+http://www.secinfo.com/d178s.8y.htm
+http://iceberg.adhomeworld.com/cgi-win/redirect.exe/1153874888
+http://tmxy.363.net/refer-e.htm
+http://www.narodnaobroda.sk/20000210/10_007.html
+http://retailer.gocollect.com/do/session/1912712/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/index.asp
+http://retailer.gocollect.com/do/session/1912712/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/halloween/halloween.asp
+http://www.larevista.elmundo.es/documentos/secciones/ciencia.html
+http://ftpsearch.belnet.be/mirrors/ftp.isc.org/pub/usenet/control/brightnet/?M=A
+http://www.5a8.com/book/zt/zpj/k/kelisidi/wanshenjie/006.htm
+http://www.5a8.com/book/zt/zpj/k/kelisidi/wanshenjie/019.htm
+http://www.northwoods.bigsmart.com/mall/cat_automotive.cfm?drop_menu=yes
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_41/chapter_004/rcw_41_04_220.txt
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_41/chapter_004/rcw_41_04_364.txt
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_41/chapter_004/rcw_41_04_400.txt
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_41/chapter_004/rcw_41_04_630.txt
+http://bsd.tucows.mol.com/x11html/adnload/69206_8129.html
+http://ldp.teihal.gr/LDP/LG/issue22/notes-mode.html
+http://ldp.teihal.gr/LDP/LG/issue22/haters.html
+http://members.nbci.com/design_res/software_ftp.htm
+http://www.nativeamerican-jewelry.com/necklace53.htm
+http://members.theglobe.com/pamile/Pamela0004.html
+http://webtools.familyeducation.com/whatworks/item/front/0,2551,22-9696-7350-1099-49655,00.html
+http://wwws.br-online.de/geld/boerse/970909/072001.html
+http://212.31.0.37/fix98/75yil/1938.htm
+http://212.31.0.37/fix98/75yil/1950.htm
+http://212.31.0.37/fix98/75yil/26ekl.htm
+http://212.31.0.37/fix98/75yil/28ekl.htm
+http://212.31.0.37/fix98/75yil/38ekl.htm
+http://212.31.0.37/fix98/75yil/67ekl.htm
+http://212.31.0.37/fix98/75yil/92ekl.htm
+http://212.31.0.37/fix98/75yil/15ekl.htm
+http://www.insurequotes.com/wa2/71J2.html
+http://cn.egroups.com/message/csreye/112
+http://ring.crl.go.jp/archives/lang/perl/CPAN/authors/id/J/JA/JARIAALTO/?D=A
+http://ds.dial.pipex.com/town/drive/kch36/select/s31/ch027.html
+http://ds.dial.pipex.com/town/drive/kch36/select/s31/ch056.html
+http://ds.dial.pipex.com/town/drive/kch36/select/s31/ch043.html
+http://202.99.23.245/huadong/199905/25/no_4.html
+http://www.linux.com/networking/network/industry/training/services/business/
+http://www.writtenbyme.com/articles/849308468.shtml
+http://members.tripod.com/TroupeLynx/index_m.htm
+http://polygraph.ircache.net:8181/http_-2www.horizonfinance.com/https_-2www.truste.org/validate/http_-2www.ziplink.net/~ralphb/newsroom/http_-2www.travelsc.com/industry/home.html
+http://ftp.bitcon.no/pub/tucows/preview/1095.html
+http://ftp.bitcon.no/pub/tucows/preview/870.html
+http://ftp.bitcon.no/pub/tucows/preview/144675.html
+http://ftp.bitcon.no/pub/tucows/preview/144869.html
+http://ftp.bitcon.no/pub/tucows/preview/31162.html
+http://ftp.bitcon.no/pub/tucows/preview/7724.html
+http://ftp.bitcon.no/pub/tucows/preview/2691.html
+http://ftp.bitcon.no/pub/tucows/preview/72841.html
+http://ftp.bitcon.no/pub/tucows/preview/72185.html
+http://www.jacksonhewitt.com/ctg/cgi-bin/JacksonHewitt/company_profile/AAAksrACwAAABtvAAX
+http://search.excaliburfilms.com/moviepgs/goodbadanddirty.htm?currency=NOK&stock=8377V1
+http://search.excaliburfilms.com/moviepgs/goodbadanddirty.htm?currency=FRF&stock=8377V1
+http://genforum.genealogy.com/cgi-bin/print.cgi?torian::44.html
+http://retailer.gocollect.com/do/session/1912702/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/newintros.asp
+http://www.retrobytes.org/classiccmp/9911/msg00941.html
+http://ftp.support.compaq.com/public/dunix/v3.2d-1/dce/?S=A
+http://www.collectingnation.com/cgi-bin/bn/request_email.mod?EHANDLE=CoyoteChief
+http://www.collectingnation.com/cgi-bin/bn/request_email.mod?EHANDLE=cpatch
+http://www.beanienation.com/cgi-bin/bn/view_feedback.mod?HANDLE=cpegasus
+http://www.quzhou.gov.cn/flfg.nsf/0a043ae26eb50247002564640039f21d/483ed12afec2b31d002564ac0039427a!OpenDocument&ExpandSection=7,6,5
+http://www.luecos.de/wow/art/mu_newsc_12080.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/quizz/misc/lit/programs/simple/pages_new.html
+http://library.cuhk.edu.hk/search*chi/aChen,+Hui-fen./achen+hui+fen/31,-1,0,E/frameset&F=achen+hung&4,,0
+http://www.vedomosti.spb.ru/2000/arts/spbved-82-art-2.html
+http://www.vedomosti.spb.ru/2000/arts/spbved-82-art-21.html
+http://www.vedomosti.spb.ru/2000/arts/spbved-82-art-45.html
+http://caller-times.com/1999/june/26/today/national/2447.html
+http://cafe5.daum.net/Cafe-bin/Bbs.cgi/vision20pds/lst/qqeq/1/zka/B2-kB2Np
+http://www.crutchfield.com/S-q8jdM6hvouc/sales.html
+http://www.crutchfield.com/S-q8jdM6hvouc/cgi-bin/Catalog.asp?sid=S-q8jdM6hvouc
+http://www.crutchfield.com/S-q8jdM6hvouc/copyright.html
+http://deliveryc.aftonbladet.se/puls/stockholmsguiden/presentation/0,1714,2000023149,00.html
+http://deliveryc.aftonbladet.se/puls/stockholmsguiden/presentation/0,1714,2000023162,00.html
+http://deliveryc.aftonbladet.se/puls/stockholmsguiden/presentation/0,1714,2000023220,00.html
+http://www.tnonline.com/archives/news/2000weeklies/09.20/pocono/pocono/police.html
+http://retailer.gocollect.com/do/session/1912688/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/sports/index.asp
+http://ftp.fas.org/irp/world/iraq/hadi/
+http://rusf.ru/kb/stories/kogda_chapaev_ne_utonul/text.htm
+http://ring.yamanashi.ac.jp/pub/FreeBSD-PC98/dists/4.1-RELEASE/packages/chinese/?M=A
+http://www3.buch-per-sms.de/anmeldung0.jsp$ID=To7737mC4935289641883087At0.9095524774481786
+http://www3.buch-per-sms.de/impressum.jsp$ID=To7737mC4935289641883087At0.9104482951702283
+http://ftp.uni-bremen.de/pub/linux/dist/suse/6.4/i386.de/suse/contents/
+http://ftp.uni-bremen.de/pub/linux/dist/suse/6.4/i386.de/suse/pay3/
+http://ftp.uni-bremen.de/pub/linux/dist/suse/6.4/i386.de/suse/xdev2/
+http://www.mlbworldseries.com/u/baseball/mlb/players/moreplayer_7649.htm
+http://www.rismedia.com/consumer/27/5192/
+http://www.rismedia.com/consumer/27/18760/
+http://library.cuhk.edu.hk/search*chi/aZhang,+Wei-Yuan./azhang+wei+yuan/-5,-1,0,B/browse
+http://itcareers.careercast.com/texis/it/itjs/+XwwBmeSFy86xwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew8awn5otDanDtoDnnGaxdo5na5BwBnazdxanLpnGonDqnamnVncdpaBnwMahoGMiwGna31wcohoqwBodDaMFqpl0bP0RRe2PftgQE2yDzmesxwwwpBmeAFy86Kwww5rmepdwwwBrmeZpwww/morelike.html
+http://itcareers.careercast.com/texis/it/itjs/+zwwBmerEy86e+xwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew8awn5otDanDtoDnnGaxdo5na5BwBnazdxanLpnGonDqnamnVncdpaBnwMahoGMiwGna31wcohoqwBodDaMFqpl0bP0RRe2PftgQE2yDzmesxwwwpBmeAFy86Kwww5rmeADwwwBrmeZpwww/jobpage.html
+http://itcareers.careercast.com/texis/it/itjs/++wwBmex8286xwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew8awn5otDanDtoDnnGaxdo5na5BwBnazdxanLpnGonDqnamnVncdpaBnwMahoGMiwGna31wcohoqwBodDaMFqpl0bP0RRe2PftgQE2yDzmesxwwwpBmeAFy86Kwww5rm6mwwBrmeZpwww/jobpage.html
+http://archive.soccerage.com/s/de/09/b2445.html
+http://archive.soccerage.com/s/de/09/b2408.html
+http://archive.soccerage.com/s/de/09/b2272.html
+http://archive.soccerage.com/s/de/09/b2256.html
+http://archive.soccerage.com/s/de/09/b2249.html
+http://archive.soccerage.com/s/de/09/b2245.html
+http://archive.soccerage.com/s/de/09/b2246.html
+http://archive.soccerage.com/s/de/09/b2237.html
+http://archive.soccerage.com/s/de/09/b2207.html
+http://genforum.genealogy.com/cgi-genforum/forums/wickham.cgi?296
+http://ftpsearch.belnet.be/packages/CPAN/authors/id/N/NE/NEDKONZ/?S=A
+http://www.cheatscape.com/amiga/a/game53cindex_1.htm
+http://www.best.com/~radko/lounge/messages/3572.html
+http://www.best.com/~radko/lounge/messages/3542.html
+http://www.best.com/~radko/lounge/messages/3563.html
+http://www.best.com/~radko/lounge/messages/3502.html
+http://www.best.com/~radko/lounge/messages/3431.html
+http://user.tninet.se/~lrg243i/leo2.htm
+http://www.pocketbible.co.kr/new/hebrews/hebrews07/hebrews7-5.htm
+http://www.pocketbible.co.kr/new/hebrews/hebrews07/hebrews7-10.htm
+http://members.tripod.co.jp/sugart/?D=A
+http://www.linux.com/networking/network/industry/growth/new/server/
+http://kdecvs.stud.fh-heilbronn.de/cvsweb/kdegames/kspaceduel/sprites/?hideattic=0&sortby=log
+http://karate.list.ru/catalog/10621.html
+http://www.digitaldrucke.de/(aktuell,arbeitsvermittlung,computer,hilfe,individualverkehr,kultur,mix,nuernberg,sense,software,verkehr)/_fort/html/themen/aktuell/verkehr.htm
+http://www.digitaldrucke.de/(aktuell,arbeitsvermittlung,computer,hilfe,individualverkehr,kultur,mix,nuernberg,sense,software,verkehr)/_fort/html/themen/aktuell/fahrzeug/fahrzeug.htm
+http://www.digitaldrucke.de/(aktuell,arbeitsvermittlung,computer,creaccess,hilfe,individualverkehr,kultur,mix,nuernberg,schnellübersicht,sense,software,verkehr,von)/_fort/html/themen/hilfe/getall.htm
+http://polygraph.ircache.net:8181/http_-2www.infolane.com/http_-2www.neosoft.com/~nitemoon/technical/http_-2www2.davidweekleyhomes.com/advancedproj.html
+http://wow-online.vhm.de/Regional/Sri_Lanka/Nachrichten.html
+http://www.bell.bellnet.com/suchen/sport/rodeo.html
+http://netway.pda.tucows.com/palm/adnload/67796_21902.html
+http://netway.pda.tucows.com/palm/preview/48544.html
+http://netway.pda.tucows.com/palm/adnload/139037_47478.html
+http://netway.pda.tucows.com/palm/adnload/73256_21914.html
+http://netway.pda.tucows.com/palm/adnload/71930_21910.html
+http://netway.pda.tucows.com/palm/adnload/136499_47294.html
+http://netway.pda.tucows.com/palm/adnload/77938_21926.html
+http://wap.jamba.de/KNet/_KNet-g_v8j1-4Fd-13aaq/browse.de/node.0/cde7f2elw
+http://www.oreilly.com/medical/autism/news/research.html
+http://www.geocities.co.jp/HeartLand-Namiki/5523/kopen.html
+http://br-online.de/wissenschaft/wimfs/tm/tm9611/tt9611ol.htm
+http://retailer.gocollect.com/do/session/1912709/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/preorder.asp
+http://rac.co.kr/www.avm.de/
+http://rac.co.kr/www.aztech.com.sg/
+http://rac.co.kr/www.simple.com.au/drivers.htm
+http://www.egroups.com/messages/Wrestlings2ndComing/263
+http://mediate.magicbutton.net/do/session/625584/vsid/3342/tid/3342/cid/88020/mid/2008/rid/2313/chid/2648/url/http://www1.getmapping.com/index.cfm
+http://ben.aspads.net/ex/c/643/874990125
+http://www.hri.org/docs//statedep/1998/98-05-26.std.html
+http://member1.shangdu.net/home2/longing/byzs/036.htm
+http://web.tiscalinet.it/informacitta/n2Maggio2000/n2Maggio2000/Pagine/P16.htm
+http://www.eveclub.com/cgi-bin/eveclub.front/972959455723/Catalog/11000155
+http://www.eveclub.com/cgi-bin/eveclub.front/972959455723/Basket/View/1000038
+http://student.monterey.edu/sz/troxellphillipju/campus/
+http://readers.thevines.com/leaf/AA0000401329/45///&act=24-1-11&bref=1601
+http://caller-times.com/1999/september/30/today/business/750.html
+http://www.online.kokusai.co.jp/Mmf_corner/V0043482/mmf_corner/mmf_corner/url
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=27,33,21,19,32
+http://jupiter.u-3mrs.fr/~msc41www/GRATXT/PD6483.HTM
+http://webtools.familyeducation.com/whatworks/item/front/0,2551,1-9696-7765-539-51377,00.html
+http://parallel.fh-bielefeld.de/ti/vorlesung/sp/jdk_doc/java/text/class-use/FieldPosition.html
+http://cinemabilia.de/details/katnr/239509/
+http://ftp.sunet.se/pub/FreeBSD/FreeBSD-current/ports/games/xgolgo/pkg-comment
+http://yp.gates96.com/13/2/50/12.html
+http://yp.gates96.com/13/2/50/68.html
+http://yp.gates96.com/13/2/52/56.html
+http://yp.gates96.com/13/2/53/71.html
+http://yp.gates96.com/13/2/54/13.html
+http://yp.gates96.com/13/2/54/21.html
+http://yp.gates96.com/13/2/54/43.html
+http://yp.gates96.com/13/2/54/52.html
+http://yp.gates96.com/13/2/54/94.html
+http://yp.gates96.com/13/2/55/25.html
+http://yp.gates96.com/13/2/55/57.html
+http://yp.gates96.com/13/2/56/95.html
+http://yp.gates96.com/13/2/57/24.html
+http://yp.gates96.com/13/2/57/34.html
+http://yp.gates96.com/13/2/57/35.html
+http://yp.gates96.com/13/2/57/64.html
+http://yp.gates96.com/13/2/58/92.html
+http://yp.gates96.com/13/2/59/2.html
+http://yp.gates96.com/13/2/59/31.html
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/RLhI7rcI1D4JxQFT7-3mEP5SJK8AVzq_FCHTmPD4oB4tzM54LVISOGr6gaW80TieiLj3vEEhfqMBuYuDKIQXk3pROAhdckz6dDnbPsi72aC9ZSsK2o3j3J8YlLpw-uOtcBIEsA4ZZATUNj1D6atp66I4
+http://www.dulux.co.uk/UKRETAIL:1938649915:DFinity.1QJiP4jRabmkmb
+http://www.dulux.co.uk/UKRETAIL:1938649915:DFinity.1QJiP4jMomdoclfieh
+http://www.egroups.com/messages/raite-dvd/1442
+http://www3.newstimes.com/archive2000/jun28/bzd.htm
+http://yp.gates96.com/2/75/20/35.html
+http://yp.gates96.com/2/75/20/42.html
+http://yp.gates96.com/2/75/20/48.html
+http://yp.gates96.com/2/75/21/28.html
+http://yp.gates96.com/2/75/21/88.html
+http://yp.gates96.com/2/75/21/91.html
+http://yp.gates96.com/2/75/21/93.html
+http://yp.gates96.com/2/75/21/96.html
+http://yp.gates96.com/2/75/22/23.html
+http://yp.gates96.com/2/75/23/50.html
+http://yp.gates96.com/2/75/24/13.html
+http://yp.gates96.com/2/75/24/47.html
+http://yp.gates96.com/2/75/24/90.html
+http://yp.gates96.com/2/75/25/33.html
+http://yp.gates96.com/2/75/25/46.html
+http://yp.gates96.com/2/75/25/84.html
+http://yp.gates96.com/2/75/26/37.html
+http://yp.gates96.com/2/75/26/40.html
+http://yp.gates96.com/2/75/27/30.html
+http://yp.gates96.com/2/75/27/66.html
+http://yp.gates96.com/2/75/27/81.html
+http://yp.gates96.com/2/75/28/34.html
+http://yp.gates96.com/2/75/28/55.html
+http://yp.gates96.com/2/75/29/12.html
+http://yp.gates96.com/2/75/29/19.html
+http://yp.gates96.com/2/75/29/45.html
+http://yp.gates96.com/2/75/29/56.html
+http://yp.gates96.com/2/75/29/86.html
+http://yp.gates96.com/2/75/29/99.html
+http://cn.egroups.com/message/agribusiness1/31
+http://biblio.cesga.es:81/search*gag/jLugo+(Provincia).+Mapas+topográficos.+[1890%3F]/jlugo+provincia+mapas+topograficos+1890/31,-1,0,B/browse
+http://bbs.lineone.net/news/uknews/msg01030.html
+http://bbs.lineone.net/news/uknews/msg01047.html
+http://bbs.lineone.net/news/uknews/msg01026.html
+http://bbs.lineone.net/news/uknews/msg00976.html
+http://bbs.lineone.net/news/uknews/msg00960.html
+http://bbs.lineone.net/news/uknews/msg00952.html
+http://idl.tucows.com/winnt/adnload/1380_28802.html
+http://retailer.gocollect.com/do/session/1912681/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/christmas/holiday_shoppe.asp
+http://www1.zdnet.co.uk/software/fstore/A/9/000BA9.html
+http://polygraph.ircache.net:8181/home/http_-2www.tauchbali.com/SERV.HTM
+http://channel.nytimes.com/1998/05/01/technology/cybertimes/artsatlarge/
+http://ftp.sunet.se/pub/FreeBSD/ports/ports/japanese/linux-netscape47-communicator/?D=A
+http://www9.hmv.co.uk:5555/do/session/1347757/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/hiddenframe.html
+http://www9.hmv.co.uk:5555/do/session/1347757/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/logoframe.html
+http://www-usa9.cricket.org/link_to_database/ARCHIVE/1999-2000/WI_IN_NZ/ARTICLES/
+http://www-usa9.cricket.org/link_to_database/ARCHIVE/1999-2000/WI_IN_NZ/SCORECARDS/
+http://a228.g.akamai.net/7/228/289/55d96730f1ea56/news.indiainfo.com/2000/08/13/floods.html
+http://caller-times.com/1999/august/08/today/texas_me/4241.html
+http://ftp.uni-bremen.de/pub/doc/news.answers/movies/winona-ryder-faq/part3
+http://www.globalsources.com/gsol/owa/website.gold/GP3/8801728414/HOME.HTM
+http://eds.kse.or.kr/jaemoo/jipyo_e/k_grp/E01683.htm
+http://eds.kse.or.kr/jaemoo/jipyo_e/i_grp/E01116.htm
+http://eds.kse.or.kr/jaemoo/jipyo_e/i_grp/E01126.htm
+http://eds.kse.or.kr/jaemoo/jipyo_e/d_grp/E00366.htm
+http://eds.kse.or.kr/jaemoo/jipyo_e/h_grp/E00929.htm
+http://www.jobvillage.com/channel/jobs/cleaning/pruner/g.1276.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380817/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/assistance/entry.asp
+http://gamingplace.zeelandnet.nl/poker_rating.html
+http://no.egroups.com/message/DVD-Info/111
+http://www.relax.ch/static/it/lazurigo/mercatodellavoro/oben.html
+http://internet.exit.de/mees-online/left_geld.html
+http://www.redrocksports.com/sports/webSession/shopper/RR972959658-31049/store/dept-5/department/dept-5/item/footwear
+http://www.redrocksports.com/sports/webSession/shopper/RR972959658-31049/store/dept-5/department/dept-5/item/52550
+http://www11.cplaza.ne.jp/babyweb/bbs/bdnmp01/no16/61N.html
+http://www.daimi.au.dk/dIntProg/java/jdk1.2.2/docs/api/javax/swing/plaf/basic/BasicScrollBarUI.ArrowButtonListener.html
+http://www.daimi.au.dk/dIntProg/java/jdk1.2.2/docs/api/javax/swing/plaf/basic/BasicScrollBarUI.ModelListener.html
+http://www.angelfire.com/nc/Percosolation/POSDerisions.html
+http://yp.gates96.com/3/4/40/80.html
+http://yp.gates96.com/3/4/41/23.html
+http://yp.gates96.com/3/4/41/24.html
+http://yp.gates96.com/3/4/41/37.html
+http://yp.gates96.com/3/4/41/90.html
+http://yp.gates96.com/3/4/42/26.html
+http://yp.gates96.com/3/4/42/71.html
+http://yp.gates96.com/3/4/42/90.html
+http://yp.gates96.com/3/4/44/44.html
+http://yp.gates96.com/3/4/45/52.html
+http://yp.gates96.com/3/4/45/75.html
+http://yp.gates96.com/3/4/45/77.html
+http://yp.gates96.com/3/4/46/0.html
+http://yp.gates96.com/3/4/46/85.html
+http://yp.gates96.com/3/4/47/19.html
+http://yp.gates96.com/3/4/47/20.html
+http://yp.gates96.com/3/4/47/23.html
+http://yp.gates96.com/3/4/47/72.html
+http://yp.gates96.com/3/4/48/4.html
+http://yp.gates96.com/3/4/48/16.html
+http://yp.gates96.com/3/4/48/45.html
+http://yp.gates96.com/3/4/48/51.html
+http://yp.gates96.com/3/4/49/16.html
+http://ftpsearch.belnet.be/pub/mirror/sunsite.cnlab-switch.ch/mirror/harvest/contrib/Example-Customizations/?S=A
+http://pub9.ezboard.com/fgaprforeignrelationdepartment.showAddTopicScreenFromWeb
+http://pub9.ezboard.com/fgaprforeignrelationdepartment.showMessage?topicID=4.topic
+http://www.asstr.org/nifty/gay/authoritarian/adonis-brotherhood/adonis-brotherhood-3
+http://www.brio.de/BRIO.catalog/39fe2f4c06d41844273fd472aa7806a9/UserTemplate/8
+http://itcareers.careercast.com/texis/it/itjs/+HwwBmeH_D86aqwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew6nxqdDdMoqax15oDn55a5BwhhawDwcO5o5aqd5Ban5BoMwBoDtaGo5Aa5nGVoqnaADdicnmtnaBddc5aMFqhTfR20DzmenxwwwpBmeWWD86exhwww5rmeWcwwwBrmeZpwww/jobpage.html
+http://polygraph.ircache.net:8181/http_-2www.whowhere.com/http_-2www.updowntowner.org/julyjamm/frmain.htm
+http://213.36.119.69/do/session/152987/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/reserver/spectacles/
+http://www.jobvillage.com/channel/jobs/health_care/physician/anesthesiologist/b.9467.g.1575.html
+http://www.private-immobilien-boerse.de/friesland/verkauf/IIM-Teil/Startseite/Gemeinsam/Super-Zins-Konditionen/Gemeinsam/Inserieren/Gemeinsam/MarketingStrategie/inhalt.htm
+http://se.egroups.com/message/yemdiscussion/38
+http://se.egroups.com/message/yemdiscussion/45
+http://home.bip.net/kerstin.hjelm/Stamtavla%20Z-kullen.html
+http://mediate.magicbutton.net/do/session/625616/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-abou.html
+http://members.tripod.lycos.co.kr/KWEN3607/?S=A
+http://cpan.clix.pt/authors/id/B/BP/BPOWERS/String-StringLib-1.02.readme
+http://www.gbnf.com/genealogy/bookout/html/d0001/I3283.HTM
+http://m4.findmail.com/group/Opera2Developers
+http://m4.findmail.com/group/acctworks
+http://retailer.gocollect.com/do/session/1912690/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/top_ten.asp?pagenum=1
+http://retailer.gocollect.com/do/session/1912690/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/postcards/index.asp
+http://platsbanken.amv.se/kap/text/47/001023,170030,140912,11,1276051947.shtml
+http://www.gamespot.com/features/dunesg/dune6a.html
+http://tucows.iquest.net/winme/preview/138053.html
+http://tucows.iquest.net/winme/preview/137529.html
+http://tucows.iquest.net/winme/preview/138641.html
+http://archive.soccerage.com/s/pt/09/03721.html
+http://archive.soccerage.com/s/pt/09/07102.html
+http://www10.nytimes.com/library/national/science/health/021500hth-women-diabetes.html
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www.phy.bnl.gov/e949/e949_update.txt
+http://www.mapion.co.jp/custom/AOL/admi/13/13105/otsuka/3chome/index-7.html
+http://go18.163.com/_NTES/~starseeker/gin/saga/gin01/gin0100.htm
+http://village.infoweb.ne.jp/~fvgg8450/t91.html
+http://clickahouse.mp2.homes.com/content/articles/locks.html
+http://findmail.com/messages/studentdoctor/354
+http://ldp.mirror.nettuno.it/Linux/LDP/LDP/lkmpg/node3.html
+http://ldp.mirror.nettuno.it/Linux/LDP/LDP/lkmpg/node13.html
+http://fi.egroups.com/group/sandycove
+http://www.fogdog.com/cedroID/ssd3040183219992/boutique/nike/
+http://www.fogdog.com/cedroID/ssd3040183219992/boutique/harbinger/
+http://www.fogdog.com/cedroID/ssd3040183219992/customer_service/employment.html
+http://www.genoma.de/shop/736a8b4b4c331e80f780899842a4b0b4/99/b
+http://sjsulib1.sjsu.edu:81/search/tbraille+transcription+project+of+santa+clara+county+inc/-5,-1,1,B/frameset&tbook+reviews+in+the+humanities&1,1,
+http://students.washington.edu/emgall/eng481/final/
+http://www.vc-graz.ac.at/ilct/ffe_349_99.htm
+http://www.vc-graz.ac.at/ilct/ffe_372_00.htm
+http://www.vc-graz.ac.at/ilct/ffe_375_00.htm
+http://www.escribe.com/computing/virtcom/m452.html
+http://members.tripod.com/~TreasureIsland/welcom/e.htm
+http://augustachronicle.com/stories/022699/obi_038-5494.001.shtml
+http://augustachronicle.com/stories/022699/obi_038-5477.001.shtml
+http://ring.edogawa-u.ac.jp/archives/X/opengroup/R6.5.1/xc/lib/Imakefile
+http://www.elop.de/d0-1015-2044-3001-top.html
+http://www.ibiblio.org/pub/languages/java/blackdown.org/JDK-1.1.7/i386/glibc/v1a/?S=D
+http://www.linux.com/networking/network/enterprise/integration/management/Linux/
+http://www.mapion.co.jp/custom/AOL/admi/13/13221/matsuyama/2chome/index-7.html
+http://www.mapion.co.jp/custom/AOL/admi/13/13221/matsuyama/2chome/index-12.html
+http://ftp.sunet.se/pub/FreeBSD/ports/ports/japanese/tcl76/Makefile
+http://ftp.lip6.fr/pub2/sgml-tools/website/HOWTO/Consultants-HOWTO/t19977.html
+http://www.irishnews.com/archive2000/06072000/sportuk1.html
+http://allmacintosh.ii.net/adnload/71893.html
+http://allmacintosh.ii.net/adnload/70339.html
+http://www.museumshops.co.uk/Bonnefoit-Alain/Bonnefoit-Alain-Die-Schoene-mit-dem-Pelz-3000062.html
+http://www.timesoc.com/editions/orange/20001030/t000103758.html
+http://www.musiciansfriend.com/ex/ds/bv/001030182803064208037039434033
+http://www.beneteau-owners.com/library.nsf/Library+By+System!OpenView&Start=41.4&Count=45&Expand=49
+http://www.musiciansfriend.com/ex/search/guitar/001030182759064208037059215342?FIND=BABX&q=c
+http://www.musiciansfriend.com/ex/search/guitar/001030182759064208037059215342?FIND=ASAX&q=c
+http://www.iabusnet.org:90/forums/aca-1/dispatch.exe/survey/showNextUnseen/fol/100001/2467632
+http://tucows.wish.net/winme/adnload/137243_28721.html
+http://yp.gates96.com/3/71/10/71.html
+http://yp.gates96.com/3/71/11/12.html
+http://yp.gates96.com/3/71/11/27.html
+http://yp.gates96.com/3/71/11/34.html
+http://yp.gates96.com/3/71/11/40.html
+http://yp.gates96.com/3/71/11/62.html
+http://yp.gates96.com/3/71/11/78.html
+http://yp.gates96.com/3/71/12/70.html
+http://yp.gates96.com/3/71/13/34.html
+http://yp.gates96.com/3/71/13/38.html
+http://yp.gates96.com/3/71/13/82.html
+http://yp.gates96.com/3/71/14/94.html
+http://yp.gates96.com/3/71/15/0.html
+http://yp.gates96.com/3/71/15/88.html
+http://yp.gates96.com/3/71/17/28.html
+http://yp.gates96.com/3/71/17/85.html
+http://yp.gates96.com/3/71/18/37.html
+http://yp.gates96.com/3/71/18/69.html
+http://yp.gates96.com/3/71/19/55.html
+http://www.kodak.ca/US/en/corp/jobs/samplingMechanicalProds.shtml
+http://ring.crl.go.jp/archives/lang/perl/CPAN/authors/id/G/GR/GRICHTER/HTML-Embperl-1.3b4.readme
+http://www7.freeweb.ne.jp/photo/lystra/a/n_aikawa.html
+http://www.imagesofengland.org.uk/31/73/317339.htm
+http://webraft.its.unimelb.edu.au/110080/students/ojb/pub/?D=A
+http://pub.chinaccm.com/13/news/200010/31/155751.asp
+http://pub.chinaccm.com/13/news/200010/21/162140.asp
+http://go18.163.com/_NTES/~chen0580/y25.htm
+http://pub17.ezboard.com/fcometalkfreetalk.showMessage?topicID=15.topic
+http://pub17.ezboard.com/fcometalkfreetalk.showMessage?topicID=6.topic
+http://mediate.magicbutton.net/do/session/625593/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-tips.html
+http://213.36.119.69/do/session/152982/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/wap/lancement.html
+http://wap.jamba.de/KNet/_KNet-Drs8j1-yEd-1395x/showInfo-presse.de/node.0/cde7f1uou
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=choramingar&l=pt
+http://www.amcity.com/philadelphia/stories/1998/11/09/story5.html?t=email_story
+http://www.mic.hr/PGMARKET:553666
+http://cn.egroups.com/messages/KristinChenoweth/2280
+http://quest7.proteome.com/databases/YPD/PombePD/SPAC343.03.html
+http://www.engines.org.uk/white/fld19/
+http://www.engines.org.uk/white/fld27/
+http://se.egroups.com/subscribe/plusgothswap
+http://www.headlight.com/invoice_process/1,1074,adpa-4049-2423-69-718,00.html
+http://www.findarticles.com/cf_0/m4PRN/1999_Nov_3/57153314/p1/article.jhtml
+http://www.iabusnet.org:90/forums/aca-1/dispatch.exe/survey/folderFrame/100001/0/alpha/2480022
+http://archive.soccerage.com/s/it/06/10903.html
+http://innopac.lib.tsinghua.edu.cn/search*chi/dProduction+engineering/dproduction+engineering/-5,-1,0,B/browse
+http://www.consource.com/communities/profile_categories/1759/1510
+http://column.daum.net/Column-bin/Bbs.cgi/thinkaboutrbs/new/zka/B2-kB2Np
+http://wwws.br-online.de/geld/boerse/960301/0730.html
+http://www.2pl.com/asp/tools/fili1.asp?sp=ro&fi=pppp0003zi
+http://www.proviser.co.uk/regional/towns/alford/property_prices/compare_current_prices/terraced.html
+http://cometweb01.comet.co.uk/do!session=131998&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG3XqLbdlLov4LfpmLiXvL-Zd5jbkLYozKvot0cZd5ockLYozKvsm0utt0cZX5qkXLjbzKMfaLblpLbom0bos0bom04M4Lbom0miXLvboLp1
+http://cometweb01.comet.co.uk/do!session=131998&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG3XqLbdlLov4LfpmLiXvL-Zd5jbkLYozKvot0cZd5ockLYozKvsm0uqo0cZX5qkXLjbzKG3pLibo0miX5mqlLmpbKomb0osb0oml1odXLkfpLbopL
+http://www.geocities.co.jp/Milano/8578/profile.html
+http://ftp.dti.ad.jp/pub/XFree86/3.3.3/binaries/NetBSD-1.2/Servers/?N=D
+http://ftp.dti.ad.jp/pub/XFree86/3.3.3/binaries/NetBSD-1.2/Servers/?D=A
+http://www.best.com/~radko/lounge/messages/3742.html
+http://www.best.com/~radko/lounge/messages/3711.html
+http://www.best.com/~radko/lounge/messages/3619.html
+http://www.linux.com/networking/network/help/email/business/RuleSpace/
+http://www.financialexpress.com/fe/daily/20000918/fco17026.html
+http://209.67.27.70/comics/dilbert/scott/dawn/pg19.html
+http://209.67.27.70/comics/dilbert/scott/dawn/pg22.html
+http://flamingo.promote.ru/href.pl?fct_051
+http://pda.saa.net/palm/adnload/34404_22152.html
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/q6tIzhLNlKeaaMXYVAPJiOq7V33Ul08VcQoPAomjWMQzOxA0cR6_kRLx42D4nA_uumPVc2DRZtv6CVpWQCyNUgVZQ2P9F7bqqvcf_5WqCdUM7UIRKBdjb9lTbrCrrl5_jZ6cQsstJDqry3XrFI0toILqSCSm66j2
+http://www.home.ch/~spaw9012/ps11/ps11_003.htm
+http://help.sap.com/saphelp_45b/helpdata/de/1c/e464b20437d1118b3f0060b03ca329/frameset.htm
+http://abc.ru/cgi-bin/get_firminfo.pl?firm=comsys
+http://www.pressa.spb.ru/newspapers/nevrem/arts/nevrem-1749-art-28.html
+http://www.pressa.spb.ru/newspapers/nevrem/arts/nevrem-1749-art-32.html
+http://admin.afiliando.com/do/session/189435/vsid/1507/tid/1507/cid/23455/mid/1025/rid/1168/chid/1205/parser/yes/imref/eqqLmwlGltt5tkpHrYjLXofLklkKZljLkju5lZa5l0/url/http://www.submarino.com.mx/pesquisa/jutherC.asp?id_categoria=57&id_tipo=C
+http://admin.afiliando.com/do/session/189435/vsid/1507/tid/1507/cid/23455/mid/1025/rid/1168/chid/1205/parser/yes/imref/eqqLmwlGltt5tkpHrYjLXofLklkKZljLkju5lZa5l0/url/http://www.submarino.com.mx/extra/talk_to_sub.asp
+http://cometweb01.comet.co.uk/do!session=131998&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG3XqLbdlLov4LfpmLiXvL-Zd5jbkLYozKvot0cZd5ockLYozKvsn0mvm0cZX5qkXLjbzKGelLkbpL
+http://yp.gates96.com/3/39/30/1.html
+http://yp.gates96.com/3/39/30/53.html
+http://yp.gates96.com/3/39/31/22.html
+http://yp.gates96.com/3/39/32/0.html
+http://yp.gates96.com/3/39/32/39.html
+http://yp.gates96.com/3/39/32/41.html
+http://yp.gates96.com/3/39/32/45.html
+http://yp.gates96.com/3/39/32/97.html
+http://yp.gates96.com/3/39/34/39.html
+http://yp.gates96.com/3/39/34/50.html
+http://yp.gates96.com/3/39/34/68.html
+http://yp.gates96.com/3/39/34/72.html
+http://yp.gates96.com/3/39/35/14.html
+http://yp.gates96.com/3/39/35/84.html
+http://yp.gates96.com/3/39/36/3.html
+http://yp.gates96.com/3/39/36/19.html
+http://yp.gates96.com/3/39/36/20.html
+http://yp.gates96.com/3/39/36/84.html
+http://yp.gates96.com/3/39/36/88.html
+http://yp.gates96.com/3/39/37/37.html
+http://yp.gates96.com/3/39/38/60.html
+http://yp.gates96.com/3/39/38/63.html
+http://yp.gates96.com/3/39/39/52.html
+http://yp.gates96.com/3/39/39/56.html
+http://yp.gates96.com/3/39/39/58.html
+http://yp.gates96.com/3/39/39/63.html
+http://yp.gates96.com/13/9/80/14.html
+http://yp.gates96.com/13/9/80/92.html
+http://yp.gates96.com/13/9/81/23.html
+http://yp.gates96.com/13/9/81/47.html
+http://yp.gates96.com/13/9/82/45.html
+http://yp.gates96.com/13/9/82/59.html
+http://yp.gates96.com/13/9/82/65.html
+http://yp.gates96.com/13/9/82/71.html
+http://yp.gates96.com/13/9/82/77.html
+http://yp.gates96.com/13/9/83/86.html
+http://yp.gates96.com/13/9/83/88.html
+http://yp.gates96.com/13/9/84/4.html
+http://yp.gates96.com/13/9/84/28.html
+http://yp.gates96.com/13/9/84/77.html
+http://yp.gates96.com/13/9/85/34.html
+http://yp.gates96.com/13/9/85/59.html
+http://yp.gates96.com/13/9/86/22.html
+http://yp.gates96.com/13/9/86/28.html
+http://yp.gates96.com/13/9/86/30.html
+http://yp.gates96.com/13/9/86/37.html
+http://yp.gates96.com/13/9/86/85.html
+http://yp.gates96.com/13/9/87/1.html
+http://yp.gates96.com/13/9/87/2.html
+http://yp.gates96.com/13/9/88/58.html
+http://yp.gates96.com/13/9/89/17.html
+http://yp.gates96.com/13/9/89/49.html
+http://yp.gates96.com/13/9/89/51.html
+http://yp.gates96.com/13/9/89/64.html
+http://yp.gates96.com/13/9/89/69.html
+http://yp.gates96.com/13/9/89/79.html
+http://www.diogenes.ch/4DACTION/web_rd_aut_frlist_az/ID=483337&chr=D
+http://ngi.tucows.com/win2k/adnload/37473_28857.html
+http://www4.nas.edu/ohr.nsf/All+Documents/Major+Units?OpenDocument&ExpandSection=1,4,21,7,17
+http://www4.nas.edu/ohr.nsf/All+Documents/Major+Units?OpenDocument&ExpandSection=2,4,21,7,17
+http://www4.nas.edu/ohr.nsf/All+Documents/Major+Units?OpenDocument&ExpandSection=15,4,21,7,17
+http://www4.nas.edu/ohr.nsf/All+Documents/Major+Units?OpenDocument&ExpandSection=16,4,21,7,17
+http://www.susi.de/cgi-bin/order/segelzentrum-kagerer/c134-5021905270003,de
+http://www.egroups.com/messages/iraq-l/9973
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=29,24,30,11
+http://www.etoys.com/prod/book/51604361
+http://link.fastpartner.com/do/session/600358/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/itjobbank.php
+http://link.fastpartner.com/do/session/600358/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/shopnett.php
+http://mirror.nucba.ac.jp/mirror/FreeBSD/branches/2.2-stable/ports/devel/mips64orion-rtems-objc/?S=A
+http://www-uk5.cricket.org/link_to_database/NATIONAL/ENG/FC_TEAMS/SOMERSET/STATS/CAREER/SOMERSET_CAREER_J.html
+http://www.linux.com/networking/network/performance/install/distro/industry/
+http://www.linux.com/networking/network/performance/install/distro/tools/
+http://www.linux.com/networking/network/performance/install/distro/enterprise/
+http://mx.php.net/manual/de/language.basic-syntax.php
+http://mx.php.net/manual/fr/language.basic-syntax.php
+http://moviestore.zap2it.com/browse/MOVIES/SCRIPT/s.UxBwM3db
+http://www.armouries.org.uk/bjarni/introduction.htm
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/CPAN/authors/id/C/CT/CTWETEN/?D=A
+http://atlanta.webmd.com/related_results/1/25/article/1738.50204
+http://www.ccnet.com/tzimmer/?M=A
+http://go2.163.com/~xinhua/
+http://www.ualberta.ca/FTP/OpenBSD/src/regress/lib/libc/_setjmp/CVS/Root
+http://www.dqt.com.cn/wymb/military/jinyong/金庸全集.htm
+http://www.hole.kommune.no/hole/journweb.nsf/7e180336094ef23a412568cd004a5093/2fd09f96f20814cac12568e300443d50!Navigate&To=Next
+http://classifieds.alberta.com/js/mi/c16000/b16000/n15/858640.html
+http://classifieds.alberta.com/js/mi/c16000/b16000/n15/861013.html
+http://homepages.go.com/homepages/b/n/g/bngholo/
+http://www.aelita.net/products/news/library/support/Reg/Subscribe/library/default.htm
+http://www.chaos.dk/sexriddle/j/a/b/s/e/
+http://www.chaos.dk/sexriddle/j/a/b/s/t/
+http://213.36.119.69/do/session/152985/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/contact/info-publicite.html
+http://www.indian-express.com/fe/daily/19990807/corporate.html
+http://web.cln.com/archives/atlanta/newsstand/atl100795/1316.htm
+http://web.cln.com/archives/atlanta/newsstand/atl100795/1317.htm
+http://plaza.gaiax.com/www/plaza/k/n/kenta/friends.html
+http://polygraph.ircache.net:8181/docs/eudora/http_-2www.kentuckylake.com/rates/http_-2www.hubbell-wiring.com/NEMA/admin/additional.html
+http://gd.cnread.net/cnread1/wxxs/d/dongfangying/pljc/015.htm
+http://www.bemi-immobilien.de/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Startseite/Gemeinsam/versicherungen/gebaeude/Gemeinsam/versicherungen/unfall/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/versicherungen/lebensversicherung/Gemeinsam/versicherungen/gebaeude/anforderungsformular.htm
+http://www.linux.com/networking/network/help/free/red_hat/competition/
+http://www.linux.com/networking/network/help/free/red_hat/development/
+http://www.linux.com/networking/network/help/free/red_hat/SuSE/
+http://search.chollian.net/d/%b1%e2%be%f7,%c8%b8%bb%e7/%b0%e1%c8%a5/%c5%e4%c5%bb%bf%fe%b5%f9%bc%ad%ba%f1%bd%ba/16.html
+http://no.egroups.com/message/plowshares/840
+http://www.pressa.spb.ru/newspapers/nevrem/arts/nevrem-1872-art-13.html
+http://www.bemi-immobilien.de/Startseite/www.allgemeine-immobilien-boerse.de/allgemeine-ib/landkreiszwickau/Verkauf/29109700708107kirchbergvillamü/Gemeinsam/erreichenPartner/Startseite/Gemeinsam/versicherungen/lebensversicherung/Top-Darlehens-Konditionen/Gemeinsam/versicherungen/unfall/anforderungsformular.htm
+http://www.affiliate.hpstore.hp.co.uk/do/session/380819/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.france.hp.com/main/respect/
+http://www-rn.informatik.uni-bremen.de/home/ftp/pub/linux/redhat/updates/6.2EE/i586/
+http://archive.soccerage.com/s/es/09/12718.html
+http://www.intel.es/kr/hangul/pressroom/archive/releases/dp990218.htm
+http://www.intel.es/kr/hangul/pressroom/archive/releases/dp990105.htm
+http://sunsite.informatik.rwth-aachen.de/cgi-bin/ftp/ftpshow/pub/Linux/sunsite.unc.edu/distributions/caldera/eServer/updates/2.3/021/RPMS/
+http://library.bangor.ac.uk/search/aMatis,+James+H/amatis+james+h/-5,-1,0,B/browse
+http://polygraph.ircache.net:8181/http_-2www.microsoft.com/frontpage/html/http_-2www.sharkyextreme.com/hardware/hercules_tnt/
+http://ring.nihon-u.ac.jp/archives/pack/win95/net/fee/?N=D
+http://dbc.copystar.com.tw/bcbchat/199804/msg03730.htm
+http://dbc.copystar.com.tw/bcbchat/199804/msg03761.htm
+http://dbc.copystar.com.tw/bcbchat/199804/msg03787.htm
+http://www.private-immobilien-boerse.de/nordrhein-Westfalen/grevenbroich/Verkauf/Gemeinsam/Super-Zins-Konditionen/Exklusiv-IB/Startseite/IIM-Teil/Startseite/Gemeinsam/IIMMitglieder.htm
+http://www.private-immobilien-boerse.de/nordrhein-Westfalen/grevenbroich/Verkauf/Gemeinsam/Super-Zins-Konditionen/Exklusiv-IB/Startseite/IIM-Teil/Startseite/Gemeinsam/vertriebspartner.htm
+http://pd.shiseido.co.jp/s9604tub/html_00/win00051.htm
+http://solaris.license.virginia.edu/os_product_patches/patches/5.7/107094-04/SUNWdtbas/pkgmap
+http://www.eveclub.com/cgi-bin/eveclub.front/972959470432/Catalog/11000034
+http://www.sportinggreen.com/news/20001007/fbo/fbc/aar/001007.0607.html
+http://www-x500-1.uni-giessen.de:8890/Lcn%3dBelloch%20Belloch%5c,%20Juana%20Maria,ou%3dFacultad%20de%20Medicina%20y%20Odontologia,o%3dUniversidad%20de%20Valencia,c%3dES
+http://retailer.gocollect.com/do/session/1912723/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/limited_editions.asp
+http://www.jufo.com/netcenter/chemistry/item/000904/16888.htm
+http://ww2.comune.fe.it/cgi-win/hiweb.exe/a2/d29/b14,8,1f,1d,1d,,19,,1f,19,
+http://www.2pl.com/b/ru/to/1/24/16/v2/1241600107-8.htm
+http://ring.htcn.ne.jp/pub/text/CTAN/fonts/metrics/polish/plpsfont/?D=A
+http://config.tucows.com/winme/adnload/26398_28890.html
+http://ocean.ntou.edu.tw/search*chi/aRadojcic,+Riko,+jt.+auth./aradojcic+riko/-5,-1,0,B/frameset&F=aradomsky+nellie+a&1,1
+http://www.intellicast.com/Sail/World/UnitedStates/Northwest/Montana/Beaverhead/LocalWinds/d1_09/
+http://www.bild.de/service/archiv/2000/mar/31/sport/coulthard/coulthard.html
+http://ustlib.ust.hk/search*chi/a%7B215a36%7D%7B213246%7D%7B215e42%7D+1926/a{215a36}{213246}{215e42}+1926/-5,-1,0,B/frameset&F=a{215a36}{213230}{214e70}&1,1
+http://mediate.magicbutton.net/do/session/625620/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-top50.html
+http://mediate.magicbutton.net/do/session/625620/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-corp.html
+http://www.amateurplatinum.com/mouthlicking/eunuchhershey-highway/bad-girlsubmission/petitebeauties/actionno-boundaries/fellatiogoing-down-on/give-headcock-suckers.html
+http://www.brd.net/brd-cgi/brd_dkameras/filmscanner_fotodrucker/FZ00F0EF/beurteilung/ci=972751646.htm
+http://www.niwl.se/WAIS/31607/31607073.htm
+http://www.magicvillage.de/Login/magicvillage/magiclife/Lucullus/%2328706045/Reply
+http://polygraph.ircache.net:8181/consumer/rel_meet_main.html
+http://sunsite.informatik.rwth-aachen.de/cgi-bin/ftp/ftpshow/pub/Linux/sunsite.unc.edu/distributions/debian/dists/potato/non-free/binary-i386/x11/
+http://www.great-cyber-mall.com/SelectCompany.asp?CityID=67&CatID=5
+http://www.great-cyber-mall.com/SelectCompany.asp?CityID=67&CatID=50
+http://rainforest.parentsplace.com/dialog/get/bradley2/39/1/1.html?embed=2
+http://www.users.yun.co.jp/cgi-bin/moriq/pigeon/pigeon.cgi/DataSet.after_post?c=e
+http://www.chaos.dk/sexriddle/n/f/p/x/x/
+http://www.amcity.com/dayton/stories/2000/03/20/smallb1.html?t=email_story
+http://www.linux.com/networking/network/industry/web_server/windows_nt/Red_Hat/
+http://www.du-et.net/cgi/mail.cgi?NickName=naiki
+http://gameboyz.com/g/demos_p1_c41_lV_w2.html
+http://intelinfo.subportal.com/sn/Games/Strategy_Games/9289.html
+http://home.kimo.com.tw/maso-kid/index2.html
+http://citeseer.nj.nec.com/nrelated/1377121/289677
+http://citeseer.nj.nec.com/nrelated/0/289677
+http://ccar.ust.hk/~dataop/rs_ocean_cd/WVS/wvsplus/wvs003m/bat/q/h/lf/
+http://home.baoding.cn.net/~tjhlove/dzrwy/l11.htm
+http://home.baoding.cn.net/~tjhlove/dzrwy/l23.htm
+http://208.178.109.85/msgshow.cfm/msgboard=129014524422386&msg=3558983275052&page=1&idDispSub=-1
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=4,9,33,27,35
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=29,9,33,27,35
+http://config.tucows.com/win2k/adnload/76944_30007.html
+http://www1.zdnet.com/zdnn/stories/news/0,4586,1021147,00.html
+http://www.fogdog.com/cedroID/ssd3040183236187/nav/stores/snowboarding/
+http://www.fogdog.com/cedroID/ssd3040183236187/nav/stores/institutional/
+http://debian.linux.org.tw/debian/dists/sid/main/disks-powerpc/current/source/?M=A
+http://satftp.soest.hawaii.edu/dlr/slides/ql21176.html
+http://www.linux.com/networking/network/industry/new/help/internet/
+http://www.linux.com/networking/network/industry/new/help/growth/
+http://flint.freethemes.com/skins/winamp/preview/46994.html
+http://flint.freethemes.com/skins/winamp/preview/24628.html
+http://flint.freethemes.com/skins/winamp/preview/25113.html
+http://flint.freethemes.com/skins/winamp/preview/24645.html
+http://flint.freethemes.com/skins/winamp/preview/25319.html
+http://flint.freethemes.com/skins/winamp/preview/25017.html
+http://flint.freethemes.com/skins/winamp/preview/26154.html
+http://flint.freethemes.com/skins/winamp/preview/24669.html
+http://flint.freethemes.com/skins/winamp/preview/24674.html
+http://flint.freethemes.com/skins/winamp/preview/69522.html
+http://flint.freethemes.com/skins/winamp/preview/58805.html
+http://flint.freethemes.com/skins/winamp/preview/71909.html
+http://flint.freethemes.com/skins/winamp/preview/24389.html
+http://flint.freethemes.com/skins/winamp/preview/25052.html
+http://flint.freethemes.com/skins/winamp/preview/77185.html
+http://flint.freethemes.com/skins/winamp/preview/56733.html
+http://flint.freethemes.com/skins/winamp/preview/24736.html
+http://flint.freethemes.com/skins/winamp/preview/24408.html
+http://flint.freethemes.com/skins/winamp/preview/24744.html
+http://flint.freethemes.com/skins/winamp/preview/24424.html
+http://flint.freethemes.com/skins/winamp/preview/25075.html
+http://flint.freethemes.com/skins/winamp/preview/71807.html
+http://nomade.fr/cat/informatique_tele/informatique/progiciels_logiciel/utilitaires/communication
+http://pub9.ezboard.com/umetalman5566.showPublicProfile?language=EN
+http://archiv.leo.org/pub/comp/usenet/comp.binaries.atari.st/texinfo31/texif31b.zoo/
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a18/d13/b261,4,d,,be,d,
+http://citeseer.nj.nec.com/cidcontext/608466
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/asiasanahaku/strategia/kansainv%E4listyminen/ulkomaankauppa/kansainv%E4linen+kauppa/
+http://cms.letsmusic.com/directory/search/albuminfo/1,1125,af0127818000000,00.asp
+http://www.musiciansfriend.com/ex/ds/other/001030182805064208037054818832
+http://www.musiciansfriend.com/ex/search/other/001030182805064208037054818832?FIND=IBAX&q=c
+http://www.mapion.co.jp/custom/tv/admi/13/13106/kuramae/3chome/19/
+http://dblab.comeng.chungnam.ac.kr/~dolphin//db/journals/ac/ac11.html
+http://archive.soccerage.com/s/de/09/c4816.html
+http://archive.soccerage.com/s/de/09/c4698.html
+http://archive.soccerage.com/s/de/09/c4664.html
+http://archive.soccerage.com/s/de/09/c4463.html
+http://archive.soccerage.com/s/de/09/c4423.html
+http://archive.soccerage.com/s/de/09/c4422.html
+http://workingfamilies.digitalcity.com/tampabay/penpals/browse.dci?cat=teens&sort=f
+http://www.bemi-immobilien.de/Startseite/www.allgemeine-immobilien-boerse.de/allgemeine-ib/landkreiszwickau/Verkauf/29109700708107kirchbergvillamü/Gemeinsam/Inserieren/Startseite/Gemeinsam/immolink/Top-Darlehens-Konditionen/Gemeinsam/versicherungen/unfall/anforderungsformular.htm
+http://www.samba.org/cgi-bin/cvsweb/gnokii/xgnokii/docs/help/en_US/windows/main/?sortby=log
+http://www.accesslasvegas.com/shared/health/adam/ency/article/002669sym.html
+http://www.egroups.com/message/gaywrestle/33
+http://lfs.cyf-kr.edu.pl:8888/3Lcn%3dDirectory%20Manager,%20o%3dSPRITEL,%20c%3dES
+http://www.acfas.ca/congres/congres66/S10.htm
+http://hansard.www.act.gov.au/2000/week02/423.htm
+http://207.25.71.142/cycling/2000/tour_de_france/stages/4/
+http://207.25.71.142/cycling/2000/tour_de_france/news/2000/07/20/pantani_reflects
+http://207.25.71.142/cycling/2000/tour_de_france/news/2000/07/19/driver_charged/
+http://207.25.71.142/POLL/results/1142011.html
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=6,14,27,22
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=29,14,27,22
+http://www.affiliate.hpstore.hp.co.uk/do/session/380816/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.france.hp.com/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380816/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/products/entry.asp
+http://ads.carltononline.com/accipiter/adclick/site=purejamba/area=jamba.home_page/AAMSZ=POPUP/ACC_RANDOM=972959547609
+http://retailer.gocollect.com/do/session/1912714/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/contact.asp
+http://208.178.101.41/news/1998/12/10newsd.html
+http://208.178.101.41/news/1998/03/05news.html
+http://208.178.101.41/news/1998/03/03news.html
+http://208.178.101.41/news/1998/01/09news.html
+http://hff.shunde.net/mobile/radio2000.163.net/radio2000.163.html
+http://hff.shunde.net/mobile/www.tohome.net/www.tohome.html
+http://www.egroups.com/login.cgi?login_target=%2Fmessages%2FShayrs%2F31
+http://moviestore.zap2it.com/browse/MOVIES/BANK/s.bsk4qCBs
+http://moviestore.zap2it.com/browse/MOVIES/STATION/s.bsk4qCBs
+http://moviestore.zap2it.com/browse/MOVIES/VIDEO/s.bsk4qCBs
+http://ftp.fi.debian.org/debian/dists/unstable/contrib/source/x11/?N=D
+http://link.fastpartner.com/do/session/600364/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/company/jobs.htm
+http://pub16.ezboard.com/uprieni.showPublicProfile
+http://ftp.du.se/disk4/FreeBSD/branches/4.0-stable/ports/x11-servers/XFree86-4-FontServer/
+http://ftp.du.se/disk4/FreeBSD/branches/4.0-stable/ports/x11-servers/XttXF98srv-NKVNEC/
+http://www.generation-formation.fr/services/adrutils/GUIDES/CCI.HTM---o21zAo0UaWo0Ol9A074fo65iyfmKlze8SUeecTAseLvI5ehw7se7NeCfeZJPAPfVbNyqgBecVktePbBxehwwlezc9fAb0vyApuRtAhGqGdisSLdspt6dsSAtdsNhJdspt6dsrvrdjlhkfbu.htm
+http://www.generation-formation.fr/services/adrutils/GUIDES/DRIRE.HTM---o21zAo0UaWo0Ol9A074fo65iyfmKlze8SUeecTAseLvI5ehw7se7NeCfeZJPAPfVbNyqgBecVktePbBxehwwlezc9fAb0vyApuRudNnJpo1XCjdRsR3djaPfdNjfcdRsR3djakUApvGdhcmdfbv.htm
+http://198.103.152.100/search*frc/aMayer,+Anita/amayer+anita/-5,-1,0,B/frameset&F=amaybank+j+e&1,1
+http://198.103.152.100/search*frc/aMayer,+Anita/amayer+anita/-5,-1,0,B/2exact&F=amaycunich+ann&1,3
+http://kobenhavn.icepage.se/hilfe/XFree86/3.9.18/DECtga2.html
+http://itcareers.careercast.com/texis/it/itjs/+YwwBmeJf5C6wwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewyhw1Bdmn5AanLnq1BoVnawmMoDo5BGwBoVnazdxamnpwGBMnDBaGnpdGB5a5BdGnaqddGmoDwBnanMwoca5Aocc5aMFqoEuRZy0IQDzmeJqwwwpBmeBFZ86mwww5rmehpwwwBrmeZpwww/morelike.html
+http://itcareers.careercast.com/texis/it/itjs/+cwwBmetKD86eMmwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewyhw1Bdmn5AanLnq1BoVnawmMoDo5BGwBoVnazdxamnpwGBMnDBaGnpdGB5a5BdGnaqddGmoDwBnanMwoca5Aocc5aMFqoEuRZy0IQDzmeJqwwwpBmeBFZ86mwww5rmeODwwwBrmeZpwww/morelike.html
+http://bbs.syu.ac.kr/NetBBS/Bbs.dll/scbbs008/rcm/zka/B2-kB27p/qqo/005A/qqatt/^
+http://musicmabey.subportal.com/sn/Themes/Misc__Themes/
+http://www.intel.it/eBusiness/pdf/prod/ia64/SAS_IA-64_Paper.pdf
+http://elflife.bigpanda.net/2866/io.html
+http://www.excelsior.com.mx/9609/960911/nac11.html
+http://www.allgemeine-immobilien-boerse.de/ungarn/verkauf/Private-IB/Ferien-IB/Startseite/Allgemeine-IB/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/indexbeginn.htm
+http://www.allgemeine-immobilien-boerse.de/ungarn/verkauf/Private-IB/Ferien-IB/Startseite/Allgemeine-IB/Gemeinsam/geschaeftsbedingungen.htm
+http://www.wingateinns.com/ctg/cgi-bin/Wingate/look_over/AAAksrACwAAACCPAAT
+http://my.netian.com/~rakyun/?N=D
+http://www.bemi-immobilien.de/Landhaus-Bordeaux/Gemeinsam/versicherungen/gebaeude/Gemeinsam/immolink/Top-Darlehens-Konditionen/Gemeinsam/Inserieren/Gemeinsam/suche.htm
+http://www.mirror.kiev.ua:8083/paper/2000/04/1251/text/04-07-5.htm
+http://ring.toyama-u.ac.jp/archives/NetBSD/packages/1.4.2/sun3/?N=D
+http://ring.toyama-u.ac.jp/archives/NetBSD/packages/1.4.2/sun3/lang/
+http://www.vstore.com/vstorecomputers/8store/
+http://indiadirectory.indiatimes.com/webdirectory/1514pg1.htm
+http://indiadirectory.indiatimes.com/webdirectory/1513pg1.htm
+http://www.online.kokusai.co.jp/Map/V0002508/wrd/G400/demo/
+http://www.gamespot.com.au/features/everquest_gg/creatures1.html
+http://www.jxi.gov.cn/yw-ty001.nsf/view!OpenView&Start=38.11&Count=30&Expand=40
+http://www.jxi.gov.cn/yw-ty001.nsf/view!OpenView&Start=38.11&Count=30&Expand=42
+http://yp.gates96.com/6/0/40/22.html
+http://yp.gates96.com/6/0/40/85.html
+http://yp.gates96.com/6/0/41/26.html
+http://yp.gates96.com/6/0/41/94.html
+http://yp.gates96.com/6/0/42/50.html
+http://yp.gates96.com/6/0/43/30.html
+http://yp.gates96.com/6/0/43/76.html
+http://yp.gates96.com/6/0/44/43.html
+http://yp.gates96.com/6/0/44/61.html
+http://yp.gates96.com/6/0/44/99.html
+http://yp.gates96.com/6/0/45/37.html
+http://yp.gates96.com/6/0/45/84.html
+http://yp.gates96.com/6/0/47/33.html
+http://yp.gates96.com/6/0/47/43.html
+http://yp.gates96.com/6/0/47/54.html
+http://yp.gates96.com/6/0/48/30.html
+http://yp.gates96.com/6/0/48/47.html
+http://yp.gates96.com/6/0/49/5.html
+http://hammer.prohosting.com/~kobeweb/cgi-bin/nagaya/nagaya.cgi?room=036&action=mente
+http://www.petropages.com/kproduct/k4267p.htm
+http://webraft.its.unimelb.edu.au/536029/students/plam/pub/?M=A
+http://www.ld.com/cbd/archive/1999/09(September)/13-Sep-1999/Fawd001.htm
+http://www.caijing.yesky.com/33554432/36700160/122010.htm
+http://yp.gates96.com/14/85/0/7.html
+http://yp.gates96.com/14/85/2/86.html
+http://yp.gates96.com/14/85/3/90.html
+http://yp.gates96.com/14/85/6/37.html
+http://yp.gates96.com/14/85/8/82.html
+http://yp.gates96.com/14/85/8/88.html
+http://cn.egroups.com/messages/Toledo_Storm/228
+http://mediate.magicbutton.net/do/session/625598/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-cart.html
+http://rainforest.parentsplace.com/dialog/thread.pl/bradley2/10/2.html?dir=prevResponse
+http://tvstore.zap2it.com/browse/TV/JACKET/s.CmMildAx
+http://tvstore.zap2it.com/browse/TV/CLOCK/s.CmMildAx
+http://findmail.com/post/studentdoctor?act=forward&messageNum=2315
+http://www.chaos.dk/sexriddle/d/j/l/a/y/
+http://gandalf.neark.org/pub/distributions/OpenBSD/src/gnu/egcs/libstdc++/testsuite/libstdc++.tests/?D=A
+http://gd.cnread.net/cnread1/net/zpj/s/shenfang/004.htm
+http://www.imagesignworks.com/vinylmasksforacidetching/index.nhtml
+http://209.249.170.32/stores/dir/bycat/Holiday_and_Seasonal/Christmas.shtml
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959867726/Catalog/1000107
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959867726/Catalog/1000108
+http://www.linux.com/networking/network/applications/interface/microsoft/IBM/
+http://www.linux.com/networking/network/applications/interface/microsoft/Corel/
+http://www.linux.com/networking/network/applications/interface/microsoft/?kw_offset=50
+http://www.tiefbau-suhl.de/Leistung/Stuetzmauern/stuetzmauern2.htm
+http://providenet.tucows.com/win2k/adnload/38394_29124.html
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/index.opentext.net/weather/detail.cgi?us-dc
+http://iceberg.adhomeworld.com/cgi-win/redirect.exe/2133549064
+http://www.dc.digitalcity.com/charlestonwvarea/announce/main.dci?page=letusknow
+http://members.tripod.co.jp/yoshihiro_2/yotete.html
+http://www.bemi-immobilien.de/Startseite/www.allgemeine-immobilien-boerse.de/allgemeine-ib/landkreiszwickau/Verkauf/29109700708107kirchbergvillamü/Gemeinsam/immolink/Startseite/Gemeinsam/versicherungen/lebensversicherung/Gemeinsam/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/
+http://ftp.debian.org/dists/Debian2.2r0/non-free/binary-arm/web/?N=D
+http://www.complete-skier.co.uk/resorts/survey/submit.asp?ResortID=1755
+http://members.tripod.com/~BHS_CC/boys_times_1997.html
+http://fi.egroups.com/post/mens-health?act=forward&messageNum=11
+http://nomade.fr/cat/famille_sante/sante/medecine_pratique/medecine_generale/
+http://home.att.net/~mlbvault/mac8.htm
+http://mirror.nucba.ac.jp/mirror/Perl/authors/id/ROSCH/String-ShellQuote-1.00.readme
+http://www.nrk.no/finnmark/x12_9_96/nyh6.htm
+http://ftp.debian.org/dists/Debian2.2r0/non-free/binary-m68k/editors/?N=D
+http://134.84.160.1/infoserv/lists/nih-image/archives/nih-image-9702/0141.html
+http://www.philly.digitalcity.com/saintjosephmo/penpals/browse.dci?cat=seniors&sort=m
+http://www.idg.net/crd_percent_19960.html
+http://204.202.130.51/playerfile/profile/mark_karcher.html
+http://www.redrocksports.com/sports/webSession/shopper/RR972959692-31077/store/dept-5/department/dept-5/item/52800
+http://www.redrocksports.com/sports/webSession/shopper/RR972959692-31077/store/dept-5/department/dept-5/item/52900
+http://www.online.kokusai.co.jp/Service/V0043510/wrd/G200/service/service.html
+http://www.service911.com/mvu/step/0,2632,1+13+139+23899+17191_4,00.html
+http://216.34.146.180/141000afp/14worl21.htm
+http://www.chaos.dk/sexriddle/t/p/v/r/i/
+http://www.chaos.dk/sexriddle/t/p/v/r/x/
+http://www.ualberta.ca/FTP/Mirror/debian/dists/potato-proposed-updates/eruby_0.0.9-1potato1_arm.changes
+http://www.hbdaily.com.cn/scznb/20000622/BIG5/scznb^1104^16^Zn16014.htm
+http://www.linux.com/networking/network/administrator/internet/ftp/install/
+http://bsdweb.pasta.cs.uit.no/bsdweb.cgi/xsrc/xc/lib/Xt/PassivGrab.c?sortby=author
+http://bsdweb.pasta.cs.uit.no/bsdweb.cgi/xsrc/xc/lib/Xt/ConstrainP.h?sortby=author
+http://www.jamba.de/KNet/_KNet-EAA8j1-vFd-13b95/browse.de/node.0/cdel3j591
+http://vvv.geocities.co.jp/SiliconValley-SanJose/5688/sn-3.html
+http://vvv.geocities.co.jp/SiliconValley-SanJose/5688/n.html
+http://www.amel.net/english/computer/games/b/X0006_Backstab__.html
+http://www.amel.net/english/computer/games/b/X0059_Bumper_Ships_1.1.html
+http://retailer.gocollect.com/do/session/1912693/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/sports/index.asp
+http://www.hig.se/(apre,formoutput,modified,set,set_cookie)/~jackson/roxen/
+http://yp.gates96.com/3/73/80/18.html
+http://yp.gates96.com/3/73/81/27.html
+http://yp.gates96.com/3/73/81/48.html
+http://yp.gates96.com/3/73/81/58.html
+http://yp.gates96.com/3/73/82/38.html
+http://yp.gates96.com/3/73/83/30.html
+http://yp.gates96.com/3/73/83/43.html
+http://yp.gates96.com/3/73/83/49.html
+http://yp.gates96.com/3/73/83/52.html
+http://yp.gates96.com/3/73/84/33.html
+http://yp.gates96.com/3/73/84/75.html
+http://yp.gates96.com/3/73/85/2.html
+http://yp.gates96.com/3/73/85/44.html
+http://yp.gates96.com/3/73/85/70.html
+http://yp.gates96.com/3/73/86/37.html
+http://yp.gates96.com/3/73/86/59.html
+http://yp.gates96.com/3/73/87/97.html
+http://yp.gates96.com/3/73/87/99.html
+http://yp.gates96.com/3/73/88/58.html
+http://yp.gates96.com/3/73/88/63.html
+http://yp.gates96.com/3/73/88/97.html
+http://yp.gates96.com/3/73/89/31.html
+http://yp.gates96.com/3/73/89/40.html
+http://deseretbook.com/products/4108132/stock-38.html
+http://workingfamilies.digitalcity.com/madison/search/
+http://debian.linux.org.tw/debian/dists/Debian2.2r0/main/disks-sparc/current/?D=A
+http://debian.linux.org.tw/debian/dists/Debian2.2r0/main/disks-sparc/current/base-contents.txt
+http://www.wizardsoftheweb.com/news/183.shtml
+http://mathematics.fiz-karlsruhe.de/stn/whyonline/why_0367.html
+http://www.nrk.no/finnmark/x27_11_98/nyh3.htm
+http://rex.skyline.net/navigate.cgi?computers,agriculture,nature,agriculture,computers
+http://www.secinfo.com/d1ZG7r.78.htm
+http://www.secinfo.com/d1ZG7r.74.htm
+http://www.freesoftware.com.cn/python.org.cn/doc/essays/ppt/hp-training/tsld051.htm
+http://www.nrk.no/finnmark/x28_5_96/nyh1.htm
+http://www.areteoutdoors.com/channel/snow/downhilling/b.354.g.2944.html
+http://www.areteoutdoors.com/channel/snow/downhilling/b.357.g.2944.html
+http://www.mywebmd.net/roundtable_message/662348
+http://lovers-lane.porncity.net/216/
+http://myhome.thrunet.com/~estefe/seng/sen18.htm
+http://myhome.thrunet.com/~estefe/seng/sen42.htm
+http://myhome.thrunet.com/~estefe/seng/sen52.htm
+http://myhome.thrunet.com/~estefe/seng/sen73.htm
+http://no.egroups.com/login.cgi?login_target=%2Fmessages%2Fenglish-zone
+http://www.uzp.gov.pl/biulety/1998/100/100_1327.html
+http://www.uzp.gov.pl/biulety/1998/100/100_1341.html
+http://www.uzp.gov.pl/biulety/1998/100/100_1372.html
+http://www.uzp.gov.pl/biulety/1998/100/100_1377.html
+http://www.uzp.gov.pl/biulety/1998/100/100_1428.html
+http://www.hotelboulevard.com/fr/riviera/standard/html40f8403856d2fa84c9080a860b7608ba/sessionLang/ANG/prov/browse/lstLieu[0]/Saint-Tropez/resultatSearch.html
+http://polygraph.ircache.net:8181/http_-2www.microsoft.com/frontpage/speeches/Pages/funds/portfolio.html
+http://www9.hmv.co.uk:5555/do/session/1347778/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d40_sd0_pt0.html
+http://edc.uni-augsburg.de/doc/susehilf/pak/paket_doinst_insure.html
+http://www.schlagerplatten.de/NewmanJimmyC/B000009PXU.htm
+http://cn.egroups.com/message/pro92/604
+http://wwws.br-online.de/geld/boerse/980107/190001.html
+http://faqs.bilkent.edu.tr/faqs/sgi/faq/performer/section-3.html
+http://faqs.bilkent.edu.tr/faqs/sgi/faq/performer/section-46.html
+http://faqs.bilkent.edu.tr/faqs/sgi/faq/performer/section-105.html
+http://faqs.bilkent.edu.tr/faqs/sgi/faq/performer/section-111.html
+http://newsone.net/nnr/prep/maus.soziales.recht
+http://www.mapion.co.jp/custom/tv/admi/14/14131/yako/3chome/1/
+http://info.verwaltung.uni-freiburg.de/doc/packages/qt/html/qpicture-members.html
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959870915/ContentView/1000091/1/1200207
+http://tour.stanford.edu/cgi/locate2.prl/135.5/jltA
+http://mapquest.digitalcity.com/daytonarea/salaries/main.dci?page=admin
+http://linuxberg.zeelandnet.nl/x11html/adnload/9146_6809.html
+http://medwebplus.com/subject/Alternative%20and%20Complementary%20Medicine/Population/Lists%20of%20Internet%20Resources?^ftc=240&^cc=ftc
+http://ftp.du.se/disk0/slackware/slackware-current/contrib/ham/login/package_descriptions
+http://yp.gates96.com/12/56/70/0.html
+http://yp.gates96.com/12/56/70/14.html
+http://yp.gates96.com/12/56/70/62.html
+http://yp.gates96.com/12/56/71/19.html
+http://yp.gates96.com/12/56/71/38.html
+http://yp.gates96.com/12/56/71/46.html
+http://yp.gates96.com/12/56/72/49.html
+http://yp.gates96.com/12/56/72/78.html
+http://yp.gates96.com/12/56/72/91.html
+http://yp.gates96.com/12/56/73/18.html
+http://yp.gates96.com/12/56/73/52.html
+http://yp.gates96.com/12/56/74/15.html
+http://yp.gates96.com/12/56/74/54.html
+http://yp.gates96.com/12/56/74/79.html
+http://yp.gates96.com/12/56/75/28.html
+http://yp.gates96.com/12/56/75/68.html
+http://yp.gates96.com/12/56/75/71.html
+http://yp.gates96.com/12/56/75/76.html
+http://yp.gates96.com/12/56/75/88.html
+http://yp.gates96.com/12/56/75/94.html
+http://yp.gates96.com/12/56/76/27.html
+http://yp.gates96.com/12/56/76/57.html
+http://yp.gates96.com/12/56/76/73.html
+http://yp.gates96.com/12/56/77/60.html
+http://yp.gates96.com/12/56/78/3.html
+http://yp.gates96.com/12/56/78/45.html
+http://yp.gates96.com/12/56/78/64.html
+http://yp.gates96.com/12/56/78/86.html
+http://yp.gates96.com/12/56/78/91.html
+http://yp.gates96.com/12/56/78/95.html
+http://yp.gates96.com/12/56/79/39.html
+http://yp.gates96.com/12/56/79/75.html
+http://www.alldata.com/TSB/19/831915CS.html
+http://polygraph.ircache.net:8181/iisadmin/libraries/http_-2www.travelsc.com/welcome_v3/form1.html
+http://majordomo.cgu.edu/cgi-bin/lwgate/NEMAI/archives/nemai.archive.0003/Date/article-9.html
+http://home.tiscalinet.be/fysinet/studententips/tipsVanStudentenNicolas/sld007.htm
+http://www4.netease.com/~abac/writting/zpnr/xw.htm
+http://64.209.212.162/learnlots/step/0,2891,47+75+26299+10981_5,00.html
+http://www.adcentral.com/cgi-bin/w3com/pws/adsites/KLhIZjY9X9xD5moK2JGI9yyxCV4tsONpzxjYyzP1Uq5ZFTlQAg3Wd-d9dlZbdFK8g3p8_O5GT8q_tKPHmrHXekF-PEpGmxPO69EhQYYR0fwhi_k2GqJa7eAy8n4PQUv0fLw2IIBwNP_qQkQpWEvx666v
+http://www.nrc.nl/W2/Nieuws/1998/08/01/
+http://online.excite.de/unterhaltung/katalog/38320
+http://202.167.121.158/ebooks/jetro/tra1-1-1.html
+http://ftp.uni-paderborn.de/aminet/aminet/demo/tp94/Blur.readme
+http://www.symatrixinc.com/website/website.nsf/0/3e40df86fb357cd5882568720079613f!OpenDocument&ExpandSection=11,14,12,26
+http://www.intellicast.com/Ski/World/UnitedStates/Northeast/NewYork/WingedFootGCWest/WindChill/d1_12/
+http://yp.gates96.com/10/17/80/25.html
+http://yp.gates96.com/10/17/80/66.html
+http://yp.gates96.com/10/17/80/92.html
+http://yp.gates96.com/10/17/82/56.html
+http://yp.gates96.com/10/17/82/80.html
+http://yp.gates96.com/10/17/83/48.html
+http://yp.gates96.com/10/17/83/71.html
+http://yp.gates96.com/10/17/83/85.html
+http://yp.gates96.com/10/17/84/9.html
+http://yp.gates96.com/10/17/84/20.html
+http://yp.gates96.com/10/17/84/56.html
+http://yp.gates96.com/10/17/84/63.html
+http://yp.gates96.com/10/17/85/88.html
+http://yp.gates96.com/10/17/86/4.html
+http://yp.gates96.com/10/17/86/43.html
+http://yp.gates96.com/10/17/86/45.html
+http://yp.gates96.com/10/17/86/89.html
+http://yp.gates96.com/10/17/86/97.html
+http://yp.gates96.com/10/17/87/2.html
+http://yp.gates96.com/10/17/87/46.html
+http://yp.gates96.com/10/17/88/0.html
+http://yp.gates96.com/10/17/89/21.html
+http://yp.gates96.com/10/17/89/83.html
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www.w3.org/International/O-URL-and-ident
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=(9,6)+21,0+3,0
+http://polygraph.ircache.net:8181/http_-2www.hystuff.com/nrc.htm
+http://jproxy.uol.es/jproxy/http://www.ocregister.com/beaches/capistrano
+http://www1.zdnet.com/companyfinder/filters/products/0,9996,38071-58,00.html
+http://www.ftp.uni-erlangen.de/pub/mirrors/_other/afterstep.foo.net/AfterStep/binaries/?M=A
+http://www.genome.wustl.edu:8021/gsc10/mouse/up/?D=A
+http://www.genome.wustl.edu:8021/gsc10/mouse/up/up24/
+http://rotten-tomatoes.com/movies/browse/1074473/reviews.php?view=reviews.source
+http://www.virtual-impact-mktg.com/fx110001.htm
+http://genforum.genealogy.com/hagen/messages/164.html
+http://genforum.genealogy.com/hagen/messages/111.html
+http://genforum.genealogy.com/hagen/messages/7.html
+http://genforum.genealogy.com/hagen/messages/271.html
+http://genforum.genealogy.com/hagen/messages/40.html
+http://nt.mortgage101.com/partner-scripts/1024.asp?p=cashsolutions
+http://nt.mortgage101.com/partner-scripts/1026.asp?p=cashsolutions
+http://library.cuhk.edu.hk/search*chi/t龍情三地+%26%2359%3B+[3]/t%7B21632b%7D%7B213e5b%7D%7B213024%7D%7B213779%7D++++3/-5,-1,0,B/browse
+http://ftp.net.uni-c.dk/pub/linux/redhat/redhat-6.2/sparc/misc/src/anaconda/isys/?S=A
+http://ftp.net.uni-c.dk/pub/linux/redhat/redhat-6.2/sparc/misc/src/anaconda/isys/modutils/
+http://cobrand.altrec.com/shop/detail/8273/30
+http://pegasus.infor.kanazawa-it.ac.jp/~hatlab/kaga/docs/jdk1.3-beta_api/jdk1.3/docs/api/java/lang/class-use/ClassFormatError.html
+http://bci.tucows.com/winnt/adnload/58788_28761.html
+http://www.buybuddy.com/sleuth/33/1/1020503/300/
+http://203.116.23.91/computer/pages2/it120800e.html
+http://203.116.23.91/special/newspapers/2000/pages4/computer030700.html
+http://203.116.23.91/computer/pages1/software131197.html
+http://dic.empas.com/show.tsp/?q=anarchically&f=B
+http://noodle.tigris.org/source/browse/subversion/subversion/libsvn_vcdiff/tests/target0.txt
+http://www.dbservicestore.de/home/db_reise_touristik/angebote/db_rt_gat_muenster.shtml
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=2&discrim=16,237,275
+http://www.narodnaobroda.sk/20000926/06_006.html
+http://mandijin.chinamarket.com.cn/C/Showdetail_company/22591.html
+http://202.167.121.158/ebooks/jetro/t6.html
+http://a228.g.akamai.net/7/228/289/dd50406be5fc91/news.indiainfo.com/2000/08/17/world-index.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=disaminerei&l=it
+http://polygraph.ircache.net:8181/http_-2www.eastnebr.net/html/conversions.htm
+http://www.secinfo.com/d2wVq.7ar.htm
+http://www.secinfo.com/d2wVq.7B5.htm
+http://www.secinfo.com/d2wVq.6cd.htm
+http://www.secinfo.com/d2wVq.59x.htm
+http://www.jamba.de/KNet/_KNet-xdz8j1-mFd-13b2b/browse.de/node.0/cenv0b09a
+http://213.36.119.69/do/session/152991/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/jeux/jeux_himalaya.html
+http://www.dailyexcelsior.com/99sep30/edit.htm
+http://www.dailyexcelsior.com/99sep30/sports.htm
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/misc/misc/music/lit/quizz/computers/netwars.html
+http://cometweb01.comet.co.uk/do!session=132020&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkjHfZoLlplLcqkKZljLlfb5lal5tkiLlXaLl0
+http://www.affiliate.hpstore.hp.co.uk/do/session/380832/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/search.asp
+http://208.216.182.15/exec/obidos/ASIN/0516206443/qid=972959559/sr=1-22/
+http://fi.egroups.com/messages/alau/2350
+http://ads.puntopartenza.com/cgi-bin/redirect.cgi/31033631
+http://pds.nchu.edu.tw/cpatch/ftp/ftpctrl/?N=D
+http://www.brio.de/BRIO.catalog/39fe2f5606def942273fd472aa7806e2/UserTemplate/5
+http://ep.com/js/mi/c7246/b0/832275.html
+http://ep.com/js/mi/c7246/b0/837505.html
+http://ep.com/js/mi/c7246/b0/764046.html
+http://www.fogdog.com/cedroID/ssd3040183223072/nav/products/nhl/pittsburgh_penguins/fan/gender/autographed_pucks/
+http://netway.pda.tucows.com/palm/preview/33567.html
+http://netway.pda.tucows.com/palm/preview/34007.html
+http://cometweb01.comet.co.uk/do!session=132006&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkjHfZoLlplLcqkKZljLlfb5lal5tkiLlXaLl0
+http://www.udn.com.tw/ARCHIVE/2000/08/04/DOMESTIC/YUNLIN/587058.htm
+http://www.linux.com/networking/network/support/web/news/services/
+http://www.linux.com/networking/network/support/web/news/website/
+http://www.linux.com/networking/network/support/web/news/business/
+http://ads.carltononline.com/accipiter/adclick/site=purejamba/area=jamba.home_page/AAMSZ=IAB_FULL_BANNER//ACC_RANDOM=972959548213
+http://www-x500-1.uni-giessen.de:8890/Lcn%3dConsuelo%20Alvarez,ou%3dDpto.%20Fisiologia%20y%20Biologia%20Animal,o%3dUniversidad%20de%20Sevilla,c%3dES
+http://www.chaos.dk/sexriddle/b/q/v/y/n/
+http://www.cs.kuleuven.ac.be/~java/docs/tutorial/uiswing/converting/example-1dot1/ListDemo.html
+http://golfonline.comfluent.net/cgi.pan$player&lpga82&Debbie_Raso&lpga?golfstats
+http://acetoys.com/cgi-bin/exec/modify_cart_button=1&cart_id=1999923.7130.303&page=/tystore/htmlfiles/eden/dw.html
+http://www.bigchurch.com/cgi-bin/w3com/pws/bc/y1hIyNzn0Bl2XX5GzG9wVnUEhWD8GTd-XbpDm6aNI4ZMGTnV_YsP2OjB0RrwLpDbJub1pKlzEMrInSQi9hRM-Rz4WNq8C1vKJ9STiU9leUD_a3PBVh-7OMZDzJtyEBAXTehiRqme6jBR
+http://www.bigchurch.com/cgi-bin/w3com/pws/bc/mChIR_iy1798J8x9InaTkzOfisuwH2hv2KUj0e64IQ9CeS327muTnTo70bT5YC4YznUddEOY5WdX70keIPRlsQibJtG6uzZtaaPmL58O5zJ0z_2PkJNxmBS5dj5-gWoeBgE0zaSvCbi66Grq
+http://wap.jamba.de/KNet/_KNet-8qB8j1-FFd-13blo/browse.de/node.0/cde7f2elw
+http://collection.nlc-bnc.ca/100/201/300/info_tabac/html/1997/bull7/fdacarol.html
+http://pub17.ezboard.com/fzhaostempleofenlightenmentzhaosforum.showMessage?topicID=116.topic
+http://www.home.ch/~spaw4360/HOWTO_fr/Ethernet-HOWTO-5.html
+http://www.chaos.dk/sexriddle/s/g/n/y/j/
+http://polygraph.ircache.net:8181/http_-2www.horizonfinance.com/https_-2www.truste.org/validate/page3.html
+http://marketbiz.subportal.com/sn/Themes/Sports_Themes/288.html
+http://www.chinaccm.com/04/news/200004/20/120305.asp
+http://www.american.webtourist.net/travel/northamerica/usa/lagunabeach/bwlagunareefinn.htm
+http://elib.zib.de/pub/visual/avs/mirror/imperial/new/?S=A
+http://www.burstnet.com/ads/ad7826a-map.cgi/969206790
+http://yp.gates96.com/14/82/10/81.html
+http://yp.gates96.com/14/82/12/82.html
+http://yp.gates96.com/14/82/13/55.html
+http://yp.gates96.com/14/82/14/27.html
+http://yp.gates96.com/14/82/14/31.html
+http://yp.gates96.com/14/82/15/52.html
+http://yp.gates96.com/14/82/17/16.html
+http://yp.gates96.com/14/82/17/93.html
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/P2hI5ODQEZ1-vIl-agOzeOeNg4wShDlZrsCbdT5YZ3TrprEU4rb4NnnDXiGmf5cX3dh8ltMer04TMDd3q-cE5Mne85eH57ltxsi4ZQfER6vkktoaaYlS9JFTzylmCJZ2_PAT9uu2oWvIjgMzt9toyeuV
+http://www.mirror.ac.uk/sites/ftp.microsoft.com/deskapps/powerpt/KB/Q226/7/
+http://mirror.nucba.ac.jp/mirror/Perl/authors/id/MIKEKING/?M=A
+http://lists.insecure.org/linux-kernel/2000/Jun/4357.html
+http://www.nlc-bnc.ca/indexmus-bin/resultsum/m=0/e=0/h=25/p=1/f=AU/t=Siroir,+Maryse+Angrignon
+http://genforum.genealogy.com/cgi-bin/print.cgi?leavy::19.html
+http://www.egroups.com/message/malaysiakini/219
+http://wuarchive.wustl.edu/graphics/mirrors/ftp.povray.org/.3/netlib/ode/rksuite/?S=A
+http://www.earthsystems.org/list/greenyes/jan2000/1999-2/0858.html
+http://pp3.shef.ac.uk:4040/search=browse/dn=countryName%3DGB%40organizationName%3DUniversity+of+Sheffield%40organizationalUnitName%3DAutomatic+Control+and+Systems+Engineering%40commonName%3DI+D+Durkacz
+http://cobrand.altrec.com/shop/detail/6133/15/sizing
+http://cobrand.altrec.com/shop/detail/5624/17/write
+http://members.theglobe.com/inwardpath/history.htm
+http://findmail.com/post/studentdoctor?act=reply&messageNum=5168
+http://www.service911.com/everythingtele/step/0,2675,3+26057+24201+16394_0,00.html
+http://www.linux.com/networking/network/free/release/development/mysql/
+http://www.nbip.com.cn/books/xdwx/Hongyan/hongyan14.html
+http://ftp.jp.debian.org/debian-non-US/dists/sid/non-US/non-free/binary-hurd-i386/?N=D
+http://homepage.swissonline.ch/chico_logo/www.Link008
+http://homepage.swissonline.ch/chico_logo/www.Link009
+http://citeseer.nj.nec.com/cidcontext/3719857
+http://itcareers.careercast.com/texis/it/itjs/+CwwBme3AT+6e-xwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewXnmoBGnamwBwxw5naBnqrDdcdtOaOnwGaMdDBramwOaqmwBwamn5otDamnVncdpoDtanDtoDnnGoDtaMFqhTfR20DzmebmwwwpBme3AT+6ekxwww5rmeXdwwwBrmeZpwww/jobpage.html
+http://www.amazon.com.hk/exec/obidos/tg/stores/detail/-/pro-tools/B0000224UB/customer-reviews/ref=th_hp_rs_2_6/
+http://www.ard-buffet.de/buffet/teledoktor/1998/02/16/
+http://pub19.ezboard.com/fmissionimplausiblewhatpeoplearesaying.emailToFriend?topicID=41.topic
+http://no.egroups.com/message/NikonCoolPix/211
+http://www.gasex.com/free.gay.sex/gay.men.dick.dicks.html
+http://www.centc251.org/forums/aca-1/dispatch.cgi/hsi/showFolder/100001/1255931
+http://www.uni-duesseldorf.de/ftp/ftp/pf/s/yagirc-0.65.6/?N=D
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/uIhI1DhpdvAdxVFONIJuaNcvtSTejSMmZIBgOwsZamHFS4JpS3i6VWNOSb8LsLcmqmG0gp2hs1YjuScHwXmociV5L_3_fCYngafHC4CIYDuKoI-rOZldw1RU5K3jOfh5d3PxatRmmHqB662F
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/elax176954/eus53832/eus155852/eus53907/eus62316/
+http://www.magictraders.com/cgi-bin/ubb/ubbmisc.cgi?action=getbio&UserName=Ammo187
+http://fi.egroups.com/login.cgi?login_target=%2Fgroup%2Fweirdchicks
+http://www.accesslasvegas.com/shared/health/adam/ency/article/000589.images.html
+http://pp3.shef.ac.uk:4040/search=browse/dn=countryName%3DGB%40organizationName%3DAberdeen+University%40organizationalUnitName%3DGeneral+Practice%40commonName%3DMorrison+S
+http://worldres.lycos.com/script/gen_amen.asp?hotel_id=2252&n=2089
+http://tulips.ntu.edu.tw/search*chi/dSymbolism+in+fairy+tales/dsymbolism+in+fairy+tales/-5,-1,0,B/browse
+http://ftp.du.se/disk4/FreeBSD/branches/4.0-stable/ports/x11-clocks/pclock/
+http://ftp.du.se/disk4/FreeBSD/branches/4.0-stable/ports/x11-clocks/xtimer/
+http://polygraph.ircache.net:8181/cgi-win/lincoln/$cgi4wpro.exe/http_-2www.k56.com/http_-2www.webexplorer.net/c/SHLFFREZ.HTM
+http://www.ecs.soton.ac.uk/~seg7/private/contact.html
+http://wiem.onet.pl/wiem/00de68-s.html
+http://lcweb2.loc.gov/ll/llnt/008/?M=A
+http://www.alladvantage.com/pressroom.asp?refid=CBI-463
+http://herndon1.sdrdc.com/cgi-bin/ind_detail/FERRELL|PORTER|FORT+WORTH|TX|76107|SINGLE+SERVER+COMMUNICATIONS/
+http://herndon1.sdrdc.com/cgi-bin/ind_detail/HARRIS|WILLIAM|FAIRFAX|VA|22031|HARRIS+AND+ASSOCIATES/
+http://herndon1.sdrdc.com/cgi-bin/ind_detail/HUTCHER|LARRY|NEW+YORK|NY|10023|DAVIDOFF+AND+MALITO/
+http://herndon1.sdrdc.com/cgi-bin/ind_detail/ISIKOFF|NATHAN+R|WASHINGTON|DC|20007|CAREY-WINSTON+CO/
+http://www.linux.com/networking/network/communications/security/wireless/protocol/
+http://www.linux.com/networking/network/communications/security/wireless/technology/
+http://retailer.gocollect.com/do/session/1912719/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/about.asp
+http://retailer.gocollect.com/do/session/1912719/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/limited_editions.asp
+http://retailer.gocollect.com/do/session/1912719/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://www9.hmv.co.uk:5555/do/session/1347779/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/hiddenframe.html
+http://pub9.ezboard.com/fwestlifedublinmessageboardwestlifemessageboard.showMessage?topicID=8.topic
+http://no.egroups.com/subscribe/hardzero
+http://link.fastpartner.com/do/session/600378/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/index.php
+http://link.fastpartner.com/do/session/600378/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/gosafe.php
+http://link.fastpartner.com/do/session/600378/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/bitconomy.php
+http://www.hello.co.jp/~daichi2/
+http://bbs.nsysu.edu.tw/txtVersion/treasure/ChiaYi/M.937783175.A/M.959916136.M.html
+http://chat.hani.co.kr/NetBBS/Bbs.dll/chosun21/lst/qqeq/1/zka/B2-kB2Bp/qqo/PRMY
+http://www.gartenfachmarkt.de/haus/schleifen/so.htm
+http://links2go.publiweb.com/topic/US_Department_of_Agriculture
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=14,15,6,36,22
+http://www.linux.com/networking/network/new/hardware/open_source/operating_system/
+http://www.linux.com/networking/network/new/hardware/open_source/availability/
+http://tokyo.cool.ne.jp/pure0101/Oblivion_dust.html
+http://www.digitaldrucke.de/(aktuell,computer,gaestebuch,hilfe,hilfeallgemein,individualverkehr,kultur,onlineservice,peripherie,sense,veranstaltungen,verkehr)/_fort/html/themen/computer/hard/links/mitsu.htm
+http://www.gbnf.com/genealogy/jenkins/html/d0097/I4129.HTM
+http://www.geocities.co.jp/Outdoors-River/1625/hakuba0502.htm
+http://ftp.fi.debian.org/OpenBSD/src/regress/share/man/
+http://www3.buch-per-sms.de/angemeldet.jsp$ID=To7767mC050667397857644736At0.8818825373175998
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=15,25,16,27
+http://debian.tod.net/debian/dists/sid/main/binary-sparc/electronics/?D=A
+http://hs1.takeoff.ne.jp/~hatuse/
+http://polygraph.ircache.net:8181/Keyboards/http_-2www.sky.net/~robertf/handson/engine.html
+http://www.gbnf.com/genealogy/jenkins/html/d0005/I3818.HTM
+http://sepwww.stanford.edu/oldreports/sep67/old_src/jon/extend/junk.listing
+http://www.kol.net/~calldj/cyberstar/map/dw25a.htm
+http://citeseer.nj.nec.com/cidcontext/1297195
+http://citeseer.nj.nec.com/cidcontext/1297207
+http://books.hyperlink.co.uk/xt2/Peace_Verses_War/Cole/Derek/0722329539
+http://www.spousehouse.com/
+http://futures.homeway.com.cn/lbi-html/news/special/zhzt/jdht/twparty/zhengfu94652.shtml
+http://www.yorosiku.net:8080/-_-http://www.zdnet.co.jp/zdii/interviews/interviews.html
+http://library.cwu.edu/search/aIdaho+State+University/aidaho+state+university/-5,-1,0,E/frameset&F=aidaho+state+university&2,,0
+http://pelit.saunalahti.fi/.1/tucows/preview/68721.html
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=34,20,30,36,32
+http://pike-community.org/(base=/forums/show.html,forum=7,show=146,t=972959487953431)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=185,t=972959487953431)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,explode=763,forum=7,t=972959487953431)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=870,t=972959487953431)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=890,t=972959487953431)/forums/show.html
+http://ww2.comune.fe.it/cgi-win/hiweb.exe/a2/d3/b34,8,1,,1f,1,65,,1f,65,
+http://www.telematik.informatik.uni-karlsruhe.de/osf/sw/v4.0x/lp2/bst320/kit/
+http://cafe3.daum.net/Cafe-bin/Bbs.cgi/harukypds/rnw/zka/B2-kB2Zq
+http://www.digitaldrucke.de/(computer,hilfe)/_fort/html/themen/computer/hard/links/escom.htm
+http://www2.ipc.pku.edu.cn/scop/pdb.cgi?sid=d6stdb_
+http://www2.ipc.pku.edu.cn/scop/pdb.cgi?sid=d4stdc_
+http://www.shopworks.com/index.cfm/action/specials/userid/00029735-2E1C-19FE-AF65010C0A0A8CF2
+http://www.shopworks.com/index.cfm/action/search/userid/00029735-2E1C-19FE-AF65010C0A0A8CF2
+http://www.helpnow.net.cn/helpnow/hardware/bbs/cpu/?D=A
+http://books.hyperlink.co.uk/xt1/Light_My_Fire/Manzarek/Ray/0099280655
+http://bsd.sinica.edu.tw/cgi-bin/cvsweb.cgi/src/crypto/heimdal/appl/ftp/ftp/?sortby=author
+http://tucows.interbaun.com/winme/adnload/5147_28523.html
+http://tucows.interbaun.com/winme/adnload/137019_28530.html
+http://moviestore.zap2it.com/browse/MOVIES/COLLECTI/s.NedNjpDf
+http://moviestore.zap2it.com/browse/MOVIES/STRAW/s.NedNjpDf
+http://www.online.kokusai.co.jp/Words/V0043505/wrd/G700/words/kana_main.html
+http://www.mirror.edu.cn/res/sunsite/pub/X11/contrib/window_managers/gwm/patches/gwm_patch_1.8a_001
+http://www.musicblvd.com/cgi-bin/tw/270242907922133_20_hip
+http://www.cowo.de/archiv/1991/21/9121c045.html
+http://www.russ.ru:8080/netcult/nevod/19990827-pr.html
+http://usol.linux.tucows.com/x11html/preview/26680.html
+http://usol.linux.tucows.com/x11html/preview/10385.html
+http://yp.gates96.com/7/22/20/54.html
+http://yp.gates96.com/7/22/20/67.html
+http://yp.gates96.com/7/22/20/71.html
+http://yp.gates96.com/7/22/22/26.html
+http://yp.gates96.com/7/22/22/55.html
+http://yp.gates96.com/7/22/22/74.html
+http://yp.gates96.com/7/22/22/94.html
+http://yp.gates96.com/7/22/23/38.html
+http://yp.gates96.com/7/22/23/59.html
+http://yp.gates96.com/7/22/24/43.html
+http://yp.gates96.com/7/22/24/60.html
+http://yp.gates96.com/7/22/24/64.html
+http://yp.gates96.com/7/22/24/66.html
+http://yp.gates96.com/7/22/24/72.html
+http://yp.gates96.com/7/22/24/85.html
+http://yp.gates96.com/7/22/26/11.html
+http://yp.gates96.com/7/22/26/69.html
+http://yp.gates96.com/7/22/27/3.html
+http://yp.gates96.com/7/22/27/11.html
+http://yp.gates96.com/7/22/27/22.html
+http://yp.gates96.com/7/22/27/48.html
+http://yp.gates96.com/7/22/27/69.html
+http://yp.gates96.com/7/22/28/13.html
+http://yp.gates96.com/7/22/28/30.html
+http://yp.gates96.com/7/22/29/39.html
+http://yp.gates96.com/7/22/29/58.html
+http://www.allgemeine-immobilien-boerse.de/frankfurt/verkauf/Gemeinsam/Super-Zins-Konditionen/Private-IB/Startseite/IIM-Teil/Startseite/Gemeinsam/Super-Zins-Konditionen/anforderungsformular.htm
+http://cobrand.altrec.com/shop/detail/8470/9/description
+http://oa-nett.no/0/73/90/2.html
+http://www.nordi.no/~steinsk/
+http://www02.geocities.co.jp/Stylish/6692/
+http://no.egroups.com/login.cgi?login_target=%2Fmessages%2Fsan-diego-tango
+http://no.egroups.com/message/san-diego-tango/390
+http://www.jamba.de/KNet/_KNet-m_C8j1-PFd-13bt7/showInfo-special1.de/node.0/cenv0b09a
+http://www.bemi-immobilien.de/Ferien-IB/Startseite/Gemeinsam/immolink/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Startseite/Gemeinsam/versicherungen/gebaeude/Startseite/froben.htm
+http://it.egroups.com/post/pimnews-homeworker?act=reply&messageNum=661
+http://members.es.tripod.de/remoto/t2/p3b.htm
+http://no.egroups.com/post/Translat2000?act=reply&messageNum=530
+http://www.opengroup.com/pabooks/081/0816631352.shtml
+http://www6.freeweb.ne.jp/feminine/ki18/portrait10/p21.htm
+http://genforum.genealogy.com/cgi-genforum/forums/cantrell.cgi?2117
+http://www9.hmv.co.uk:5555/do/session/1347769/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d30_sd0_pt0.html
+http://polygraph.ircache.net:8181/docs/Win95/MSdialer/http_-2www.fastcounter.com/http_-2www.perrypip.com/http_-2www.scruz.net/~dvb/cam.html
+http://polygraph.ircache.net:8181/docs/Win95/MSdialer/http_-2www.fastcounter.com/http_-2www.perrypip.com/~logan/
+http://polygraph.ircache.net:8181/docs/Win95/MSdialer/http_-2www.fastcounter.com/http_-2www.perrypip.com/http_-2hits.omino.com/
+http://javatest.a-net.nl/servlet/pedit.Main/http://epidem13.plantsci.cam.ac.uk/~js/glossary/course-glossary.html
+http://www.hellefors.se/ulf/akno/alla/p0349c5e1e.html
+http://home.no.net/islamnor/had.sira.html
+http://www.gutenberg2000.de/immerman/muenchim/muen1171.htm
+http://www.gutenberg2000.de/immerman/muenchim/muen3091.htm
+http://www.gutenberg2000.de/immerman/muenchim/muen7011.htm
+http://www.sikhnet.com/sikhnet/music.nsf/by%20Shabad!OpenView&Start=30&Count=20&Expand=2
+http://www.proteome.com/databases/PombePD/reports/SPCC613.01.html
+http://www.midwestvanlines.com/oh/indexC.html
+http://ring.tains.tohoku.ac.jp/pub/linux/debian/debian-jp/dists/stable/contrib/binary-arm/electronics/?S=A
+http://members.tripod.com/~infolog/Genhouses/Chap12.htm
+http://www.4positiveimages.com/4positiveimages/1998693855/UserTemplate/2
+http://www.greenleaves.com/bookcat/gb_096855900X.html
+http://www-rn.informatik.uni-bremen.de/home/X11R6/xc/doc/hardcopy/test/?M=A
+http://rex.skyline.net/html/Shipping_of_Goods.html?48,airplanes,transportation,collectibles,transportation
+http://rex.skyline.net/html/Automobile_Classified_Listings.html?59,airplanes,transportation,collectibles,transportation
+http://www.admin.co.martin.fl.us/GOVT/depts/cas/corresp/2000/cas00l.133.html
+http://www.admin.co.martin.fl.us/GOVT/depts/cas/corresp/2000/cas00l.126.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380834/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hpstore.hewlett-packard.fr/gp
+http://link.fastpartner.com/do/session/600367/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/no/
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www-library.lbl.gov/photo/gallery/
+http://dogbert.wu-wien.ac.at/UniverCD/cc/td/doc/product/core/cis12012/bfrcfig/4334acps/?M=A
+http://ftp.uni-stuttgart.de/pub/tex/nonfree/support/latexdraw/doc/ltdmanual.html.g/node10.html
+http://se.egroups.com/message/911dispatchers/718
+http://ftp.eecs.umich.edu/.1/people/jfr/Pinata_Book/?D=A
+http://community.bigchalk.com/servlet/schools_ProcServ/DBPAGE=cge&GID=66001000660906746080215398&PG=66001000660906746080492039
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=16,27,29,4
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=22,27,29,4
+http://pds.nchu.edu.tw/cpatch/ftp/dap/cdap_4002.txt
+http://pds.nchu.edu.tw/cpatch/ftp/dap/source/
+http://kuyper.calvin.edu/fathers2/ANF-03/anf03-22.htm
+http://kuyper.calvin.edu/fathers2/ANF-03/anf03-27.htm
+http://blisty.internet.cz/1250/9908/19990813a.html
+http://ring.shibaura-it.ac.jp/archives/doc/jpnic/minutes/committee/200008/shiryou-2-8-2.txt
+http://194.128.65.4/pa/cm199697/cmhansrd/vo970306/text/70306w14.htm
+http://www.mortgagemag.com/guide/c096/c096573.htm
+http://link.fastpartner.com/do/session/600369/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/mondosoft.php
+http://link.fastpartner.com/do/session/600369/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/gosafe.php
+http://cometweb01.comet.co.uk/do!session=132008&vsid=692&tid=20&cid=37051&mid=1000&rid=1060&chid=1702&url=eqqLmwlGltt5tkjHfZoLlplLcqkKZljLlfb5lal5tkiLlXaLl0
+http://www.vh.org///////Patients/IHB/FamilyPractice/AFP/November1994/HormoneReplacement.html
+http://ftp.sunet.se/pub/unix/OpenBSD/distfiles/md5/74892a6ae002937d011d3e1102269b7f/?M=A
+http://www.pcdads.com/pressroom/archive/releases/cn112999.htm
+http://www.pcdads.com/pressroom/archive/releases/Fe90199a.htm
+http://www.pcdads.com/pressroom/archive/releases/Cn042199.htm
+http://www.cheap-cds.com/surf/order/017172
+http://www.hani.co.kr/ECONOMY/data/9909/day09/print/p00909060.html
+http://www.bemi-immobilien.de/Startseite/www.allgemeine-immobilien-boerse.de/allgemeine-ib/landkreiszwickau/Verkauf/29109700708107kirchbergvillamü/Gemeinsam/MarketingStrategie/Startseite/Gemeinsam/Inserieren/Gemeinsam/Gemeinsam/versicherungen/unfall/anforderungsformular.htm
+http://www.sj-rmall.com/Mall/Catalog/Product/ASP/product-id/57419/store-id/1000400121.html
+http://www.travelodge.com/ctg/cgi-bin/Travelodge/home/AAAksrACwAAABvTAAd
+http://ctc.org.cn/ctc2/news/internet/develop/news0322-6.htm
+http://www.schlagertempel.de/FallbachTrio/B000025MBP.htm
+http://www.fogdog.com/cedroID/ssd3040183238127/nav/products/nike/1b/all/10.html
+http://www.fogdog.com/cedroID/ssd3040183238127/customer_service/security_policy.html
+http://in.egroups.com/login.cgi?login_target=%2Fgroup%2Fradiotutorium
+http://yp.gates96.com/7/87/70/43.html
+http://yp.gates96.com/7/87/70/61.html
+http://yp.gates96.com/7/87/71/85.html
+http://yp.gates96.com/7/87/72/75.html
+http://yp.gates96.com/7/87/73/1.html
+http://yp.gates96.com/7/87/73/5.html
+http://yp.gates96.com/7/87/73/60.html
+http://yp.gates96.com/7/87/74/34.html
+http://yp.gates96.com/7/87/75/9.html
+http://yp.gates96.com/7/87/75/50.html
+http://yp.gates96.com/7/87/75/92.html
+http://yp.gates96.com/7/87/76/2.html
+http://yp.gates96.com/7/87/76/59.html
+http://yp.gates96.com/7/87/76/92.html
+http://yp.gates96.com/7/87/78/30.html
+http://yp.gates96.com/7/87/78/32.html
+http://yp.gates96.com/7/87/78/75.html
+http://yp.gates96.com/7/87/78/85.html
+http://yp.gates96.com/7/87/78/93.html
+http://yp.gates96.com/7/87/79/30.html
+http://yp.gates96.com/7/87/79/50.html
+http://yp.gates96.com/7/87/79/71.html
+http://yp.gates96.com/7/87/79/85.html
+http://interhotel.com/luxembourg/es/hoteles/45691.html
+http://interhotel.com/luxembourg/es/hoteles/73094.html
+http://bart.kullen.rwth-aachen.de/~quake3/Html_log/471_chat.html
+http://search.yam.com.tw/en/search/rec/travel/domest/resorts/miaolir/
+http://www.narodnaobroda.sk/19991009/23_006.html
+http://news.china.com/zh_cn/social/1007/20001027/7624.html
+http://www.fila.com.br/
+http://www.jobvillage.com/channel/jobs/health_care/female_health/b.3122.g.2360.html
+http://online.excite.de/bildung/katalog/35461
+http://deportes.ole.com/ocio/articulo/articulo.cfm?ID=OCI8055
+http://yp.gates96.com/3/36/90/2.html
+http://yp.gates96.com/3/36/90/37.html
+http://yp.gates96.com/3/36/90/55.html
+http://yp.gates96.com/3/36/90/79.html
+http://yp.gates96.com/3/36/91/7.html
+http://yp.gates96.com/3/36/92/59.html
+http://yp.gates96.com/3/36/92/95.html
+http://yp.gates96.com/3/36/93/76.html
+http://yp.gates96.com/3/36/93/88.html
+http://yp.gates96.com/3/36/94/41.html
+http://yp.gates96.com/3/36/94/64.html
+http://yp.gates96.com/3/36/95/16.html
+http://yp.gates96.com/3/36/95/33.html
+http://yp.gates96.com/3/36/95/39.html
+http://yp.gates96.com/3/36/96/36.html
+http://yp.gates96.com/3/36/96/53.html
+http://yp.gates96.com/3/36/99/30.html
+http://yp.gates96.com/3/36/99/73.html
+http://download.sourceforge.net/mirrors/turbolinux/turbolinux-cn/pub/turbolinux/updates/TLC3.0.2/?S=D
+http://www.jobvillage.com/channel/jobs/administrative/mrd/courier/b.4728.g.3366.html
+http://www.jobvillage.com/channel/jobs/administrative/mrd/shipping_clerk/b.4713.g.3366.html
+http://quote.fool.com/simple.asp?symbols=NS
+http://itcareers.careercast.com/texis/it/itjs/+NwwBmeIXD86dxwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewXhmoBGnaqdGpdGwBodDaqdMp1BnGadpnGwBodD5aMw55wqr15nBB5aqdGpdGwBnahoDwDqowcaMwocaBn5BoDtapGdxcnMaMFqhTfR20DzmetmwwwpBme_9D86eYmwww5rme1DwwwBrmeZpwww/jobpage.html
+http://www.shopworks.com/index.cfm/action/info/userid/00066256-1160-19FE-A703010D0A0A8CF2
+http://isbn.nu/0716723212/fatbrain
+http://isbn.nu/0716723212/amazon.ceo.html
+http://ftp.nacamar.de/pub/NetBSD/NetBSD-current/pkgsrc/www/p5-URI/?N=D
+http://213.36.119.69/do/session/152993/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/preparer/sante.htm
+http://213.36.119.69/do/session/152993/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/jeux/jeux_himalaya.html
+http://213.36.119.69/do/session/152993/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/DE_DE/
+http://www.linux.com/networking/network/support/open_source/investors/consulting/
+http://www.linux.com/networking/network/support/open_source/investors/research/
+http://sunsite.uakom.sk/doc/FAQ/alt-sex/fetish-fashion/?S=A
+http://sunsite.uakom.sk/doc/FAQ/alt-sex/fetish-fashion/?D=A
+http://phnet.tucows.com/winme/preview/75994.html
+http://www.fivedoves.com/letters/june99/trish67.htm
+http://www.teacherformation.org/html/od/facilitators.cfm/task1,about/discussion_id,2/xid,8571/yid,4064381
+http://pub24.ezboard.com/fnightmagicfrm1.showMessage?topicID=3.topic
+http://infoserv2.ita.doc.gov/efm/efm.nsf/Sources!OpenView&Start=53.28&Count=30&Expand=54
+http://www.linux.com/networking/network/communications/management/windows_nt/website/
+http://www.linux.com/networking/network/communications/management/windows_nt/?kw_offset=50
+http://www.epinions.com/cmd-review-593A-C9BAC2B-3987B6DC-prod1
+http://www.bande-dessinee.org/bd/bd02.nsf/InterDescenaristes!OpenView&Start=1&Count=50&Collapse=51
+http://www.business-partner.ch/static/fr/pourlesfirmes/lesgrandesentreprises/whateveryouwant/solutionsspecifiquesalabranche/transport/main.html
+http://ads.carltononline.com/accipiter/adclick/site=purejamba/area=JAMBA.HOME_PAGE/AAMSZ=KSJAMBA//ACC_RANDOM=972959547161
+http://expert.cc.purdue.edu/~yoko/simpsons/front.html
+http://dailynews.sina.com.cn/society/2000-06-14/97332.html
+http://ftp.dti.ad.jp/pub/Linux/debian-jp/dists/potato/main/binary-all/editors/?M=A
+http://www.babyheirlooms.com/catalog/htmlos.cat/041124.1.5608817466
+http://www9.hmv.co.uk:5555/do/session/1347791/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d100_sd0_pt0.html
+http://www.jobvillage.com/channel/jobs/health_care/pharmaceutical/pharmacist/b.3231.g.1267.html
+http://yp.gates96.com/11/24/80/12.html
+http://yp.gates96.com/11/24/80/18.html
+http://yp.gates96.com/11/24/80/84.html
+http://yp.gates96.com/11/24/80/90.html
+http://yp.gates96.com/11/24/81/6.html
+http://yp.gates96.com/11/24/81/9.html
+http://yp.gates96.com/11/24/81/54.html
+http://yp.gates96.com/11/24/81/74.html
+http://yp.gates96.com/11/24/81/98.html
+http://yp.gates96.com/11/24/82/17.html
+http://yp.gates96.com/11/24/82/96.html
+http://yp.gates96.com/11/24/83/54.html
+http://yp.gates96.com/11/24/83/58.html
+http://yp.gates96.com/11/24/84/44.html
+http://yp.gates96.com/11/24/84/52.html
+http://yp.gates96.com/11/24/84/63.html
+http://yp.gates96.com/11/24/85/35.html
+http://yp.gates96.com/11/24/85/77.html
+http://yp.gates96.com/11/24/85/78.html
+http://yp.gates96.com/11/24/87/15.html
+http://yp.gates96.com/11/24/87/77.html
+http://yp.gates96.com/11/24/88/0.html
+http://yp.gates96.com/11/24/88/63.html
+http://yp.gates96.com/11/24/89/93.html
+http://www.iabusnet.org:90/forums/aca-1/dispatch.exe/survey/listUnseen/fol/100001/20,0/2498053
+http://www.zeenzone.com/movies/1,4003,1040-21565,00.html
+http://www.zeenzone.com/movies/1,4003,1040-99354,00.html
+http://www.zeenzone.com/movies/1,4003,1040-109493,00.html
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/folderFrame/100001/0/author/627181
+http://moshkow.rsl.ru/alt/MORUA/letters.txt
+http://members.tripod.co.jp/muttley2000/?M=A
+http://www.shopworks.com/index.cfm/action/specials/userid/000A8C31-2EFD-19FE-9038010B0A0ADCF2
+http://www.bookhome.net/xiandangdai/other1/chunjiang/006.html
+http://www.bookhome.net/xiandangdai/other1/chunjiang/013.html
+http://www.dailyrush.dk/clans/145
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/auto/0210/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/brandenburg/0011/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/lokales/0077/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/lokales/0009/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/lokales/0111/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/lokales/0117/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/lokales/0014/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/sport/0018/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/sport/0158/
+http://www.berlinonline.de/wissen/berliner_kurier/archiv/2000/0429/tv/0209/
+http://www.multicosm.com/facade/www.contigo.com/
+http://www.boston.digitalcity.com/cincinnati/health/conditions.dci?condition=sids
+http://www.onlineathens.com/1998/041498/0414.a2zbriefs.html
+http://ist.linux.tucows.com/conhtml/adnload/52224_1782.html
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/-2hIv4VApV7948YHO6tPdd62dgSdHSwg0xTrLhYidK4__IjhefvQTQrwpTMkkPdR5C5XRGbdA57_pJIxtMRvHJmrtjKdnzn_di6Er9p9vwIk1rLYwssqdvQbgeNAvSgd2M1a7O5NWleCth4ETxMfqPQS
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/VwhIXbmwUfG9PK362Tf07_xy8BQY7YBwNspFlCmPD_syQhuUcYEAU2eNoW3Liccn5fOj3JHbx2nCG9Tkl-PZwI9bR0uW5_3bO8O3kRwFm2Sp0E8MBNqJ9FvuLKt4pS_X3qzA8sbHcygn7lFrBe9ZZqi565Rs
+http://www.crutchfield.com/cgi-bin/S-5ILchLS19Z9/auto.asp
+http://www.quzhou.gov.cn/flfg.nsf/0a043ae26eb50247002564640039f21d/7cdda9dbc7e2b2bb002564ac00393b48!OpenDocument&ExpandSection=1,7,6
+http://opac.lib.ntnu.edu.tw/search*chi/m92+R627/m92+r627/-5,-1,0,B/buttonframe&F=m92+r449m&1,1
+http://www03.u-page.so-net.ne.jp/fc4/kazumasa/tdl/side2/side2.html
+http://launchbase.com/Home/Personal_Organization/communication/information/Bank_Rates_&_Info.htm
+http://launchbase.com/Home/Personal_Organization/communication/entertainment/Sports.htm
+http://launchbase.com/Home/Personal_Organization/communication/shopping/Flowers.htm
+http://launchbase.com/Home/Personal_Organization/communication/shopping/Pro-Audio.htm
+http://www.nissan.co.jp/RENAULT-DEALERS/PASSPORT/view.cgi/admission/972959587--
+http://channel.nytimes.com/1998/10/15/technology/
+http://www.la.gunma-u.ac.jp/S97/thtml/m/kiso/41808.html
+http://www1.ocn.ne.jp/~yaiba/_private/kobanasi/tyouhen/haraguroido/noroi.htm
+http://www.duluxvalentine.com/FRANCE:1161209847:DFinity.1QJiP4jmPgipihoa
+http://fi.egroups.com/messages/mediamalle-letter/6
+http://personal.wol.com.cn/lxz20a/gp13.htm
+http://eclat.gaiax.com/www/eclat/y/k/yoko_mama/main.html
+http://eclat.gaiax.com/www/eclat/y/k/yoko_mama/bbs.html
+http://findmail.com/login.cgi?login_target=%2Fgroup%2Fohsama-iroiro
+http://www.fogdog.com/cedroID/ssd3040183248487/crs/po__/wld/fogdog_sports/superfeet/outdoor/footwear/green_hi-profile.html
+http://www.fogdog.com/cedroID/ssd3040183248487/nav/stores/baseball/
+http://www.fogdog.com/cedroID/ssd3040183248487/nav/stores/winter_sports/
+http://www.consource.com/members/signup/signup_temp_user.html?tAccountID=561
+http://213.36.119.69/do/session/152994/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/reserver/voit.htm
+http://213.36.119.69/do/session/152994/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/BE_NL/
+http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdevelop/Attic/configure.in?r1=1.62&sortby=rev
+http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdevelop/Attic/configure.in?annotate=1.53&sortby=rev
+http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdevelop/Attic/configure.in?r1=1.46&sortby=rev
+http://www.aelita.net/products/solutions/sitemap/Reg/QuoteRegister/solutions/products/default.htm
+http://sunsite.org.uk/public/public/packages/pine/docs/?S=A
+http://sunsite.org.uk/public/public/packages/pine/docs/QandA.txt
+http://www.sfc.keio.ac.jp/~s98008na/miniproject/0.html
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959867760/Catalog/1000023
+http://www.msn.expedia.co.uk/wg/Africa/Mauritius/P39048.asp
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/asiasanahaku/rakennesuunnittelu/talonrakennus/rakennukset/ohjeet/
+http://www.ericsson.cl/education/centers/dtmexic.shtml
+http://ftp.gigabell.net/debian/dists/Debian2.2r0/main/binary-powerpc/web/?S=A
+http://dirs.educationamerica.net/Colorado/Localities/C/Colorado_Springs/News_and_Media/Television/
+http://polygraph.ircache.net:8181/services/define/jeff/http_-2web01.hq.cyberserv.com/ryanhomes/http_-2www.travelsc.com/cgi-bin/news/NewsList.cfm?ID=1
+http://salinas2000.com/index.cfm/r/960/a/95.htm
+http://213.36.119.69/do/session/152988/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www3.travelprice.com/voyages/recherche.phtml
+http://213.36.119.69/do/session/152988/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/connaitre/questions-reponses.htm
+http://ftp.cpan.org/src/5.0/sperl-2000-08-05/?D=A
+http://virtualpubliclibrary.com/hallofanima/moresports/JOELOUIS.ORG//hallofanima/music/
+http://x500.rz.uni-karlsruhe.de:8000/Lcn%3dMonika%20Vogel,%20ou%3dPersonalabteilung,%20ou%3dUniversitaetsleitung%20und%20-verwaltung,%20o%3dUniversitaet%20Konstanz,%20c%3dDE
+http://bsd.sinica.edu.tw/cgi-bin/cvsweb.cgi/ports/korean/pine/files/patch-ai?only_with_tag=RELEASE_2_2_2
+http://ftp.ring.gr.jp/archives/XFree86/4.0.1/binaries/Linux-ix86-glibc21/RELNOTES
+http://homepage1.nifty.com/SAKURAISANS/itoshi.html
+http://www.expage.com/savetucker
+http://ring.edogawa-u.ac.jp/archives/pack/os2/prog/rexx/?N=D
+http://www.saarreisen.de/rueckel-reisen/fluege-buchen/barbados/reise-ibiza.htm
+http://debian.linux.org.tw/debian/dists/sid/contrib/binary-powerpc/interpreters/?S=A
+http://ricoh.co.jp/rtoss/School/other/other/lotus_syo/pg7.html
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus52213/eus52841/eus236353/eus591199/eus937052/
+http://www.mapion.co.jp/custom/AOL/admi/23/23101/higashiyamatori/4chome/index-17.html
+http://stocks.tradingcharts.com/stocks/charts/swti-bb/w/javachart
+http://ftp.univ-lyon1.fr/gnu/Manuals/diffutils-2.7/html_chapter/diff_15.html
+http://www.elfoco.com/EL_Foco/CDA/PrintPage/1,2171,2_53_28444,00.html
+http://www.debian.org.cn/Bugs/db/61/61000.html
+http://www.debian.org.cn/Bugs/db/66/66591.html
+http://www.debian.org.cn/Bugs/db/57/57112.html
+http://www.gxrb.com.cn/26/tbzl.htm
+http://opac.lib.rpi.edu/search/dyosemite+national+park+water+resources+development+research+california/-5,-1,0,E/2browse
+http://ring.omp.ad.jp/pub/NetBSD/NetBSD-current/src/usr.sbin/dhcp/client/scripts/openbsd
+http://attach1.egroups.com/attach/1087162/28/gs-108=71=1087162/10-1-10-160/application=octet-stream/IntOrganist.htm
+http://www.brainerddispatch.com/stories/071299/obi_0712990015.shtml
+http://webusers.siba.fi/doc/HOWTO/en-html/Multi-Disk-HOWTO-27.html
+http://www.pressa.spb.ru/newspapers/nevrem/arts/nevrem-1667-art-30.html
+http://www4.ocn.ne.jp/~l-tommy/C1024.html
+http://pub13.ezboard.com/fsequelossavannasoftwaredevelopment.showMessage?topicID=74.topic
+http://pub13.ezboard.com/fsequelossavannasoftwaredevelopment.showMessage?topicID=109.topic
+http://www.z-plus.de/freizeit/kino/galerie/unhold/kritikdpa.html
+http://www.tiscover.com/1Root/Kontinent/6/Staat/7/Bundesland/16/Ort/515/Privatvermieter/326225/Homepage/m_homepage...2.html
+http://wap.jamba.de/KNet/_KNet-NKE8j1-2Gd-13c6l/showInfo-wir.de/node.0/cde7f1uou
+http://www.refdag.nl/kl/990706kl02.html
+http://www.ferien-immobilien.de/nordrhein-Westfalen/soest/Verkauf/Versteigerungen-IB/Startseite/Gemeinsam/versicherungen/gebaeude/Versteigerungen-IB/Startseite/Gemeinsam/Super-Zins-Konditionen/anforderungsformular.htm
+http://caller-times.com/1999/september/18/today/local_sp/78.html
+http://link.fastpartner.com/do/session/600350/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/mondosoft.php
+http://providenet.tukids.tucows.com/mac/9-12/adnload/11899_25711.html
+http://providenet.tukids.tucows.com/mac/9-12/adnload/51475_24795.html
+http://fivestar.subportal.com/sn/Network_and_Internet/Dial-up_Networking_Dialers/11735.html
+http://www.kenley.londonengland.co.uk/newspaperandmagazinepublishers.htm
+http://builder.hw.net/frmRestDir/0,1112,'1~21~325~1~C~013800~07790',00.html
+http://builder.hw.net/frmRestDir/0,1112,'1~21~325~1~C~013800~54357',00.html
+http://ftp1.support.compaq.com/public/vms/vax/v6.0/sls/2.6/?M=A
+http://cpan.clix.pt/authors/id/I/IL/ILYAM/Mail-CheckUser-0.15.readme
+http://www.maasvlakte-cam.nl/webcams/23/stavanger__norway/2000/10/12/?D=A
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/music/midi/computers/quizz/lit/arnheim.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/music/midi/computers/quizz/misc/colorart/
+http://www.taftp.com/A555D3/WebDir.nsf/MBC!OpenView&Start=89.2&Count=30&Expand=106
+http://jundavid.subportal.com/sn/Shell_and_Desktop/Animal_Cursors/11879.html
+http://www.netitor.com/photos/schools/ucla/sports/m-wpolo/98-99action/?M=A
+http://cpan.nitco.com/modules/by-module/Devel/MSCHWERN/Class-DBI-0.03.readme
+http://cpan.nitco.com/modules/by-module/Devel/MSCHWERN/Text-Metaphone-0.02.readme
+http://www.digitaldrucke.de/(aktuell,computer,gaestebuch,kino,literatur,nuernberg,rundfunk,sense,veranstaltungen,zeitschriften)/_fort/html/themen/kultur/literat/links/bin.htm
+http://194.128.65.4/pa/cm199899/cmhansrd/vo990727/text/90727w01.htm
+http://194.128.65.4/pa/cm199899/cmhansrd/vo990727/text/90727w15.htm
+http://213.36.119.69/do/session/152989/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/jeux/jeux_himalaya.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/misc/quizz/lit/misc/cv.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/misc/quizz/lit/misc/lit/larme.html
+http://www.hblb.org.uk/hblbweb.nsf/$Pages/NewsArchive1!OpenDocument&ExpandSection=6,7,3,5,1,8,11
+http://www.identer.co.kr/삶의여유/데이트정보/데이트정보/
+http://allmacintosh.arrakis.es/adnload/54801.html
+http://link.fastpartner.com/do/session/600380/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/brleksaker.php
+http://link.fastpartner.com/do/session/600380/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/local/redirect.php
+http://icm.html.tucows.com/adnload/001-009-003-014.html
+http://www.rakuten.co.jp/coffee/forum/forum-w.cgi?p=131&url=coffee
+http://jxi.gov.cn/yw-cj001.nsf/6770fc9e7685796c482568c70008a30a!OpenView&Start=69&Count=30&Expand=70
+http://jxi.gov.cn/yw-cj001.nsf/6770fc9e7685796c482568c70008a30a!OpenView&Start=69&Count=30&Expand=72
+http://freehomepage.taconet.com.tw/This/is/taconet/top_hosts//tsyang/test9g.htm
+http://www11.cplaza.ne.jp/babyweb/bbs/bdnm01/no33/130N.html
+http://library.cuhk.edu.hk/search*chi/a憪���/a{213972}{213230}/-5,-1,0,B/frameset&F=a{213972}{213233}{215b34}&1,1
+http://library.cuhk.edu.hk/search*chi/a憪���/a{213972}{213230}/-5,-1,0,B/frameset&F=a{213972}{21323e}{213165}+1947&1,1
+http://library.cuhk.edu.hk/search*chi/a撱嗅ˊ,+904-975./a{213d32}{213877}++904++975/-5,-1,0,B/frameset&F=a{213d32}{213a67}{213779}{213455}+china+{215f7a}{213579}{213966}{21363e}{21435a}+{214241}{213c37}&1,1
+http://www.online.kokusai.co.jp/Service/V0043539/wrd/G200/service/service.html
+http://quote.morningstar.com/Quote.html?ticker=GASFX
+http://uoi.linux.tucows.com/x11html/adnload/9826_7194.html
+http://dk.egroups.com/post/batoco?act=forward&messageNum=2017
+http://www.chaos.dk/sexriddle/b/h/l/o/h/
+http://www.picktips.com/category-1031-1174_1171_1170-4_3_2
+http://www.schmunzelecke.de/pic18.htm
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chhand20.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chhand25.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chhand30.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chimag16.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chimag26.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chlight3.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chspec34.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chspec35.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chview15.html
+http://sun1.rrzn-user.uni-hannover.de/zzzzgart/matlab/help/techdoc/umg/chvolvi5.html
+http://www.t-onlien.de/dtag/mail/kontaktseite/1,3606,160,00.html
+http://yumemi.ne.jp/bbs/hiroba/ky/view/h/hiroba3/8_wdsmcn_wdsmcn.html
+http://yumemi.ne.jp/bbs/hiroba/ky/view/h/hiroba3/8_mrlinl_tcincn.html
+http://yumemi.ne.jp/bbs/hiroba/ky/view/h/hiroba3/8_caouny_hixlcy.html
+http://students.lsu.edu/students/main.nsf/c81d2bf8cb0b80ff862566fb00105ab2/7f3436ae9cb1268886256773006f9288!OpenDocument&ExpandSection=20,9,13,16
+http://www.crn.com/sections/BreakingNews/breakingnews.asp?ArticleID=5760
+http://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-jp/dists/hamm/main-jp/binary-all/tex/?M=A
+http://www.cmyk21.com/photo1-3.htm
+http://www.cs.ruu.nl/mirror/CPAN/modules/by-category/14_Security_and_Encryption/User/ILYAZ/images/?N=D
+http://www.egroups.com/login.cgi?login_target=%2Fmessage%2FFloodsystems%2F45
+http://www.mirnet.org/ccsi/nisorgs/ukraine/kyiv/renaisnc.htm
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=231&discrim=2,125,10
+http://ring.omp.ad.jp/archives/lang/perl/CPAN/authors/id/BRADAPP/PodParser-1.17.readme
+http://www.amzn.com.ref.digital-price.com/redir/amzn.com/prods/0553373730
+http://library.cwu.edu/search/dGermany+--+Politics+and+government+--+1918-1933/dgermany+politics+and+government+1918+1933/-5,-1,0,B/marc&F=dgermany+politics+and+government+1918+1933+bibliography&1,1,
+http://www.multicosm.com/facade/www.unisys.com/partners/default.asp?cn=su
+http://enjoy100.com.cn/200006/08/sssh/sssh_ssjp.html
+http://enjoy100.com.cn/200006/08/yskj/b_s_big3_f.jpg.html
+http://www.hoops.ne.jp/~zuikaku/photo2000/0811/rie11.html
+http://pub23.ezboard.com/fiolaniy2kmessageboardfrm1.showMessage?topicID=66.topic
+http://ring.htcn.ne.jp/archives/lang/perl/CPAN/modules/by-module/CGI/ULPFR/Wais-2.301.readme
+http://www3.newstimes.com/archive99/mar1199/spg.htm
+http://ftp1.support.compaq.com/public/vms/axp/v6.2-1h2/dsnlink/2.2/dsnlinkd022.CVRLET_TXT
+http://ftp.nacamar.de/pub/redhat/cpan/6.2/CPAN-archive/doc/manual/html/pod/perldsc.html
+http://ftp.nacamar.de/pub/redhat/cpan/6.2/CPAN-archive/doc/manual/html/pod/perlfaq5.html
+http://info.cs.unitn.it/sdb/de/html/keylist.SOFTWARE.html
+http://www.online.kokusai.co.jp/Mmf_corner/V0043545/mmf_corner/mmf_corner/url
+http://www.office.com/global/0,2724,66-15915,FF.html
+http://polygraph.ircache.net:8181/home/ISO9001.htm
+http://www.allgemeine-immobilien-boerse.de/niedersachsen/emsland/Verkauf/Versteigerungen-IB/Startseite/Allgemeine-IB/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/Gemeinsam/hilfe.htm
+http://launchbase.com/Health/Home_Health/communication/information/Science.htm
+http://library.cwu.edu/search/aLockyer,+Norman,+Sir,+1836-1920/alockyer+norman+sir+1836+1920/-17,-1,0,B/frameset&F=alockwood+victoria+s+1953&1,1
+http://bbs.kcm.co.kr/NetBBS/Bbs.dll/chbod05/lst/qqa/r/qqo/004D/zka/B2-kCYFl
+http://www.egroups.com/post/bhagavad_gita?act=forward&messageNum=101
+http://carriage.de/Schoner/Literatur/info-e/Geschichte/modelle/
+http://carriage.de/Schoner/Literatur/info-e/Geschichte/history/
+http://carriage.de/Schoner/Literatur/info-e/Geschichte/literature/
+http://wwwftp.ciril.fr/pub/linux/kernel///people/andrea/kernels
+http://www.inctechnology.com/guide/item/0,7462,AGD6_GDE79,00.html
+http://live.sportsline.com/u/basketball/college/teams/injuries/VATECH.htm
+http://www-1.cisco.com/univercd/cc/td/doc/product/lan/28201900/1928v67x/28icg67x/28icpref.pdf
+http://www.hitlist.com/music/presult/003948.php3
+http://ip.tosp.co.jp/Eki/TosiE000.asp?I=Jerryfish
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=(20,0)-16,0-9,2
+http://www.bigchurch.com/cgi-bin/w3com/pws/bc/RLhIotYxW-B0bt7seq4d876RzKIuJDYbydJP1qooxhzSKDVca77BUHQv6tsO2JdNpkx837SBl7FHRIEy00rmcLBk9Y1kQEmni0_YSk5mrym8WALtovIPQU_vlEtiMcNswNyh9z6CjU-2oS2uurrk666t
+http://www.secinfo.com/d2wVq.7hv.htm
+http://www.secinfo.com/d2wVq.6yd.htm
+http://www.secinfo.com/d2wVq.6Y5.htm
+http://www.secinfo.com/d2wVq.5gf.htm
+http://www.secinfo.com/d2wVq.5hp.htm
+http://www.secinfo.com/d2wVq.5y4.htm
+http://ring.htcn.ne.jp/pub/text/CTAN/graphics/psfig/unsupported/macdemo/macfigs/?N=D
+http://ring.htcn.ne.jp/pub/text/CTAN/graphics/psfig/unsupported/macdemo/macfigs/?M=A
+http://books.hyperlink.co.uk/xt2/Drakelow_Unearthed/Stokes/Paul/0904015408
+http://www.homestead.com/rebeccah/files/
+http://sunsite.compapp.dcu.ie/pub/linux/redhat/redhat-6.1/alpha/usr/share/locale/ga_IE/LC_TIME
+http://www.gbnf.com/genealogy/rockwel4/html/d0037/I2684.HTM
+http://www.yorosiku.net:8080/-_-http://www.dd.iij4u.or.jp/~oni9/skebe/aindex18.html
+http://www.yorosiku.net:8080/-_-http://www.dd.iij4u.or.jp/~oni9/skebe/aindex12.html
+http://www.yorosiku.net:8080/-_-http://www.dd.iij4u.or.jp/~oni9/skebe/atg05.html
+http://shn.webmd.net/content/article/1700.50808
+http://home.clara.net/cornell/woodcraft/spring2000/contents.htm
+http://dic.empas.com/show.tsp/EDACITY
+http://www.sanxia.net/beauty/Eriimai/417.htm
+http://www.judds-resort.com/judds/Lake-Winni-pike-lodge/97menu/fallphoto/playground/boat/photo/12.html
+http://www.judds-resort.com/judds/Lake-Winni-pike-lodge/97menu/fallphoto/playground/boat/fallphoto/2.html
+http://imageserver2.tibetart.com:8087/fif=fpxbuddhistreverse/56.fpx&init=0.0,0.0,1.0,1.0&rect=0.0,0.25,0.5,0.75&wid=1443&hei=400&lng=en_US&enablePastMaxZoom=OFF&page=image.html&obj=uv,1.0&cmd=W
+http://www.jamba.nl/KNet/_KNet-krE8j1-KC4-pv5y/showInfo-hilfe.nl/node.0/ce6u2jadf
+http://www.babyheirlooms.com/catalog/htmlos.cat/011639.1.3372173854
+http://community.webshots.com/photo/441160/441363
+http://www.kaos.dk/sexriddle/x/n/d/x/b/
+http://isbn.nu/088730866X/chapters
+http://login.hq.cricinfo.org/link_to_database/ARCHIVE/1992-93/AUS_LOCAL/MMC/WA_NSW_MMC_11OCT1992.html
+http://login.hq.cricinfo.org/link_to_database/ARCHIVE/1991-92/AUS_LOCAL/FAI/WA_TAS_FAI_11OCT1991.html
+http://login.hq.cricinfo.org/link_to_database/ARCHIVE/1991-92/AUS_LOCAL/FAI/WA_QLD_FAI-SEMI_19OCT1991.html
+http://login.hq.cricinfo.org/link_to_database/ARCHIVE/1980S/1987-88/AUS_LOCAL/MDC/WA_SOA_MDC_06MAR1988.html
+http://login.hq.cricinfo.org/link_to_database/ARCHIVE/1980S/1981-82/AUS_LOCAL/MDC/QLD_WA_MDC_08NOV1981.html
+http://www.chaos.dk/sexriddle/x/k/l/y/h/
+http://tucows.teihal.gr/winnt/preview/6004.html
+http://tucows.teihal.gr/winnt/preview/5986.html
+http://tucows.teihal.gr/winnt/preview/71328.html
+http://tucows.teihal.gr/winnt/preview/2757.html
+http://www.medoc-ias.u-psud.fr:81/synoptic/gif/950724/?N=D
+http://www4.nas.edu/ohr.nsf/All+Documents/Major+Units?OpenDocument&ExpandSection=18,7,21,20,4
+http://members.xoom.fr/logart/Anciens/Liste25/Selection_Navlist25.html
+http://polygraph.ircache.net:8181/http_-2www.arthritis.org/http_-2pathfinder.com/si/swimsuit/swim97/terms2.html
+http://polygraph.ircache.net:8181/http_-2www.arthritis.org/http_-2pathfinder.com/si/swimsuit/swim97/products2.html
+http://debian.linux.org.tw/debian/dists/Debian2.2r0/main/disks-m68k/current/doc/
+http://findmail.com/dir/Arts/Writing/Fan_Fiction?st=1943
+http://www.telecombroker.com/q/001p/tgcb/4izQYz7mc.htm
+http://www.free-phone.com/q/001p/tgcb/ItMd2D3jdEM.htm
+http://www.123bestlongdistance.com/q/001p/tgcb/msN54jfl4mE.htm
+http://www.netitor.com/photos/schools/nw/sport/w-baskbl/97action/?S=A
+http://excite.de/katalog/katalog/33823
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/programs/simple/music/midi/lit/misc/unitest/programs/
+http://yp.gates96.com/14/43/40/9.html
+http://yp.gates96.com/14/43/40/43.html
+http://yp.gates96.com/14/43/40/82.html
+http://yp.gates96.com/14/43/40/85.html
+http://yp.gates96.com/14/43/41/6.html
+http://yp.gates96.com/14/43/41/18.html
+http://yp.gates96.com/14/43/41/44.html
+http://yp.gates96.com/14/43/41/96.html
+http://yp.gates96.com/14/43/42/12.html
+http://yp.gates96.com/14/43/46/38.html
+http://yp.gates96.com/14/43/46/66.html
+http://yp.gates96.com/14/43/46/68.html
+http://yp.gates96.com/14/43/47/4.html
+http://yp.gates96.com/14/43/47/37.html
+http://yp.gates96.com/14/43/47/64.html
+http://yp.gates96.com/14/43/47/68.html
+http://yp.gates96.com/14/43/47/70.html
+http://yp.gates96.com/14/43/48/68.html
+http://yp.gates96.com/14/43/48/69.html
+http://yp.gates96.com/14/43/49/7.html
+http://yp.gates96.com/14/43/49/36.html
+http://yp.gates96.com/14/43/49/37.html
+http://yp.gates96.com/14/43/49/52.html
+http://sound-dist.secured.co.uk/cgi-bin/psProdDet.cgi/5P005|972959562|Accessories|user|0|1,0,0,1
+http://school.educities.org/card/judy180.html
+http://207.138.41.133/message/the-voice1/123
+http://207.138.41.133/message/the-voice1/124
+http://www-d0.fnal.gov/d0dist/dist/releases/p05.00.00/muo_analyze/?S=A
+http://sjsulib1.sjsu.edu:81/search/cernest+haberkern+director/-5,-1,0,B/frameset&cgeorge+miller+director&1,1
+http://ring.nii.ac.jp/pub/pack/x68/net/00_index.txt
+http://pub24.ezboard.com/fdoyoustillneedtoventfrm43.showMessage?topicID=19.topic
+http://pub24.ezboard.com/fdoyoustillneedtoventfrm43.showMessage?topicID=15.topic
+http://ukinvest.ukwire.com/articles/200007200700261473O.html
+http://www.brd.net/brd-cgi/brd_multimedia/lautsprecher/LZ7460LK/ci=972822952.htm
+http://my.netian.com/~haeng14/tatler_july6.htm
+http://genforum.genealogy.com/cgi-genforum/forums/anderton.cgi?122
+http://www.excelsior.com.mx/0001/000125/for03.html
+http://www.jobvillage.com/channel/jobs/sciences/b.9070.g.1675.html
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/www/contact.html?annotate=1.19&sortby=author
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/www/contact.html?r1=1.12&sortby=author
+http://www.doc.ic.ac.uk/lab/labsrc_area/firstyear/submissions/1998-99/jmc1/labs/Ex06/skw98/?N=D
+http://www.jamba.de/KNet/_KNet-fNw8j1-6Fd-13acp/browse.de/node.0/cde7f1uou
+http://www.jamba.de/KNet/_KNet-fNw8j1-6Fd-13act/browse.de/node.0/cdel3j591
+http://www.nedstat.nl/cgi-bin/viewstat?name=mrbertmat
+http://no.egroups.com/message/acessibilidade/1092
+http://no.egroups.com/message/acessibilidade/1099
+http://sound-dist.secured.co.uk/cgi-bin/psShop.cgi/add|38P08A|972959552|Communications|user|0|1,0,0,1
+http://213.36.119.69/do/session/152990/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/reserver/spectacles/
+http://213.36.119.69/do/session/152990/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/CA_EN/
+http://wiki2.parsimony.net/wiki2954/
+http://www.f2.parsimony.net/forum2954/messages/214.htm
+http://www.f2.parsimony.net/forum2954/messages/181.htm
+http://www.f2.parsimony.net/forum2954/messages/292.htm
+http://www.f2.parsimony.net/forum2954/messages/115.htm
+http://www.f2.parsimony.net/forum2954/messages/290.htm
+http://www.f2.parsimony.net/forum2954/messages/54.htm
+http://home.pchome.com.tw/cool/162203/wunew15.htm
+http://hem.fyristorg.com/lottaleman/LLfar/1_6721.htm
+http://www.babyheirlooms.com/catalog/htmlos.cat/011628.1.4596216338
+http://www.affiliate.hpstore.hp.co.uk/do/session/380833/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/search.asp
+http://www.outdoorwire.com/content/lists/dirt/200007/msg00127.html?{LoadingFrameset}
+http://adept.subportal.com/sn/Programming/ActiveX/11674.html
+http://www.staroriental.net/nav/soeg/ihf,aog,s0,10,Lam+Hei-Lui.html
+http://www-d0.fnal.gov/d0dist/dist/releases/p05.00.01/man/?N=D
+http://members.tripod.com/bluti/PSX/V/VACUUM.HTM
+http://connexus.tucows.com/winme/adnload/138384_29728.html
+http://wwwtios.cs.utwente.nl/archive/wilyfans/msg00265.html
+http://custom.clubnet.zeelandnet.nl/eckhardt/myself.htm
+http://ftp.tokyonet.ad.jp/pub/Linux/debian/dists/potato/contrib/binary-arm/otherosfs/?D=A
+http://www.amcity.com/charlotte/stories/1997/07/07/daily4.html?t=email_story
+http://www.generation-formation.fr/chiffrec.htm---o21zAo0UbDo0Ol9A074fo6Td4ezyr6feZJPAPfVbNyqHSezTHkekydMfeZJPdspt6dsSAtdsNhJdspt6dsrvrdjlhkfbi.htm
+http://tv.thevines.com/leaf/AA0000369140/2
+http://kuyper.calvin.edu/fathers2/NPNF2-02/Npnf2-02-06.htm
+http://www.intellicast.com/Ski/World/UnitedStates/Southeast/Florida/FortWaltonBeach/TEMPcast/d0_12/
+http://stevebarnes.studiostore.com/aboutus/b.EMERCH/s.P01EBK2I
+http://student.monterey.edu/Students_N-R/richterheidil/private/
+http://ds.dial.pipex.com/town/drive/kch36/select/s30/ch052.html
+http://ds.dial.pipex.com/town/drive/kch36/select/s30/ch027.html
+http://ds.dial.pipex.com/town/drive/kch36/select/s30/ch077.html
+http://ds.dial.pipex.com/town/drive/kch36/select/s30/ch092.html
+http://soneraplaza.tucows.com/winme/adnload/137026_28536.html
+http://www.egroups.com/post/realtyindia
+http://www.kita.or.kr/untpdc/incubator/zwe/tphar/ZIMB0037.htm
+http://citeseer.nj.nec.com/nrelated/126165/187254
+http://citeseer.nj.nec.com/cachedpage/187254/1
+http://citeseer.nj.nec.com/cidcontext/2417551
+http://yp.gates96.com/13/6/1/36.html
+http://yp.gates96.com/13/6/1/61.html
+http://yp.gates96.com/13/6/1/83.html
+http://yp.gates96.com/13/6/1/91.html
+http://yp.gates96.com/13/6/3/39.html
+http://yp.gates96.com/13/6/3/45.html
+http://yp.gates96.com/13/6/3/65.html
+http://yp.gates96.com/13/6/4/46.html
+http://yp.gates96.com/13/6/4/57.html
+http://yp.gates96.com/13/6/5/44.html
+http://yp.gates96.com/13/6/6/21.html
+http://yp.gates96.com/13/6/6/42.html
+http://yp.gates96.com/13/6/7/0.html
+http://yp.gates96.com/13/6/7/30.html
+http://yp.gates96.com/13/6/7/69.html
+http://yp.gates96.com/13/6/7/82.html
+http://yp.gates96.com/13/6/8/5.html
+http://yp.gates96.com/13/6/8/98.html
+http://yp.gates96.com/13/6/9/45.html
+http://home.wanadoo.nl/hockeyclub.nieuwegein/Teams/Dames/Dames_IV/body_dames_iv.html
+http://pub3.ezboard.com/fthe4thdimensiongeneralinsanity.subscribeUnregisteredToTopic?topicID=38.topic
+http://pub3.ezboard.com/fthe4thdimensiongeneralinsanity.unsubscribeUnregisteredToTopic?topicID=38.topic
+http://moviestore.zap2it.com/help_shipping/s.hXCLyc56
+http://www.geocities.co.jp/Outdoors/2363/typoon1.html
+http://ua.php.net/manual/it/function.pg-numrows.php
+http://kidneyfailure.shn.net/roundtable_reply/727640
+http://itcareers.careercast.com/texis/it/itjs/+HwwBmje0B-deZqwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewyPxGwproqamn5otDnGaoDm15BGowcamn5otDapGdm1qBamnVncdpa5dhBiwGna5BGwBnton5ah1DqBodDanD51GnaMFqnFZI0DzmzwwwpBmje0B-deZqwww5rmeZpwwwBrmeZpwww/morelike.html
+http://itcareers.careercast.com/texis/it/itjs/+lwwBmex6D86egqwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewyPxGwproqamn5otDnGaoDm15BGowcamn5otDapGdm1qBamnVncdpa5dhBiwGna5BGwBnton5ah1DqBodDanD51GnaMFqnFZI0DzmzwwwpBmje0B-deZqwww5rmeacwwwBrmeZpwww/morelike.html
+http://pub23.ezboard.com/fhardoverclockfrm1.showAddReplyScreenFromWeb?topicID=43.topic&index=3
+http://www.adquest3d.com/content.cfm?BRD=1578&PAG=63
+http://pelit.saunalahti.fi/.1/tucows/adnload/51_28438.html
+http://pelit.saunalahti.fi/.1/tucows/preview/70307.html
+http://www.maillist.com.tw/maillist/publicboard_newform.pl?maillist_id=softuse
+http://dennou-t.ms.u-tokyo.ac.jp/arch/cc-env/Linux/debian-jp/dists/woody/non-free-jp/binary-alpha/news/?M=A
+http://ustlib.ust.hk/search*chi/amarcot+bruce+g/amarcot+bruce+g/-5,-1,0,B/frameset&F=amarcotty+michael+1931&1,1
+http://wine.cc.chuo-u.ac.jp/home/pub/TeX/CTAN/support/rtf2tex/?M=A
+http://netchief.tucows.com/winme/preview/75911.html
+http://yp.gates96.com/4/57/60/83.html
+http://yp.gates96.com/4/57/60/99.html
+http://yp.gates96.com/4/57/62/17.html
+http://yp.gates96.com/4/57/62/88.html
+http://yp.gates96.com/4/57/63/9.html
+http://yp.gates96.com/4/57/63/39.html
+http://yp.gates96.com/4/57/63/64.html
+http://yp.gates96.com/4/57/64/33.html
+http://yp.gates96.com/4/57/65/41.html
+http://yp.gates96.com/4/57/65/70.html
+http://yp.gates96.com/4/57/66/18.html
+http://yp.gates96.com/4/57/66/56.html
+http://yp.gates96.com/4/57/66/61.html
+http://yp.gates96.com/4/57/66/94.html
+http://yp.gates96.com/4/57/67/0.html
+http://yp.gates96.com/4/57/67/63.html
+http://yp.gates96.com/4/57/67/85.html
+http://yp.gates96.com/4/57/69/1.html
+http://yp.gates96.com/4/57/69/56.html
+http://citeseer.nj.nec.com/cs?q=dbnum%3D1,DID%3D9262,qtype%3Dsamesite:
+http://citeseer.nj.nec.com/cidcontext/163444
+http://www.amazon.com.au/exec/obidos/change-style/tg/stores/detail/-/books/0873995562/e-mail-friend/
+http://www.sdinfonet.com.cn/411/24/411249999.htm
+http://pub14.ezboard.com/fallpodsgotoroswellsayhello.threadControl?topicID=17.topic
+http://in.egroups.com/message/sexualidades-noticias/14
+http://in.egroups.com/message/sexualidades-noticias/37
+http://library.cuhk.edu.hk/search*chi/dChinese+literature+--+20th+century+--+Periodicals/dchinese+literature+++20th+century+periodicals/-5,-1,0,B/frameset&F=dchinese+literature+++20th+century+periodicals&26,,188
+http://www.3w-zeitschriften.de/EyreLinda/EyreLinda1582380570.htm
+http://cometweb01.comet.co.uk/do!session=132027&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkjHfZoLlplLcqkKZljLlfb5lal5tkiLlXaLl0
+http://retailer.gocollect.com/do/session/1912774/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/contact.asp
+http://providenet.games.tucows.com/adnload/71993_40744.html
+http://www.geocities.co.jp/playtown-Toys/6366/bbsp.html
+http://www.hnby.com.cn/docroot/jzrb/200001/19/km01/19031711.htm
+http://213.36.119.69/do/session/152997/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/IT_IT/
+http://www.jamba.de/KNet/_KNet-p7t8j1-FEd-139gj/showInfo-datenschutz.de/node.0/cde7f1uou
+http://www.jamba.de/KNet/_KNet-p7t8j1-FEd-139gn/browse.de/node.0/cdzqggtyb
+http://www.paidmania.com/getpaid/signup/42/2518
+http://www.pressa.spb.ru/newspapers/nevrem/arts/nevrem-1679-art-13.html
+http://jproxy.uol.es/jproxy/http://jama.ama-assn.org/issues/current/related/joc00479.html
+http://www.mirror.kiev.ua:8082/paper/2000/11/1251/text/11-08-2.htm
+http://my.netian.com/~eco71/wzmain.html
+http://www.craft-supplies.co.uk/cgi-bin/psProdDet.cgi/HT206|972959540|Deluxe_Dividers|user|0|0,0,1,1
+http://www.trax.nilex.co.uk/trax.cgi/A1S/1AR/A3R/B3D/A4R/A4S/
+http://www.linux.com/networking/network/network/development/project/growth/
+http://www.linux.com/networking/network/development/project/growth/sales/
+http://www.icopyright.com/1.1653.134616
+http://retailer.gocollect.com/do/session/1912718/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/about.asp
+http://www.dw-tv.de/indonesia/sari_pers/19793.html
+http://freethemes.netc.pt/skins/icq/preview/44470.html
+http://freethemes.netc.pt/skins/icq/adnload/26145.html
+http://freethemes.netc.pt/skins/icq/preview/52524.html
+http://freethemes.netc.pt/skins/icq/adnload/52040.html
+http://students.lsu.edu/students/main.nsf/c81d2bf8cb0b80ff862566fb00105ab2/7f3436ae9cb1268886256773006f9288!OpenDocument&ExpandSection=7,18,9,16
+http://golfonline.comfluent.net/cgi.pan$player&pga93&John_Morse&pga?golfstats
+http://wai.camera.it/_presidenti/003.htm
+http://www.pcmagazine.de/produkte/artikel/komp/200003/mainboards01_00-wc.html
+http://www.pcmagazine.de/produkte/artikel/komp/199908/asus_00-wc.html
+http://se.sslug.dk/emailarkiv/locale/2000_09/msg00053.html
+http://se.sslug.dk/emailarkiv/locale/2000_09/msg00057.html
+http://se.sslug.dk/emailarkiv/locale/2000_09/msg00115.html
+http://www.brio.de/BRIO.catalog/39fe2f7406fad828273fd472aa7806ff/UserTemplate/8
+http://link.fastpartner.com/do/session/600389/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/jobpilot.php
+http://www.shopworks.com/grizzlygulch/index.cfm/action/search/userid/000B40E3-1177-19FE-A703010D0A0A8CF2
+http://www.shopworks.com/grizzlygulch/index.cfm/action/product/prodid/0001AF94-3FC3-19E7-A703010D0A0A8CF2/userid/000B40E3-1177-19FE-A703010D0A0A8CF2
+http://spiritwolf52.subportal.com/sn/Web_Authoring/Misc__Programming_Tools/2670.html
+http://www.chaos.dk/sexriddle/o/g/j/h/t/
+http://link.fastpartner.com/do/session/600394/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/learn/
+http://opac.lib.rpi.edu/search/dpolitical+corruption+united+states/-5,-1,0,B/frameset&dpolitical+corruption+united+states&7,,22
+http://cnnsi.com/baseball/mlb/news/2000/01/28/
+http://amrr.com/agents/contact.html?Agents_id=3707
+http://www.dulux.co.uk/UKRETAIL:1489107816:DFinity.1QJiP4jMomdkbEc
+http://www.geocities.com/SiliconValley/Screen/9059/
+http://www.nrk.no/finnmark/x17_4_96/nyh4.htm
+http://in.egroups.com/message/islaam/288
+http://www.incestpornstories.com/knocked-upepisiotomy/fertileoff-the-rag/one-night-standlubrication/japaneseslanted-eyes/{storieslink}
+http://kuyper.calvin.edu/fathers2/ANF-04/anf04-30.htm
+http://wuarchive.wustl.edu/systems/unix/NetBSD/NetBSD-release/src/sys/arch/sun3/stand/bootxx/
+http://polygraph.ircache.net:8181/services/define/noframes/http_-2www.microsoft.com/ie/download/http_-2www.microsoft.com/infoserv/about.html
+http://pub23.ezboard.com/fferion80369frm4.showMessage?topicID=192.topic
+http://pub23.ezboard.com/fferion80369frm4.showMessage?topicID=182.topic
+http://www.cs.ruu.nl/mirror/CPAN/authors/id/N/NO/?S=A
+http://yp.gates96.com/1/40/30/16.html
+http://yp.gates96.com/1/40/30/72.html
+http://yp.gates96.com/1/40/30/99.html
+http://yp.gates96.com/1/40/31/25.html
+http://yp.gates96.com/1/40/31/42.html
+http://yp.gates96.com/1/40/31/54.html
+http://yp.gates96.com/1/40/31/61.html
+http://yp.gates96.com/1/40/31/95.html
+http://yp.gates96.com/1/40/32/39.html
+http://yp.gates96.com/1/40/32/88.html
+http://yp.gates96.com/1/40/32/92.html
+http://yp.gates96.com/1/40/33/33.html
+http://yp.gates96.com/1/40/34/24.html
+http://yp.gates96.com/1/40/34/51.html
+http://yp.gates96.com/1/40/34/62.html
+http://yp.gates96.com/1/40/34/72.html
+http://yp.gates96.com/1/40/35/38.html
+http://yp.gates96.com/1/40/36/80.html
+http://yp.gates96.com/1/40/36/98.html
+http://yp.gates96.com/1/40/37/35.html
+http://yp.gates96.com/1/40/37/89.html
+http://yp.gates96.com/1/40/38/13.html
+http://yp.gates96.com/1/40/38/67.html
+http://yp.gates96.com/1/40/39/8.html
+http://yp.gates96.com/1/40/39/11.html
+http://yp.gates96.com/1/40/39/42.html
+http://netway.pda.tucows.com/palm/preview/33466.html
+http://netway.pda.tucows.com/palm/preview/70276.html
+http://netway.pda.tucows.com/palm/adnload/76963_22012.html
+http://netway.pda.tucows.com/palm/preview/33676.html
+http://www.private-immobilien-boerse.de/berlin-immobilien/verkauf/Private-IB/Startseite/Gemeinsam/versicherungen/gebaeude/Gemeinsam/Immolink/Gemeinsam/Super-Zins-Konditionen/anforderungsformular.htm
+http://www.ne.jp/asahi/matinami/gallery/mati/hokkaido/hakodate/ph_l011.html
+http://www.findarticles.com/cf_0/m0EKF/14_46/61415465/p1/article.jhtml
+http://www.trax.nilex.co.uk/trax.cgi/A1C/A2S/B1S/B1L/B4S/A1S/
+http://students.lsu.edu/students/main.nsf/c81d2bf8cb0b80ff862566fb00105ab2/7f3436ae9cb1268886256773006f9288!OpenDocument&ExpandSection=1,21,16,5
+http://students.lsu.edu/students/main.nsf/c81d2bf8cb0b80ff862566fb00105ab2/7f3436ae9cb1268886256773006f9288!OpenDocument&ExpandSection=18,21,16,5
+http://ddb.libnet.kulib.kyoto-u.ac.jp/exhibit/fl3/image/fl3lhf/fl3lh0344.html
+http://www.trnonline.com/archives/2000archives/04072000/sports/26732.shtml
+http://www.linux.com/networking/network/new/press_release/management/editor/
+http://www.linux.com/networking/network/new/press_release/management/experiences/
+http://jundavid.subportal.com/sn/Business/Misc__Phone_Tools/index3.html
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=27,9,23,14,19
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/music/misc/thoughts/lit/music/midi/mirroring.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/music/misc/thoughts/lit/music/midi/legendes/
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/music/misc/thoughts/lit/music/midi/lit/laurent.txt
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/music/misc/thoughts/lit/music/midi/misc/colorart/
+http://www.lz.gs.cninfo.net/news/shenghuo/messages/361.html
+http://www.egroups.com/messages/skarmflyg/683
+http://www.egroups.com/message/skarmflyg/675
+http://www.egroups.com/message/skarmflyg/681
+http://www.genoma.de/shop/0d79e8c12cc42ea8242eafc8a0c5586a/99/b
+http://travelocity-dest.excite.com/Vacations/Reviews/Cruise/Submit/1,2586,0_228__,00.html
+http://www02.geocities.co.jp/HeartLand-Sakura/1068/history.html
+http://www.streetprices.com/Electronics/Computer_Software_PC/Programming/MAKE+DIGITAL/sortproductbyhighprice/SP275945.html
+http://www.streetprices.com/Electronics/Computer_Software_PC/Programming/MAKE+DIGITAL/sortproductbyhighprice/SP246217.html
+http://www.emerchandise.com/help_privacy/b.TV%20SATNIGHTLIVE/s.BOkfj8Vk
+http://ftp.ccu.edu.tw/pub/documents/faq/mail/setup/?S=A
+http://iceberg.adhomeworld.com/cgi-win/redirect.exe/304063772
+http://pdacentral.zeelandnet.nl/rim/email_license.htm
+http://pdacentral.zeelandnet.nl/rim/adnload/139471_47673.html
+http://www.loisirs.ch/tfhglx/17/ltxeld.html
+http://au.yahoo.com/Business_and_Economy/Shopping_and_Services/Health/Providers/By_Region/U_S__States/Mississippi/Cities/
+http://sound-dist.secured.co.uk/cgi-bin/psProdDet.cgi/15P02A|972959527|Helmet|user|0|1,0,0,0
+http://news.dreamwiz.com/news_lg/04/20001030/yonhap/200010301014041007292.html
+http://news.dreamwiz.com/news_lg/04/20001028/yonhap/
+http://pds.nchu.edu.tw/cpatch/ftp/ftpnav/?D=A
+http://members.tripod.lycos.co.kr/BONGBAE/?N=D
+http://www9.hmv.co.uk:5555/do/session/1347758/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d50_sd0_pt0.html
+http://itcareers.careercast.com/texis/it/itjs/+xwwBmeHWD86YwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewDhmoBGnaqdGpdGwBodDarGo5awDwcO5Baiw5roDtBdDaGn31n5BaGn31oGnmamnVncdpar1MwDaGn5d1Gqn5aMFqhTfR20DzmehrwwwpBmefWD86mwww5rmeddwwwBrmeZpwww/morelike.html
+http://www.3w-buecher.de/GibbonsRob/GibbonsRob1572152214.htm
+http://sennka.hoops.livedoor.com/%91%90%8a%a0%93%fa%98a%81%f4.htm
+http://www.uni-duesseldorf.de/ftp/ftp/pf/s/netscape-v451/?S=A
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/0nhIQeA1Kelaujy0pUaBOo2AAoNruJ7MPpvxwl5qu-YeCeEn6SDc5vURHb5rk8dZP84c_4bSWkIDaPe8dCV5mfxj4LA69UDbXc_J2Z-eZg7dURZLZinceqCXYFUYC4pqT29R1BQKpdPvHP0APgIYRhQG
+http://208.178.109.85/msgshow.cfm/msgboard=4779506785434&msg=80064825094809&page=1&idDispSub=-1
+http://interbox.tucows.com/preview/61367.html
+http://www.crutchfield.com/cgi-bin/S-CI62JsDkHYX/viewcart.asp
+http://www.hig.se/(aconf,formoutput,if,modified,set_cookie)/~jackson/roxen/
+http://www.trax.nilex.co.uk/trax.cgi/A1C/1AS/B1D/A3L/A1S/1AR/
+http://www.trax.nilex.co.uk/trax.cgi/A1C/1AS/B1D/A3L/A1S/C1R/
+http://www.trax.nilex.co.uk/trax.cgi/A1C/1AS/B1D/A3L/A1S/B4L/
+http://www.haikou.hi.cn/pandect/nj/n96ei3.htm
+http://se.egroups.com/message/dailydreamers/36
+http://sunsite.org.uk/Mirrors/ftp.cdrom.com/pub/linux/slackware/contrib/contrib-sources/gcc-2.7.2.3/
+http://hp-partner.whowhere.lycos.com/hp/excite/Online_Communities/Angelfire/wi/index9.html
+http://www.cse.unsw.edu.au/archives/linux/redhat/beta/?M=A
+http://www.webcrawler.com/entertainment/music/artists_and_genres/folk_and_acoustic/artists_s/simon_and_garfunkel/garfunkel_art/interviews/
+http://www.russ.ru:8081/journal/media/98-05-21/telen0.htm
+http://www.chaos.dk/sexriddle/x/r/k/o/w/
+http://www.jt.com.br/noticias/98/06/22/sd2.htm
+http://retailer.gocollect.com/do/session/1912734/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/gifts/gift_floor.asp
+http://www.ualberta.ca/CNS/RESEARCH/Software/SAS/gis/z0782606.htm
+http://www.sentientnet.com/univercd/cc/td/doc/product/rtrmgmt/bluelist/cwblue21/cwbwsug/features.htm
+http://pub5.ezboard.com/fthekojiroestrogenbrigadeconsolegaming.threadControl?topicID=16.topic
+http://www.zjrs.zei.gov.cn/economy/text/policy/LHB/LHBA0909.TXT
+http://seascape.tucows.com/winnt/adnload/2060_29646.html
+http://seascape.tucows.com/winnt/adnload/2063_29648.html
+http://seascape.tucows.com/winnt/adnload/2066_29651.html
+http://ben.aspads.net/ex/c/641/517693268
+http://yp.gates96.com/7/63/80/20.html
+http://yp.gates96.com/7/63/80/22.html
+http://yp.gates96.com/7/63/80/80.html
+http://yp.gates96.com/7/63/80/87.html
+http://yp.gates96.com/7/63/81/50.html
+http://yp.gates96.com/7/63/81/77.html
+http://yp.gates96.com/7/63/81/79.html
+http://yp.gates96.com/7/63/81/91.html
+http://yp.gates96.com/7/63/82/36.html
+http://yp.gates96.com/7/63/82/73.html
+http://yp.gates96.com/7/63/84/6.html
+http://yp.gates96.com/7/63/84/91.html
+http://yp.gates96.com/7/63/85/30.html
+http://yp.gates96.com/7/63/85/57.html
+http://yp.gates96.com/7/63/85/98.html
+http://yp.gates96.com/7/63/89/13.html
+http://yp.gates96.com/7/63/89/20.html
+http://yp.gates96.com/7/63/89/32.html
+http://yp.gates96.com/7/63/89/65.html
+http://www.rarf.riken.go.jp/archives/tex-archive/macros/latex//contrib/supported/linguex/?M=A
+http://members.tripod.com/shelly34/shellyphotos/page12.html
+http://ftp.nsysu.edu.tw/Unix/Perl/modules/by-category/23_Miscellaneous_Modules/Bundle/PlRPC-0.2003.readme
+http://www.affiliate.hpstore.hp.co.uk/do/session/380827/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/SMARTTIPS/vacationcards.asp
+http://www.marktplatz-hs.de/cgi-bin/ChioEditionShop.s/39fe2ee3005fd9642740d47540f806e1/IconBar
+http://home.sprynet.com/~keithco/london.htm
+http://earth.collectingnation.com/cgi-bin/bn/post.mod/aupn?B=cna&R=48
+http://earth.collectingnation.com/cgi-bin/bn/post.mod/aupn?B=cna&R=38
+http://www.realize.com/am747b81.htm,qt=e784fe2f=2a38a234-e-1adebfb-80000000-0-0-3--
+http://www.opengroup.com/dfbooks/009/0091856140.shtml
+http://www.egroups.org/message/fotografya/216
+http://www.cn.informatik.fh-furtwangen.de/studenten/dv_labor/onlinebuecher/php/function.yaz-errno.html
+http://www.cn.informatik.fh-furtwangen.de/studenten/dv_labor/onlinebuecher/php/function.yaz-hits.html
+http://www.cn.informatik.fh-furtwangen.de/studenten/dv_labor/onlinebuecher/php/function.yaz-wait.html
+http://www.catholicstore.com/search/index.cfm/FuseAction/detailSearch/SKU/17311/category/Bo/subCategory/G/subject/1
+http://www.cc.ntut.edu.tw/~584ce040/anne-1.htm
+http://www.intervoz.com.ar/2000/09/23/sociedad_n11.htm
+http://pub22.ezboard.com/frecipegoldminesharearecipe.showAddReplyScreenFromWeb?topicID=4.topic
+http://opencity.kulichki.ru/moshkow/PROZA/LIPSKEROV/okno.txt
+http://www.tccomputers.com/cgi-bin/bp/1021890426/products/modems/modems.htm
+http://www.tccomputers.com/cgi-bin/bp/1021890426/services/sitemap.htm
+http://library.bangor.ac.uk/search/dCrystallography+--+Periodicals/dcrystallography+periodicals/-5,-1,0,B/frameset&F=dcrystallography+mathematical&8,,9
+http://music.excite.ca/artist/-264813
+http://www.gameboyz.com/g/review_465_p4_n3.html
+http://library.cwu.edu/search/aCarande,+Robert/acarande+robert/-5,-1,0,B/2exact&F=acarande+robert&1,2
+http://www.townstuff.com/search.cfm?directory=1040&town=285
+http://bsd.sinica.edu.tw/cgi-bin/cvsweb.cgi/ports/graphics/png/files/patch-aa?only_with_tag=RELEASE_2_2_7
+http://www.amcity.com/columbus/stories/1997/07/07/focus6.html?t=email_story
+http://retailer.gocollect.com/do/session/1912716/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/checkout/shopping_cart.asp
+http://ds.dial.pipex.com/town/drive/kch36/select/s12/ch034.html
+http://ds.dial.pipex.com/town/drive/kch36/select/s12/ch118.html
+http://www.dbring.de/160/16005-09.html
+http://198.103.152.100/search*frc/lHQ+769+E3614/lhq++769+e3614/7,-1,0,B/frameset&F=lhq++777.4+d47&1,1
+http://yp.gates96.com/7/27/70/14.html
+http://yp.gates96.com/7/27/70/27.html
+http://yp.gates96.com/7/27/70/35.html
+http://yp.gates96.com/7/27/70/37.html
+http://yp.gates96.com/7/27/70/62.html
+http://yp.gates96.com/7/27/71/38.html
+http://yp.gates96.com/7/27/71/80.html
+http://yp.gates96.com/7/27/72/62.html
+http://yp.gates96.com/7/27/72/80.html
+http://yp.gates96.com/7/27/73/10.html
+http://yp.gates96.com/7/27/73/61.html
+http://yp.gates96.com/7/27/73/78.html
+http://yp.gates96.com/7/27/74/7.html
+http://yp.gates96.com/7/27/74/16.html
+http://yp.gates96.com/7/27/75/62.html
+http://yp.gates96.com/7/27/76/90.html
+http://yp.gates96.com/7/27/77/7.html
+http://yp.gates96.com/7/27/77/92.html
+http://yp.gates96.com/7/27/78/21.html
+http://yp.gates96.com/7/27/79/21.html
+http://yp.gates96.com/7/27/79/57.html
+http://yp.gates96.com/7/27/79/96.html
+http://moviestore.zap2it.com/help/b.STARWARSSAGA%20STARWARS-ROJ/s.nrF6V2sr
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=8,27,13,5
+http://newspaper.swww.com.cn/1999/cdwb/199912/26/html/1003.html
+http://newspaper.swww.com.cn/1999/cdwb/199912/26/html/1008.html
+http://iworld.freethemes.com/adnload/77752.html
+http://iworld.freethemes.com/adnload/15251.html
+http://iworld.freethemes.com/adnload/54697.html
+http://iworld.freethemes.com/adnload/15232.html
+http://www.fogdog.com/cedroID/ssd3040183238457/nav/products/ice_hockey/1d/gear_accessories/
+http://www.ftp.uni-erlangen.de/pub/Linux/DEBIAN/dists/Debian2.2r0/main/binary-m68k/doc/
+http://www.ftp.uni-erlangen.de/pub/Linux/DEBIAN/dists/Debian2.2r0/main/binary-m68k/sound/
+http://library.cwu.edu/search/aThimbleby,+Harold/athimbleby+harold/-5,-1,0,B/exact&F=athilde+jean&1,2
+http://www5.pconline.com.cn/pcedu/soft/doc/001024/2.htm
+http://member.nifty.ne.jp/kaito-mist/nifty5.htm
+http://www.cc.yamaguchi-u.ac.jp/~archive/doc/jdk1.2.2/docs/api/java/awt/image/BandedSampleModel.html
+http://www.sandiego.digitalcity.com/honolulu/arts/occurrence.dci?ecid=75
+http://ubahn.exit.de/ffm/pic/pp/?S=A
+http://www.visiobroker.com/opcvm/details/4/43591.html
+http://www.visiobroker.com/opcvm/details/9/9765.html
+http://ring.toyama-ix.net/archives/linux/debian/debian-jp/dists/woody-towns/?M=A
+http://www.asahi-net.or.jp/~ZI3H-KWRZ/lawylegalaid.html
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/195/1999/7/0/
+http://www.buybuddy.com/sleuth/27/1/1060103/490578/
+http://java.javasoft.com/products/jdk/1.2/ja/docs/ja/api/java/awt/image/BandedSampleModel.html
+http://mitglied.tripod.de/~HTTC/mannschaften/3LigaGr1_0001.htm
+http://opac.lib.rpi.edu/search/anightingale+peggy+1942/-5,-1,0,B/browse
+http://ftp.unina.it/pub/Amiga/NetBSD/NetBSD-current/pkgsrc/editors/ssam/files/
+http://kikakusvr3.city.yokohama.jp/y/j/e25/ktt/ktt.html
+http://members.spree.com/entertainment/juskickit/http//members.spree.com/sports/comicus1
+http://www.butuanon.tsx.org/
+http://archive.soccerage.com/s/de/07/05375.html
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/151/1995/10/0/859255/
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/151/1995/10/50
+http://polygraph.ircache.net:8181/http_-2www.soniajekums.com/docs/Http_-2ua.battle-zone.com/html/html/on_line.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380855/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-creativeworld.com/creativeworld.asp?lang=f
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/CPAN/authors/id/T/TO/TOSTI/vstadaf-0.01.readme
+http://www.xmission.com/~dkenison/cgi/lwgate.cgi/KLR650/archives/v02.n1633/Subject/article-16.html
+http://www.realize.com/p25581.htm,qt=e784fe2f=2a38a234-7-da710e-0-0-0-1--
+http://www.realize.com/am947681.htm,qt=e784fe2f=2a38a234-7-da6e1d-80000000-0-0-3--
+http://www.realize.com/am2c3a81.htm,qt=e784fe2f=2a38a234-7-da6e1d-80000000-0-0-3--
+http://www.realize.com/amd15381.htm,qt=e784fe2f=2a38a234-7-da6e1d-1-84-0-3--
+http://link.fastpartner.com/do/session/600403/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/speednames.php
+http://home.freeuk.net/lyne/work.htm
+http://www.gotocity.com/local/2/us/AZ/p/85643/people/
+http://www.service911.com/egghead/step/0,2743,6+33+121+25440+18092_4,00.html
+http://www.jamba.de/KNet/_KNet-irv8j1-WEd-139z7/showInfo-werbung.de/node.0/cenv0b09a
+http://ustlib.ust.hk/search*chi/dbeijing+mandarin+dialects+china+slang/dbeijing+mandarin+dialects+china+slang/-5,1,1,B/frameset&F=dbeijing+mayors+china+fiction&1,1,
+http://www.linux.org.tw/~chester/xlib/GC/convenience-functions/XSetGraphicsExposures.html
+http://www.linux.org.tw/~chester/xlib/graphics/font-metrics/XUnloadFont.html
+http://www.chaos.dk/sexriddle/c/f/j/u/c/
+http://www.chaos.dk/sexriddle/c/f/j/u/q/
+http://www.bornloser.com/comics/committed/archive/committed-20001027.html
+http://tulips.ntu.edu.tw/search*chi/dDeath+lc/ddeath+lc/-17,-1,0,E/frameset&F=ddeath+in+adolescence+abstracts&1,,0
+http://hem.fyristorg.com/lottaleman/LLfar/1_6955.htm
+http://preview.egroups.com/post/scoresheet-talk?act=reply&messageNum=7013
+http://209.52.189.2/profile.cfm/TimmyJ
+http://archive.soccerage.com/s/pt/37/04816.html
+http://pub16.ezboard.com/fleftbehindmessageboardfellowshiphall.showMessage?topicID=456.topic&index=16
+http://www.2pl.com/asp/tools/fili1.asp?sp=se&fi=pppp0005s8
+http://link.fastpartner.com/do/session/600382/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/company/jobs.htm
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kdenetwork/kppp/Rules/Poland/?only_with_tag=MAIN
+http://genforum.genealogy.com/cgi-genforum/forums/flippin.cgi?30
+http://pub.chinaccm.com/23/news/200010/28/114339.asp
+http://pub.chinaccm.com/23/news/200010/27/134259.asp
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=21,9,14,35,15
+http://gamesearcher.com/games/pc/returnofphantom-cheatsfaqs.html
+http://ua.php.net/manual/es/function.pg-errormessage.php
+http://findmail.com/group/prairydog
+http://www.loria.fr/projets/dilib/DILIB_ROOT/SYSTEMS/Linux/Dilib/Data/NLM/MedLine/
+http://www.daysinn.com/ctg/cgi-bin/DaysInn/programs/AAAksrACwAAACEaAAQ
+http://www.leo.org/leoclick/35dd60550f1ba90ed5bb7952eebae0d3+L+1__
+http://members.fortunecity.com/abbalink/songs/lyrics/wg.htm
+http://chat.sportsline.com/u/football/nfl/xword/answers/091500.htm
+http://210.173.172.13/entertainments/sports/sydney/kanrenkiji/0924/0925m096-500.html
+http://210.173.172.13/entertainments/sports/sydney/kanrenkiji/0924/0925m094-500.html
+http://www.private-immobilien-boerse.de/nordrhein-Westfalen/Muehlheim-ruhr/Verkauf/3d-service/Gemeinsam/Inserieren/3d-service/Gemeinsam/versicherungen/gebaeude/deckungsumfang.htm
+http://www.private-immobilien-boerse.de/nordrhein-Westfalen/Muehlheim-ruhr/Verkauf/3d-service/Gemeinsam/Inserieren/3d-service/Gemeinsam/IIMMitglieder.htm
+http://www.realize.com/amcf7781.htm,qt=e784fe2f=2a38a234-4-7cf2ef-80000000-0-0-3--
+http://family.go.com/Categories/Features/family_1998_12/penn/penn128urban/
+http://www.loria.fr/projets/dilib/DILIB_ROOT/ApplicationsTest/Dilib/newBD/Prog/?N=D
+http://www.loisirs.ch/xfeoav/7/kqbmsh.html
+http://tucows.tu-graz.ac.at/herdwin0807.html
+http://www-d0.fnal.gov/cgi-bin/cvsweb.cgi/gtr_htf/dat/?sortby=log
+http://www.buybuddy.com/sleuth/17/1/2006/32619/
+http://www.aelita.net/products/Reg/QuoteRegister/products/library/products/company/Privacy.htm
+http://www.refdag.nl/bui/990803bui08.html
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+9,6-14,0+0,2
+http://www.aelita.net/products/services/support/sitemap/news/solutions/default.htm
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=26,5,30,16,12
+http://www.ericsson.cl/gsmpro/contact.shtml
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/maheuitu/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mangoo333/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/maomizhijia/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/masaki_hamada/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/maxiaofei/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/maz0503/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/menghuanboy/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/michealshen/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mike717/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mikeshang_2/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mingyueyaze/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mm3/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mnbv89/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/morsia/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/move/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mslug/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/msshi/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/muwei/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/my1799/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mychat2000/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/myesky/
+http://members.tripodasia.com.cn/maolin_photo/maolin_suzuki/maolin_suzuki/mzlzq/
+http://www.ring.gr.jp/pub/linux/Vine/VineSeed/alpha/mnt/source/sbin/loader
+http://www.nrk.no/finnmark/x8_5_96/nyh7.htm
+http://202.99.23.245/rmrb/200001/27/no_txb_6.html
+http://www-d0.fnal.gov/d0dist/dist/releases/test/smt_hit/test/?N=D
+http://www-d0.fnal.gov/d0dist/dist/releases/test/smt_hit/test/LIBRARIES
+http://jupiter.u-3mrs.fr/~msc41www/releves/13440405.HTM
+http://ftp.univie.ac.at/packages/perl/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/CGI/ANDK/Apache-correct_headers.readme.html
+http://www.linux.com/networking/network/networking/free/windows_nt/distro/
+http://www.linux.com/networking/network/networking/free/windows_nt/tip/
+http://australia-holiday-guide.com/Englisch/Queensland_1/QLD_Furher_North_1/qld_further_north_1.html
+http://australia-holiday-guide.com/Englisch/Queensland_1/QLD_Great_Barrier_Reef_1/qld_great_barrier_reef_1.html
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/Ayrton.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/Deadline_1.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/DiamondPPC.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/Gravity2_inv.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/HJB-BCFix.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/ImpPos.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/Nat-AutF.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/PSB-Desperado2.readme
+http://ftp.uni-paderborn.de/aminet/aminet/demo/aga/PSB-PUK_final.readme
+http://genforum.genealogy.com/cgi-genforum/forums/kilroy.cgi?34
+http://genforum.genealogy.com/cgi-bin/print.cgi?kilroy::34.html
+http://content.health.msn.com/ef/message/803324/content.health.msn.com%2fmessage_board_message%2f803324/803324
+http://de.excite.de/gesundheit/katalog/6107
+http://de.excite.de/gesundheit/katalog/4909
+http://de.excite.de/gesundheit/katalog/5941
+http://de.excite.de/gesundheit/katalog/4924
+http://de.excite.de/gesundheit/katalog/5898
+http://de.excite.de/gesundheit/katalog/4949
+http://de.excite.de/gesundheit/katalog/5987
+http://de.excite.de/gesundheit/katalog/5855
+http://de.excite.de/gesundheit/katalog/39862
+http://de.excite.de/gesundheit/katalog/5852
+http://de.excite.de/gesundheit/katalog/5645
+http://de.excite.de/gesundheit/katalog/6078
+http://de.excite.de/gesundheit/katalog/5834
+http://yp.gates96.com/11/26/80/31.html
+http://yp.gates96.com/11/26/80/47.html
+http://yp.gates96.com/11/26/80/91.html
+http://yp.gates96.com/11/26/81/61.html
+http://yp.gates96.com/11/26/81/86.html
+http://yp.gates96.com/11/26/82/37.html
+http://yp.gates96.com/11/26/82/49.html
+http://yp.gates96.com/11/26/83/38.html
+http://yp.gates96.com/11/26/83/52.html
+http://yp.gates96.com/11/26/83/58.html
+http://yp.gates96.com/11/26/83/84.html
+http://yp.gates96.com/11/26/84/0.html
+http://yp.gates96.com/11/26/84/59.html
+http://yp.gates96.com/11/26/84/75.html
+http://yp.gates96.com/11/26/84/99.html
+http://yp.gates96.com/11/26/85/37.html
+http://yp.gates96.com/11/26/85/63.html
+http://yp.gates96.com/11/26/85/78.html
+http://yp.gates96.com/11/26/86/36.html
+http://yp.gates96.com/11/26/86/40.html
+http://yp.gates96.com/11/26/87/66.html
+http://yp.gates96.com/11/26/87/87.html
+http://yp.gates96.com/11/26/89/7.html
+http://yp.gates96.com/11/26/89/21.html
+http://yp.gates96.com/11/26/89/38.html
+http://providenet.tukids.tucows.com/mac/9-12/macspell912_license.html
+http://providenet.tukids.tucows.com/mac/9-12/adnload/25805_25780.html
+http://www04.u-page.so-net.ne.jp/zb3/eiji-m/dog6.htm
+http://school.educities.org/card/jou0731.html
+http://school.educities.org/card/ke234.html
+http://school.educities.org/card/aaaaaqqqqqqq.html
+http://school.educities.org/card/cso.html
+http://school.educities.org/card/g40203.html
+http://school.educities.org/card/h123915388.html
+http://school.educities.org/card/k1084211.html
+http://www.cigar-pipe.de/SP/dhuc3112.htm
+http://www.newquestcity.com/cities/MA///news/3675.htm
+http://caowei_814.home.chinaren.com//wenxue/wenxue-mood/love147.htm
+http://www.amulation.com/md-l-archive/199805/msg00065.html
+http://in.egroups.com/messages/conventions/51?viscount=-30
+http://yp.gates96.com/11/63/20/4.html
+http://yp.gates96.com/11/63/20/21.html
+http://yp.gates96.com/11/63/20/51.html
+http://yp.gates96.com/11/63/21/29.html
+http://yp.gates96.com/11/63/21/41.html
+http://yp.gates96.com/11/63/21/74.html
+http://yp.gates96.com/11/63/22/4.html
+http://yp.gates96.com/11/63/22/29.html
+http://yp.gates96.com/11/63/22/80.html
+http://yp.gates96.com/11/63/22/86.html
+http://yp.gates96.com/11/63/23/7.html
+http://yp.gates96.com/11/63/23/24.html
+http://yp.gates96.com/11/63/23/39.html
+http://yp.gates96.com/11/63/24/1.html
+http://yp.gates96.com/11/63/25/35.html
+http://yp.gates96.com/11/63/25/78.html
+http://yp.gates96.com/11/63/25/83.html
+http://yp.gates96.com/11/63/26/37.html
+http://yp.gates96.com/11/63/27/3.html
+http://yp.gates96.com/11/63/27/9.html
+http://yp.gates96.com/11/63/27/14.html
+http://yp.gates96.com/11/63/28/16.html
+http://yp.gates96.com/11/63/28/26.html
+http://yp.gates96.com/11/63/28/54.html
+http://yp.gates96.com/11/63/28/55.html
+http://yp.gates96.com/11/63/29/13.html
+http://yp.gates96.com/11/63/29/64.html
+http://yp.gates96.com/11/63/29/69.html
+http://spaceports.tucows.com/winnt/httpservernt_license.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380848/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/FR/REGISTRATION/entry.asp
+http://incrediblegolfsavings.subportal.com/sn/Games/Simulation_Games/11310.html
+http://incrediblegolfsavings.subportal.com/sn/Games/Simulation_Games/12064.html
+http://www.linux.com/networking/linux/industry/gnu/operating_system/Corel/
+http://www.linux.com/networking/linux/industry/gnu/operating_system/Updates/
+http://www.fogdog.com/cedroID/ssd3040183307418/womens/
+http://www.fogdog.com/cedroID/ssd3040183307418/nav/products/featured_brands/1o/casual_sunglasses/
+http://www.fogdog.com/cedroID/ssd3040183307418/nav/products/featured_brands/1o/hockey_skates/
+http://www.fogdog.com/cedroID/ssd3040183307418/nav/products/featured_brands/1o/sweatshirts_fleece/
+http://www.fogdog.com/cedroID/ssd3040183307418/crs/nvCZ/wld/fogdog_sports/nike/football/equipment/500r_series_football.html
+http://www.seoul.co.kr/dmaeil/199908/0820j015.htm
+http://www-trn.bards.ru/Lobanovskiy/part13.htm
+http://www-trn.bards.ru/Vahnuk/part27.htm
+http://www-trn.bards.ru/Vetrova_Svetlana/part9.htm
+http://www-trn.bards.ru/Tretiyakov/part22.htm
+http://www-trn.bards.ru/Okoudjava/part202.htm
+http://www-trn.bards.ru/Panyushkin/part100.htm
+http://www-trn.bards.ru/Gorodnicky/part287.htm
+http://yumemi.ne.jp/bbs/ky/view/f/forum9/1_jpbshj_vvvzil.html
+http://yumemi.ne.jp/bbs/ky/view/f/forum9/1_xxosis_czhmrb.html
+http://yumemi.ne.jp/bbs/ky/view/f/forum9/1_yikriy_qjvins.html
+http://www.peopledaily.co.jp/shch/199907/28/newfiles/D103.html
+http://legalminds.lp.findlaw.com/list/newlawbooks-l/frm00336.html
+http://tucows.sp-plus.nl/winme/phoneme.html
+http://ustlib.ust.hk/search*chi/dalcoholic+beverages+china/dalcoholic+beverages+china/7,-1,0,E/2browse
+http://ustlib.ust.hk/search*chi/dalcoholic+beverages+china/dalcoholic+beverages+china/-5,-1,0,E/frameset&F=dalcoholic+beverages+great+britain&1,,0
+http://www.canit.se/(k10,k13,k16,k6)/support/faq/faq.html
+http://aecjobbank.com/texis/script/jobbank/+Owwrmwxeri2wBV6evNVpwwwF6eWYqkwwwn6eXmcOwwwn6ekmyjwwwn6eULpOwwqn6eUCBZwwwn6e22QuwwwefPY9GepmwwmeiP46eczdwwmeOTB6eXhzwwwnmBVve89AHwwxeY44Ie-pxwww+vejWRhwwxealYTeXjzwwwhvep9q9wwwxveoA6kwwqe0PYieqFzwwwv6eFRFrwwwt6eSGxDwwwetNY1e8drwwqeT53Amwww0h7mwww1tzmwwweb-3qmwwww/jobdirectory.html
+http://www9.hmv.co.uk:5555/do/session/1347780/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/newmenu.html
+http://www9.hmv.co.uk:5555/do/session/1347780/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d30_sd0_pt0.html
+http://www9.hmv.co.uk:5555/do/session/1347780/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d70_sd0_pt0.html
+http://www9.hmv.co.uk:5555/do/session/1347780/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d90_sd0_pt0.html
+http://www9.hmv.co.uk:5555/do/session/1347780/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d120_sd0_pt0.html
+http://www.hbdaily.com.cn/hbrb/20000622/BIG5/hbrb^18323^12^0622h016.htm
+http://excite.de/immobilien/katalog/6877
+http://excite.de/immobilien/katalog/7012
+http://www.globalmart.com/housewares/appliances/household/irons/blackanddecker/S680.htm
+http://mediate.magicbutton.net/do/session/625631/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-artc.html
+http://ddb.libnet.kulib.kyoto-u.ac.jp/exhibit/mt3/image/mt3shf/mt3sh0192.html
+http://us.parsimony.net/forum26166/messages/410.htm
+http://linux.tnc.edu.tw/CPAN/authors/id/A/AZ/AZEMGI/?M=A
+http://linux.tnc.edu.tw/CPAN/authors/id/A/AZ/AZEMGI/CHECKSUMS
+http://launchbase.com/Shopping/Visual_Arts/communication/entertainment/Pictures_&_Images.htm
+http://launchbase.com/Shopping/Visual_Arts/communication/shopping/Gifts.htm
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/programs/simple/music/midi/lit/lit/quizz/quizz1.html
+http://home02.wxs.nl/~nash0002/amber-94.htm
+http://www.redrocksports.com/sports/webSession/shopper/RR972959711-31098/store/dept-5/department/dept-5/item/52400
+http://www.redrocksports.com/sports/webSession/shopper/RR972959711-31098/store/dept-5/department/dept-5/item/52550
+http://www.redrocksports.com/sports/webSession/shopper/RR972959711-31098/store/dept-5/department/dept-5/item/50900
+http://gnu.archive.sunet.se/software/sather/ICSI_Sather/Documentation/Compiler/CompilerBrowser/shortflat-FLIST{_}.html
+http://mailman.real-time.com/rte-crossfire/1992/Dec/mail1.html
+http://de.nedstat.net/viewstat.asp?name=larsen
+http://ftp.ring.gr.jp/archives/pc/gnu-win32/latest/man/?S=A
+http://src.openresources.com/debian/src/graphics/HTML/D/S_ISSOCK.html
+http://www.perotech.ch/d/securedb/html/listtopic.php?4277
+http://web.health.aol.thriveonline.oxygen.com/medical/library/article/003558res.html
+http://cn.egroups.com/message/Website_Warez/346
+http://adex3.flycast.com/server/socket/127.0.0.1:2800/click/OnlineCitiesSM/OnlineCitiesInteractiveCityGuides/bd510213891
+http://ring.nii.ac.jp/pub/pack/x68/personal/calendar/
+http://www.zeal.com/Government/U_S__Government/State___Local_Governments/South_Carolina/Politics/Elections/State_wide/
+http://ftp.unina.it/pub/TeX/macros/latex209/contrib/manual/?S=A
+http://www.perotech.ch/d/securedb/html/listtopic.php?5376
+http://polygraph.ircache.net:8181/lci/https_-2ssl.galaxy-net.net/jazzee/http_-2www.microsoft.com/truetype/fontpack/win.htm
+http://python.konbib.nl/dutchess.ned/83/00/info-1592.html
+http://www.excite.com/lifestyle/cultures_and_groups/world_cultures/regions/north_america/ethnic_communities/african_american/history/military_history/
+http://www.bluemonutain.com/engy/david/CHI1-educk.html
+http://www.bluemonutain.com/engy/susie/CHI1-edaddog.html
+http://cn.egroups.com/messages/childhoodepilepsy/3349
+http://cn.egroups.com/messages/childhoodepilepsy/648
+http://cn.egroups.com/messages/childhoodepilepsy/1189
+http://polygraph.ircache.net:8181/services/design/http_-2www.swnebr.net/~cambridg/http_-2www.bikininet.com/climate.htm
+http://www.annuairefrancais.com/54/France/I/INTERNET/Fournisseurs-d'acces/Fournisseurs-d
+http://polygraph.ircache.net:8181/http_-2www.monarchcom.net/http_-2www.netscape.com/comprod/mirror/http_-2bible.gospelcom.net/http_-2www.rehablinks.com/ptlinks.htm
+http://findmail.com/message/studentdoctor/4312?source=1
+http://mediate.magicbutton.net/do/session/625624/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-cart.html
+http://ring.htcn.ne.jp/archives/lang/perl/CPAN/authors/id/P/PG/?M=A
+http://www.buybuddy.com/sleuth/33/1/10601/526343/
+http://www1.zdnet.com/products/stories/reviews/0,4161,2470142,00.html
+http://www1.zdnet.com/companyfinder/filters/products/0,9996,2256-82,00.html
+http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdeutils/ark/doc/en/Attic/index-2.html?only_with_tag=MAIN
+http://tv.thevines.com/leaf/AA0000364048/45///&act=24-1-11&bref=1601
+http://link.fastpartner.com/do/session/600384/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/local/redirect.php
+http://www.excite.com/lifestyle/politics_and_society/community_and_cultures/world_cultures/diaspora/jewish/judaism/congregations/humanistic_judaism/
+http://biblio.cesga.es:81/search*gag/aXove,+Xosé/axove+xose/7,-1,0,B/frameset&F=axuntanza&1,,3
+http://biblio.cesga.es:81/search*gag/aXove,+Xosé/axove+xose/7,-1,0,B/frameset&F=axuntanza&3,,3
+http://db.zaq.ne.jp/asp/bbs/jttk_baasc506_1/article/36
+http://db.zaq.ne.jp/asp/bbs/jttk_baasc506_1/article/37
+http://db.zaq.ne.jp/asp/bbs/jttk_baasc506_1/article/35
+http://db.zaq.ne.jp/asp/bbs/jttk_baasc506_1/article/21
+http://www.tiroler-adler.com/1Root/Kontinent/6/Staat/7/Bundesland/16/Ort/691/Homepage/f_homepage...1.html
+http://yp.gates96.com/4/52/90/87.html
+http://yp.gates96.com/4/52/90/95.html
+http://yp.gates96.com/4/52/91/4.html
+http://yp.gates96.com/4/52/91/39.html
+http://yp.gates96.com/4/52/91/42.html
+http://yp.gates96.com/4/52/92/33.html
+http://yp.gates96.com/4/52/92/93.html
+http://yp.gates96.com/4/52/93/6.html
+http://yp.gates96.com/4/52/93/98.html
+http://yp.gates96.com/4/52/94/8.html
+http://yp.gates96.com/4/52/94/14.html
+http://yp.gates96.com/4/52/95/92.html
+http://yp.gates96.com/4/52/96/16.html
+http://yp.gates96.com/4/52/96/32.html
+http://yp.gates96.com/4/52/96/72.html
+http://yp.gates96.com/4/52/96/90.html
+http://yp.gates96.com/4/52/97/1.html
+http://yp.gates96.com/4/52/97/53.html
+http://yp.gates96.com/4/52/98/34.html
+http://yp.gates96.com/4/52/98/84.html
+http://yp.gates96.com/4/52/98/97.html
+http://yp.gates96.com/4/52/99/55.html
+http://yp.gates96.com/4/52/99/68.html
+http://yp.gates96.com/14/40/10/3.html
+http://yp.gates96.com/14/40/10/86.html
+http://yp.gates96.com/14/40/11/53.html
+http://yp.gates96.com/14/40/12/74.html
+http://yp.gates96.com/14/40/13/11.html
+http://yp.gates96.com/14/40/13/34.html
+http://yp.gates96.com/14/40/13/45.html
+http://yp.gates96.com/14/40/13/79.html
+http://yp.gates96.com/14/40/14/3.html
+http://yp.gates96.com/14/40/14/6.html
+http://yp.gates96.com/14/40/14/25.html
+http://yp.gates96.com/14/40/14/84.html
+http://yp.gates96.com/14/40/14/88.html
+http://yp.gates96.com/14/40/15/39.html
+http://yp.gates96.com/14/40/15/40.html
+http://yp.gates96.com/14/40/16/64.html
+http://yp.gates96.com/14/40/16/92.html
+http://yp.gates96.com/14/40/17/69.html
+http://yp.gates96.com/14/40/18/42.html
+http://yp.gates96.com/14/40/18/82.html
+http://yp.gates96.com/14/40/19/36.html
+http://www.4positiveimages.com/4positiveimages/727410225/IconBar
+http://www.teacherformation.org/html/od/facilitators.cfm/task1,login/discussion_id,2/xid,6559/yid,6157439
+http://www.secinfo.com/dSU5m.74.htm
+http://www.secinfo.com/dSU5m.7v.htm
+http://www.secinfo.com/dSU5m.6y.htm
+http://www.secinfo.com/dSU5m.5c.htm
+http://linux.softhouse.com.cn/linux/knowledge/tech/qs/linux5.htm
+http://linux.softhouse.com.cn/linux/knowledge/tech/qs/linux10.htm
+http://freesoftware.subportal.com/sn/Programming/Visual_Basic_Components_H-P/993.html
+http://dk.egroups.com/message/NGHILUAN/2881
+http://dk.egroups.com/message/NGHILUAN/2889
+http://www.cga.state.ct.us/ps98/cbs/H/hj-0084.htm
+http://apple.excite.com/entertainment/music/artists_and_genres/jazz/new_world_jazz/afro_cuban/
+http://www.euronet.nl/users/hiroshi/ksweb/interest.htm
+http://library.bangor.ac.uk/search/aMollica,+Anthony/amollica+anthony/-5,-1,0,B/browse
+http://www.fogdog.com/cedroID/ssd3040183308040/nav/products/featured_brands/14t/all/
+http://www.brio.de/BRIO.catalog/39fe2f8d0912d4962740d472aa780701/UserTemplate/9
+http://www.hig.se/(accessed,autoformat,referrer,sqloutput,tablify)/~jackson/roxen/
+http://www.newstimescybermall.com/Mall/Catalog/Product/ASP/product-id/206059/store-id/1000010991.html
+http://www6.163.com/news/p-item/0,1587,economy_1916,00.html
+http://ftp.uni-stuttgart.de/pub/systems/sgi/graphics/lib/?D=A
+http://preview.egroups.com/message/abdou3/152
+http://ch.php.net/manual/it/function.pg-loimport.php
+http://yp.gates96.com/1/94/30/39.html
+http://yp.gates96.com/1/94/30/78.html
+http://yp.gates96.com/1/94/31/11.html
+http://yp.gates96.com/1/94/31/72.html
+http://yp.gates96.com/1/94/31/85.html
+http://yp.gates96.com/1/94/32/25.html
+http://yp.gates96.com/1/94/32/45.html
+http://yp.gates96.com/1/94/32/74.html
+http://yp.gates96.com/1/94/33/20.html
+http://yp.gates96.com/1/94/33/68.html
+http://yp.gates96.com/1/94/34/92.html
+http://yp.gates96.com/1/94/35/1.html
+http://yp.gates96.com/1/94/35/50.html
+http://yp.gates96.com/1/94/35/60.html
+http://yp.gates96.com/1/94/37/0.html
+http://yp.gates96.com/1/94/37/46.html
+http://yp.gates96.com/1/94/37/47.html
+http://yp.gates96.com/1/94/37/61.html
+http://yp.gates96.com/1/94/38/19.html
+http://yp.gates96.com/1/94/39/49.html
+http://yp.gates96.com/1/94/39/57.html
+http://www.gartenfachmarkt.de/beratung_garten/duengen_und_kompostieren/anlage_und_vorarbeiten/fertig.htm
+http://support.dell.com/docs/storage/4955r/en/Hw/setup.htm
+http://www.hig.se/(clientname,header,sort,sqlquery,sqltable)/~jackson/roxen/
+http://www.mic.hr/PGBURZA:423870
+http://www.mic.hr/PGNEWS:423870
+http://members.tripod.com/Tess_Tom/my_photoalbum/page12.html
+http://legalminds.lp.findlaw.com/list/courtinterp-spanish/nav05815.html
+http://www.fogdog.com/cedroID/ssd3040183239698/crs/pn__/wld/fogdog_sports/pearl_izumi/road_cycling/apparel/classic_vest.html
+http://www.fogdog.com/cedroID/ssd3040183239698/nav/stores/wakeboarding/
+http://troy.lib.sfu.ca/search/slogos/slogos/-5,-1,0,E/frameset&F=slogistics+and+transportation+review&1,,0
+http://themes.tucows.dia.dk/skins/icq/preview/54718.html
+http://php.nic.fi/manual/html/function.shm_open.html
+http://ftp.fi.debian.org/debian/dists/woody/non-free/binary-m68k/misc/?S=A
+http://www.csupomona.edu/reference/java/jdk1.2/docs/api/org/omg/CORBA/class-use/CompletionStatus.html
+http://www.trax.nilex.co.uk/trax.cgi/A1C/B1U/A1D/C1R/A1D/B1R/
+http://www.uni-duesseldorf.de/ftp/ftp/software/opt/cpio-2.4.2/?M=A
+http://ep.com/js/about/c9079/b0/250918.html
+http://polygraph.ircache.net:8181/busi/html/http_-2www.dirtsports.com/index.html-ssi
+http://www.chabadlibrary.org/ecatalog/EC06/EC06232.HTM
+http://chat.hani.co.kr/NetBBS/Bbs.dll/brief/lst/qqa/f/qqo/PRMY/zka/B23qB2Bm
+http://209.207.239.212/bkindex/c1047/f1128.html
+http://tv.thevines.com/leaf/AA0000364429/4/1
+http://tv.thevines.com/leaf/AA0000364429/4//&order_by=WORST
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=12,17,20,5,16
+http://yp.gates96.com/4/4/40/22.html
+http://yp.gates96.com/4/4/40/29.html
+http://yp.gates96.com/4/4/41/11.html
+http://yp.gates96.com/4/4/42/0.html
+http://yp.gates96.com/4/4/42/27.html
+http://yp.gates96.com/4/4/42/89.html
+http://yp.gates96.com/4/4/42/99.html
+http://yp.gates96.com/4/4/43/40.html
+http://yp.gates96.com/4/4/43/69.html
+http://yp.gates96.com/4/4/43/85.html
+http://yp.gates96.com/4/4/44/27.html
+http://yp.gates96.com/4/4/44/28.html
+http://yp.gates96.com/4/4/44/36.html
+http://yp.gates96.com/4/4/44/86.html
+http://yp.gates96.com/4/4/45/76.html
+http://yp.gates96.com/4/4/45/82.html
+http://yp.gates96.com/4/4/45/86.html
+http://yp.gates96.com/4/4/46/61.html
+http://yp.gates96.com/4/4/47/1.html
+http://yp.gates96.com/4/4/47/41.html
+http://yp.gates96.com/4/4/47/42.html
+http://yp.gates96.com/4/4/48/66.html
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/ports/misc/geekcode/pkg-descr?only_with_tag=RELEASE_3_4_0
+http://perso.wanadoo.fr/genealogie.aubert.jm/geweb/ff100.htm
+http://www.securitiestimes.com.cn/199904/29/data/newfiles/0060080.htm
+http://autos.yahoo.co.jp/ucar/m1015/k10152012199906/g21/a101520120210248821003520208199906.html
+http://dg.galaxy.com/galaxy/Community/United-States/States/Connecticut/Cities-and-Regions/Guilford/Education/K--12/Middle.html
+http://carriage.de/Schoner/info-e/literature/collections/models/
+http://www.amcity.com/orlando/stories/1998/06/29/weekinbiz.html?t=email_story
+http://www.icopyright.com/1.1655.94549
+http://biblio.cesga.es:81/search*gag/dMicrosoft+Visual+BASIC+(Archivo+de+ordenador)/dmicrosoft+visual+basic+archivo+de+ordenador/-5,1,1,B/frameset&F=dmicrosoft+project+archivo+de+ordenador&1,1,
+http://www.jamba.de/KNet/_KNet-AzI8j1-tGd-13d56/browse.de/node.0/cde7f1uou
+http://www.jamba.de/KNet/_KNet-AzI8j1-tGd-13d5e/browse.de/node.0/cde7f1uou
+http://www.ioppublishing.com/PEL/help/article/ja30010l2/refs/?topic=refs
+http://members.tripod.lycos.co.kr/uuujsh/?N=D
+http://www.wlu.ca/~wwwregi/95-96/cal/ucourses/CP/CP417.html
+http://books.hyperlink.co.uk/bookinfo/Essential_Papers_on_Messianic_Movements_and_Personalities_in_Jewish_History/0814779433
+http://generalstore.everdream.com/kore/catalog/Office_Supplies/Furniture_&_Accessories/File_Cabinets/Vertical/GRP-US747/product.html
+http://satlink.tucows.com/winnt/adnload/54136_29678.html
+http://dc.web.aol.com/myrtlebeacharea/penpals/browse.dci?cat=twenties&sort=m
+http://itcareers.careercast.com/texis/it/itjs/+nwwBme4WD86e4rwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewDthDo5O5apGdtGwMaBGnDBdDaqd1DBGon5aoDqc1moDtax15oDn55amnVncdpoDta5dc1BodD5adppdGB1DoBon5aqdMpnBoBoVnaMFqtuNfIjIDzmYqwwpBme68D86eihwww5rmerdwwwBrmeZpwww/jobpage.html
+http://ring.yamanashi.ac.jp/pub/linux/debian/debian-jp/dists/hamm-jp/hamm/disks-i386/current/base14-3.bin.2.0.11.2-i386
+http://www.ibm.co.jp/pc/thinkpad/pt110/look110.html
+http://retailer.gocollect.com/do/session/1912720/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/postcards/index.asp
+http://www-rn.informatik.uni-bremen.de/home/X11R6/xc/doc/hardcopy/XProtocol/?N=D
+http://cafe3.daum.net/Cafe-bin/bbsList?bbsgrp=SIXTEEN&bbscode=SIXTEENbbs
+http://allmacintosh.arrakis.es/adnload/12140.html
+http://allmacintosh.arrakis.es/adnload/2476.html
+http://www.msb.malmo.se/search*swe/dSkönlitteratur/dskz~cnlitteratur/-5,-1,0,B/2exact&F=dskz~cnliteratur&1,2
+http://tucows.syix.com/winme/preview/137803.html
+http://pages.prodigy.net/patotoole/musicman/page6.htm
+http://yp.gates96.com/14/43/0/39.html
+http://yp.gates96.com/14/43/0/78.html
+http://yp.gates96.com/14/43/0/79.html
+http://yp.gates96.com/14/43/0/99.html
+http://yp.gates96.com/14/43/1/3.html
+http://yp.gates96.com/14/43/1/57.html
+http://yp.gates96.com/14/43/1/86.html
+http://yp.gates96.com/14/43/2/74.html
+http://yp.gates96.com/14/43/2/80.html
+http://yp.gates96.com/14/43/3/2.html
+http://yp.gates96.com/14/43/3/97.html
+http://yp.gates96.com/14/43/3/99.html
+http://yp.gates96.com/14/43/4/37.html
+http://yp.gates96.com/14/43/4/51.html
+http://yp.gates96.com/14/43/4/72.html
+http://yp.gates96.com/14/43/6/4.html
+http://yp.gates96.com/14/43/7/20.html
+http://yp.gates96.com/14/43/7/39.html
+http://yp.gates96.com/14/43/7/45.html
+http://yp.gates96.com/14/43/9/41.html
+http://yp.gates96.com/14/43/9/58.html
+http://yp.gates96.com/14/43/9/60.html
+http://ftp.support.compaq.com/public/dunix/v3.2g/ASE_V1.3/ReleaseNotes.htm
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/mchI1k9vDw6DGJ19bljzJPwhHhJYxAcnAIKgudPEJtzjiTWMWT4U-YMr4m-AccPn7sEIqMzfFTZnQEQBZNx-lh8DEr_c1F3DXpcc4PzhALzHJ76GytRWNCSauwtfVocYmy_RKsP-H9T-UhQgoc9_uexBhD4a
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/IqtI3V1hdRxfYW_4AHOzeXZkuTzyKfveVl4qdYM_2WFldvLDKFgK8SvYa0mSlrWDVodDERGv2jvb2dEN1-mRmY3TBKURFCsqneanb8BNMBeBfqmSnBYuou5RMCmHxXCedHy3TQnL51n3TYbg5exYBWl9FJTcQEIJt2wyyrfB66jP
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/Hk1ILVbQbFwze5TrhlBima0MylJ0gTqcnVeTbMTcn7Gy5GkelYKhUQ7m8P8_K3IkOWfIWbpGOJEuHqJLX5jY_7ygFevbtkNXPvb1yztdy9qzCTsCJvS5uaHN3cZd0LtuoMX3lX7d_-L_PrwRXSfTE3TNvWl-RHiY4Xmxk1fXhD_uwwjDvC7DDsxz66j6
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/T41IiB449vZ7nrOl2Z_klJHCHQZhigz52e9YVMztVI-K01klBYQrw4VmiKN8JDs9xaeMSWopQs1euSbr6BAiyuqpbSFiiVWObVmWHv031jtdQ1y93wnHhx8PkbrA4hkNhjTPs2mUhBF9wIAJSPCYLkf6W7mCB8ObikqLTuIwBfRtSgMK4Hz9e7Bp
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/CI1IlJNaoNrBcwJYSEcjLyxBnpQHK3wpRPeCR_0u07GznNXQ3Ug57ciOqlfXKlYM1HbRfcvrF5s214yaEHiIizneyWrbSEW_xal49NjQDbWj6R2nEZvDQdDMQEMoTuQlSetyUwMidLBmJJ5v5w9m066en6Yxuzt3RkGIyoHKaVmXgVIYD2Fc40eA
+http://www.secinfo.com/dSm4r.997.htm
+http://www.secinfo.com/dSm4r.68c.htm
+http://www.secinfo.com/dSm4r.69c.htm
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/CPAN/modules/by-module/MD5/GAAS/HTML-Parser-3.04.readme
+http://polygraph.ircache.net:8181/Game+Controllers/http_-2www.real-e-video.com/price-abuse.html
+http://ecomonly.shop.goto.com/z/netadp/search/matches.jhtml?MANUF=Linksys
+http://ecomonly.shop.goto.com/z/netadp/search/matches.jhtml?MANUF=Madge
+http://freesoftware.subportal.com/sn/Web_Authoring/Misc__Programming_Tools/3100.html
+http://www.sam.hi-ho.ne.jp/m-saka/stepwgn/himeji/6scene/
+http://ftp.unina.it/pub/Unix/linux/SuSE/ftp.suse.com/projects/3d/kernel/?N=D
+http://www.ld.com/cbd/archive/1999/08(August)/10-Aug-1999/61awd001.htm
+http://www.ld.com/cbd/archive/1999/08(August)/10-Aug-1999/61awd004.htm
+http://statweb.byu.edu/sasdoc/sashtml/stat/chap2/sect5.htm
+http://www.diogenes.de/4DACTION/web_rd_aut_show_authorlist/ID=483367&chr=F
+http://web1.localbusiness.com/Story/Email/1,1198,RDU_461041,00.html
+http://www.clientwire.com/A55697/tmr.nsf/vwApprovedResumesbyDate!OpenView&Start=55&Count=50&Collapse=48
+http://cpan.nitco.com/modules/by-module/Mail/JWIED/SNMP-Monitor-0.1011.readme
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=237&discrim=178,16,10
+http://www6.compaq.com/products/quickspecs/10135_na/10135_na.PDF
+http://www.suk2.com/user/777/20001012.html
+http://www.jamba.de/KNet/_KNet-vAy8j1-iFd-13az6/browse.de/node.0/cde7f2elw
+http://www.imagesofengland.org.uk/41/69/416915.htm
+http://ocean.ntou.edu.tw/search*chi/aLaplante,+Phillip+A./alaplante+phillip+a/7,-1,0,B/frameset&F=alappe+frances+moore&1,,2
+http://ocean.ntou.edu.tw/search*chi/aLaplante,+Phillip+A./alaplante+phillip+a/7,-1,0,B/frameset&F=alappe+frances+moore&2,,2
+http://wap.jamba.de/KNet/_KNet-6Fz8j1-oFd-13b3x/admLogin.de/node.0/cde7f1uou
+http://yp.gates96.com/14/49/20/26.html
+http://yp.gates96.com/14/49/20/37.html
+http://yp.gates96.com/14/49/20/39.html
+http://yp.gates96.com/14/49/20/86.html
+http://yp.gates96.com/14/49/20/94.html
+http://yp.gates96.com/14/49/20/97.html
+http://yp.gates96.com/14/49/21/19.html
+http://yp.gates96.com/14/49/21/43.html
+http://yp.gates96.com/14/49/21/68.html
+http://yp.gates96.com/14/49/21/78.html
+http://yp.gates96.com/14/49/24/6.html
+http://yp.gates96.com/14/49/24/62.html
+http://yp.gates96.com/14/49/24/77.html
+http://yp.gates96.com/14/49/24/83.html
+http://yp.gates96.com/14/49/25/30.html
+http://yp.gates96.com/14/49/25/41.html
+http://yp.gates96.com/14/49/26/17.html
+http://yp.gates96.com/14/49/26/53.html
+http://yp.gates96.com/14/49/27/21.html
+http://yp.gates96.com/14/49/27/27.html
+http://yp.gates96.com/14/49/27/45.html
+http://yp.gates96.com/14/49/27/65.html
+http://yp.gates96.com/14/49/28/71.html
+http://www.boston.digitalcity.com/orangecounty/entertainment/article.dci?aid=1293&start=10
+http://tucows.allnet.it/winme/adnload/143-006-005-021.html
+http://tucows.allnet.it/winme/adnload/143-006-005-030.html
+http://www.trax.nilex.co.uk/trax.cgi/A1C/B1U/A1D/C1R/A2D/A1U/
+http://www.crosswinds.net/~klinnia/DragonsDomain/Nest/nest.htm
+http://mirrors.valueclick.com/backup.pause/modules/by-category/99_Not_In_Modulelist/Memoize/?S=A
+http://www.tgw.com/EJr.5ajd/customer/category/product.html?SUBCATEGORY_ID=557
+http://www.sohu.com/business_economy/Company/Computer_Internet/Network_System/Network/
+http://china-water.51.net/oicq/oicq_down.htm
+http://ftp.lip6.fr/pub/FreeBSD/development/FreeBSD-CVS/ports/math/plplot/patches/Attic/patch-ac,v
+http://library.cuhk.edu.hk/search*chi/cHC427.92.C59/chc++427.92+c59/-5,-1,,E/browse
+http://yp.gates96.com/4/8/60/2.html
+http://yp.gates96.com/4/8/60/19.html
+http://yp.gates96.com/4/8/62/9.html
+http://yp.gates96.com/4/8/62/23.html
+http://yp.gates96.com/4/8/62/59.html
+http://yp.gates96.com/4/8/63/26.html
+http://yp.gates96.com/4/8/63/41.html
+http://yp.gates96.com/4/8/64/48.html
+http://yp.gates96.com/4/8/65/0.html
+http://yp.gates96.com/4/8/65/42.html
+http://yp.gates96.com/4/8/66/13.html
+http://yp.gates96.com/4/8/66/88.html
+http://yp.gates96.com/4/8/67/23.html
+http://yp.gates96.com/4/8/67/51.html
+http://yp.gates96.com/4/8/68/11.html
+http://yp.gates96.com/4/8/68/16.html
+http://yp.gates96.com/4/8/68/78.html
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/CehIaxpSN7cGOeOUjXx_FtrylkakPWisW0DYq0MYmHwGxLBo7shB2XGSeXyvbnsBzHMJTZtmYOUK-XaaAW0Yh88wTY-Mms-hxw67Xaw8WMk3-vUJ4sXm4U7yIGdiN9XoPOqfnODrkqXYztjU6Var
+http://www.brd.net/brd-cgi/brd_netzwerk?mailto&router&BZ85G0IL
+http://power.luneng.com/power/library/jxgcs/jxgc99/jxgc9912/991204.htm
+http://www.egroups.com/messages/Creative_Teaching/72?viscount=-30
+http://www.egroups.com/message/Creative_Teaching/85
+http://ftp.eecs.umich.edu/.1/people/elta/cusm-Javajae-elta/?D=A
+http://polygraph.ircache.net:8181/cagliari/WHOWOULD.HTM
+http://www.tiscover.ch/1Root/Kontinent/6/Staat/30/Bundesland/33/Ort/1564/Homepage/h_homepage...2.html
+http://t-online.de/computer/haupt/intcoh87.htm
+http://prodigy-sports.excite.com/ncaab/news/025uwire1
+http://wwwold.ifi.uni-klu.ac.at/Manuals/jdk1.1b3/docs/guide/awt/designspec/graphics/imagescale.html
+http://www.taconet.com.tw/a6983/
+http://www.mapion.co.jp/custom/AOL/admi/13/13107/higashimukojima/3chome/index-3.html
+http://www.mapion.co.jp/custom/AOL/admi/13/13107/higashimukojima/3chome/index-13.html
+http://caller-times.com/autoconv/kickoff98/kickoff30.html
+http://www.incestpornstories.com/bisexualbisexual/big-bonedmen/beautiesslanted-eyes/plus-sizeoverweight/{teenlink}
+http://qcardsccg.safeshopper.com/8/359.htm?923
+http://qcardsccg.safeshopper.com/8/429.htm?923
+http://qcardsccg.safeshopper.com/8/433.htm?923
+http://lib1.nippon-foundation.or.jp/1997/0486/contents/011.htm
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceOrderStatusOverview-BBC709F1_97EF_F357031944376B6D965FDC23BED4C6F4
+http://in.egroups.com/subscribe/muovimallit
+http://multichat.de/fp/talk/cb-funk/4.htm
+http://multichat.de/fp/talk/cb-funk/5.htm
+http://www.jamba.de/KNet/_KNet-zfB8j1-EFd-13bkr/browse.de/node.0/cde7f2elw
+http://www.jamba.de/KNet/_KNet-zfB8j1-EFd-13bl7/showInfo-jobs.de/node.0/cenv0b09a
+http://152.80.49.210/PUBLIC/WXMAP/GLOBAL/AVN/2000103000/avn.prp.00-36.swasia.htm
+http://retailer.gocollect.com/do/session/1912741/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/help/site_tour/index.asp
+http://retailer.gocollect.com/do/session/1912741/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/top_ten.asp?pagenum=2
+http://www.fogdog.com/cedroID/ssd3040183248168/nav/products/winter_sports/1b/shell_jackets/
+http://www.fogdog.com/cedroID/ssd3040183248168/nav/products/featured_brands/3c/all/
+http://kutschen.de/Schoner/literature/Sammlungen/modelle/collections/
+http://el-mundo.es/1999/06/04/television/04N0121.html
+http://bitwise.tucows.com/win2k/htmlval2k_license.html
+http://bbs.ee.ntu.edu.tw/boards/Saturn/3/7/12/5.html
+http://ustlib.ust.hk/search*chi/deconomic+conditions+cameroon+to+1960/deconomic+conditions+cameroon+to+1960/-5,-1,0,B/browse
+http://excite.de/kunst/katalog/865
+http://www2.hindustantimes.com/ht/nonfram/280498/detFRO07.htm
+http://yp.gates96.com/11/69/0/60.html
+http://yp.gates96.com/11/69/1/60.html
+http://yp.gates96.com/11/69/1/72.html
+http://yp.gates96.com/11/69/2/80.html
+http://yp.gates96.com/11/69/3/7.html
+http://yp.gates96.com/11/69/3/54.html
+http://yp.gates96.com/11/69/3/66.html
+http://yp.gates96.com/11/69/3/90.html
+http://yp.gates96.com/11/69/3/91.html
+http://yp.gates96.com/11/69/4/13.html
+http://yp.gates96.com/11/69/4/18.html
+http://yp.gates96.com/11/69/4/26.html
+http://yp.gates96.com/11/69/4/70.html
+http://yp.gates96.com/11/69/5/45.html
+http://yp.gates96.com/11/69/5/77.html
+http://yp.gates96.com/11/69/6/10.html
+http://yp.gates96.com/11/69/6/80.html
+http://yp.gates96.com/11/69/7/43.html
+http://yp.gates96.com/11/69/7/76.html
+http://yp.gates96.com/11/69/8/17.html
+http://yp.gates96.com/11/69/8/33.html
+http://yp.gates96.com/11/69/8/98.html
+http://yp.gates96.com/11/69/9/3.html
+http://yp.gates96.com/11/69/9/41.html
+http://yp.gates96.com/11/69/9/92.html
+http://store.peoplestour.com/kore/catalog/Music/R&B/G_by_artist/104757/product.html
+http://free.prohosting.com/~seikyo/speak2.htm
+http://pub.chinaccm.com/12/news/200009/16/160724.asp
+http://pub.chinaccm.com/12/news/200008/11/155448.asp
+http://www.fogdog.com/cedroID/ssd3040183305379/nav/products/featured_brands/12r/spa_products/
+http://itcareers.careercast.com/texis/it/itjs/+EwwBmev6D86ebtwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewGtmoBGnaqdGpdGwBodDacnwmaADdicnmtnaMwDwtnMnDBanDtoDnnGaMw55wqr15nBB5aqwpB1GnaoDhdGMwBodDaBnqrDdcdton5aMFqhTfR20DzmewrwwwpBmGeP0-dmwww5rmeNDwwwBrmeZpwww/jobpage.html
+http://www.outdoorwire.com/content/lists/dirt/200004/msg00354.html?{LoadingFrameset}
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=5&discrim=186,22,8
+http://www.teleparc.com/sports/funski/02/03.htm
+http://cn.egroups.com/post/safrica_bridge?act=reply&messageNum=43
+http://www.dfae.diplomatie.gouv.fr/culture/france/cinema/documentaires/recherche/francais/ethique.html
+http://ring.toyama-ix.net/archives/mac/info-mac/_Communication/ctb/?D=A
+http://www.eveclub.com/cgi-bin/eveclub.front/972959528284/Catalog/11000155
+http://www.eveclub.com/cgi-bin/eveclub.front/972959528284/Catalog/2000019
+http://cometweb01.comet.co.uk/do!session=132005&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG5ubLZDXLZolLl3l5jbqLljX5fkkKaotHlob5mloLq1
+http://cometweb01.comet.co.uk/do!session=132005&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG3XqLbdlLov4LfpmLiXvL-Zd5jbkLYozKvot0cZd5ockLYozKvsm0uts0cZX5qkXLjbzKKbiLbsfLpflLkp5
+http://www.ualberta.ca/CNS/RESEARCH/Software/SAS/cms/zfor-hex.htm
+http://www.ualberta.ca/CNS/RESEARCH/Software/SAS/os390/zlibname.htm
+http://genforum.genealogy.com/cgi-bin/print.cgi?hanrahan::175.html
+http://library.bangor.ac.uk/search/dAIDS+(Disease)+--+Risk+factors+--+Psychological+aspects+--+Periodicals/daids+disease+risk+factors+psychological+aspects+periodicals/-5,1,1,B/frameset&F=daids+disease+research&1,1,
+http://www.rismedia.com/consumer/27/12194/
+http://www.hole.kommune.no/hole/journweb.nsf/weboffjournal!OpenView&Start=39&Count=50&Expand=38
+http://www.etoys.com/prod/toy/53097261
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/J6tI5danl1CaEvxOmyBVl8pzyaGqhs1RWIGq0aJ2_fwvzv4y9T7bHlxQKPzsrhMRN5HEI_Y9ZKrSvboCZvKhdwPPYK2klPp0EqNMO7Mb8fDTcz6xykQv8YQCQ2dy_iLZjbXwrknXqcH32HVSXAq7iUr4yIVG66IK
+http://www.amcity.com/jacksonville/stories/1999/11/22/daily16.html?t=printable
+http://moviestore.zap2it.com/browse/MOVIES/BOXERSHO/s.F0FWmEHm
+http://moviestore.zap2it.com/browse/MOVIES/SHIRT/s.F0FWmEHm
+http://moviestore.zap2it.com/browse/MOVIES/TIE/s.F0FWmEHm
+http://moviestore.zap2it.com/browse/MOVIES/WATCH/s.F0FWmEHm
+http://yp.gates96.com/11/25/30/0.html
+http://yp.gates96.com/11/25/30/47.html
+http://yp.gates96.com/11/25/31/87.html
+http://yp.gates96.com/11/25/32/3.html
+http://yp.gates96.com/11/25/32/61.html
+http://yp.gates96.com/11/25/32/97.html
+http://yp.gates96.com/11/25/33/6.html
+http://yp.gates96.com/11/25/33/81.html
+http://yp.gates96.com/11/25/33/83.html
+http://yp.gates96.com/11/25/34/10.html
+http://yp.gates96.com/11/25/34/35.html
+http://yp.gates96.com/11/25/34/88.html
+http://yp.gates96.com/11/25/34/90.html
+http://yp.gates96.com/11/25/35/95.html
+http://yp.gates96.com/11/25/36/19.html
+http://yp.gates96.com/11/25/36/98.html
+http://yp.gates96.com/11/25/37/61.html
+http://yp.gates96.com/11/25/37/74.html
+http://yp.gates96.com/11/25/38/2.html
+http://yp.gates96.com/11/25/38/62.html
+http://yp.gates96.com/11/25/39/1.html
+http://yp.gates96.com/11/25/39/25.html
+http://yp.gates96.com/11/25/39/85.html
+http://yp.gates96.com/11/25/39/95.html
+http://www.linux.com/networking/network/industry/server/community/Red_Hat/
+http://www.linux.com/networking/network/industry/server/community/Slashdot/
+http://www.linux.com/networking/network/industry/server/community/growth/
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/CPAN/modules/by-category/16_Server_and_Daemon_Utilities/Server/DRUOSO/Server-FastPL-1.0.0.readme
+http://ftp.nacamar.de/pub/NetBSD/NetBSD-current/pkgsrc/parallel/clusterit/pkg/DESCR
+http://dk.egroups.com/login.cgi?login_target=%2Fgroup%2FGravesrus
+http://www.maxfunds.com/MF1000.nsf/FUNDanalysisPrint/FGOAX
+http://www.gbnf.com/genealog2/brothers/html/d0065/I12666.HTM
+http://office.net/benelux/nld/downloadcatalog/dldpowerpoint.asp
+http://yam.com/en/rand/ent/music/minfo/
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/Collect_DB_Advers2/2000-09-28/23/?N=D
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=22,11,35
+http://dk.egroups.com/messages/lafz/6
+http://www.online.kokusai.co.jp/Words/V0043555/wrd/G700/words/kana_main.html
+http://adelaida.net/music/texts/pink75.html
+http://support.tandy.com/support_audio/doc40/40914.htm
+http://www.nutritionblvd.com/426162.html
+http://www.nutritionblvd.com/426121.html
+http://www.nutritionblvd.com/426117.html
+http://www.fogdog.com/cedroID/ssd3040183301450/boutique/aaron_chang/
+http://www.fogdog.com/cedroID/ssd3040183301450/boutique/moving_comfort/
+http://www.fogdog.com/cedroID/ssd3040183301450/fly/
+http://in.egroups.com/login.cgi?login_target=%2Fmessage%2Finfogiappone%2F81
+http://in.egroups.com/post/infogiappone?act=reply&messageNum=81
+http://cn.egroups.com/message/1800list/5416
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www.slac.stanford.edu/grp/arb/tn/arbvol1/ARDB011.pdf
+http://crrstv.tucows.com/winnt/adnload/135146_46908.html
+http://syix.tucows.com/win2k/adnload/61785_28334.html
+http://ftp.ccu.edu.tw/pub/language/tcl/sorted/packages-7.6/sound/xmpeg_0.5/
+http://www.eos.ncsu.edu/linux/LDP/LDP/khg/HyperNews/get/fs/fs/3.html
+http://polygraph.ircache.net:8181/http_-2www.tvguide.com/sports/football/http_-2home.netscape.com/http_-2www.premaonline.com/http_-2www.ionet.net/~burndragon/form1.html
+http://se.egroups.com/group/MyLuminaGoezBoom
+http://www.diogenes.ch/4DACTION/web_rd_aut_show_author/a_id=7056553&tmpl=AUT_00&ID=483371
+http://www3.newstimes.com/archive97/apr0497/tvg.htm
+http://dic.empas.com/show.tsp/?q=edger&f=B
+http://www.brio.de/BRIO.catalog/39fe2f570905fb6a2740d472aa7806aa/UserTemplate/2
+http://itcareers.careercast.com/texis/it/itjs/+uwwBme7WD86eYtwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewGtmoBGnaqdGpdGwBodDaoDhdGMwBodDa5nq1GoBOanDtoDnnGaiw5roDtBdDanDBnGpGo5naGn31oGnmawGqroBnqB1Gna5O5BnM5aMFqhTfR20DzmehrwwwpBmeZWD86Nwww5rmekdwwwBrmeZpwww/jobpage.html
+http://itcareers.careercast.com/texis/it/itjs/+pwwBmet5986twwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewGtmoBGnaqdGpdGwBodDaoDhdGMwBodDa5nq1GoBOanDtoDnnGaiw5roDtBdDanDBnGpGo5naGn31oGnmawGqroBnqB1Gna5O5BnM5aMFqhTfR20DzmehrwwwpBmeZWD86Nwww5rmekdwwwBrmeZpwww/morelike.html
+http://biblioteca.upv.es/bib/doc/doc_fisbd/180/132317//C/1825784/0////25/S/MLTPAI
+http://www.stanford.edu/~sevls/files/?M=D
+http://library.bangor.ac.uk/search/dSystem+analysis+--+Periodicals/dsystem+analysis+periodicals/-17,-1,0,B/browse
+http://mirror.ox.ac.uk/Mirrors/ftp.redhat.com/roughcuts/m68k/misc/src/install/pci-probing/CVS/
+http://yp.gates96.com/0/13/10/17.html
+http://yp.gates96.com/0/13/11/26.html
+http://yp.gates96.com/0/13/12/20.html
+http://yp.gates96.com/0/13/12/24.html
+http://yp.gates96.com/0/13/12/49.html
+http://yp.gates96.com/0/13/13/22.html
+http://yp.gates96.com/0/13/13/80.html
+http://yp.gates96.com/0/13/15/8.html
+http://yp.gates96.com/0/13/16/4.html
+http://yp.gates96.com/0/13/16/18.html
+http://yp.gates96.com/0/13/16/64.html
+http://yp.gates96.com/0/13/17/15.html
+http://yp.gates96.com/0/13/18/11.html
+http://yp.gates96.com/0/13/18/18.html
+http://yp.gates96.com/0/13/19/5.html
+http://yp.gates96.com/0/13/19/22.html
+http://yp.gates96.com/0/13/19/60.html
+http://library.cuhk.edu.hk/search*chi/aYen-shou,+Shih,+904-975./ayen+shou+shih++904++975/-5,-1,0,E/2browse
+http://china.sydney2000.com/StaticNews/2000-07-29/News372a86.htm
+http://www.fujian-window.com/Fujian_w/news/mzrb1/20000724/3_1.html
+http://www.fujian-window.com/Fujian_w/news/mzrb1/20000724/3_2.html
+http://legalminds.lp.findlaw.com/list/law-lib/nav07807.html
+http://ftp.fi.debian.org/debian/dists/woody/contrib/binary-sparc/tex/?N=D
+http://community.webshots.com/photo/3635718/3636284GcTotmmONR
+http://www.power2lead.com/Global/English.nsf/pgWWLocations!OpenPage&ExpandSection=23,24,25,17,10
+http://spaindustry.com/por/exp/911.html
+http://niagara.tucows.com/winme/preview/10464.html
+http://niagara.tucows.com/winme/adnload/138750_30032.html
+http://niagara.tucows.com/winme/adnload/138743_30025.html
+http://niagara.tucows.com/winme/adnload/138740_30023.html
+http://retailer.gocollect.com/do/session/1912780/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/advanced_search.asp
+http://preview.egroups.com/messages/UKMatrix
+http://fi.egroups.com/login.cgi?login_target=%2Fmessage%2Fhecates_news%2F21
+http://pub.chinaccm.com/02/news/200005/31/133146.asp
+http://pub.chinaccm.com/02/news/200005/31/133212.asp
+http://localhost/test,
+http://kuyper.calvin.edu/fathers2/ANF-02/anf02-25.htm
+http://kuyper.calvin.edu/fathers2/ANF-02/anf02-56.htm
+http://totalsports.aol.com/stats/bbo/mlb/mlb/990910.cle.AT.cws.box.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/990915.nym.AT.col.box.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/990919.cws.AT.tor.box.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/990926.hou.AT.mil.box.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/991003.nyy.AT.tam.box.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/991006.bos.AT.cle.box.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/ALscores.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/CAT.ROS.pit.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/NYY.CLE.pit.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/mlb.ARI.recap.html
+http://totalsports.aol.com/stats/bbo/mlb/mlb/mlb.atl.vs.hou.stat.html
+http://www.jpc-music.com/2241771.htm
+http://sunsite.org.uk/packages/TeX/uk-tex/macros/latex/contrib/supported/europs/?M=A
+http://mitglied.tripod.de/blueblood/forum.html
+http://kuyper.calvin.edu/fathers2/NPNF1-06/npnf1-06-92.htm
+http://garbage.sonicnet.com/classical/features/Thomas,_Tilson/060500/index04.jhtml
+http://dk.egroups.com/post/danish?act=forward&messageNum=6
+http://www.bornloser.com/comics/peanuts/f_profiles/html/f4b1.html
+http://www.online.kokusai.co.jp/Home/V0043517/wrd/G100/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380823/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.france.hp.com/Main/acheterhp/
+http://www.bemi-immobilien.de/Landhaus-Bordeaux/Gemeinsam/versicherungen/lebensversicherung/Gemeinsam/Startseite/Top-Darlehens-Konditionen/Gemeinsam/erreichenPartner/email3d.htm
+http://sunsite.org.uk/public/pub/Mirrors/ftp.hpc.uh.edu/pub/?D=A
+http://genforum.genealogy.com/cgi-bin/print.cgi?tillery::418.html
+http://ring.omp.ad.jp/archives/lang/perl/CPAN/authors/id/MSCHWARTZ/?M=A
+http://montxsuz.all-hotels.com/usa/massachusetts/plymouth_e1.htm
+http://montxsuz.all-hotels.com/usa/massachusetts/brewster_e1.htm
+http://montxsuz.all-hotels.com/usa/massachusetts/edgartown_e1.htm
+http://montxsuz.all-hotels.com/usa/massachusetts/north_dartmouth_e1.htm
+http://montxsuz.all-hotels.com/usa/massachusetts/washington_e1.htm
+http://romeo.univ-savoie.fr/winnt/adnload/51179_28892.html
+http://www.dispatch.co.za/1998/12/02/sport/FALDO.HTM
+http://www.dispatch.co.za/1998/12/02/sport/RACE2.HTM
+http://store1.europe.yahoo.com/brink2/2000074707407.html
+http://www34.yahoo.co.jp/horse/1999/tokyo/0530/result_08.html
+http://members.tripod.co.jp/suiha_izumi/gallery-taikoubou-.htm
+http://linuxberg.vol.at/gnomehtml/adnload/020-008-002-004_6145.html
+http://books.hyperlink.com/bookdetails/Nuclear_Power_Plants_Worldwide/0810388804
+http://www.hudecek.de/gen/gen57.htm
+http://www.hudecek.de/gen/gen61.htm
+http://unofficial.capital.edu/students/kralph/
+http://web6.peopledaily.com.cn/gjjrb/200004/home.htm
+http://www.gov.hk/hkma/eng/public/sccr/toc.htm
+http://www4.50megs.com/johnphil29/86week3injury.htm
+http://www4.50megs.com/johnphil29/86week3loupitlog.htm
+http://naver22.juniornaver.co.kr/Entertainment_and_Arts/Performing_Arts/Theater/Musical/
+http://198.103.152.100/search*frc/dInfrastructure+(Economics)+--+Canada/dinfrastructure+economics+canada/-5,-1,0,B/frameset&F=dinfrastructure+economics&3,,0
+http://198.103.152.100/search*frc/dInfrastructure+(Economics)+--+Canada/dinfrastructure+economics+canada/-5,-1,0,B/frameset&F=dinfrastructure+economics&5,,0
+http://www.playgirl.dk/oncampus/feature/collegemovies/06.html
+http://www.linux.com/networking/support/red_hat/internet/consumer/growth/
+http://www.linux.com/networking/support/red_hat/internet/consumer/mainstream/
+http://no.egroups.com/message/tengu-l/224
+http://no.egroups.com/message/tengu-l/229
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.3-4/linux/Documentation/filesystems/romfs.txt?only_with_tag=LINUX-2_3_24
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.3-4/linux/Documentation/filesystems/romfs.txt?only_with_tag=LINUX-2_3_22
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.3-4/linux/Documentation/filesystems/romfs.txt?only_with_tag=LINUX-2_3_16
+http://sunsite.informatik.rwth-aachen.de/LinuxArchives/slackware/slackware/source/a/e2fsprog/?M=A
+http://bbs.syu.ac.kr/NetBBS/Bbs.dll/ipspds018/lst/qqa/f/qqo/008A/zka/B2-kB2-p
+http://stulchik.list.ru/catalog/13346.html
+http://katalog.wp.pl/www/Biznes_i_Ekonomia/Firmy_Podzial_wg_Branz/Elektrotechnika_i_Energetyka/index25.html
+http://www.fogdog.com/cedroID/ssd3040183313356/nav/stores/tennis/
+http://www.fogdog.com/cedroID/ssd3040183313356/customer_service/shop_by_catalog.html
+http://193.207.57.3/cgi-win/hiweb.exe/a2/d13/b4,4,1f,4,4,,
+http://ring.omp.ad.jp/archives/lang/perl/CPAN/modules/by-authors/id/JPRIT/Envy-2.45.readme
+http://193.207.57.3/cgi-win/hiweb.exe/a2/d1342/b4,4,1f,e,e,,
+http://library.wuhee.edu.cn/dzsy/military/china/army/002.htm
+http://library.wuhee.edu.cn/dzsy/military/china/army/006.htm
+http://library.wuhee.edu.cn/dzsy/military/china/army/059.htm
+http://library.wuhee.edu.cn/dzsy/military/china/army/095.htm
+http://polygraph.ircache.net:8181/http_-2www.geocities.com/TimesSquare/Maze/2075/http_-2www.yahoo.com/Science/Engineering/Mechanical_Engineering/corporate.htm
+http://198.103.152.100/search*frc/aGundavaram,+Shishir/agundavaram+shishir/-17,-1,0,B/frameset&F=aguirdham+maureen&1,1
+http://findmail.com/message/geewhiz/21
+http://sound-dist.secured.co.uk/cgi-bin/psProdDet.cgi/19P02|972959597|Luggage|user|0|1,0,0,1
+http://sound-dist.secured.co.uk/cgi-bin/psShop.cgi/add|19P03|972959597|Luggage|user|0|1,0,0,1
+http://nme.com/AST/Discussion_Groups/CDA/Message_Search/1,1105,37_92-0-0-7,00.html
+http://namviet.subportal.com/sn/Programming/Visual_Basic_Components_H-P/5638.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4963.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4810.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4735.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/3294.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/3329.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4689.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4646.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4582.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4587.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4154.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4607.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4600.html
+http://www2.so-net.ne.jp/cinet/board/log/200001/messages/4571.html
+http://www.gotocity.com/local/2/us/KS/g/67455/shopping/
+http://www.mapion.co.jp/custom/AOL/admi/13/13115/ogikubo/1chome/index-1.html
+http://www.mapion.co.jp/custom/AOL/admi/13/13115/ogikubo/1chome/index-21.html
+http://neuro-www.mgh.harvard.edu/forum_2/ChronicPainF/Capornottocapthatisthe.html
+http://www.yagoo.co.kr/stats/pitching.asp?Mlbmanid=MIGDEL7299
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=50&discrim=165,233,7
+http://www.mirror.edu.cn/res/sunsite/pub/academic/literature/book-reviews/1994/8-August/?N=D
+http://www.ferien-immobilien.de/ungarn/verkauf/Versteigerungen-IB/Startseite/Allgemeine-IB/Gemeinsam/versicherungen/gebaeude/Gemeinsam/vertriebspartner.htm
+http://www.ferien-immobilien.de/ungarn/verkauf/Versteigerungen-IB/Startseite/Allgemeine-IB/Gemeinsam/versicherungen/gebaeude/Gemeinsam/feedback.html
+http://www.bjd.com.cn/BJWB/20000401/GB/BJWB^10199^1^01W136.htm
+http://pluto.beseen.com/boardroom/u/49766/
+http://amadeus.siba.fi/doc/bitchx/documentation/color.txt
+http://www.ealingcommon.londonengland.co.uk/pensions.htm
+http://pub8.ezboard.com/fthecriticalpoetsmessageboartheartofcritiquing.showMessage?topicID=11.topic&index=13
+http://pub8.ezboard.com/fthecriticalpoetsmessageboareverythingelse.showMessage?topicID=223.topic&index=10
+http://www.endocrine.ru/Meln_09_10_00/_vti_bin/shtml.exe/meln_post.htm?79
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,0+9,3-12,0+18,0
+http://www.jobvillage.com/channel/jobs/media_communication/b.9255.g.1733.html
+http://www.teenplatinum.com/barelylegal/no-boundarieshardcore/flashingbarely-legal/sweatingendurance/cuntamateur/chinesepetite/bootygay-bar/lubricationfellatio.html
+http://www.babyheirlooms.com/catalog/htmlos.cat/001222.1.5246799112
+http://src.openresources.com/debian/src/utils/HTML/R/change_cur_jutil.html
+http://genforum.genealogy.com/caudill/messages/389.html
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959928076/Catalog/1000003
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959928076/ContentView/1000188/1/1201981
+http://www.marketingtool.com/contribute/webfirm/b.435.r.2416.html
+http://dell.excite.co.jp/member_encounters/mailing_list/ml_for_women
+http://www.angeredsgymn.se/doc/sdb/en/html/keylist.SIGNSET.html
+http://map.ipc.co.jp/asp/onmap/r/new/g-27/f-525628/
+http://www.jpc-music.com/2549026.htm
+http://www.egroups.com/message/nandscarolina/324?source=1
+http://www.jpc-music.com/2226499.htm
+http://www.jpc-music.com/2226480.htm
+http://tucows.bigskysoft.com/winnt/miscaudiont_rating.html
+http://tucows.bigskysoft.com/winnt/adnload/69355_28370.html
+http://www.hole.kommune.no/hole/journweb.nsf/weboffjournal!OpenView&Start=115.23&Count=50&Expand=130
+http://personal.atl.bellsouth.net/mia/a/j/ajcubas/
+http://yp.gates96.com/7/49/21/96.html
+http://yp.gates96.com/7/49/22/39.html
+http://yp.gates96.com/7/49/22/60.html
+http://yp.gates96.com/7/49/22/70.html
+http://yp.gates96.com/7/49/22/75.html
+http://yp.gates96.com/7/49/23/8.html
+http://yp.gates96.com/7/49/23/30.html
+http://yp.gates96.com/7/49/23/43.html
+http://yp.gates96.com/7/49/24/7.html
+http://yp.gates96.com/7/49/24/8.html
+http://yp.gates96.com/7/49/24/27.html
+http://yp.gates96.com/7/49/24/49.html
+http://yp.gates96.com/7/49/25/92.html
+http://yp.gates96.com/7/49/26/56.html
+http://yp.gates96.com/7/49/26/77.html
+http://yp.gates96.com/7/49/28/23.html
+http://yp.gates96.com/7/49/28/34.html
+http://yp.gates96.com/7/49/29/56.html
+http://yp.gates96.com/7/49/29/60.html
+http://sound-dist.secured.co.uk/cgi-bin/psShop.cgi/add|38P08B|972959501|Communications|user|0|1,0,0,1
+http://193.207.57.3/cgi-win/hiweb.exe/a2/d170/b9,4,1f,1c,1c,,
+http://wuarchive.wustl.edu/systems/linux/replay/debian/dists/unstable/non-US/binary-hurd-i386/?M=D
+http://www.private-immobilien-boerse.de/friesland/verkauf/Ferien-IB/Startseite/Gemeinsam/MarketingStrategie/Allgemeine-IB/Startseite/Exklusiv-IB/Startseite/
+http://citeseer.nj.nec.com/update/269184
+http://citeseer.nj.nec.com/cidcontext/3266491
+http://citeseer.nj.nec.com/cidcontext/3266502
+http://genforum.genealogy.com/cgi-genforum/forums/hinkle.cgi?786
+http://eagle.synet.edu.cn/mirror/www.wisc.edu/grad/catalog/cals/biometry.html
+http://cisne.sim.ucm.es/search*spi/cCDR7(035)TRA/ccdr7(035)tra/-5,-1,0,B/frameset&F=ccdr7(058)may&1,1
+http://www.wfg-rhein-lahn.de/goldenes-fass/schrott2.htm
+http://www.jamba.nl/KNet/_KNet-6Aw8j1-pC4-ptt0/browse.nl/node.0/cdn40t70v
+http://www.dcc.ufmg.br/Entnet/estrem/tsld018.htm
+http://sites.uol.com.br/knaumann/DorstnerDrahtwerke.html
+http://64.209.212.162/learnlots/step/0,2891,9+47+95+23413+12412_0,00.html
+http://www.on-semiconductor.com/pub/prod/0,1824,productsm_ProductSummary_BasePartNumber=LM337A,00.html
+http://jxi.gov.cn/yw-gn001.nsf/view!OpenView&Start=39.19&Count=30&Expand=53
+http://systemlogic.neoseeker.com/Games/Products/PC/dropship/dropship_reviews.html
+http://link.fastpartner.com/do/session/600373/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/smartguy.php
+http://www.bsv.ch/ch/d/sr/0_211_222_1/a10.html
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/contact.netscape.com/contact
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/entertainment.netscape.com/entertainment/
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/games.netscape.com/computing/games/features/
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/home.netscape.com/finance/taxes/
+http://link.fastpartner.com/do/session/600379/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/brleksaker.php
+http://itcareers.careercast.com/texis/it/itjs/+TwwBmeOWD86eDhwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewPXwotoBwcaqconDBahoDwDqnaqddGmoDwBdGaqdMpwDon5aBnwMax1mtnBoDtaMwoDBnDwDqnapGdqn55n5aGn51MnaMFqryfHfREIDzmUwwwpBme+9D86Exww5rme7dwwwBrmeZpwww/jobpage.html
+http://fi.egroups.com/message/handebol_aaagm/5?source=1
+http://www.crutchfield.com/cgi-bin/S-SHC3792E7De/viewcart.asp
+http://www.links2go.org/more/www.asle.umn.edu/
+http://yp.gates96.com/7/69/10/58.html
+http://yp.gates96.com/7/69/10/64.html
+http://yp.gates96.com/7/69/10/76.html
+http://yp.gates96.com/7/69/10/91.html
+http://yp.gates96.com/7/69/11/31.html
+http://yp.gates96.com/7/69/11/67.html
+http://yp.gates96.com/7/69/11/70.html
+http://yp.gates96.com/7/69/11/88.html
+http://yp.gates96.com/7/69/11/96.html
+http://yp.gates96.com/7/69/12/25.html
+http://yp.gates96.com/7/69/12/29.html
+http://yp.gates96.com/7/69/12/61.html
+http://yp.gates96.com/7/69/12/65.html
+http://yp.gates96.com/7/69/12/73.html
+http://yp.gates96.com/7/69/13/30.html
+http://yp.gates96.com/7/69/13/36.html
+http://yp.gates96.com/7/69/14/8.html
+http://yp.gates96.com/7/69/14/32.html
+http://yp.gates96.com/7/69/14/54.html
+http://yp.gates96.com/7/69/14/62.html
+http://yp.gates96.com/7/69/14/83.html
+http://yp.gates96.com/7/69/15/34.html
+http://yp.gates96.com/7/69/15/87.html
+http://yp.gates96.com/7/69/16/18.html
+http://yp.gates96.com/7/69/17/5.html
+http://yp.gates96.com/7/69/17/22.html
+http://yp.gates96.com/7/69/17/44.html
+http://yp.gates96.com/7/69/17/86.html
+http://yp.gates96.com/7/69/17/88.html
+http://yp.gates96.com/7/69/18/16.html
+http://yp.gates96.com/7/69/18/83.html
+http://yp.gates96.com/7/69/18/88.html
+http://yp.gates96.com/7/69/19/0.html
+http://yp.gates96.com/7/69/19/1.html
+http://yp.gates96.com/7/69/19/97.html
+http://213.36.119.69/do/session/152995/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/jeux/jeux_himalaya.html
+http://www.egroups.com/post/sikhstudent?act=forward&messageNum=77
+http://ca.yahoo.com/Regional/U_S__States/Wisconsin/Metropolitan_Areas/Milwaukee_Metro/Business_and_Shopping/Shopping_and_Services/Food_and_Drink/Beverages/
+http://www.aelita.net/products/services/library/~archive/Download_redirect/company/news/default.htm
+http://mindex.tucows.com/winme/preview/430.html
+http://coda.nctu.edu.tw/vendors/DBMaker/DBMaker/driver/PHP/?S=A
+http://www.streetprices.com/Electronics/Computer_Hardware_PC/Switches/Monitor/MAKE+BELKIN+COMPONENTS/sortproductbydesc/SP151043.html
+http://wynnsystems.com/y9I_5aVd/careerlink.html
+http://www.volny.cz/alik/akordy/zizen.htm
+http://www.houses-apartment-listings.com/Michigan/city_search_criteria.asp?state=MI&City=CHAMPION
+http://pub9.ezboard.com/fpyro1394pyro1394.showAddReplyScreenFromWeb?topicID=345.topic
+http://www.maastrek.de/maas/01851471b455eff5cd01/1/0/1
+http://beta.mkn.co.uk/wine/order/champ2?what-mnw9=1
+http://beta.mkn.co.uk/wine/order/champ2?what-mnw14=1
+http://sunsite.org.uk/public/pub/packages/andrew/auis-6.3/overhead/
+http://www.ferien-immobilien.de/Spanien/Verkauf/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/Gemeinsam/Exklusiv-IB/Startseite/Gemeinsam/geschaeftsbedingungen.htm
+http://www.trax.nilex.co.uk/trax.cgi/A1S/A2S/A3S/1AL/A2D/A1S/
+http://www.trax.nilex.co.uk/trax.cgi/A1S/A2S/A3S/1AL/A2D/C2S/
+http://tv.thevines.com/leaf/AA0000369148/3/1
+http://tv.thevines.com/leaf/AA0000369148/37/0/&favorite[join]=yes
+http://www.centc251.org/forums/aca-1/dispatch.cgi/isowg4/showFolder/100001/1304571
+http://freebsd.ntu.edu.tw/perl/modules/by-module/FileCache/ILYAZ/?D=A
+http://www.highwired.net/Sport/Player/0,2291,2037-46698,00.html
+http://www.nl.sco.com/unixware/adminguide/qs-11-32.html
+http://www.online.kokusai.co.jp/Service/V0043502/wrd/G200/service/service.html
+http://www.realize.com/ambe7581.htm,qt=e784fe2f=2a38a234-14-26557ed-80000000-0-0-3--
+http://www.realize.com/am9a7d81.htm,qt=e784fe2f=2a38a234-14-26557ed-80000000-0-0-3--
+http://www.geocities.co.jp/Colosseum/7952/dragon3.html
+http://uk.dir.clubs.yahoo.com/Entertainment___Arts/Magic/~other/~White_Pages/2.html
+http://yp.gates96.com/13/9/60/95.html
+http://yp.gates96.com/13/9/60/97.html
+http://yp.gates96.com/13/9/61/12.html
+http://yp.gates96.com/13/9/61/42.html
+http://yp.gates96.com/13/9/61/52.html
+http://yp.gates96.com/13/9/62/13.html
+http://yp.gates96.com/13/9/62/19.html
+http://yp.gates96.com/13/9/62/32.html
+http://yp.gates96.com/13/9/62/44.html
+http://yp.gates96.com/13/9/62/75.html
+http://yp.gates96.com/13/9/63/71.html
+http://yp.gates96.com/13/9/63/89.html
+http://yp.gates96.com/13/9/64/16.html
+http://yp.gates96.com/13/9/64/64.html
+http://yp.gates96.com/13/9/64/83.html
+http://yp.gates96.com/13/9/65/15.html
+http://yp.gates96.com/13/9/65/39.html
+http://yp.gates96.com/13/9/65/81.html
+http://yp.gates96.com/13/9/66/19.html
+http://yp.gates96.com/13/9/66/51.html
+http://yp.gates96.com/13/9/67/72.html
+http://yp.gates96.com/13/9/67/75.html
+http://yp.gates96.com/13/9/67/93.html
+http://yp.gates96.com/13/9/67/94.html
+http://yp.gates96.com/13/9/68/9.html
+http://yp.gates96.com/13/9/68/14.html
+http://yp.gates96.com/13/9/68/23.html
+http://yp.gates96.com/13/9/68/39.html
+http://yp.gates96.com/13/9/68/68.html
+http://yp.gates96.com/13/9/69/22.html
+http://yp.gates96.com/13/9/69/62.html
+http://shop.intouch.de/cgi-bin/Eternit-Shop/1678827467/IconBar
+http://www.jango.com/home_and_garden/outdoor_and_garden/gardening/outdoor_furniture/miscellaneous/?num=1&prod=7
+http://ring.omp.ad.jp/archives/lang/perl/CPAN/authors/id/SHERWOOD/CHECKSUMS
+http://www.acad.polyu.edu.hk/spkg/sas8/sasdoc/hrddoc/indfiles/57263.htm
+http://ftp.te.fcu.edu.tw/cpatch/system/mbm/source/?D=A
+http://web1.localbusiness.com/Story/0,1118,SAN_11751,00.html
+http://www.amulation.com/md-l-archive/199902/msg00357.html
+http://ads3.zdnet.com/c/g=r1517&c=a53585&camp=c13878&idx=2000.10.30.21.32.11/www.sega.com/seganet
+http://pub.chinaccm.com/23/news/200009/30/111206.asp
+http://www.online.kokusai.co.jp/Service/V0043534/wrd/G200/service/service.html
+http://www.buybuddy.com/sleuth/27/1/1060204/2992/
+http://www.friend4life.com/foreign-affair/infopage/info12655.htm
+http://www.friend4life.com/women/info7867.htm
+http://www.friend4life.com/women/info11637.htm
+http://www.chabadlibrary.org/ecatalog/EC07/EC07328.HTM
+http://tulips.ntu.edu.tw/search*chi/cJC311+S275+1992/cjc++311+s275+1992/7,-1,0,E/2browse
+http://stationradio.subportal.com/sn/Network_and_Internet/Misc__Networking_Tools/866.html
+http://www.canlii.org/ca/regu/sor88-278/sec2.html
+http://www.rottentomato.com/movies/titles/traffic/click.php?review=1
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=4,26,16,35,15
+http://www.staroriental.net/nav/soeg/ihf,aai,n2,169,Electric+Wave+Girl+1998.html
+http://www.staroriental.net/nav/soeg/ihf,aai,n2,176,Electric+Wave+Girl+1998.html
+http://www.teenplatinum.com/barelylegal/bellyovary/parkingjail-bait/oral-sexoral-sex/big-bonedmen/sex/main.html
+http://troy.lib.sfu.ca/search/snewsinc/snewsinc/-5,1,1,B/frameset&F=snewsbrief&1,,2
+http://biblio.cesga.es:81/search*gag/dL&oacute%3Bpez+de+Medina,+Juan/dlopez+de+medina+juan/-5,-1,0,B/frameset&F=dlopez+de+ayala+pedro+critica+e+interpretacion&1,,2
+http://proxy.rmcnet.fr/udsp68/commissions.htm
+http://proxy.rmcnet.fr/udsp68/csp_colmar.htm
+http://yp.gates96.com/4/0/70/88.html
+http://yp.gates96.com/4/0/71/51.html
+http://yp.gates96.com/4/0/71/57.html
+http://yp.gates96.com/4/0/71/84.html
+http://yp.gates96.com/4/0/71/85.html
+http://yp.gates96.com/4/0/72/84.html
+http://yp.gates96.com/4/0/72/94.html
+http://yp.gates96.com/4/0/73/15.html
+http://yp.gates96.com/4/0/73/92.html
+http://yp.gates96.com/4/0/74/96.html
+http://yp.gates96.com/4/0/75/23.html
+http://yp.gates96.com/4/0/75/94.html
+http://yp.gates96.com/4/0/76/41.html
+http://yp.gates96.com/4/0/76/82.html
+http://yp.gates96.com/4/0/77/64.html
+http://yp.gates96.com/4/0/78/93.html
+http://yp.gates96.com/4/0/79/72.html
+http://yp.gates96.com/4/0/79/82.html
+http://fi.egroups.com/message/morehealth/13?source=1
+http://cn.egroups.com/message/Multicultural/489
+http://cn.egroups.com/message/Multicultural/495
+http://cn.egroups.com/message/Multicultural/497
+http://yp.gates96.com/4/1/60/54.html
+http://yp.gates96.com/4/1/60/69.html
+http://yp.gates96.com/4/1/61/83.html
+http://yp.gates96.com/4/1/62/68.html
+http://yp.gates96.com/4/1/63/13.html
+http://yp.gates96.com/4/1/63/42.html
+http://yp.gates96.com/4/1/63/61.html
+http://yp.gates96.com/4/1/63/73.html
+http://yp.gates96.com/4/1/64/15.html
+http://yp.gates96.com/4/1/64/49.html
+http://yp.gates96.com/4/1/64/54.html
+http://yp.gates96.com/4/1/65/19.html
+http://yp.gates96.com/4/1/65/26.html
+http://yp.gates96.com/4/1/65/69.html
+http://yp.gates96.com/4/1/65/98.html
+http://yp.gates96.com/4/1/66/57.html
+http://yp.gates96.com/4/1/66/62.html
+http://yp.gates96.com/4/1/66/79.html
+http://yp.gates96.com/4/1/66/86.html
+http://yp.gates96.com/4/1/66/88.html
+http://yp.gates96.com/4/1/67/6.html
+http://yp.gates96.com/4/1/67/49.html
+http://yp.gates96.com/4/1/67/76.html
+http://yp.gates96.com/4/1/67/78.html
+http://yp.gates96.com/4/1/68/57.html
+http://yp.gates96.com/4/1/69/10.html
+http://yp.gates96.com/4/1/69/47.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=blich&l=de
+http://www.secinfo.com/d17xw.53m.htm
+http://www.cs.unm.edu/sheppard-bin/igmdesc.cgi/n=shep/I1475
+http://home.pchome.com.tw/computer/54915491/data/data2.htm
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/folderFrame/100001/0/author/3910318
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=215&discrim=164,80,165
+http://library.bangor.ac.uk/search/cHN582+.R45+1991/chn++582+r45+1991/-5,-1,0,B/bibandlinks&F=chn++573+h313&1,1
+http://mai.flora.org/forum/new-2110
+http://www.tucows.telia.no/winnt/adnload/68747_30295.html
+http://www.tucows.telia.no/winnt/adnload/135780_47081.html
+http://www.annotate.net/html/Annotate_Directory/Top/Regional/North_America/United_States/Louisiana/Localities/C/Coushatta
+http://wine.cc.chuo-u.ac.jp/home/pub/TeX/CTAN/support/mctex/?D=A
+http://pub21.ezboard.com/ujaletheadmin.showPublicProfile?language=EN
+http://ftp.lip6.fr/pub11/NetBSD/NetBSD-current/src/usr.sbin/quot/Makefile
+http://www.hrdc.gc.ca/socpol/cfs/bulletins/jan97/man_f.shtml
+http://www.loveme.com/infopage/info23899.htm
+http://polygraph.ircache.net:8181/http_-2www.fsa.org/MutareMap.asp
+http://www.sdrt.com.cn/tiyuzhichuang/wangqiu/mingxingdangan/4/gelafu.htm
+http://home.netvigator.com/~raympoon/digital7.htm
+http://www.bemi-immobilien.de/Startseite/www.allgemeine-immobilien-boerse.de/allgemeine-ib/landkreiszwickau/Verkauf/29109700708107kirchbergvillamü/Gemeinsam/3d-service/Top-Darlehens-Konditionen/Startseite/Gemeinsam/immolink/Startseite/froben.htm
+http://www.hum.auc.dk/~magnus/MHonArc/NTSEC/frm00999.html
+http://www.hum.auc.dk/~magnus/MHonArc/NTSEC/frm09255.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380849/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/entry.asp
+http://genforum.genealogy.com/cgi-genforum/forums/skeen.cgi?265
+http://wiem.onet.pl/wiem/00f59f.html
+http://www2.ipc.pku.edu.cn/scop/data/scop.1.007.033.001.002.000.html
+http://splitrock.themes.tucows.com/cursors/adnload/15789.html
+http://splitrock.themes.tucows.com/cursors/adnload/15884.html
+http://www.cpami.gov.tw/ymsnp/animal/insect/34654text.htm
+http://lateline.muzi.net/ll/fanti/89027.shtml
+http://www.hig.se/(accessed,comment,date,header,quote)/~jackson/roxen/
+http://ftpsearch.belnet.be/ftp/packages/Linux-RedHat/up2date/rhl-6.0/alpha/README
+http://ftpsearch.belnet.be/ftp/packages/Linux-RedHat/up2date/rhl-6.0/alpha/etc/
+http://ftpsearch.belnet.be/ftp/packages/Linux-RedHat/up2date/rhl-6.0/alpha/lib/
+http://polygraph.ircache.net:8181/services/define/http_-2www.microsoft.com/http_-2www.microsoft.com/ntserver/http_-2www.netscape.com/comprod/mirror/http_-2gateway.olympcfunding.com/products.html
+http://polygraph.ircache.net:8181/services/define/http_-2www.microsoft.com/http_-2www.microsoft.com/ntserver/http_-2www.netscape.com/comprod/mirror/http_-2gateway.olympcfunding.com/products/
+http://f7.parsimony.net/forum9177/messages/638.htm
+http://f7.parsimony.net/forum9177/messages/594.htm
+http://japan.medscape.com/medscape/HIV/journal/1998/v04.n03/expert1098/expert1098.html
+http://golfonline.comfluent.net/cgi.pan$advsts&Dicky_Pride&102&lwfth&pga?golfstats
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=93&discrim=5,200,183
+http://girls.4gee.com/japan/azumi_kawashima/big_page/0023.htm
+http://www.jobvillage.com/channel/jobs/travel/travel_guide/b.4899.g.37.html
+http://www.chaos.dk/sexriddle/b/o/q/p/
+http://www.osiris.978.org/~brianr/mirrors/olga/cowpie/m/mellencamp_john/?N=D
+http://www.jpc-music.com/1695294.htm
+http://sunsite.org.uk/packages/TeX/uk-tex/macros/latex/contrib/supported/t-angles/?D=A
+http://www.shopworks.com/index.cfm/action/info/userid/000B34B5-2F17-19FE-9038010B0A0ADCF2
+http://www.bemi-immobilien.de/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Top-Darlehens-Konditionen/Gemeinsam/Startseite/Gemeinsam/Gemeinsam/versicherungen/gebaeude/Gemeinsam/Inserieren/onlineInserieren.htm
+http://www.idgnet.com/crd_playstation_254384.html
+http://www.3wbooks.de/BauerGunter/BauerGunter3406402798.htm
+http://library.cwu.edu/search/dSports+--+Washington+(State)+--+Periodicals/dsports+washington+state+periodicals/-5,-1,0,B/request&F=dsports+university+of+michigan&1,,2
+http://www.aelita.net/products/library/sitemap/Reg/Subscribe/sitemap/Reg/QuoteRegister/Default.htm
+http://topcu.tucows.com/winme/preview/76604.html
+http://tonet.com.cn/zhuanyejihua/kaoshijihua/ligonglei/dianzizhuanyezhuanke.htm
+http://tonet.com.cn/zhuanyejihua/kaoshijihua/falv2001.htm
+http://tonet.com.cn/zhuanyejihua/kaoshijihua/caijinglei/gongshangqiyeguanlibenke.htm
+http://ftp.univ-lyon1.fr/faq/by-name/cats-faq/breeds/american-curl
+http://www.videos-erotism.com/xhuge/1/hardMid3.html
+http://www.zope.org/Wikis/DevSite/Projects/CoreSessionTracking/WikiWikiWeb/map
+http://www.v2music.com/Scripts/WebObjects-ISAPI.dll/V2_New_Publisher.woa/74461000003304200000112720000087451/Labels.wo/603110000077451/2.0.0.5.0/3/Webobjects1
+http://books.hyperlink.co.uk/bookinfo/Willa_Cathers_Transforming_Vision/Brienzo/Gary_W./0945636660
+http://ftp.darenet.dk/tucows/winme/adnload/137112_28604.html
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/TEKNIIKKA/korkeakoulukirjastot/yliopisto-+ja+korkeakoulukirjastot/insin%F6%F6rit/kirjastot/
+http://www.pokers.com/asp/sp-asp/_/SZ--2/PD--10017288/posters.htm
+http://itcareers.careercast.com/texis/it/itjs/+RwwBmelXD86elmwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewhXwotoBwcaMnmowamoGnqBdGaDntdBowBodD5aqconDBaMwGAnBoDtapd5oBodDaMwDwtnainxawqqd1DBaMFqryfHfREIDzmbwwwpBmezWD86Wwww5rme9cwwwBrmeZpwww/jobpage.html
+http://berlin-charlottenburg.de/deutsch/politik/ma/062.htm
+http://www.ericsson.cl/cables/protection/index.shtml
+http://209.207.239.212/bkindex/c1007/f1401.html
+http://209.207.239.212/bkindex/c1007/f1418.html
+http://www.neoseeker.com/forums/index.php?function=edit_message&messageid=1037
+http://www.neoseeker.com/forums/index.php?function=edit_message&messageid=1199
+http://www.geocities.co.jp/SweetHome-Green/3692/PROFILE.HTML
+http://www.geocities.co.jp/SweetHome-Green/3692/MELINDEX.HTML
+http://myhome.naver.com/bora1234/photo.html
+http://www.magicvillage.de/magicvillage/computercenter/Grafik%20%26%20Layout/Software/Macintosh/Hotline/PowerBooks/
+http://student.monterey.edu/nr/panditharatnesha/world/
+http://in.egroups.com/message/Michelles__Miracles/657
+http://www.babyheirlooms.com/catalog/htmlos.cat/001248.1.5492769465
+http://republika.pl/raduczulu/counter.html
+http://adex3.flycast.com/server/socket/127.0.0.1:2800/click/OnlineCitiesSM/OnlineCitiesInteractiveCityGuides/bd378258019
+http://www.8848.net/fjnews/200007/0728/2000072811393979.htm
+http://www.chaos.dk/sexriddle/m/n/x/t/
+http://www.maastrek.de/maas/01eea86f59dac641c053/1/0/4
+http://yp.gates96.com/14/79/82/8.html
+http://yp.gates96.com/14/79/82/95.html
+http://yp.gates96.com/14/79/82/98.html
+http://yp.gates96.com/14/79/83/10.html
+http://yp.gates96.com/14/79/83/16.html
+http://yp.gates96.com/14/79/83/48.html
+http://yp.gates96.com/14/79/84/4.html
+http://yp.gates96.com/14/79/84/96.html
+http://yp.gates96.com/14/79/85/34.html
+http://yp.gates96.com/14/79/85/96.html
+http://yp.gates96.com/14/79/86/9.html
+http://yp.gates96.com/14/79/86/11.html
+http://yp.gates96.com/14/79/86/28.html
+http://yp.gates96.com/14/79/86/32.html
+http://yp.gates96.com/14/79/86/86.html
+http://yp.gates96.com/14/79/86/96.html
+http://yp.gates96.com/14/79/87/96.html
+http://yp.gates96.com/14/79/88/38.html
+http://yp.gates96.com/14/79/88/74.html
+http://yp.gates96.com/14/79/88/95.html
+http://yp.gates96.com/14/79/89/57.html
+http://autos.yahoo.co.jp/ucar/m1010/k10102006199904/g24/a101020060240158710008510205199904_4.html
+http://www02.geocities.co.jp/HeartLand-Keyaki/7483/
+http://online.excite.de/wirtschaft/katalog/32476
+http://www9.hmv.co.uk:5555/do/session/1347777/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/Top_Navigation_Bar/top_navbar.html
+http://www9.hmv.co.uk:5555/do/session/1347777/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d90_sd0_pt0.html
+http://infoserv2.ita.doc.gov/efm/efm.nsf/Sources!OpenView&Start=5&Count=30&Collapse=54
+http://users.ai-lab.fh-furtwangen.de/for_local_use_only/CD-TMFUMV/daten/beisp/05321/?D=A
+http://www.babyheirlooms.com/catalog/htmlos.cat/011629.1.0871727476
+http://www.fogdog.com/cedroID/ssd3040183241146/cgi-bin/MyFogdog
+http://www.3w-geschichte.de/OReillyJamesT/OReillyJamesT0471287237.htm
+http://www.annotate.net/html/Annotate_Directory/Top/Arts/Movies/Titles/W/World_According_to_Garp,The/
+http://dandini.cranfield.ac.uk/vl=-39536559/cl=151/nw=1/rpsv/cw/web/nw1/bargen.htm
+http://cgi.superonline.com/cgi-bin/sworld43/thread.pl/forums/sworld43/oss2000/45.html?dir=nextResponse
+http://cgi.superonline.com/cgi-bin/sworld43/get/forums/sworld43/oss2000/45.html?admin
+http://dogbert.bizit.net/debian/dists/unstable/non-US/non-free/binary-sparc/?M=A
+http://ftp.eecs.umich.edu/debian/dists/potato/main/binary-i386/misc/?D=A
+http://fi.egroups.com/message/girlscouting/3383
+http://dk.egroups.com/group/scaleauto
+http://members.tripod.lycos.co.kr/SM4/paper.htm
+http://www.jamba.nl/KNet/_KNet-BqE8j1-JC4-pv4w/browse.nl/node.0/cde7f2elw
+http://yp.gates96.com/4/6/10/47.html
+http://yp.gates96.com/4/6/10/52.html
+http://yp.gates96.com/4/6/10/96.html
+http://yp.gates96.com/4/6/11/25.html
+http://yp.gates96.com/4/6/11/61.html
+http://yp.gates96.com/4/6/11/67.html
+http://yp.gates96.com/4/6/11/93.html
+http://yp.gates96.com/4/6/12/11.html
+http://yp.gates96.com/4/6/12/28.html
+http://yp.gates96.com/4/6/12/66.html
+http://yp.gates96.com/4/6/12/81.html
+http://yp.gates96.com/4/6/12/93.html
+http://yp.gates96.com/4/6/13/86.html
+http://yp.gates96.com/4/6/13/94.html
+http://yp.gates96.com/4/6/14/17.html
+http://yp.gates96.com/4/6/14/76.html
+http://yp.gates96.com/4/6/15/61.html
+http://yp.gates96.com/4/6/16/47.html
+http://yp.gates96.com/4/6/16/71.html
+http://yp.gates96.com/4/6/17/62.html
+http://yp.gates96.com/4/6/18/1.html
+http://yp.gates96.com/4/6/18/24.html
+http://yp.gates96.com/4/6/18/28.html
+http://158.169.50.70/eur-lex/it/lif/dat/1994/it_294D1217_09.html
+http://158.169.50.70/eur-lex/it/lif/dat/1995/it_295D0928_02.html
+http://158.169.50.70/eur-lex/it/lif/dat/1997/it_297D0904_03.html
+http://www.irishnews.com/k_archive/181299/local4.html
+http://www.irishnews.com/k_archive/181299/local14.html
+http://www.irishnews.com/k_archive/181299/local16.html
+http://uk.dir.yahoo.com/Regional/U_S__States/North_Carolina/Cities/Charlotte/Business_and_Shopping/Business_to_Business/Manufacturing/Casting__Moulding__and_Machining/
+http://www.uwec.edu/Academic/English/Projects/VonHaden/
+http://www.playease.com/et/beauty/img/jijinglian/jjl054.htm
+http://www.digitaldrucke.de/(aktuell,für,marktplatz,metamorphose,raum,sense)/_fort/html/themen/kultur/digital/digital.htm
+http://pub6.ezboard.com/fzfreesubmissiondirectoryplacestosubmitforfree.showMessage?topicID=35.topic
+http://pub6.ezboard.com/fzfreesubmissiondirectoryplacestosubmitforfree.showMessage?topicID=12.topic
+http://www.emerchandise.com/browse/DISNEY/TOY/b.FAVORITES%20COMICS%20CARTOONS%20DISNEY/s.CgJlPxcV
+http://www.centc251.org/forums/aca-1/dispatch.cgi/hsi/showNextUnseen/fol/100001/1302769
+http://911codes.com/games/platform/gameboy/sect/div/cont/list_cheat/spray/y/id/0000010187/gid/0000003974/_cheats/_walkthroughs/_codes/_pc/_n64/_psx/_gameboy/_playstation/
+http://library.bangor.ac.uk/search/dPolice+regulations+--+Great+Britain/dpolice+regulations+great+britain/7,-1,0,E/frameset&F=dpolice+social+work+great+britain+congresses&1,1
+http://www02.u-page.so-net.ne.jp/ta2/grosh/Training/Training9.html
+http://ring.shibaura-it.ac.jp/archives/linux/RedHat/redhat/code/i18n/trans/?D=A
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=15,35,22,28,26
+http://ftp.nacamar.de/pub/NetBSD/NetBSD-current/pkgsrc/graphics/ruby-gl/?S=A
+http://www.academyfloral.com/state/aliro/flowers/birthdaybouquet1.html
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/KIRJASTO-+JA+TIETOPALVELUT/ammattikorkeakoulukirjastot/ammattikorkeakoulut/p%E4ij%E4t-h%E4meen+koulutuskonserni/kirjastot/
+http://www.jpc-music.com/1409509.htm
+http://chat.sportsline.com/u/ce/feature/0,1518,2565545_56,00.html
+http://chat.sportsline.com/u/ce/feature/0,1518,1675610_56,00.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380831/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hpstore.hewlett-packard.fr/gp
+http://209.207.239.212/bkindex/c1016/f1419.html
+http://209.207.239.212/bkindex/c1016/f1424.html
+http://www.sports.aol.fr/Jo/Perec_2.html
+http://www.citybrazil.com.br/go/smiguelaraguaia/transporte.htm
+http://www.fileamerica.com/states/texas/local/cameron/ptax.html
+http://www.angelfire.com/nv/bellea
+http://school.educities.org/card/a4711862.html
+http://school.educities.org/card/a60902.html
+http://school.educities.org/card/amy60630.html
+http://school.educities.org/card/aney1.html
+http://school.educities.org/card/christinelee.html
+http://school.educities.org/card/grace3721.html
+http://school.educities.org/card/jj1245j.html
+http://school.educities.org/card/jyik.html
+http://school.educities.org/card/k3813813.html
+http://school.educities.org/card/k78780606.html
+http://school.educities.org/card/kitty1snoopy.html
+http://school.educities.org/card/landy1.html
+http://school.educities.org/card/m0522.html
+http://school.educities.org/card/mark747.html
+http://school.educities.org/card/okdh.html
+http://school.educities.org/card/poppybaby.html
+http://school.educities.org/card/ry21.html
+http://www.secinfo.com/dvtBm.7a.htm
+http://www.craft-supplies.co.uk/cgi-bin/psProdDet.cgi/HT206|972959537|Deluxe_Dividers|user|0|0,0,1,1
+http://in.egroups.com/post/book-readers?act=forward&messageNum=3829
+http://www.nacion.co.cr/ln_ee/2000/enero/31/mundo10.html
+http://www.bigstar.com/news/sb/index.cfm/4ae0978g371d907g1?fa=today
+http://www.bigstar.com/cs/index.cfm/4ae0978g371d907g1?fa=privacy
+http://v2.bdnet.com/I/Cailleaux/I/Cannabissimo/fiche_serie.htm
+http://ftp.darenet.dk/tucows/winnt/adnload/12475_29978.html
+http://ftp.darenet.dk/tucows/winnt/adnload/1879_29966.html
+http://www.canit.se/(h1,k15,mail,unix,www)/support/
+http://byron17.home.chinaren.com/lit/novle/maio.htm
+http://www.emerchandise.com/browse/PAGEANTS/MUG/b.FAVORITES%20PAGEANTS/s.Q8q0znEj
+http://stulchik.list.ru/catalog/10310.html
+http://stulchik.list.ru/catalog/10967.2.html
+http://dada.tucows.com/adnload/70717_30131.html
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/folderFrame/100001/0/alpha/7677890
+http://webraft.its.unimelb.edu.au/196024/students/cabong/pub/?M=A
+http://www.crutchfield.com/S-fFFHlZKyKNq/shop/
+http://www.earthsystems.org/gopher/seacnet/announce97-08-03-14/1994/aug94/94-08-25-18:%20Violence%20in%20Indian%20Country%20Over%20Waste
+http://www.brio.de/BRIO.catalog/39fdb65f08c44c28273fd472aa7806e3/UserTemplate/10
+http://www.qsl.net/hj3ufa
+http://www-jl.jl.cninfo.net/jlweb/book/wxtd/gu_long/chuliuxiang/bat/009.htm
+http://www.intel.fr/support/netport/pro/21402.htm
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957423999/957522544/Catalog/1375/001
+http://www01.u-page.so-net.ne.jp/qc4/sam-ft/gallerycraftspace.html
+http://rpmfind.net/linux/RPM/mandrake/usr_src_linux-2.2.16_pcmcia-cs-3.1.14_doc_Tree.html
+http://www.chrisgraef.de/chg/webdesigner_medien.html
+http://www.opengroup.com/trbooks/186/1864501634.shtml
+http://moviestore.zap2it.com/shopcart/s.1GUFVsoF
+http://moviestore.zap2it.com/browse/MOVIES/ACTIONFI/s.1GUFVsoF
+http://moviestore.zap2it.com/browse/MOVIES/PUPPET/s.1GUFVsoF
+http://ocean.ntou.edu.tw/search*chi/m387.224+M178t/m387.224+m178+t/-5,-1,0,E/buttonframe&F=m387.224+m178+m&1,,0
+http://www.egroups.com/message/BalletBuds/25
+http://link.fastpartner.com/do/session/600375/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/create/learn.htm
+http://www.vedomosti.spb.ru/2000/arts/spbved-2180-art-27.html
+http://www.vedomosti.spb.ru/2000/arts/spbved-2180-art-42.html
+http://www.vedomosti.spb.ru/2000/arts/spbved-2180-art-45.html
+http://www.vedomosti.spb.ru/2000/arts/spbved-2180-art-46.html
+http://www2.ipc.pku.edu.cn/scop/rsgen.cgi?pd=3nla
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959900763/Catalog/1000006
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959900763/Catalog/1000031
+http://fi.egroups.com/message/gailporter/199
+http://fi.egroups.com/message/gailporter/222
+http://www.egroups.com/messages/X-Air_Ultralight_Aircraft/359
+http://dia.tucows.com/winme/adnload/136838_28375.html
+http://dia.tucows.com/winme/adnload/136846_28383.html
+http://www.letsmusic.co.kr/directory/weblink/weblink_list/1,1011,100000000186810,00.html
+http://www.smcworld.com/smcworld/bp/large/0744_2_1611_2_1611b.html
+http://news.pchome.com.tw/ettoday/entertainment/20001028/index-20001028155543020439.html
+http://www2.stas.net/lostlane/J.html
+http://allmacintosh.arrakis.es/utilsmac_rating.html
+http://novel.hichinese.net/zt/zpj/k/kelisidi/kill/008.htm
+http://194.174.50.23/cgi-bin/FisRun/InsertExhibitorIntoNotebook/1/interpack99/d/2891
+http://www.loisirs.ch/jifmuf/14/roedrz.html
+http://www.linux.com/networking/server/business/operating_system/learning/consumer/
+http://dandini.cranfield.ac.uk/vl=-39685335/cl=158/nw=1/rpsv/cw/www/faqs.htm
+http://blisty.internet.cz/1250/9901/19990108a.html
+http://www.staroriental.net/nav/soeg/ihf,aai,n2,247,Electric+Wave+Girl+1998.html
+http://www.multimania.com/excave/vicking.html
+http://students.lsu.edu/students/main.nsf/Pages/CSISAJ1!OpenDocument&ExpandSection=5,14,21,12
+http://www.secinfo.com/dWXc8.bz.htm
+http://www.secinfo.com/dWXc8.9d.htm
+http://bbs.ee.ntu.edu.tw/boards/RomanceNovel/11/2/9/2/
+http://ftp.nacamar.de/pub/NetBSD/packages/1.4/amiga/emulators/?M=A
+http://no.egroups.com/subscribe/windows98
+http://ftp.dei.uc.pt/pub/netscape/communicator/english/4.76/unix/unsupported/linux20_libc5/?D=A
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www.gsb.stanford.edu/sloan/sloan_fellows.html
+http://apple.excite.com/entertainment/music/artists_and_genres/alternative_rock/grunge/stone_temple_pilots/merchandise/
+http://home.sprynet.com/~tales/asw2.html
+http://fi.egroups.com/post/audiovision?act=reply&messageNum=145
+http://www.zema.ru/post/forum/komi_respublika/usinsk/messages/712
+http://opac.lib.rpi.edu/search/ddesert+ecology/-5,-1,0,B/browse
+http://www.arm.com/sitearchitek/support.ns4/html/sdt_debug!OpenDocument&ExpandSection=6,32,7,5
+http://www.linux.com/networking/network/technology/security/community/open_source/
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=9,33,15,36,22
+http://isbn.nu/0505523892/borders
+http://www.informika.ru/text/database/geom/Draw/ris/ris34_1.htm
+http://caselaw.lp.findlaw.com/casecode/uscodes/42/chapters/77/subchapters/iii/parts/h/sections/section_6374_notes.html
+http://www.cyd.com.cn/zqb/19991104/GB/9672^Q805.htm
+http://providenet.tukids.tucows.com/win95nt/9-12/adnload/132963_46167.html
+http://www.chaos.dk/sexriddle/e/o/g/k/i/
+http://www2.brent.gov.uk/planning.nsf/013459d30f2ad00680256623005fcc0a/8af30b42469a1215802568720046524a!OpenDocument&ExpandSection=16,13,11,9,15
+http://jje.subportal.com/sn/Multimedia_and_Graphics/MPEG_Audio_Players_and_Editors/9126.html
+http://www.ropnet.ru/HyperNews/edit-response.pl/case/2856.html
+http://www.eveclub.com/cgi-bin/eveclub.front/972959508447/Catalog/1000045
+http://itcareers.careercast.com/texis/it/itjs/+rwwBmeO9D86MwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewDXnnqrDoqwcaiGoBnapd5oBodDaxw5nmamdq1MnDBwBodDawppcoqwBodD5a15naM15BapGdm1qBodDawxcnaMFqtPfRRZNDzme8xwwwpBme7WD86eLrwww5rm-mwwBrmeZpwww/jobpage.html
+http://www.iucr.ac.uk/iucr-top/journalsonline/iucr-top/cif/software/hiccup/prods/?M=A
+http://lists.omnipotent.net/mysql/199707/msg00381.html
+http://www.yescall.co.kr/kyungheein/
+http://minyos.its.rmit.edu.au/~s9763278/sparks/sparks.html
+http://www.movieguide.com/pressroom/events/nbcpresstour/festival_nbcpresstour9.html
+http://www.gamers.net/game/190940/reviews
+http://www.staroriental.net/nav/soeg/ihf,aai,n2,198,Electric+Wave+Girl+1998.html
+http://marysz.freeservers.com/cgi-bin/c/736/64/dXNlcmJhbm5lcg==/gn/6616/
+http://subversion.tigris.org/source/browse/subversion/subversion/libsvn_delta/delta.h?annotate=1.34&sortby=rev
+http://subversion.tigris.org/source/browse/subversion/subversion/libsvn_delta/delta.h?annotate=1.28&sortby=rev
+http://sunsite.org.uk/public/public/packages/WWW/spinner/?D=A
+http://sunsite.org.uk/public/public/packages/WWW/spinner/untared/
+http://www.realbig.com/miata/miata/1998-01/1635.html
+http://cky.8k.com/cgi-bin/framed/1359/info/jess.html
+http://cky.8k.com/cgi-bin/framed/1359/info/bran.html
+http://www.loisirs.ch/jifmuf/10/bhcqud.html
+http://naver22.jrnaver.co.kr/Entertainment_and_Arts/Design_Arts/Architecture/Organizations/
+http://www.zing.com/member/?name=birchpole&c=1
+http://student.monterey.edu/nr/porrasjohnny/campus/
+http://ftp.lip6.fr/pub/FreeBSD/development/FreeBSD-CVS/ports/misc/peq/files/patch-ab,v
+http://www.multimania.com/lesoir2/news/sept99/quake4.htm
+http://www.multimania.com/lesoir2/news/sept99/2309-12.txt
+http://www.multimania.com/lesoir2/news/sept99/0609-06.txt
+http://www.multimania.com/lesoir2/news/sept99/1309-13.txt
+http://homepage1.nifty.com/shiraishi/school/school2.htm
+http://ring.htcn.ne.jp/pub/NetBSD/NetBSD-current/pkgsrc/mbone/sdr/pkg/PLIST
+http://www.chaos.dk/sexriddle/m/c/z/b/
+http://www.chaos.dk/sexriddle/m/c/z/p/
+http://map.ipc.co.jp/asp/onmap/r/new/g-26/f-523824/
+http://www.nissan.co.jp/RENAULT-DEALERS/PASSPORT/view.cgi/admission/972959650--
+http://novel.hichinese.net/xd/gt/zpj/l/liangfengyi/jingrong/010.htm
+http://www.tvstore.com/browse/TV/MAGNET/s.l03qOWiP
+http://www.tvstore.com/browse/TV/KEYCHAIN/s.l03qOWiP
+http://www.gbnf.com/genealog2/burt/html/d0002/I1199.HTM
+http://www.gbnf.com/genealog2/burt/html/d0006/I1187.HTM
+http://www.gbnf.com/genealog2/burt/html/d0004/I1521.HTM
+http://src.openresources.com/debian/src/graphics/HTML/R/HVcreate.html
+http://yomama.tgm.ac.at/doc/susehilf/gnu/vip/Changing.html
+http://www.science.uva.nl/pub/NetBSD/NetBSD-current/pkgsrc/sysutils/gmc/pkg/
+http://news.fm365.com/zonghe/20001009/156610.htm
+http://homepage1.nifty.com/tojo/shin13.htm
+http://www.sf.digitalcity.com/naplesfl/personals/browse.dci?cat=wsw&sort=t
+http://plat.debian.or.jp/debian/dists/woody/non-free/binary-hppa/otherosfs/?M=A
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/ports/databases/gdbm/distinfo?only_with_tag=RELEASE_4_1_0
+http://bbs.csie.ntu.edu.tw/txt/Emprisenovel/ebooks/mystery/alisanderla/wsyz/013.txt
+http://www.legis.state.ia.us/GA/78GA/Legislation/SCR/00000/SCR00018/?M=D
+http://www.mapion.co.jp/custom/AOL/admi/23/23104/kaminagoya/2chome/index-2.html
+http://ciscom.cnet.com/hardware/member/entry/0,10285,0-1069-419-1544825,00.html
+http://wow-online.vhm.de/Regional/Grossbritannien/Kunst.html
+http://www.cs.rit.edu/~hpb/Man/_Man_Openwin_html/html2/sigaction.2.html
+http://in.egroups.com/message/talksigncreate/287
+http://rainforest.parentsplace.com/dialog/thread.pl/newclubfoot8/19.html?dir=nextThread
+http://ftp.jp.debian.org/debian-non-US/dists/potato/non-US/main/binary-arm/?N=D
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=baumelte&l=de
+http://www.chaos.dk/sexriddle/i/f/p/k/h/
+http://unionsoft.narod.ru/3d/anatomy/pages/head1.htm
+http://src.openresources.com/debian/src/electronics/acs_021.orig/acs-021.orig/
+http://www.mapion.co.jp/custom/AOL/admi/23/23111/takagicho/2chome/index-45.html
+http://dennou-q.geo.kyushu-u.ac.jp/library/Linux/debian-jp/dists/unstable/contrib-jp/binary-m68k/tex/?N=D
+http://rapidus.tucows.com/winnt/adnload/54123_28460.html
+http://193.207.119.193/MV/gazzette_ufficiali/303-99/8.htm
+http://www.emerchandise.com/help_security/b.TV%20FRASIER/s.LoO0xS99
+http://gpul.org/ftp/os/linux/cd-images/other/ISO/suse/?M=A
+http://opac.lib.rpi.edu/search/arush+sean+c/-17,-1,0,E/frameset&arush+homer+f&1,,0
+http://genforum.genealogy.com/cgi-genforum/forums/griffin.cgi?3823
+http://www.leo.org/leoclick/dce2b1c893db6a8193428ecad9ecd878+L+1__
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=55&discrim=178,230,174
+http://www.msb.malmo.se/search*swe/aKling,+Rolf/akling+rolf/7,-1,0,B/browse
+http://retailer.gocollect.com/do/session/1912785/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/checkout/shopping_cart.asp
+http://st3.yahoo.co.jp/nihondo/k4932828003023.html
+http://webtools.familyeducation.com/whatworks/review/front/0,2562,1-10641-2316_-7233-3,00.html
+http://www.bretagne-online.com/telegram/htdocs/archive/1997/19970618/sommaire/stpoldeleon.htm
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=234&discrim=235,230,183
+http://www.yagoo.co.kr/stats/batting.asp?Mlbmanid=HAMPAT7709
+http://www.linux.com/networking/network/new/website/suse/SAP/
+http://www.linux.com/networking/network/new/website/suse/security/
+http://javatest.a-net.nl/servlet/pedit.Main/http://www.cdc.gov/ncidod/dpd/parasiticpathways/drinkingwater.htm
+http://www.across.or.jp/shizuoka/nbbs.cgi/seibu:n52/post
+http://www.across.or.jp/shizuoka/nbbs.cgi/seibu:n52/450
+http://www.across.or.jp/shizuoka/nbbs.cgi/seibu:n52/607
+http://dangerous.co.kr/www.sony.co.jp/ProductsPark/Consumer/Peripheral/MDData/page6.html
+http://www2.sega.co.jp/bbs/article/s/sports/47/xvwixh/jlvcgk.html
+http://troy.lib.sfu.ca/search/alondon+mathematical+society/alondon+mathematical+society/-5,-1,0,B/frameset&F=alondon+m+c+s&2,,3
+http://pub14.ezboard.com/fbrlproductionsfrm10.showAddTopicScreenFromWeb
+http://rex.skyline.net/html/Computers_-_Monitors.html?16,computers,radio,electronics,communication
+http://rex.skyline.net/html/Software_-_Developers.html?20,computers,radio,electronics,communication
+http://ftp.cwi.nl/static/publications/reports/abs/MAS-R9815.html
+http://www.jt.com.br/noticias/98/09/28/sd2.htm
+http://www.kentuckyconnect.com/heraldleader/news/080899/sportsdocs/08chuck.htm
+http://pix.egroups.com/post/ipe?act=forward&messageNum=5302
+http://tulips.ntu.edu.tw/search*chi/cHT392+Un3/cht++392+un3/-5,-1,,B/browse
+http://magazines.sina.com/gourmet/contents/199912/199912-006_3_gb.html
+http://collection.nlc-bnc.ca/100/201/300/january/2000/00-06-05/sanctuary.html
+http://collection.nlc-bnc.ca/100/201/300/january/2000/00-06-05/blue1.html
+http://www.vorlesungen.uni-osnabrueck.de/informatik/pt/code/DiagramPalettes/Components.dpalette2/Image45
+http://www.vorlesungen.uni-osnabrueck.de/informatik/pt/code/DiagramPalettes/Components.dpalette2/Image5
+http://playsite.top263.net/software/hh-13.htm
+http://www.dispatch.co.za/1998/12/21/sport/MISS.HTM
+http://www.allhealth.com/parentsplace/send/0,3288,14-844-1-fertility-INFERTILITY,00.html
+http://www.tucows.telia.no/win2k/preview/37705.html
+http://www.peopledaily.co.jp/9803/09/current/newfiles/j1020.html
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957424007/957522556/Catalog/1320/001
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957424007/957522556/Catalog/1321/001
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957424007/957522556/Catalog/1328/001
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957424007/957522556/Catalog/1350/001
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957424007/957522556/Catalog/1359/001
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957424007/957522556/ProductView/26897
+http://www.uftree.com/UFT/WebPages/Don_MacFarlane/FEB99/d1/i0001285.htm
+http://wap.jamba.de/KNet/_KNet-n4B8j1-DFd-13bgt/showInfo-jambabanner.de/node.0/cde7f1uou
+http://launchbase.com/Shopping/Visual_Arts/entertainment/information/Politics.htm
+http://launchbase.com/Shopping/Visual_Arts/entertainment/shopping/Electronics.htm
+http://www.aoyun.sina.com.cn/news/sports/table/2000-09-15/1/4622.shtml
+http://www.eggerwirt.at/1Root/Kontinent/6/Staat/7/Bundesland/21/Ort/129509/Homepage/m_homepage...1.html
+http://198.103.152.100/search*frc/dSociologie+rurale+--+Ontario/dsociologie+rurale+ontario/-5,-1,0,B/frameset&F=dsociologie+religieuse+islam&1,,0
+http://msn.excite.co.jp/travel/the_country/kinki/wakayama/hot_spring_of_accommodations/inn_tourist_home_in_wakayama?summary=false
+http://search.ibm.co.jp/as400/year2000/v3r2.html
+http://www.allgemeine-immobilien-boerse.de/nordrhein-Westfalen/Muehlheim-ruhr/Verkauf/Allgemeine-IB/Startseite/3d-service/Private-IB/Startseite/Gemeinsam/Super-Zins-Konditionen/anforderungsformular.htm
+http://spaceports.tucows.com/winnt/adnload/78908_28797.html
+http://www.trax.nilex.co.uk/trax.cgi/A1S/A2R/A3R/B1S/A1D/A1S/
+http://www.babyheirlooms.com/catalog/htmlos.cat/041130.1.3206884924
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/music/misc/thoughts/lit/misc/colorart/misc/freespeech.html
+http://www.cs.rit.edu/~hpb/Lectures/2000/JRMS_590/all-2.7.html
+http://www.cs.rit.edu/~hpb/Lectures/2000/JRMS_590/all-4.11.html
+http://www.refdag.nl/kl/990615klfo01.html
+http://pub20.ezboard.com/ftheimperiumknightsfrm11.showMessage?topicID=9.topic
+http://retailer.gocollect.com/do/session/1912767/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/advanced_search.asp
+http://www.thestateofcolorado.com/saudealersnew.html
+http://awelymor.weblogs.co.uk/sdb/en/html/ftp://ftp.suse.com/pub/suse/i386/6.2/suse/n1/
+http://www.mirror.kiev.ua:8083/paper/2000/21/1251/text/21-13-3.htm
+http://www.recipezaar.com/browse/0110FC1070110A301109901109E00F06D
+http://www.linux.com/networking/network/vpn/server/Unix/
+http://www.gasex.com/main.html?m4m.gallery.twinks
+http://www.xtdnet.nl/listarch/linux-router/1998-05-01/nav00046.html
+http://www.fogdog.com/cedroID/ssd3040183325831/cgi-bin/CedroCommerce?func=EditBasket
+http://www.totalmarketing.com/an/basket.pl/cancel/xwxm6773.94076
+http://ciaoweb.tucows.com/winnt/adnload/56695_29112.html
+http://www.brio.de/BRIO.catalog/39fe2f6006e4fc48273fd472aa7806e0/UserTemplate/1
+http://retailer.gocollect.com/do/session/1912715/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/top_ten.asp?pagenum=2
+http://retailer.gocollect.com/do/session/1912715/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/dealer_lookup.asp
+http://www.streetprices.com/Electronics/Computer_Hardware_PC/Motherboards/ATX/Slot1/Via_Pro133/sortproductbymake/sortcategorybylowprice/
+http://www.streetprices.com/Electronics/Computer_Hardware_PC/Projectors/MAKE+CTX/sortdetailbystock/sortproductbyhighprice/sortcategorybycount/SP318392.html
+http://www.multimania.com/egypt95/img0017.htm
+http://dic.empas.com/show.tsp/?q=fourteenthly&f=B
+http://linux2.ipc.pku.edu.cn/scop/pdb.cgi?sid=d1repc2
+http://www.schlagertempel.de/RobertPayer/B00000B8D2.htm
+http://www.cricinfo.com/link_to_database/INTERACTIVE/MAGAZINE/1996-97/SL_IN_NZ/SL_IN_NZ_FEEDBACK_1.html
+http://mediate.magicbutton.net/do/session/625637/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-top50.html
+http://www.clickm.dk/Clickmusic_Web_Guide/Bands_and_Artists/B/Better_Than_Ezra/
+http://www.clickm.dk/Clickmusic_Web_Guide/Bands_and_Artists/B/Breeders,_The/
+http://www.maastrek.de/maas/71eb3baf4c78ed98ef94/1/0/4
+http://www.trnonline.com/archives/1999archives/07221999/obits/24620.shtml
+http://www.recipezaar.com/browse/0110FC1070110A100F06D0110A00110A3
+http://www.areaguide.net/addlisting.asp?book=box&CatID=516
+http://webraft.its.unimelb.edu.au/196023/students/lucym/
+http://sunsite.org.uk/public/0-Most-Packages/quake/utils/frontends/qshel15b.txt
+http://pub14.ezboard.com/flfiaglarafabianisagoddess.emailToFriend?topicID=858.topic
+http://www.realize.com/am4d0481.htm,qt=e784fe2f=2a38a234-4-7cf2ef-1-1-0-3--
+http://www.realize.com/am7bcd81.htm,qt=e784fe2f=2a38a234-4-7cf2ef-1-10-0-3--
+http://mailman.real-time.com/rte-crossfire/1993/Dec/msg00022.html
+http://mailman.real-time.com/rte-crossfire/1993/Dec/msg00000.html
+http://mailman.real-time.com/rte-crossfire/1993/Dec/msg00009.html
+http://www.eallinfo.com/A55782/sameeron.nsf/homeFood!OpenPage&ExpandSection=8,4,3,6
+http://www.ami.dk/udgivelser/emne/36.html
+http://www-x500-1.uni-giessen.de:8890/Lcn%3dKai%20Cheong%20HO,ou%3dEstates%20Management%20Office,o%3dHong%20Kong%20University%20of%20Science%20and%20Technology,c%3dHK
+http://ftp.telepac.pt/pub/cpan/modules/by-module/DBD/DMOW/?D=A
+http://members.se.tripod.de/aah/jochumsen/per02614.htm
+http://www.academyfloral.com/state/cacat/flowers/funeralofferingshare.html
+http://www.hotelboulevard.com/fr/paris/standard/htmlb877e62937802c0678f4638130be1ef0/sessionLang/ANG/prov/browse/cp/75013/resultatSearch.html
+http://www.alsapresse.com/jdj/00/03/24/AK/article_4.html
+http://www.mairie-montreuil93.fr/ville_pratique/environ/democrat/printemps/_vti_cnf/interstice.htm
+http://variety.studiostore.com/help/b.FAVORITES%20COMICS%20CARTOONS%20POWERPUFF/s.UAREyMtL
+http://ftp.sektornet.dk/tucows/winme/adnload/137341_28799.html
+http://www.eveclub.com/cgi-bin/eveclub.front/972959532302/Catalog/1000046
+http://www.eveclub.com/cgi-bin/eveclub.front/972959532302/ClubBoard/list/1000022
+http://findmail.com/post/geewhiz?act=reply&messageNum=2039
+http://orders.mkn.co.uk/toy/rattles/order/now.en$NOK?what-bells=1
+http://www.buybuddy.com.au/sleuth/26/1/502/10134/
+http://spokesmanreview.sportshuddle.com/sports/baseball/playbetter/ask-expert/vincent3.asp
+http://ant.i.hosei.ac.jp/Ant.WWW/PCD0420/HTMLE/29.html
+http://ant.i.hosei.ac.jp/Ant.WWW/PCD0420/HTMLE/34.html
+http://builder.hw.net/frmRestDir/0,1112,'1~21~325~1~S~074800~90270',00.html
+http://builder.hw.net/frmRestDir/0,1112,'1~21~325~1~S~074800~09890',00.html
+http://dennou-h.ees.hokudai.ac.jp/library/Linux/debian-jp/dists/hamm-jp/non-free/binary-i386/games/?M=A
+http://www.peopledaily.com.cn/GB/paper68/1469/236625.html
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/koffice/kformula/BracketElement.cc?hideattic=1&sortby=rev
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/koffice/kformula/FractionElement.cc?hideattic=1&sortby=rev
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/koffice/kformula/MIMETYPE-Format?hideattic=1&sortby=rev
+http://linuxberg.ii.net/conhtml/preview/7963.html
+http://213.36.119.69/do/session/152992/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/reserver/hotels.html
+http://213.36.119.69/do/session/152992/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.spycamera.com/webcam/
+http://ftp.netc.pt/pub/idgames/levels/doom/d-f/deathme.txt
+http://ftp.netc.pt/pub/idgames/levels/doom/d-f/dork.txt
+http://ustlib.ust.hk/search*chi/dsea+stories/dsea+stories/-5,-1,0,B/browse
+http://members.fortunecity.com/skinweaver/nf/nfpin01.htm
+http://se.egroups.com/group/French_
+http://www.gencat.es/cgi-bin/bc/drawer.cgi/LD/0074/L00465?101
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/projects/ogl-sample/main/gfx/lib/glut/glut_shapes.c?sortby=author
+http://www.teacherformation.org/html/od/facilitators.cfm/task1,about/discussion_id,2/xid,9456/yid,7276398
+http://genforum.genealogy.com/cgi-genforum/forums/getchell.cgi?230
+http://www9.hmv.co.uk:5555/do/session/1347795/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d100_sd0_pt0.html
+http://www.brd.net/brd-cgi/brd_multimedia/bildbearbeitung/WZ01K0DJ/beurteilung/ci=972850465.htm
+http://retailer.gocollect.com/do/session/1912745/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/affiliate_network.asp
+http://www.fao.org/icatalog/orders/basket.asp?prev2=yes&aries_id=1310
+http://www.realestate-mls.com/list.cgi/VACANT_LAND|WATERFRONT|Edenville!Midland!MI
+http://www.geocities.co.jp/SilkRoad-Desert/1661/profile/profile.html
+http://hp-partner.whowhere.lycos.com/hp/chick/com/nj/
+http://hp-partner.whowhere.lycos.com/hp/chick/com/next/
+http://hp-partner.whowhere.lycos.com/hp/chick/com/nightflight/
+http://www.emerchandise.com/browse/FRIENDS/TSHIRT/20/10/b.TV%20FRIENDS/s.kGIgjr5i
+http://dk.egroups.com/group/anarchymcgill
+http://bbs.gznet.edu.cn/cgi-bin/getannounce//groups/GROUP_3/WinNT_Win2k/smthbbs/Dir002
+http://de.excite.de/computer/katalog/12947
+http://www.bizline.co.kr/library/data/002/001/007/008/020/002/000017.html
+http://www.bizline.co.kr/library/data/002/001/007/008/020/002/000046.html
+http://saleonall.com/cat/OPTOMA/6492/video/projectors/145336/oneprod.html
+http://sun1.rrzn-user.uni-hannover.de/jgaertner/matlab/help/techdoc/newfeat/ch213.html
+http://sun1.rrzn-user.uni-hannover.de/jgaertner/matlab/help/techdoc/newfeat/newfeat.html
+http://excite.de/wirtschaft/katalog/37737
+http://www.digitaldrucke.de/(aktuell,kino,kultur,werbung)/_fort/html/themen/aktuell/events/events.htm
+http://www.digitaldrucke.de/(aktuell,kino,kultur,kunst)/suche/uebersicht.html
+http://www.online.kokusai.co.jp/Stock_corner/V0043566/wrd/G500/stock_corner/stock_corner.html
+http://yp.gates96.com/4/37/0/92.html
+http://yp.gates96.com/4/37/1/3.html
+http://yp.gates96.com/4/37/1/38.html
+http://yp.gates96.com/4/37/1/58.html
+http://yp.gates96.com/4/37/2/21.html
+http://yp.gates96.com/4/37/3/56.html
+http://yp.gates96.com/4/37/3/68.html
+http://yp.gates96.com/4/37/3/79.html
+http://yp.gates96.com/4/37/4/1.html
+http://yp.gates96.com/4/37/4/48.html
+http://yp.gates96.com/4/37/4/99.html
+http://yp.gates96.com/4/37/5/27.html
+http://yp.gates96.com/4/37/6/1.html
+http://yp.gates96.com/4/37/6/7.html
+http://yp.gates96.com/4/37/6/80.html
+http://yp.gates96.com/4/37/7/0.html
+http://yp.gates96.com/4/37/7/5.html
+http://yp.gates96.com/4/37/7/9.html
+http://yp.gates96.com/4/37/7/12.html
+http://yp.gates96.com/4/37/7/49.html
+http://yp.gates96.com/4/37/7/97.html
+http://yp.gates96.com/4/37/8/15.html
+http://yp.gates96.com/4/37/8/32.html
+http://yp.gates96.com/4/37/8/62.html
+http://yp.gates96.com/4/37/8/76.html
+http://yp.gates96.com/4/37/8/96.html
+http://yp.gates96.com/4/37/9/12.html
+http://yp.gates96.com/4/37/9/14.html
+http://yp.gates96.com/4/37/9/23.html
+http://yp.gates96.com/4/37/9/78.html
+http://yp.gates96.com/4/37/9/80.html
+http://cgi.cnn.com/US/9601/state_union_poll/state_union_speech/pm/
+http://freethemes.netc.pt/cursors/adnload/16904.html
+http://freethemes.netc.pt/cursors/preview/16926.html
+http://freethemes.netc.pt/cursors/adnload/16953.html
+http://library.bangor.ac.uk/search/dTelevision+broadcasting+of+news+--+Wales/dtelevision+broadcasting+of+news+wales/-17,-1,0,B/frameset&F=dtelevision+broadcasting+moral+and+ethical+aspects&1,1
+http://home.baoding.cn.net/~snowcxm/photoshop/newpage6tp.htm
+http://home.baoding.cn.net/~snowcxm/photoshop/newpage6xq2.htm
+http://dennou-q.geo.kyushu-u.ac.jp/library/Linux/debian-jp/dists/woody/non-free-jp/binary-sparc/otherosfs/?D=A
+http://www.tucows.ch/winnt/toolnt_size.html
+http://www.sdinfonet.com.cn/379/26/379269983.htm
+http://www.sdinfonet.com.cn/379/26/379269980.htm
+http://www.egroups.com/message/wdf/3368
+http://de.excite.de/bildung/katalog/35821
+http://kidneyfailure.shn.net/content/article/1677.57596
+http://kidneyfailure.shn.net/content/article/1677.57625
+http://kidneyfailure.shn.net/content/article/1677.57517
+http://kidneyfailure.shn.net/content/article/1677.57456
+http://kidneyfailure.shn.net/content/article/1677.57562
+http://dia.tucows.com/winme/adnload/138490_29803.html
+http://www.nhic.or.kr/netbbs/Bbs.cgi/nhic31062/lst/qqo/004A
+http://www.nhic.or.kr/netbbs/Bbs.cgi/nhic31062/qry/zka/B2-kB23p/pno/0/qqatt/^
+http://www.nhic.or.kr/netbbs/Bbs.cgi/nhic31062/qry/zka/B2-kB2-n/pno/0/qqatt/^
+http://www.nhic.or.kr/netbbs/Bbs.cgi/nhic31062/qry/zka/B2-kB2-o/pno/0/qqatt/^
+http://dk.egroups.com/message/tw2002/3626
+http://dk.egroups.com/message/tw2002/3644
+http://www.spiral.at/Katalog/Artikel/8908435/
+http://www.spiral.at/Katalog/Artikel/8908842/
+http://168.160.224.62/insurance/200006/10/114941.asp
+http://168.160.224.62/insurance/200006/10/114219.asp
+http://tucows.soneraplaza.nl/termnt_license.html
+http://pub13.ezboard.com/ubelegruin.showPublicProfile?language=EN
+http://troy.lib.sfu.ca/search/tbiometrics/tbiometrics/-5,-1,0,B/exact&F=tbiometrical+genetics+the+study+of+continuous+variation&1,2/limit
+http://futures.homeway.com.cn/lbi-html/news/content/20001013/172026.shtml
+http://jproxy.uol.es/jproxy/http://www.channel6000.com/sh/sports/columnist/stories/columnists-20001030-154321.html
+http://www.linux.com/networking/network/free/release/community/development/
+http://pub17.ezboard.com/fskysurfingskysurfersubb.showAddReplyScreenFromWeb?topicID=4.topic
+http://ring.tains.tohoku.ac.jp/pub/linux/debian/debian-jp/dists/woody/contrib-jp/binary-m68k/oldlibs/?D=A
+http://10000downloads.subportal.com/sn/Network_and_Internet/Misc__Communications_Tools/12507.html
+http://www.hbdaily.com.cn/ctdsb/19991101/GB/ctdsb^1042^06^Ct06b08.htm
+http://cytobase.cnusc.fr:8101/textes/PURDmail/1998-12/nav00129.html
+http://www.brio.de/BRIO.catalog/39fe2f73050d53aa2741d472aa7806d2/UserTemplate/9
+http://www.anekdot.ru:8084/an/an0007/t000731.html
+http://statweb.byu.edu/sasdoc/sashtml/gref/z0265802.htm
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux/drivers/char/ftape/Makefile?only_with_tag=davem-cvs-merge
+http://www.intellicast.com/Golf/World/UnitedStates/Southeast/NorthCarolina/Hawksnest/WINDcast/d1_00/bannerAd.shtml
+http://dailynews.sina.com.hk/sinaNews/wiser/hkStock/2000/0720/1418727.html
+http://ftp.dti.ad.jp/pub/lang/CPAN/authors/id/A/AG/AGUL/?S=A
+http://link.fastpartner.com/do/session/600392/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/jobpilot.php
+http://link.fastpartner.com/do/session/600392/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/smartguy.php
+http://citeseer.nj.nec.com/cidcontext/1024594
+http://www.burstnet.com/ads/ad4820b-map.cgi/1395444997
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kdeutils/kpm/proc.h?r1=1.6&only_with_tag=HEAD
+http://www.uftree.com/UFT/WebPages/JenHawkins/ALL/d0/i0001501.htm
+http://www.uftree.com/UFT/WebPages/JenHawkins/ALL/d0/i0000641.htm
+http://www.uftree.com/UFT/WebPages/JenHawkins/ALL/d1/i0000932.htm
+http://www.uftree.com/UFT/WebPages/JenHawkins/ALL/d1/i0000762.htm
+http://www.uftree.com/UFT/WebPages/JenHawkins/ALL/d1/i0000997.htm
+http://www.uftree.com/UFT/WebPages/JenHawkins/ALL/d1/i0001325.htm
+http://www.uftree.com/UFT/WebPages/JenHawkins/ALL/nindex.htm
+http://www.primenet.com/~g-lady/Farewell/_borders/
+http://imasy.or.jp/~iwao/hokkaido/kushiro.html
+http://citeseer.nj.nec.com/nrelated/0/208436
+http://www.zeal.com/Arts___Entertainment/Literature/Authors/Lovecraft__H_P_/Books/Cthulhu_Campus_Crusade_for_Cthulhu/
+http://ftp1.se.debian.org/debian/dists/woody/contrib/binary-mipsel/mail/?M=A
+http://ftp1.se.debian.org/debian/dists/woody/contrib/binary-mipsel/mail/?S=A
+http://webtools.familyeducation.com/whatworks/item/front/0,2551,1-10698-1981-,00.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380859/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/REGISTRATION/entry.asp
+http://www.collectingnation.com/cgi-bin/bn/view_feedback.mod/pn?HANDLE=pokeweed
+http://www.egroups.com/messages/Future-History-L/213
+http://www.egroups.com/message/Future-History-L/192
+http://www.burstnet.com/ads/cb7826a-map.cgi/1384588733
+http://www.cs.com.cn/csnews/articles/142_23823.htm
+http://search.yam.com.tw/en/new/edu/hs/voca/tpc_vs/
+http://ftp.univie.ac.at/packages/tex/macros/latex2e/contrib/supported/vmargin/?D=A
+http://citeseer.nj.nec.com/cidcontext/3145269
+http://yp.gates96.com/11/72/80/34.html
+http://yp.gates96.com/11/72/80/36.html
+http://yp.gates96.com/11/72/80/76.html
+http://yp.gates96.com/11/72/81/26.html
+http://yp.gates96.com/11/72/81/67.html
+http://yp.gates96.com/11/72/83/68.html
+http://yp.gates96.com/11/72/84/29.html
+http://yp.gates96.com/11/72/84/39.html
+http://yp.gates96.com/11/72/85/56.html
+http://yp.gates96.com/11/72/85/63.html
+http://yp.gates96.com/11/72/85/96.html
+http://yp.gates96.com/11/72/86/3.html
+http://yp.gates96.com/11/72/86/28.html
+http://yp.gates96.com/11/72/86/59.html
+http://yp.gates96.com/11/72/86/63.html
+http://yp.gates96.com/11/72/88/43.html
+http://yp.gates96.com/11/72/89/8.html
+http://yp.gates96.com/11/72/89/13.html
+http://yp.gates96.com/11/72/89/20.html
+http://cometweb01.comet.co.uk/do!session=132039&vsid=700&tid=20&cid=37030&mid=1000&rid=1060&chid=1713&url=eqqLmwlGltt5tkkHbqpLZXmLbkZHljlKaltLkilLXalKfkaLbukKeqjLi1
+http://iworld.freethemes.com/savers/adnload/77213.html
+http://iworld.freethemes.com/savers/adnload/35420.html
+http://www.questlink.com/QL/CDA/Research/ProductBrief/1,1768,0_11201_353170_43264,00.html
+http://www.questlink.com/QL/CDA/Research/ProductBrief/1,1768,0_11201_353170_43305,00.html
+http://www2.eunet.lv/library/iso/HISTORY/RUSSIA/Mirrors
+http://nathanael.upi.jussieu.fr/tele6.nsf/autres+centres+de+formations!OpenPage&ExpandSection=10,3,5,16,14,6
+http://nathanael.upi.jussieu.fr/tele6.nsf/autres+centres+de+formations!OpenPage&ExpandSection=17,3,5,16,14,6
+http://opac.lib.rpi.edu/search/dnatural+history+united+states+historiography+dictionaries/-17,-1,0,B/browse
+http://opac.lib.rpi.edu/search/dnatural+history+united+states+historiography+dictionaries/7,-1,0,B/browse
+http://www.sportinggreen.com/news/20001014/fbo/fbc/abb/001014.0391.html
+http://yp.gates96.com/0/14/10/63.html
+http://yp.gates96.com/0/14/10/80.html
+http://yp.gates96.com/0/14/11/32.html
+http://yp.gates96.com/0/14/11/37.html
+http://yp.gates96.com/0/14/11/80.html
+http://yp.gates96.com/0/14/13/21.html
+http://yp.gates96.com/0/14/13/23.html
+http://yp.gates96.com/0/14/13/38.html
+http://yp.gates96.com/0/14/13/49.html
+http://yp.gates96.com/0/14/13/90.html
+http://yp.gates96.com/0/14/14/53.html
+http://yp.gates96.com/0/14/14/63.html
+http://yp.gates96.com/0/14/14/77.html
+http://yp.gates96.com/0/14/15/12.html
+http://yp.gates96.com/0/14/15/88.html
+http://yp.gates96.com/0/14/15/96.html
+http://yp.gates96.com/0/14/16/27.html
+http://yp.gates96.com/0/14/16/62.html
+http://yp.gates96.com/0/14/16/67.html
+http://yp.gates96.com/0/14/16/86.html
+http://yp.gates96.com/0/14/16/92.html
+http://yp.gates96.com/0/14/17/15.html
+http://yp.gates96.com/0/14/17/22.html
+http://yp.gates96.com/0/14/17/44.html
+http://yp.gates96.com/0/14/18/27.html
+http://yp.gates96.com/0/14/18/29.html
+http://yp.gates96.com/0/14/18/83.html
+http://yp.gates96.com/0/14/19/35.html
+http://yp.gates96.com/0/14/19/58.html
+http://www.123bestphonerates.com/q/001p/vn/ZWUdEJwdxM.htm
+http://www.trax.nilex.co.uk/trax.cgi/A1C/B1U/A2S/B3L/A4S/B1L/
+http://www.trax.nilex.co.uk/trax.cgi/A1C/B1U/A2S/B3L/A4S/C2D/
+http://southwind.themes.tucows.com/skins/icq/preview/68532.html
+http://southwind.themes.tucows.com/skins/icq/adnload/77797.html
+http://southwind.themes.tucows.com/skins/icq/preview/55623.html
+http://southwind.themes.tucows.com/skins/icq/adnload/51324.html
+http://southwind.themes.tucows.com/skins/icq/adnload/26609.html
+http://southwind.themes.tucows.com/skins/icq/adnload/48629.html
+http://southwind.themes.tucows.com/skins/icq/adnload/48628.html
+http://www.webcom.com.mx/cronica/1999/mar/09/neg01.html
+http://jproxy.uol.es/jproxy/http://mars.jpl.nasa.gov/msp98/news/mpl000207.html
+http://jproxy.uol.es/jproxy/http://mars.jpl.nasa.gov/msp98/news/news61.html
+http://jproxy.uol.es/jproxy/http://mars.jpl.nasa.gov/msp98/ds2/fact.html
+http://jproxy.uol.es/jproxy/http://mars.jpl.nasa.gov/mgs/sci/mola/98lander.html
+http://jproxy.uol.es/jproxy/http://mars.jpl.nasa.gov/msp98/news/status990123.html
+http://ustlib.ust.hk/search*chi/dmarriage/dmarriage/-5,-1,0,B/exact&F=dmarriage+china&1,4/limit
+http://mediate.magicbutton.net/do/session/625641/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-artc.html
+http://www.scifi.com/cgi-bin/rbox/articles.pl?1&6&1721&20
+http://www.areteoutdoors.com/contribute/earth/b.97.r.54.g.1706.html
+http://members.tripod.lycos.co.kr/ifoo6981/?M=A
+http://link.fastpartner.com/do/session/600395/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/bol.php
+http://link.fastpartner.com/do/session/600395/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/mediatransfer.php
+http://link.fastpartner.com/do/session/600395/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/smartguy.php
+http://www.safrex.com/catalog/elite08/elite084c.html
+http://www.911codes.com/games/platform/psx/sect/div/cont/list_cheat/spray/y/id/0000005511/gid/0000003893/_cheats/_walkthroughs/_codes/_pc/_n64/_psx/_gameboy/_playstation/
+http://yp.gates96.com/7/44/10/4.html
+http://yp.gates96.com/7/44/10/15.html
+http://yp.gates96.com/7/44/10/30.html
+http://yp.gates96.com/7/44/10/32.html
+http://yp.gates96.com/7/44/10/36.html
+http://yp.gates96.com/7/44/11/1.html
+http://yp.gates96.com/7/44/11/41.html
+http://yp.gates96.com/7/44/11/44.html
+http://yp.gates96.com/7/44/12/29.html
+http://yp.gates96.com/7/44/12/76.html
+http://yp.gates96.com/7/44/12/81.html
+http://yp.gates96.com/7/44/13/56.html
+http://yp.gates96.com/7/44/14/19.html
+http://yp.gates96.com/7/44/15/14.html
+http://yp.gates96.com/7/44/15/52.html
+http://yp.gates96.com/7/44/15/62.html
+http://yp.gates96.com/7/44/15/72.html
+http://yp.gates96.com/7/44/15/78.html
+http://yp.gates96.com/7/44/15/81.html
+http://yp.gates96.com/7/44/15/82.html
+http://yp.gates96.com/7/44/16/78.html
+http://yp.gates96.com/7/44/16/93.html
+http://yp.gates96.com/7/44/17/51.html
+http://yp.gates96.com/7/44/17/75.html
+http://yp.gates96.com/7/44/18/43.html
+http://yp.gates96.com/7/44/18/92.html
+http://yp.gates96.com/7/44/19/26.html
+http://www3.newstimes.com/archive2000/oct17/bze.htm
+http://member.aol.co%20m/askmo/
+http://home.excite.co.uk/directory/categories/528195
+http://www.scifi.com/bboard/browse.cgi/1/5/545/11566?pnum=1
+http://member.shangdu.net/home1/havdone/game/gonglue/ljcq.htm
+http://member.shangdu.net/home1/havdone/game/gonglue/lishou.htm
+http://archiv.leo.org/cgi-bin/leo-md5.pl/pub/comp/usenet/comp.sources.misc/dostrace/
+http://yp.gates96.com/8/70/91/12.html
+http://yp.gates96.com/8/70/91/20.html
+http://yp.gates96.com/8/70/91/45.html
+http://yp.gates96.com/8/70/92/29.html
+http://yp.gates96.com/8/70/92/40.html
+http://yp.gates96.com/8/70/92/74.html
+http://yp.gates96.com/8/70/93/9.html
+http://yp.gates96.com/8/70/93/11.html
+http://yp.gates96.com/8/70/94/10.html
+http://yp.gates96.com/8/70/94/90.html
+http://yp.gates96.com/8/70/95/4.html
+http://yp.gates96.com/8/70/95/13.html
+http://yp.gates96.com/8/70/95/58.html
+http://yp.gates96.com/8/70/95/74.html
+http://yp.gates96.com/8/70/95/80.html
+http://yp.gates96.com/8/70/96/34.html
+http://yp.gates96.com/8/70/96/65.html
+http://yp.gates96.com/8/70/97/0.html
+http://yp.gates96.com/8/70/97/16.html
+http://yp.gates96.com/8/70/97/75.html
+http://yp.gates96.com/8/70/98/27.html
+http://yp.gates96.com/8/70/98/60.html
+http://www.icopyright.com/1.1638.306154
+http://www.zeal.com/category/be_zealous.jhtml?cid=828
+http://lib1.nippon-foundation.or.jp/1996/0621/contents/004.htm
+http://www.haikou.hainan.gov.cn/pandect/nj/n96jada.htm
+http://www.chaos.dk/sexriddle/s/e/x/p/b/m/s/
+http://www.symantec.ca/region/uk/resources/mobile/nav.html
+http://retailer.gocollect.com/do/session/1912798/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/products/product_lines.asp
+http://polygraph.ircache.net:8181/services/define/http_-2www.microsoft.com/ie/Tabitha/http_-2www.adultlinks.net/gallery.shtml
+http://f22.parsimony.net/forum42460/messages/1.htm
+http://www.greenleaves.com/bookcat/gb_0722530986.html
+http://www.classiccmp.org/mail-archive/classiccmp/1998-06/0638.html
+http://www1.onelist.com/dir/Society/Paranormal/UFOs/Biblical_Perspectives
+http://home.hiwaay.net/~bjacobs/genealogy/laster/html/d0055/g0000045.html
+http://link.fastpartner.com/do/session/600374/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/netmaling.php
+http://big5.peopledaily.com.cn/haiwai/200003/03/newfiles/A104.html
+http://ustlib.ust.hk/search*chi/achang+chieh+mei/achang+chieh+mei/-5,-1,0,B/frameset&F=achang+chieh+fu&1,,2
+http://teleline.terra.es/personal/mgsair/chtml/ejemplos/marcos1.html
+http://myhome.naver.com/toktok01/bbs.php3?p_work=admin&p_page=1
+http://netway.pda.tucows.com/palm/adnload/34443_22051.html
+http://netway.pda.tucows.com/palm/adnload/34930_22057.html
+http://netway.pda.tucows.com/palm/adnload/34435_22044.html
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kmusic/brahms/qtWaveTrack.h?sortby=rev&only_with_tag=HEAD
+http://sinr.net/book/content/39/8411.html
+http://www.egroups.com/post/gvocsa?act=reply&messageNum=145
+http://www.diogenes.ch/4DACTION/web_rd_aut_prview/a_id=7056669&area=&ID=483352
+http://www.brio.de/BRIO.catalog/39fe2f7d06fe4a08273fd472aa7806a9/UserTemplate/1
+http://www3.newstimes.com/archive2000/sep01/rgd.htm
+http://community.webshots.com/photo/5886633/5886821zAagKCgZhs
+http://community.webshots.com/photo/5886633/5917061PxBHHqElgV
+http://www.dnai.com/~mbaum/anita/html/eng/art/images/image38.html
+http://www.houses-apartment-listings.com/Michigan/city_search_criteria.asp?state=MI&City=CLINTON
+http://www.brio.de/BRIO.catalog/39fdb87c09896af6273fd472aa78076c/UserTemplate/10
+http://www.expressindia.com/ie/daily/19990129/02950495p.html
+http://www.linux.com/networking/web/unix/internet/project/security/
+http://www.linux.com/networking/web/unix/internet/project/Red_Hat/
+http://www.linux.com/networking/web/unix/internet/project/freshmeat/
+http://www.linux.com/networking/web/unix/internet/project/?kw_offset=50
+http://ring.yamanashi.ac.jp/pub/linux/debian/debian/dists/Debian2.2r0/non-free/binary-i386/science/?N=D
+http://ftp.task.gda.pl/pub/games/idgames/utils/level_edit/acaddoom.txt
+http://www.affiliate.hpstore.hp.co.uk/do/session/380864/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/FR/REGISTRATION/entry.asp
+http://fi.egroups.com/post/allianc?act=reply&messageNum=2305
+http://polygraph.ircache.net:8181/services/design/company/http_-2burn.ucsd.edu/~abcf
+http://polygraph.ircache.net:8181/services/design/company/miami.htm
+http://www.utexas.edu/ftp/admin/AI_ATTIC/ATW/Mosaic.instruct/?D=A
+http://ftp.du.se/disk3/redhat/updates/powertools/current/alpha/
+http://www.multicosm.com/facade/demo.multicosm.com/facade/www.informationweek.com/mediakit/00/default.html
+http://www.multicosm.com/facade/demo.multicosm.com/facade/www.informationweek.com/mediakit/00/about_overview.html
+http://www7.tok2.com/home/maki67/menu.htm
+http://www.mapion.co.jp/custom/AOL/admi/23/23103/tsujicho/2chome/index-24.html
+http://sunsite.org.uk/public/computing/networks/internet/ietf/printmib/printmib-attendees-97apr.txt
+http://ftp.univie.ac.at/packages/tex/macros/latex2e/contrib/supported/nomencl/?N=D
+http://spaceports.tucows.com/winme/adnload/137993_30287.html
+http://habenix.uni-muenster.de/Rektorat/Forschungsberichte-1997-1998/fo05acd01.htm
+http://www.power2lead.com/Global/English.nsf/pgWWLocations!OpenPage&ExpandSection=2,25,7,32,18
+http://www.teacherformation.org/html/od/facilitators.cfm/task1,help/discussion_id,2/xid,6155/yid,3651726
+http://itcareers.careercast.com/texis/it/itjs/+IwwBmeS9D867xwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew7hmwGAnBoDtapGdtGwMamnVncdpa51ppdGBaqconDBaqdMM1DoqwBodDaoDVn5BMnDBapGdm1qBaMwDwtnaqGnwBoVnaMFqhgfHNEDzm7wwwpBmeg9D86exqwww5rmeqDwwwBrmeZpwww/morelike.html
+http://itcareers.careercast.com/texis/it/itjs/+XwwBmie0B-deaqwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew7hmwGAnBoDtapGdtGwMamnVncdpa51ppdGBaqconDBaqdMM1DoqwBodDaoDVn5BMnDBapGdm1qBaMwDwtnaqGnwBoVnaMFqhgfHNEDzm7wwwpBmeg9D86exqwww5rm-mwwBrmeZpwww/morelike.html
+http://members.iinet.net.au/~scott3/legacy/matt.html
+http://cn.egroups.com/post/bastardimage?act=forward&messageNum=11
+http://ftp.nodomainname.net/pub/mirrors/.2/gnu/tasks/?N=D
+http://ftp.nodomainname.net/pub/mirrors/.2/gnu/tasks/standards.text
+http://10000downloads.subportal.com/sn/Utilities/Misc__Utilities/11320.html
+http://mindit.netmind.com/proxy/http://www.altera.com/html/tools/swupdates.html
+http://www.next.com.hk/mag/419/news/an06.htm
+http://www.areteoutdoors.com/channel/air/b.283.g.3871.html
+http://troop485.tripod.com/documents/johnwayne.htm
+http://troop485.tripod.com/documents/bp-churchhill.htm
+http://sound-dist.secured.co.uk/cgi-bin/psProdDet.cgi/22P03|972959558|Security|user|0|1,0,0,1
+http://www9.hmv.co.uk:5555/do/session/1347794/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d120_sd0_pt0.html
+http://ftp.du.se/debian/dists/Debian2.2r0/main/disks-m68k/2.2.16-2000-07-14/mac/images-1.44/?S=A
+http://opac.lib.ntnu.edu.tw/search*chi/++ftlist/bp20043193/-5,-1,0,B/buttonframe&F=bp20043190&1,1
+http://www.parlament.ch/internet98/Poly/Suchen_amtl_Bulletin/ce98/ete/275.HTM
+http://in.egroups.com/messages/svpvril/5195?viscount=-30
+http://in.egroups.com/messages/svpvril/?expand=1
+http://retailer.gocollect.com/do/session/1912744/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/checkout/shopping_cart.asp
+http://retailer.gocollect.com/do/session/1912744/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://www18.freeweb.ne.jp/sports/imamako/
+http://www.cs.ucc.ie/javadocs/jdk1.2.2/docs/api/java/awt/geom/class-use/QuadCurve2D.Double.html
+http://click-to.tell-a-friend.boardhost.com/tell-a-friend-confirm.cgi?stigmaonline&msg=172
+http://www.emerchandise.com/aboutus/b.TV%20ANGEL/s.2YYjVOgH
+http://www.leyou.com/product/ShowResult.php?LY_Category=0531&page=3
+http://cafe6.daum.net/Cafe-bin/Bbs.cgi/rest114pds/qry/zka/B2-kB23o/qqatt/^
+http://sunsite.informatik.rwth-aachen.de/LinuxArchives/sunsite.unc.edu/distributions/linux-router/dists/2.9.6/base/?N=D
+http://www-uk5.cricket.org/link_to_database/ARCHIVE/1999-2000/PAK_IN_SL/FANTASY/
+http://findmail.com/message/sangersreview/99
+http://phase.etl.go.jp/mirrors/netlib/utk/people/JackDongarra/SLIDES/osu-498/sld011.htm
+http://tucows.datasync.com/winme/preview/75261.html
+http://secure.danysoft.com/asp/dany.tienda/1266636789/Catalog
+http://www.birding.about.com/hobbies/birding/cs/placesecuador/index_2.htm
+http://www.cpami.gov.tw/ymsnp/animal/fauna/nospc385text.htm
+http://www.fh-telekom-leipzig.de/hilfe/pak_e/paket_inhalt_jade_dsl.html
+http://home.vicnet.net.au/~nunayl/feedback.html
+http://www.expage.com/nibina
+http://www.expage.com/virtuaalisiittolantallivihko
+http://www.expage.com/muittentallijenkisoja
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=9,39,33
+http://retailer.gocollect.com/do/session/1912707/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/top_ten.asp?pagenum=2
+http://www.streetprices.com/Electronics/Other/MAKE+SYMANTEC/sortdetailbystock/SP322647.html
+http://www.peopledaily.co.jp/haiwai/199810/09/no_981009003024_6.html
+http://mediate.magicbutton.net/do/session/625622/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-artc.html
+http://mediate.magicbutton.net/do/session/625622/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-top50.html
+http://www.nada.kth.se/systemgruppen/docs/javadoc/jdk-1.3/docs/api/javax/swing/plaf/basic/class-use/BasicSliderUI.ChangeHandler.html
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/Collect_DB_Advers2/2000-09-10/08/?N=D
+http://yp.gates96.com/12/57/30/53.html
+http://yp.gates96.com/12/57/32/14.html
+http://yp.gates96.com/12/57/32/97.html
+http://yp.gates96.com/12/57/33/1.html
+http://yp.gates96.com/12/57/33/37.html
+http://yp.gates96.com/12/57/37/91.html
+http://yp.gates96.com/12/57/37/98.html
+http://yp.gates96.com/12/57/38/23.html
+http://yp.gates96.com/12/57/38/34.html
+http://yp.gates96.com/12/57/38/51.html
+http://yp.gates96.com/12/57/38/53.html
+http://yp.gates96.com/12/57/39/43.html
+http://yp.gates96.com/12/57/39/56.html
+http://yp.gates96.com/12/57/39/68.html
+http://yp.gates96.com/12/57/39/70.html
+http://www3.sympatico.ca/jacques.m.boisvert/Data_Distribution.html
+http://www.garekiya.com/female/female02-25.html
+http://www.brio.de/BRIO.catalog/39fe2f6c06f4cd8e273fd472aa780734/UserTemplate/5
+http://202.99.23.195/GB/channel1/13/20001030/291723.html
+http://db.bbc.co.uk/education/gcsebitesize/maths/shape_and_space_i_h/loci_rev.shtml
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceStoreCategories-BBC709F9_97F3_1F2D7EFC4CA45617D914720977E88400
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceShoppingCartPage-BBC709F9_97F3_1F2D7EFC4CA45617D914720977E88400
+http://polygraph.ircache.net:8181/http_-2www.microsoft.com/frontpage/http_-2www.hercules.com/history.htm
+http://www.jbc.org/cgi/content/short/275/36/27501
+http://brazil.mit.edu/sdb/de/html/keylist.NNTP.html
+http://ads3.zdnet.com/c/g=r771&c=a53605&idx=2000.10.30.21.30.57/www.micronpc.com/zd/max1299
+http://webtools.familyeducation.com/whatworks/item/front/0,2551,22-9696-6689-473-46499,00.html
+http://www.dispatch.co.za/2000/04/08/business/HIGHLOW.HTM
+http://generalstore.everdream.com/kore/catalog/Office_Supplies/Forms,_Record_Keeping_&_Reference/Human_Resources/Motivational/brand.html?sort=price&count=0
+http://www.laria.u-picardie.fr/docs/www.linux-france.org/article/securite/intro.html
+http://ftp.uni-stuttgart.de/pub/netscape/communicator/slovenian/4.51/windows/windows95_or_nt/
+http://cafe4.daum.net/Cafe-bin/Bbs.cgi/monjatingpds/lst/qqeq/1/zka/B2-kBnNt
+http://myhome.shinbiro.com/~funky27/novel18.htm
+http://www.apcmag.com/apcweb/reviewsdisc.nsf/aac7d56ca8fd884b852563be00610639/25858e2d9c878e294a2567060015364d!EditDocument
+http://www.private-immobilien-boerse.de/nordrhein-Westfalen/luedinghausen/Verkauf/3d-service/Gemeinsam/Immolink/Gemeinsam/erreichenPartner/Private-IB/
+http://www.eos.dk/archive/swing/msg00405.html
+http://www.jobvillage.com/channel/jobs/human_resources/benefits_analysis/b.2807.g.1757.html
+http://www.hanaga.com.cn/gbjc/tc/jq.htm
+http://www.multimap.com/wi/33747.htm
+http://www.multimap.com/wi/143959.htm
+http://home.freeuk.net/jdl/Left_Navigate.htm
+http://www.crit.org/nph-edit.cgi/http://crit.org/pub/ifi.unizh.ch/wagner/just-testing.html
+http://www.interessengemeinschaft-musik.de/catalog%20data/body_22.html
+http://aleph.tau.ac.il:4500/ALEPH/ENG/ATA/AAS/AAS/FIND-ACC/0333501
+http://www.mojahedin.org/Pages/Mojahed/Mojahed451/rp/rp09.html
+http://genforum.genealogy.com/cgi-genforum/forums/lenhart.cgi?158
+http://carriage.de/Schoner/collections/Geschichte/Sammlungen/info-e/
+http://cafe4.daum.net/Cafe-bin/Bbs.cgi/pflhs11pds/rnw/zka/B2-kB2-s
+http://ftp.lip6.fr/pub11/NetBSD/arch/hpcmips/pkgstat/20001008.0536/textproc/xerces-j-current/
+http://dk.egroups.com/message/scotdisinfo/306
+http://groups.haas.berkeley.edu/hcs/Docs/SASv8/sasdoc/sashtml/proc/z0360708.htm
+http://www.legend-net.com/news/tiyu/messages/474.html
+http://www.legend-net.com/news/tiyu/messages/466.html
+http://tv.thevines.com/leaf/AA0000373887/3/0/0/&hmode=on
+http://vorg1.subportal.com/sn/Business/Enhanced_Calculators/5511.html
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=7,28,31,24,35
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=24,5,17,30,11
+http://ftp.gwdg.de/pub/eff/Global/USA/Legislation/gtda_export.regulations
+http://www.dein-schicksal.de/Fotoanzeigen/April_2000/7/17/27/body_57.html
+http://www.fujian-window.com/Fujian_w/news/mzrb1/20000630/2_14.html
+http://www.webswap.com/shelf/2/17559/sell.html
+http://search.leg.wa.gov/wslrcw/RCW%20%2036%20%20TITLE/RCW%20%2036%20.100%20%20CHAPTER/RCW%20%2036%20.100%20.060.htm
+http://www.doc.ic.ac.uk/lab/labsrc_area/firstyear/submissions/1997-98/jmc1/labs/Ex02/icc97/?M=A
+http://school.educities.org/card/abc0609.html
+http://school.educities.org/card/huangmei.html
+http://school.educities.org/card/a126457822.html
+http://school.educities.org/card/a8911.html
+http://school.educities.org/card/aa5117.html
+http://school.educities.org/card/b3575610.html
+http://school.educities.org/card/c5625.html
+http://school.educities.org/card/h1230997.html
+http://school.educities.org/card/h224153937.html
+http://school.educities.org/card/julie9.html
+http://school.educities.org/card/lefe135.html
+http://school.educities.org/card/nl123.html
+http://school.educities.org/card/s5802.html
+http://school.educities.org/card/s58120.html
+http://school.educities.org/card/s5931.html
+http://school.educities.org/card/s6197.html
+http://school.educities.org/card/vov.html
+http://school.educities.org/card/xx5331.html
+http://darkwing.uoregon.edu/~cblanksh/GeneratedItems/?M=A
+http://ciscom.gamecenter.com/Tipcheat/PC/Item/0,128,0-202,00.html
+http://rotten-tomatoes.com/movies/browse/1010942/video.php
+http://rotten-tomatoes.com/movies/browse/1076825/reviews.php
+http://archive.soccerage.com/s/fr/09/98335.html
+http://www.ferien-immobilien.de/nordrhein-Westfalen/aachen/Verkauf/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/3d-service/Gemeinsam/erreichenPartner/Gemeinsam/impressum.htm
+http://www.ebigchina.com/tool_tellfriend.phtml?code=msg&mid=3174
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/src/libexec/rpc.rwalld/Makefile?only_with_tag=RELENG_3
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/src/libexec/rpc.rwalld/Makefile?only_with_tag=MAIN
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/src/libexec/rpc.rwalld/Makefile?only_with_tag=RELENG_3_BP
+http://ring.jec.ad.jp/pub/linux/debian/debian/dists/unstable/contrib/binary-sh/admin/?M=A
+http://www2.eunet.lv/library/alt/URIKOVA/FORTUNE_D/Mirrors
+http://www.hermes.dk/departments/om/publica.shtml
+http://208.194.150.10/Ski/Articles/DrDewpoint/001/bannerAd.shtml
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/quanta/quanta/widgets/?sortby=log&only_with_tag=start
+http://biblio.cesga.es:81/search*gag/aSempere+Navarro,+Antonio-Vicente/asempere+navarro+antonio+vicente/-5,-1,0,E/frameset&F=asempere+y+guarinos+juan+trad&1,1
+http://www.fractal.com.ru/Component/Toshiba/74Cxx/TC74HC74DS.pdf
+http://www.staroriental.net/nav/soeg/ihf,aai,n3,7,Electric+Wave+Girl+1998.html
+http://excite.de/auto/katalog/11803
+http://gatekeeper.dec.com/pub/BSD/NetBSD/NetBSD-current/pkgsrc/sysutils/amanda-client/pkg/
+http://www.smcworld.com/smcworld/bp_e/large/0524_2301_002x2301_003x2301_004x2301_005x2301_006x2301_007_2301_005b.html
+http://www.kaos.dk/sexriddle/x/j/t/z/d/
+http://www.kaos.dk/sexriddle/x/j/t/z/e/
+http://spartanburg2.edgate.com/blgspringes/school_athletics/parent/
+http://www-personal.engin.umich.edu/~mhaanpaa/?S=D
+http://www.amcity.com/jacksonville/stories/2000/05/15/story8.html?t=email_story
+http://yp.gates96.com/7/47/40/13.html
+http://yp.gates96.com/7/47/42/7.html
+http://yp.gates96.com/7/47/43/2.html
+http://yp.gates96.com/7/47/43/22.html
+http://yp.gates96.com/7/47/43/54.html
+http://yp.gates96.com/7/47/44/0.html
+http://yp.gates96.com/7/47/45/3.html
+http://yp.gates96.com/7/47/45/30.html
+http://yp.gates96.com/7/47/45/78.html
+http://yp.gates96.com/7/47/45/89.html
+http://yp.gates96.com/7/47/46/41.html
+http://yp.gates96.com/7/47/46/71.html
+http://yp.gates96.com/7/47/48/1.html
+http://yp.gates96.com/7/47/48/68.html
+http://yp.gates96.com/7/47/48/92.html
+http://yp.gates96.com/7/47/49/6.html
+http://yp.gates96.com/7/47/49/43.html
+http://yp.gates96.com/7/47/49/86.html
+http://yp.gates96.com/7/47/49/97.html
+http://de.excite.de/bildung/katalog/24692
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=90&discrim=226,20,231
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=90&discrim=226,20,4
+http://www.affiliate.hpstore.hp.co.uk/do/session/380862/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/search.asp
+http://www1.zdnet.co.uk/news/news1/ns-1511.html
+http://bellona.itworld.com:8080/cwi/reprint/0,1926,NAV63-128-1357-1367_STO48730,00.html
+http://wwwhome.cs.utwente.nl/~zwiers/projects/docs/jdk/api/java/util/class-use/SortedMap.html
+http://cgi.cnnsi.com/football/nfl/players/Ed.McCaffrey/
+http://fi.egroups.com/messages/philmusic/12006
+http://fi.egroups.com/messages/philmusic/12123
+http://fi.egroups.com/messages/philmusic/213
+http://fi.egroups.com/messages/philmusic/1826
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=22,0+20,0-9,2-~
+http://my.egroups.com/message/gps4gis/164
+http://www.bemi-immobilien.de/Startseite/www.allgemeine-immobilien-boerse.de/allgemeine-ib/landkreiszwickau/Verkauf/29109700708107kirchbergvillamü/Gemeinsam/MarketingStrategie/Gemeinsam/Inserieren/Startseite/Startseite/Gemeinsam/versicherungen/gebaeude/anforderungsformular.htm
+http://apple.excite.com/entertainment/fine_arts/classical_music/composers/baroque_composers/albinoni_tomaso/works/
+http://www.lithoquoter.com/Scripts/WebObjects.exe/Printers.woa/609420000046582000001552000000949302/main.wo/7834100000849302/4/-/prime
+http://yp.gates96.com/11/75/40/25.html
+http://yp.gates96.com/11/75/40/38.html
+http://yp.gates96.com/11/75/40/88.html
+http://yp.gates96.com/11/75/40/91.html
+http://yp.gates96.com/11/75/42/1.html
+http://yp.gates96.com/11/75/42/74.html
+http://yp.gates96.com/11/75/42/81.html
+http://yp.gates96.com/11/75/43/45.html
+http://yp.gates96.com/11/75/43/51.html
+http://yp.gates96.com/11/75/46/25.html
+http://yp.gates96.com/11/75/46/72.html
+http://yp.gates96.com/11/75/46/89.html
+http://yp.gates96.com/11/75/46/91.html
+http://yp.gates96.com/11/75/47/5.html
+http://yp.gates96.com/11/75/48/67.html
+http://yp.gates96.com/11/75/49/89.html
+http://users.telerama.com/~mross/jenny/forsale.html
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=14&discrim=212,57
+http://ring.htcn.ne.jp/archives/NetBSD/NetBSD-1.4.2/atari/binary/security/?N=D
+http://library.bangor.ac.uk/search/dCanada+--+Agricultural+resources+--+19th+century/dcanada+agricultural+resources+++19th+century/-5,-1,0,B/exact&F=dcanaanites&1,3
+http://www.brio.de/BRIO.catalog/39fe2f6406e8eec4273fd472aa780738/UserTemplate/5
+http://kuyper.calvin.edu/fathers2/NPNF1-05/npnf1-05-04.htm
+http://kuyper.calvin.edu/fathers2/NPNF1-05/npnf1-05-08.htm
+http://kuyper.calvin.edu/fathers2/NPNF1-05/npnf1-05-20.htm
+http://polygraph.ircache.net:8181/http_-2www.sgi.net/http_-2www.itools.com/research-it/http_-2www.aardvarkclay.com/Themes/http_-2www.snapsite.com/guests/sk8ctrl/public/html/sitemap/sitemap.htm
+http://www.genexchange.com/cemlist.cfm?state=mo&county=webster
+http://newsone.net/nnr/showart/alt.current-events.haiti/911
+http://212.11.11.62/voyages_degriffes/MEXIQUE/PARIS+-+MEXICO+A%2FR/SAI00511790/
+http://bitwise.linux.tucows.com/x11html/adnload/131942_45932.html
+http://www.brio.de/BRIO.catalog/39fe2f740910301a2740d472aa7806aa/UserTemplate/1
+http://singles-ads.theshoppe.com/cgi-bin/c/736/64/dXNlcmJhbm5lcg==/gn/3585/
+http://www.chaos.dk/sexriddle/j/l/v/y/t/
+http://www.interlog.com/~prandall/relations/d0003/g0000795.html
+http://ftp.jp.debian.org/debian/dists/woody/non-free/binary-arm/oldlibs/?M=A
+http://biblioteca.upv.es/bib/doc/doc_fisbd/129/97268//V/1828099/6////25/N/MLTPAID
+http://biblioteca.upv.es/bib/doc/doc_fisbd/129/147168//V/1828099/11////25/N/MLTPAID
+http://biblioteca.upv.es/bib/doc/doc_fisbd/129/124846//V/1828099/24////25/N/MLTPAID
+http://mirrortucows.technet.it/winme/htmlbeginnerme_size.html
+http://www.bcbsal.org/Provider_Dir/pharmacy/state/Georgia/HAWKINSVILLE/index_10201.html
+http://www.incestpornstories.com/tinkerbellbeard/ac/plus-sizehealthy/petitevietnamese/slanted-eyes/cuntschoolgirls/high-schoolteenager/cherryunderage.html
+http://www.0563.net/imode2/hazu/play/outdoor/nature/nature1.htm
+http://www.launch.com/music/songpage/pvn_content/0,5259,1074221,00.html
+http://ftp.jp.debian.org/debian/dists/unstable/main/binary-alpha/tex/?S=A
+http://iceberg.adhomeworld.com/cgi-win/redirect.exe/896425026
+http://www.nrc-handelsblad.nl/W2/Lab/Baan/000726-a.html
+http://www.nrc-handelsblad.nl/W2/Lab/Baan/000718-a.html
+http://members.tripod.co.jp/muzyaki/?M=A
+http://alfa.nic.in/lsdeb/ls12/ses4/0413039930.htm
+http://excite.de/immobilien/katalog/26640
+http://excite.de/immobilien/katalog/27591
+http://excite.de/immobilien/katalog/28370
+http://excite.de/immobilien/katalog/28376
+http://excite.de/immobilien/katalog/26426
+http://excite.de/immobilien/katalog/28458
+http://www.emerchandise.com/aboutus/b.TV%20THE60S/s.qxmvd5Gr
+http://www.computerworld.com.cn/99/week/9920/9920c13.asp
+http://www.stud.ntnu.no/~oystena/oystena/cache/dvx70a.html
+http://nealet.subportal.com/sn/Shell_and_Desktop/Holiday_Screen_Savers/
+http://dk.egroups.com/message/ugm/40?source=1
+http://www1.bdaserver.de/bda/nat/pzt/formel1/gp/mon.html
+http://www17.freeweb.ne.jp/diary/t-soken/love-love.htm
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/SaveCounter/2000-10-12/14/971332013437.txt
+http://pub3.ezboard.com/f80sxchangegeneraldiscussion.showMessage?topicID=60.topic
+http://www.northampton.ac.uk/cgi-bin/liberation/betsie/betsie.pl/0005/www.nene.ac.uk/ncr/enrol/sectn4/pdf/4-5.pdf
+http://www.xmission.com/~dkenison/cgi/lwgate.cgi/LDS-BOOKSHELF/archives/v01.n676/Date/article-15.html
+http://www.eos.dk/archive/swing/nav08574.html
+http://nathanael.upi.jussieu.fr/tele6.nsf/autres+centres+de+formations!OpenPage&ExpandSection=1,4,11,18,5,17
+http://nathanael.upi.jussieu.fr/tele6.nsf/autres+centres+de+formations!OpenPage&ExpandSection=6,4,11,18,5,17
+http://cn.egroups.com/message/highlanderswaps/3351
+http://cn.egroups.com/message/highlanderswaps/3356
+http://www.mobygames.com/user/sheet/view/havelist/so,game_title(game_id)+DESC,game_havelist_id+DESC/userHaveListId,18/userSheetId,832/offset,15/
+http://www.mobygames.com/user/sheet/view/havelist/so,game_title(game_id)+DESC,game_havelist_id+DESC/userHaveListId,18/userSheetId,832/offset,60/
+http://gettosdownloads.subportal.com/sn/Palm_Pilot/Home_and_Hobby/12385.html
+http://biblio.cesga.es:81/search*gag/aOurense+(Di%26oacute%3Bcesis).+Obispado+de+Ourense,+ed./aourense+diocesis+obispado+de+ourense+ed/-5,-1,0,B/browse
+http://www.beneteau-owners.com/beneteau.nsf/userlistbyboat!OpenView&Start=21.24&Count=45&Expand=39
+http://www.geocities.com/Yosemite/8908/
+http://www.geocities.com/Yosemite/3295/
+http://lists.insecure.org/linux-kernel/2000/Apr/4105.html
+http://www.telematik.informatik.uni-karlsruhe.de/osf/sw/v5.0x/lp2/dna500/
+http://atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/dist/0.0.28/graphics/TreeBuilder/TreeMaker/CVS/?M=A
+http://www.21hk.com/book/zt/zt/zpj/c/chichuancilang/txmoxj/012.htm
+http://chat.hani.co.kr/NetBBS/Bbs.dll/brief/rcm/zka/B23lBn-t/qqatt/^
+http://www3.buch-per-sms.de/impressum.jsp$ID=To7770mC6889218603037781At0.41865389376542195
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/151/1997/7/0/904457/
+http://www.mets.com/gameinfo/990504-recap.htm
+http://www.mets.com/Video/990709-PiazzaHR_lr.asp
+http://www.people.zeelandnet.nl/cn.atlas/compatlasw1.html
+http://www.digitaldrucke.de/(aktuell,bekanntschaften,hilfe,marktplatz,nuernberg)/_fort/html/themen/markt/bekannt/bekannt.htm
+http://www.staroriental.net/nav/soeg/ihf,acf,s0,359,Gigi+Leung+Wing-Kay.html
+http://rapidus.tucows.com/winme/adnload/137435_28887.html
+http://library.bangor.ac.uk/search/aBerthoff,+Ann+E/aberthoff+ann+e/-5,-1,0,B/frameset&F=aberthier+rene&1,1
+http://www.teenplatinum.com/barelylegal/underagevirgin/abductionbondage/amateurco-ed/chijapanese/{gaylink}
+http://www.paisvirtual.com/informatica/freeware/cltorres/contra.htm
+http://library.cuhk.edu.hk/search*chi/aInstitution+of+Civil+Engineers+(Great+Britain)/ainstitution+of+civil+engineers+great+britain/-5,-1,0,B/browse
+http://www.digitaldrucke.de/(aktuell,computer,hersteller,hilfe)/_fort/html/themen/computer/hard/links/dell.htm
+http://www.angelfire.com/ar/jimbowles/weekofoct3.html
+http://www.dtic.mil/envirodod/derpreport95/vol_2/b2_1991.html
+http://www.dtic.mil/envirodod/derpreport95/vol_2/b2_2010.html
+http://kobe.cool.ne.jp/heartisland/y_top0004.html
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=146&discrim=10,97,3
+http://www.channel7000.com/partners/tv/consumer/partners-tv-consumer-20000207-231308.html
+http://www.channel7000.com/partners/tv/consumer/partners-tv-consumer-19991206-195152.html
+http://www.channel7000.com/partners/tv/consumer/partners-tv-consumer-990920-105620.html
+http://www.channel7000.com/partners/tv/consumer/partners-tv-consumer-990810-082554.html
+http://gallery2.simplenet.com/lobby/main/videocaps/lalbrght/conair/laca26.htm
+http://www.ld.com/cbd/archive/1999/09(September)/30-Sep-1999/Bawd007.htm
+http://www.ld.com/cbd/archive/1999/09(September)/30-Sep-1999/Bawd013.htm
+http://chunma.yeungnam.ac.kr/~j4390071/
+http://www.chaos.dk/sexriddle/h/y/z/m/
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a18/d262/b190,8,be,29,29,,b,,be,b,
+http://pub17.ezboard.com/fanimesandrpgslinkstositesandotherforums.showMessage?topicID=2.topic
+http://www.hotelboulevard.com/fr/riviera/standard/htmled1e03872682f66e105b3c38b4506d50/sessionLang/ANG/search.html
+http://bbs.msquare.or.kr/list.bbs/course/old/DiscMath95/9.html
+http://www.rezel.enst.fr/ftp/linux/distributions/debian/CD-1/dists/unstable/main/binary-all/mail/?N=D
+http://www.ee/epbe/pangandus/9910/0.2.txt
+http://shitty.10pics.com/buttfucking/rear/
+http://www.thestateofcolorado.com/hsiwindowdoorlettering.html
+http://www.generation-formation.fr/brevesc.htm---o21zAo0UtDo0Ol9A074fo6Td4ezyr6feZJPAPfVbNyqruePl9neNHhIeOkatAhcgNA074wNV8XzAhcgNAPfVbdsNhJI.htm
+http://netscape.digitalcity.com/boston/sports/standings.dci?league=NBA&team=BOS
+http://netscape.digitalcity.com/boston/sports/attcompare.dci?league=NBA&team=BOS
+http://retailer.gocollect.com/do/session/1912752/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://mindit.netmind.com/proxy/http://www.skepdic.com/sympathetic.html
+http://mindit.netmind.com/proxy/http://faculty.washington.edu/chudler/moon.html
+http://itcareers.careercast.com/texis/it/itjs/++wwBmeE_D86esmwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqew8Qwo5qda5dc1BodDawGnwaGn31oGnmaoDmnpBraADdicnmtnapGdm1qBaBnqrDoqwcatGd1pamnVncdpaMFqoET02fgENDzmezxwwwpBmeC_D86Qwww5rmkmwwBrmeyDwww/morelike.html
+http://retailer.gocollect.com/do/session/1912762/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/terms_and_conditions.asp
+http://retailer.gocollect.com/do/session/1912762/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://www.writtenbyme.com/cgi-bin/rw_readarticle.cgi/141339880.shtml
+http://www.writtenbyme.com/cgi-bin/rw_readarticle.cgi/410769654.shtml
+http://www.writtenbyme.com/cgi-bin/rw_readarticle.cgi/190045923.shtml
+http://tucows.megalink.com/winme/preview/76155.html
+http://www.buybuddy.com/sleuth/17/1/2006/32184/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380853/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/FR/REGISTRATION/entry.asp
+http://pchome.net:81/ch/Hw/CAMERA/canoneosd30/canoneosd30.htm
+http://pchome.net:81/ch/Hw/CAMERA/kodaknew.htm
+http://pchome.net:81/ch/Hw/MODEM/twluc562w2k.htm
+http://pchome.net:81/ch/Hw/MONITOR/mag796fd.htm
+http://pchome.net:81/ch/Hw/cool/anquanshuileng/anquanshuileng.htm
+http://pchome.net:81/ch/Hw/DISPLAY/3dbenchmarks/3dbenchmarks.htm
+http://pchome.net:81/ch/Hw/CAMERA/Microdrive.htm
+http://pchome.net:81/ch/Hw/harddisk/niyaomaishime.htm
+http://www.civila.com/guitar/desenredada/chat/logos/index.html-ssi
+http://members.xoom.it/scialpinismo/gitaappenparm/PreviewPages/PreviewPage7.htm
+http://cpan.nitco.com/modules/by-module/Mail/ASPIERS/URI-Bookmarks-0.92.readme
+http://polygraph.ircache.net:8181/services/design/http_-2www.swnebr.net/~cambridg/http_-2www.cauce.org/Malcolm/
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_aswkit_aswkit.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_nbilwv_rbpobu.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_jkawvi_messod.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_jkawvi_otdbms.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_jkawvi_hoktlo.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_uhfkhdn_ilaeh.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_xyhsj_pfepjoa.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_alkqaay_mogsts.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_ighrg_ighrg.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_cbfjod_parbe.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_dqnlq_jfspcj.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_phcro_bwlah.html
+http://www.asahi-net.or.jp/~yd7k-itu/sbbsindex/old/16_phcro_xoxchqb.html
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/IkhI2h2UISFGhSJ4dK-jGu69npNFUTS7n0SO4q6b8rSzWq_RIDBJOsj9QRxPcb3IZgZlQ5jvjGikzJWNeK-85DucH1Ag5dhhL0czi-GMxyHC1dmfKc0hW5TzqJpnm938SIT3xNrWgjZN66P6
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/oo1IpLu33emgRiskeudWkzY7LxFY35wz6EqyQ42lguNadi_4qnt4FhGUPOob_C5Wt99hQSEKEuRTRevsau9UYJ9lySivV-u51_OF4aSEhYXTt98QpjnIOFYPV6acMb20In922uOHMyYdC8HXvwhIP-8o8oM4wLBMdll6aW8xe922WllgXE1F5qlvFqyA
+http://msdn.microsoft.com/library/devprods/vs6/visualj/vjref/java.sql.DatabaseMetaData136.html
+http://msdn.microsoft.com/library/devprods/vs6/visualj/vjref/java.sql.DatabaseMetaData090.html
+http://romulus.ehs.uiuc.edu/cgi-bin/lwgate/RADSAFE/archives/radsafe9902/Date/article-572.html
+http://spaceports.tucows.com/winme/preview/76400.html
+http://www.telecombroker.com/q/001p/ppc3/qG4gs1ewhU.htm
+http://ftp.nodomainname.net/pub/mirrors/.2/gnu/graphics/?N=D
+http://retailer.gocollect.com/do/session/1912813/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/help/site_tour/index.asp
+http://retailer.gocollect.com/do/session/1912813/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/news/index.asp
+http://retailer.gocollect.com/do/session/1912813/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/privacy_policy.asp
+http://202.101.106.19/dir/100/10a/zzgk/bszn/111.htm
+http://www.eveclub.com/cgi-bin/eveclub.front/972959538910/Catalog/1000084
+http://www.eveclub.com/cgi-bin/eveclub.front/972959538910/Club/start/1000000
+http://www.slis.ua.edu/cgi-bin/clickthrough.cgi/CT=http_3a_2f_2fwww_2edermis_2enet_2fbilddb_2fdiagnose_2fenglisch_2fi697015_2ehtm
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/folderFrame/100001/0/rnumber/8467604
+http://www-personal.engin.umich.edu/~vernage/teamweb/team.building/effective.meetings/effective.meetings.facilitation.htm
+http://www4.law.cornell.edu/uscode/42/ch87subchIV.head.html
+http://yp.gates96.com/7/27/90/10.html
+http://yp.gates96.com/7/27/90/11.html
+http://yp.gates96.com/7/27/90/30.html
+http://yp.gates96.com/7/27/91/72.html
+http://yp.gates96.com/7/27/91/76.html
+http://yp.gates96.com/7/27/91/85.html
+http://yp.gates96.com/7/27/91/92.html
+http://yp.gates96.com/7/27/92/61.html
+http://yp.gates96.com/7/27/92/72.html
+http://yp.gates96.com/7/27/93/10.html
+http://yp.gates96.com/7/27/93/17.html
+http://yp.gates96.com/7/27/93/30.html
+http://yp.gates96.com/7/27/93/65.html
+http://yp.gates96.com/7/27/93/76.html
+http://yp.gates96.com/7/27/93/99.html
+http://yp.gates96.com/7/27/94/37.html
+http://yp.gates96.com/7/27/94/85.html
+http://yp.gates96.com/7/27/95/5.html
+http://yp.gates96.com/7/27/95/14.html
+http://yp.gates96.com/7/27/95/55.html
+http://yp.gates96.com/7/27/95/57.html
+http://yp.gates96.com/7/27/96/21.html
+http://yp.gates96.com/7/27/96/49.html
+http://yp.gates96.com/7/27/96/50.html
+http://yp.gates96.com/7/27/96/55.html
+http://yp.gates96.com/7/27/96/92.html
+http://yp.gates96.com/7/27/97/24.html
+http://yp.gates96.com/7/27/97/73.html
+http://yp.gates96.com/7/27/97/98.html
+http://yp.gates96.com/7/27/98/26.html
+http://yp.gates96.com/7/27/98/62.html
+http://yp.gates96.com/7/27/99/15.html
+http://yp.gates96.com/7/27/99/52.html
+http://www.nrk.no/finnmark/x2_9_98/nyh11.htm
+http://www.excelsior.com.mx/9701/970105/nac18.html
+http://www.symantec.co.kr/sabu/igear/igear_educ/stories.html
+http://www.smcworld.com/smcworld/bp/pre/0204_1_1070.html
+http://www.cpami.gov.tw/ymsnp/animal/fauna/nospc708choice.htm
+http://pub9.ezboard.com/fdawsonscreek50374helpwanted
+http://pub9.ezboard.com/fdawsonscreek50374frm17
+http://www.happychannel.it/turismo/europa/top_news/schede/scheda_991209110434.shtml
+http://www.happychannel.it/turismo/europa/top_news/schede/scheda_991111111106.shtml
+http://dirs.educationamerica.net/New_York/Localities/N/New_York_City/Manhattan/Business_and_Economy/
+http://dirs.educationamerica.net/New_York/Localities/N/New_York_City/Manhattan/Government/
+http://china-water.51.net/life/life_20.htm
+http://china-water.51.net/life/life_22.htm
+http://www.egroups.com/message/ramtalk/17801
+http://www.usahardware.com/inet/webSession/shopper/US972959720-31113/store/dept-1
+http://www.usahardware.com/inet/webSession/shopper/US972959720-31113/store/specials
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=97&discrim=2,68,201
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/quizz/legendes/misc/music/lit/hasard.html
+http://findmail.com/group/ken2061
+http://www.affiliate.hpstore.hp.co.uk/do/session/380852/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-photoworld.com/photoworld.asp?lang=f
+http://www.affiliate.hpstore.hp.co.uk/do/session/380852/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/SMARTTIPS/traveljournal.asp
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www-med.stanford.edu/school/banner.html
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www-med.stanford.edu/school/neurosurgery.html
+http://hotop.on.net.cn/diguo/club/disp.asp?owner=A201&ID=894
+http://hotop.on.net.cn/diguo/club/disp.asp?owner=A201&ID=846
+http://interbaun.tucows.com/winme/preview/577.html
+http://www.ferien-immobilien.de/ungarn/verkauf/Gemeinsam/Immolink/Exklusiv-IB/Startseite/3d-service/Private-IB/Startseite/Default.htm
+http://www.eos.dk/archive/swing/msg10936.html
+http://www.egroups.com/message/ICSIA-PublicForum/138
+http://www.online.kokusai.co.jp/Service/V0043601/wrd/G200/service/service.html
+http://debian.tod.net/debian/dists/unstable/main/source/libs/?N=D
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a17/d79/b77,e,4d,51,51,819,819,,2,,51,2,4e,,4d,4e,
+http://www.redhat.com/mirrors/LDP/LDP/khg/HyperNews/get/fs/fs/9/?N=D
+http://ftp.oleane.net/pub/CTAN/systems/knuth/local/man1/?D=A
+http://www.jamba.de/KNet/_KNet-_UA8j1-xFd-13bat/browse.de/node.0/cde7f1uou
+http://www.jamba.de/KNet/_KNet-_UA8j1-xFd-13bbg/showInfo-jambabanner.de/node.0/cenv0b09a
+http://www.tente.de/us/produkte/artikel/af000000736.htm
+http://dwp.bigplanet.com/bloomingprairie/look/sitemap.nhtml
+http://www.kfh-mainz.de/Organisationen/Ketteler/pf/ws0001.html
+http://extreme-dm.com/tracking/reports/dj/nph-reloads.cgi?tag=agmusik
+http://www.chaos.dk/sexriddle/c/v/m/v/y/
+http://ring.jec.ad.jp/pub/linux/debian/debian/dists/woody/non-free/binary-i386/electronics/?D=A
+http://tongbang-gh.ed.taejon.kr/1998대전시/math/olym/function/m103_003/html/m103_003h01.html
+http://www.company-product.com/23063/
+http://members.tripod.lycos.co.kr/re22/CPUCOOL5195/uni2k15/?N=D
+http://209.52.189.2/print_message.cfm/stepparents/8279/173602
+http://216.33.87.17/sports/baseball/sba/sba04r.htm
+http://www.mc99.co.jp/mvp/member/new/honda/16kr3fj2/search.cgi?_file=038
+http://www.emerchandise.com/browse/EMERCH/COASTERS/s.cU6lmV05
+http://www.emerchandise.com/browse/CHARMED/s.cU6lmV05
+http://www.across.or.jp/nbbs/nbbs.cgi/talk:n18/replyto/462
+http://www.vins-siffert-scea.fr/lycee-seijo/guide/staff/yoshida.htm
+http://www.egroups.com/messages/grebel-list/2305
+http://polygraph.ircache.net:8181/services/design/http_-2www.abcjewelry.com/http_-2www.1045fm.com/http_-2www.4sitedesign.com/stp/nbm.html
+http://bsd.sinica.edu.tw/cgi-bin/cvsweb.cgi/ports/astro/wmmoonclock/pkg/Attic/DESCR?only_with_tag=RELEASE_4_0_0
+http://biblio.cesga.es:81/search*gag/tMariposas+negras.+1:08,50+min/tmariposas+negras++++1+++08+++50+min/-5,-1,0,B/frameset&F=tmariposa+y+la+hormiga&1,1
+http://polygraph.ircache.net:8181/Cameras/order/rr962.htm
+http://polygraph.ircache.net:8181/Cameras/order/dfwmap.htm
+http://support.tandy.com/support_audio/doc45/45827.htm
+http://image.tulips.tsukuba.ac.jp:70/fif=picture/ECWP/001.fpx&init=-0.23170732,0.0,1.2317073,1.0&rect=0.5,0.25,0.6829269,0.375&wid=600&hei=600&lng=ja&enablePastMaxZoom=OFF&page=uv1-en.html&obj=uv,1.0&cmd=NW
+http://pub23.ezboard.com/fcaribbeanvoiceforumsfrm3.showAddTopicScreenFromWeb
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,1+0,0-19,0+9,4
+http://vipnet.tucows.com/win2k/adnload/51108_28465.html
+http://vipnet.tucows.com/win2k/adnload/38782_28482.html
+http://www4.50megs.com/tstazer/edhtms/edbeats.htm
+http://www.unterhaltungs-cd.de/ObervellacherBuam/B000025KMT.htm
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=bocarderont&l=fr
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=146&discrim=10,3,211
+http://variety.studiostore.com/help_security/b.TV%20HERCULES/s.cD15jQkr
+http://variety.studiostore.com/help_shipping/b.TV%20HERCULES/s.cD15jQkr
+http://variety.studiostore.com/product/TSHER0001/b.TV%20HERCULES/s.cD15jQkr
+http://variety.studiostore.com/aboutus/b.TV%20HERCULES/s.cD15jQkr
+http://www.redrocksports.com/sports/webSession/shopper/RR972959753-31163/store/dept-5/department/dept-5/item/51530
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=135&discrim=165,71,194
+http://www.kagtech.com/SpitfrireKennels
+http://www.expage.com/page/thekatshow
+http://www.jobvillage.com/channel/jobs/cleaning/gardener/b.4255.g.3878.html
+http://www.xmwb.sh.cn/xmwb/20000704/BIG5/14016^6070408.htm
+http://www.xmwb.sh.cn/xmwb/20000704/BIG5/14016^7070414.htm
+http://dennou-t.ms.u-tokyo.ac.jp/arch/cc-env/Linux/debian-jp/dists/woody-jp/contrib/binary-all/tex/?S=A
+http://genforum.genealogy.com/ny/monroe/messages/350.html
+http://genforum.genealogy.com/ny/monroe/messages/296.html
+http://genforum.genealogy.com/ny/monroe/messages/306.html
+http://genforum.genealogy.com/ny/monroe/messages/213.html
+http://otenet.themes.tucows.com/fonts/preview/18792.html
+http://otenet.themes.tucows.com/fonts/adnload/18828.html
+http://otenet.themes.tucows.com/fonts/adnload/18876.html
+http://otenet.themes.tucows.com/fonts/preview/18877.html
+http://otenet.themes.tucows.com/fonts/adnload/18894.html
+http://otenet.themes.tucows.com/fonts/adnload/18910.html
+http://otenet.themes.tucows.com/fonts/adnload/18941.html
+http://otenet.themes.tucows.com/fonts/adnload/18949.html
+http://otenet.themes.tucows.com/fonts/adnload/25945.html
+http://ww.egroups.com/message/schoolnet_sadc/96
+http://ww.egroups.com/message/schoolnet_sadc/98
+http://www6.pasta.cs.uit.no/ietf/ietf45/proceedings/I-D/webdav-dublin-core-01.txt
+http://www-uk9.cricket.org/link_to_database/INTERACTIVE/SURVEYS/POLLS_DEC1998.html
+http://www.ucp.org/ucp_generaldsc.cfm/151/8/35/ucp_disctpc/292/263
+http://www.ucp.org/ucp_generaldsc.cfm/151/8/35/ucp_disctpc/79/79
+http://se.egroups.com/message/DBA/1700
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/138/2000/6/0/
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/138/2000/7/0/
+http://www.inf.fu-berlin.de/lehre/WS00/SWT/material/rosebeispiele/interaccess/logicalview/cat32862112022a/cat36e7162c0192/msg343269780227.htm
+http://www.private-immobilien-boerse.de/leipzig/verkauf/Gemeinsam/erreichenPartner/IIM-Teil/Startseite/Gemeinsam/versicherungen/gebaeude/Allgemeine-IB/Startseite/
+http://www.private-immobilien-boerse.de/leipzig/verkauf/Gemeinsam/erreichenPartner/IIM-Teil/Startseite/Gemeinsam/versicherungen/gebaeude/Gemeinsam/Immolink/link.htm
+http://freetravel.bedandbreakfast.com/Canada/Prince%20Edward%20Island/Little%20Sands.asp
+http://freetravel.bedandbreakfast.com/Canada/Prince%20Edward%20Island/Miscouche.asp
+http://freetravel.bedandbreakfast.com/Canada/Prince%20Edward%20Island/O'Leary.asp
+http://www.buybuddy.com/sleuth/15/1/1070306/519432/
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/KIRJASTO-+JA+TIETOPALVELUT/ammattikorkeakoulukirjastot/ammattikorkeakoulut/lahti/p%E4ij%E4t-h%E4me/
+http://www.3w-buecher.de/GravesRobert/GravesRobert0140171991.htm
+http://www.3w-buecher.de/GravesRobert/GravesRobert1559948345.htm
+http://www.3w-buecher.de/GravesRobert/GravesRobert1850897506.htm
+http://members.theglobe.com/heliox2/pokepages/ninepic.htm
+http://taiwan.vh.org//////Providers/Textbooks/MuscleInjuries/Fig2.html
+http://www.globalgarden.com/Tomato/Archives/vol.1/1147.html
+http://www.mojahedin.org/Pages/Mojahed/Mojahed442/articles/articlesftx03.html
+http://216.34.146.180/161000reu/16hlth6.htm
+http://moshkow.sstu.samara.ru/win/BESTER/Encoding_koi
+http://in.egroups.com/message/Girl-Scout-Swaps/9
+http://in.egroups.com/message/Girl-Scout-Swaps/31
+http://members.tripod.com/floydechoes/more.htm
+http://nanjingnews.jlonline.com/nanjingnews/njrb/20000222/08dushi.htm
+http://www.egroups.com/messages/archery/38?expand=1
+http://retailer.gocollect.com/do/session/1912759/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/index.asp
+http://home.dqt.com.cn/~ying_jia/wangwen/new/111.htm
+http://canoe.com/MLB97FLASF/sep30_fla_sf.html
+http://pub2.ezboard.com/fespguitarsmessageboardltdguitarandbassreviews.subscribeUnregisteredToTopic?topicID=8.topic
+http://www.catholicstore.com/search/index.cfm/FuseAction/largeImage/SKU/2558/category/Bo/subCategory/AE/subject/17
+http://www.allgemeine-immobilien-boerse.de/bayern/augsburg/Verkauf/Private-IB/Startseite/Gemeinsam/Inserieren/Private-IB/IIM-Teil/Startseite/froben.htm
+http://www.infoscape.com.cn:8171/nf/0004/18/nfga1801.htm
+http://www.infoscape.com.cn:8171/nf/0004/18/nfga1809.htm
+http://www.linux.com/networking/network/kernel/apache/applications/HTTP/
+http://www.linux.com/networking/network/kernel/apache/applications/Linuxcare/
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=exacerbate&l=en
+http://dopey.rediris.es/ftp/mirror/CPAN/modules/by-module/overload/GSAR/Archive-Tar-0.071.readme
+http://dopey.rediris.es/ftp/mirror/CPAN/modules/by-module/overload/GSAR/Tie-IxHash-1.21.readme
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=207&discrim=3,201,226
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=207&discrim=3,201,85
+http://www.gsnet.com/bdltg/es/1_136243.html?num=2
+http://www.pinoycentral.com/img/UBB.nsf/e39d540ca6a9104b4825694d006ed185/6668efca7b60518648256966000fd202?Navigate&To=Prev
+http://www.academyfloral.com/state/cabel/flowers/harmony.html
+http://trading.rakuten.co.jp/items001/4c/0d/10138895/bidlist.html
+http://www.cs.uwa.edu.au/programming/jdk1.2.2/api/javax/swing/event/class-use/TableColumnModelListener.html
+http://secure.danysoft.com/asp/dany.tienda/803039052/IconBar
+http://ftp-stud.fht-esslingen.de/pub/Mirrors/CPAN/modules/by-authors/id/L/LH/LHS/?S=A
+http://genforum.genealogy.com/ga/messages/6297.html
+http://genforum.genealogy.com/ga/messages/7843.html
+http://genforum.genealogy.com/ga/messages/7281.html
+http://www.jsinc.com/dd/destnat/sep00/fromcol10090800.asp
+http://www.secinfo.com/$/SEC/Filing.asp?T=nDA3.7c_9i4
+http://www.secinfo.com/$/SEC/Filing.asp?T=nDA3.7c_b19
+http://www.sd.digitalcity.com/maconga/penpals/browse.dci?cat=teens
+http://www.sd.digitalcity.com/maconga/penpals/browse.dci?cat=seniors&sort=f
+http://www.picktips.com/category-1031-1172_1170_1174-4_1_3
+http://www-us6.semiconductors.com/acrobat/datasheets/CR6627_1.pdf
+http://ftp.netc.pt/pub/idgames/levels/doom2/deathmatch/p-r/pimp.txt
+http://ftp.netc.pt/pub/idgames/levels/doom2/deathmatch/p-r/radiated.txt
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceMallCategories-BBC709FC_97F7_9E91E7C8C7066684B664C77C8575B940
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceOrderStatusOverview-BBC709FC_97F7_9E91E7C8C7066684B664C77C8575B940
+http://ads.puntopartenza.com/cgi-bin/redirect.cgi/31033638
+http://mediate.magicbutton.net/do/session/625642/vsid/4385/tid/4385/cid/88138/mid/1702/rid/2114/chid/3393/url/http://www.worldgallery.co.uk/frameset-top50.html
+http://link.fastpartner.com/do/session/600388/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/netmaling.php
+http://www.egroups.com/message/RecipeCollectors2/3785
+http://plat.debian.or.jp/debian/dists/woody/contrib/binary-alpha/admin/?S=A
+http://198.103.152.100/search*frc/aFILIPPELLI,+R.L/afilippelli+r+l/-5,-1,0,B/frameset&F=afilion+louis+jacques&1,,0
+http://de.excite.de/wetter/katalog/4206
+http://www.burstnet.com/ads/ad8386a-map.cgi/973225252.925077
+http://www.branchenfuehreronline.de/A/hauptteil_a.html
+http://www.linux.com/networking/support/red_hat/internet/test/simple/
+http://www.shopworks.com/ccfarm/index.cfm/action/search/userid/00061450-2F40-19FE-9038010B0A0ADCF2
+http://www.shopworks.com/index.cfm/userid/00061450-2F40-19FE-9038010B0A0ADCF2
+http://pelit.saunalahti.fi/.1/tucows/preview/144491.html
+http://pelit.saunalahti.fi/.1/tucows/preview/52377.html
+http://www.teacherformation.org/html/od/facilitators.cfm/xid,7238/yid,4053212
+http://tw.yahoo.com/Regional/Countries_and_Regions/China/Provinces__Regions_and_Municipalities/Tianjin/Business/Companies/Utilities/
+http://brain.brent.gov.uk/WebPages.nsf/vWebAllPagesByKey!OpenView&Start=174&Count=60&Expand=194
+http://brain.brent.gov.uk/WebPages.nsf/vWebAllPagesByKey!OpenView&Start=174&Count=60&Expand=227
+http://www.bemi-immobilien.de/Landhaus-Bordeaux/Gemeinsam/versicherungen/unfall/Gemeinsam/erreichenPartner/Startseite/Gemeinsam/MarketingStrategie/Startseite/froben.htm
+http://www.bemi-immobilien.de/Landhaus-Bordeaux/Gemeinsam/versicherungen/unfall/Gemeinsam/erreichenPartner/Startseite/Gemeinsam/MarketingStrategie/Gemeinsam/versicherungen/gebaeude/deckungsumfang.htm
+http://www.3wposter.com/hake/hkg1701.htm
+http://www.citybrazil.com.br/go/mossamedes/utilpub.htm
+http://oss.software.ibm.com/developerworks/opensource/cvs/icu4j/icu4j/src/com/ibm/demo/translit/Attic/?sortby=date
+http://www.linux.com/networking/network/management/operating_system/enterprise/research/
+http://www.angelfire.com/pq/Prophetess/Prophetess.page3.html
+http://www.3w-nostalgie.de/ZeigerMimi/ZeigerMimi007072833X.htm
+http://www.excelsior.com.mx/9801/980128/for01.html
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=11&discrim=49,235,5
+http://retailer.gocollect.com/do/session/1912802/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/contact.asp
+http://citeseer.nj.nec.com/track/64292/4220924
+http://citeseer.nj.nec.com/correct/318910
+http://citeseer.nj.nec.com/correct/249393
+http://www.chaos.dk/sexriddle/h/y/r/k/
+http://www.hig.se/(aconf,date,doc,insert,return)/~jackson/roxen/
+http://www.hig.se/(aconf,date,doc,gtext,insert)/~jackson/roxen/
+http://mediate.magicbutton.net/do/session/625608/vsid/4573/tid/4573/cid/88043/mid/2247/rid/2383/chid/3527/url/http://www.winesmart.com/expert.asp
+http://magazines.sina.com/education/renbun/93/13.html
+http://www6.freeweb.ne.jp/art/cilter/kamijo02.htm
+http://yp.gates96.com/11/25/50/28.html
+http://yp.gates96.com/11/25/50/41.html
+http://yp.gates96.com/11/25/50/65.html
+http://yp.gates96.com/11/25/50/74.html
+http://yp.gates96.com/11/25/50/91.html
+http://yp.gates96.com/11/25/50/93.html
+http://yp.gates96.com/11/25/50/94.html
+http://yp.gates96.com/11/25/51/59.html
+http://yp.gates96.com/11/25/51/93.html
+http://yp.gates96.com/11/25/52/66.html
+http://yp.gates96.com/11/25/54/46.html
+http://yp.gates96.com/11/25/54/68.html
+http://yp.gates96.com/11/25/54/83.html
+http://yp.gates96.com/11/25/54/95.html
+http://yp.gates96.com/11/25/54/98.html
+http://yp.gates96.com/11/25/55/1.html
+http://yp.gates96.com/11/25/55/6.html
+http://yp.gates96.com/11/25/55/96.html
+http://yp.gates96.com/11/25/56/83.html
+http://yp.gates96.com/11/25/56/89.html
+http://yp.gates96.com/11/25/57/30.html
+http://yp.gates96.com/11/25/57/68.html
+http://yp.gates96.com/11/25/58/56.html
+http://yp.gates96.com/11/25/58/67.html
+http://yp.gates96.com/11/25/59/7.html
+http://yp.gates96.com/11/25/59/40.html
+http://yp.gates96.com/11/25/59/58.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/misc/legendes/lit/misc/quizz/quizz2.html
+http://excite.de/kleinanzeigen/katalog/7100
+http://www.egroups.org/messages/stepup/97
+http://sunsite.org.uk/pub/packages/proftpd/misc/?S=A
+http://ring.htcn.ne.jp/archives/lang/perl/CPAN/modules/by-module/CGI/DOUGM/?M=A
+http://ring.htcn.ne.jp/archives/lang/perl/CPAN/modules/by-module/CGI/DOUGM/Apache-Scoreboard-0.10.readme
+http://ring.htcn.ne.jp/archives/lang/perl/CPAN/modules/by-module/CGI/DOUGM/B-Size-0.04.readme
+http://herndon1.sdrdc.com/cgi-bin/can_ind/S8NY00082/1/Y/
+http://in.egroups.com/message/msu-foi/20?source=1
+http://www.worldstocks.de/htm/boersen/asien/indonesien_boerse.htm
+http://members.xoom.com/pvmnieuws/movies/movies.html
+http://gb.toget.com.tw/article/screensaver/index_a_2.html
+http://www.emis.de/journals/EJDE/Volumes/Monographs/Volumes/2000/64/?N=D
+http://bsd.wj.o3.net/8/1/18/4.html
+http://www.ftp.uni-erlangen.de/pub/mirrors/_other/afterstep.foo.net/apps/asprint/?S=A
+http://citeseer.nj.nec.com/cidcontext/3597768
+http://m4.findmail.com/dir/Sports/Soccer/Academic_Study_of_Soccer/History
+http://genforum.genealogy.com/cgi-bin/print.cgi?westerman::121.html
+http://www-koi.bards.ru/Egorov/part84.htm
+http://www-koi.bards.ru/Egorov/part29.htm
+http://www-koi.bards.ru/Egorov/part127.htm
+http://www-koi.bards.ru/Egorov/part68.htm
+http://www.loisirs.ch/emjius/10/brglll.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/quizz/music/computers/legendes/lit/hellequin.html
+http://www.redrival.com/dejanss/muzika/exploited/themassacre.html
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/SaveCounter/2000-08-31/13/967698323786.txt
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/SaveCounter/2000-08-31/13/967699453627.txt
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/SaveCounter/2000-08-31/13/967699813970.txt
+http://www.chaos.dk/sexriddle/c/v/w/l/o/
+http://www.chaos.dk/sexriddle/c/v/w/l/x/
+http://www.allgemeine-immobilien-boerse.de/Oesterreich/verkauf/IIM-Teil/Startseite/Allgemeine-IB/Gemeinsam/3d-service/info.htm
+http://www.marktplatz-hs.de/cgi-bin/ChioEditionShop.s/39fe2eeb0239a4a4273fd47540f806ea/IconBar
+http://www.jamba.nl/KNet/_KNet-sDD8j1-GC4-puzu/browse.nl/node.0/cde7f1uou
+http://www.icopyright.com/1.1635.66362
+http://www.ld.com/cbd/archive/1999/05(May)/07-May-1999/Vsol004.htm
+http://www.infoscape.com.cn:8171/nf/0007/05/nfgz0517.htm
+http://209.207.239.212/bkindex/c1034/f1392.html
+http://www.gbnf.com/genealogy/rockwel4/html/d0007/I1584.HTM
+http://www.gbnf.com/genealogy/rockwel4/html/d0023/I3700.HTM
+http://www.hornchurch.londonengland.co.uk/designersgraphic.htm
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/computers/lit/misc/colorart/lit/quizz/
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/computers/lit/misc/colorart/lit/misc/orders_mag.html
+http://www.multimap.com/wi/141313.htm
+http://www.multimap.com/wi/141326.htm
+http://www.thestateofcolorado.com/aconplumbing.html
+http://www.thestateofcolorado.com/aconstairs.html
+http://ftp.netc.pt/pub/idgames/levels/doom2/0-9/10level.txt
+http://members.tripod.com.br/Magoo13/musicas.htm
+http://tucows.bigskysoft.com/winme/adnload/137256_30133.html
+http://www.houses-apartment-rentals.com/Texas/city_search_criteria.asp?state=TX&City=CHICOTA
+http://se.egroups.com/message/trabalhoseguro/186
+http://www.daysinn.com/ctg/cgi-bin/DaysInn/financial_support/AAAksrACwAAABvyAAQ
+http://www.long-life.de/lt040.htm
+http://smartnet.tucows.com/winme/meditme_rating.html
+http://smartnet.tucows.com/winme/meditme_size.html
+http://www.kmoviefc-jp.com/db/prod/pd/k1000003.htm
+http://ftp.rge.com/pub/usenet/readers/mac/Mews/?S=A
+http://fi.egroups.com/messages/lasermail/298
+http://fi.egroups.com/message/lasermail/295
+http://www.voter.com/home/message/post/1,1559,24-60_2976_2473-,00.html
+http://se.egroups.com/message/rv8list/1122
+http://www.ferien-immobilien.de/Rhein-Sieg-kreis/verkauf/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/3d-service/Gemeinsam/Inserieren/Private-IB/Startseite/Default.htm
+http://library.bangor.ac.uk/search/aUnited+Kingdom+Reading+Association/aunited+kingdom+reading+association/-17,-1,0,B/exact&F=aunited+kingdom+environmental+law+association&1,2/limit
+http://webcenter.travelocity-leisure.netscape.com/DestGuides/0,1840,TRAVELOCITY|1987|5|2,00.html
+http://yokohama.cool.ne.jp/michirur/dragon/maria/m2.htm
+http://ring.omp.ad.jp/archives/NetBSD/packages/pkgsrc/graphics/Ngraph/patches/?D=A
+http://mitglied.tripod.de/argewesterwald/jr/jrfo3.htm
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=3,16,10
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=28,16,10
+http://avdistrict.edgate.com/hhs/pa_rc_gre.html
+http://pub26.ezboard.com/fdysfuctionalrealityfrm2.showAddReplyScreenFromWeb?topicID=32.topic&index=1
+http://www.geocities.co.jp/Playtown-Domino/5245/guti.html
+http://www.haikou.hi.cn/Pandect/hknj98/nj98d1.html
+http://retailer.gocollect.com/do/session/1912800/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/help/site_tour/index.asp
+http://ftp.unina.it/pub/Pcibm/pcdemos/ftp.hornet.org/graphics/images/1998/b/?M=A
+http://variety.studiostore.com/browse/ABUGSLIFE/FIGURINE/s.qjEoNLlG
+http://yp.gates96.com/11/76/10/13.html
+http://yp.gates96.com/11/76/10/18.html
+http://yp.gates96.com/11/76/11/63.html
+http://yp.gates96.com/11/76/14/45.html
+http://yp.gates96.com/11/76/14/65.html
+http://yp.gates96.com/11/76/14/77.html
+http://yp.gates96.com/11/76/15/1.html
+http://yp.gates96.com/11/76/15/68.html
+http://yp.gates96.com/11/76/15/97.html
+http://yp.gates96.com/11/76/16/2.html
+http://yp.gates96.com/11/76/16/59.html
+http://yp.gates96.com/11/76/16/64.html
+http://yp.gates96.com/11/76/16/79.html
+http://yp.gates96.com/11/76/17/10.html
+http://yp.gates96.com/11/76/17/52.html
+http://yp.gates96.com/11/76/19/9.html
+http://yp.gates96.com/11/76/19/11.html
+http://yp.gates96.com/11/76/19/17.html
+http://yp.gates96.com/11/76/19/19.html
+http://www.debian.org.cn/Bugs/db/67/67207-b.html
+http://www.bemi-immobilien.de/Exklusiv-IB/Startseite/Gemeinsam/immolink/Gemeinsam/Inserieren/Startseite/Gemeinsam/versicherungen/unfall/Gemeinsam/3d-service/info.htm
+http://www.private-immobilien-boerse.de/baden-wuertemberg/calw/Verkauf/Gemeinsam/versicherungen/gebaeude/Gemeinsam/erreichenPartner/Private-IB/IIM-Teil/Startseite/frinfo.htm
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=21,0-(14,0)+9,5
+http://www.thesite.msnbc.com/tlkbck/comment/2100652/0,7436,80913-291181,00.html
+http://202.109.72.57:8077/article/19991130/1741.htm
+http://www.mit.edu/afs/athena.mit.edu/astaff/project/eolcdev/arch/sgi_62/
+http://www.metromix.com/top/1,1419,M-Metromix-Home-reviews!PlaceDetail-13623,00.html
+http://ring.jec.ad.jp/pub/linux/debian/debian/dists/woody/non-free/binary-powerpc/news/?M=A
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceStoreCategories-BBC70A07_97FC_42E663949129E2030ACC2E97E71CD8B3
+http://grwy.online.ha.cn/paoe/about/aoe2.htm
+http://www.2pl.com/b/ar/to/1/01/01/v1/1010178470-3.htm
+http://www.digitaldrucke.de/(aktuell,marktplatz,nuernberg,sense,werbung)/suche/uebersicht.html
+http://ustlib.ust.hk/search*chi/aswiss+radio+symphony+orchestra/aswiss+radio+symphony+orchestra/-5,-1,0,B/frameset&F=aswiss+society+for+soil+and+rock+mechanics&1,1
+http://www.ecatsbridge.com/BiB/static/sims/bbljuly99/00000101843221172F1.htm
+http://www.videogames.com/psx/sports/freestyle99/screen.html?page=19
+http://www.mojahedin.org/Pages/Mojahed/Mojahed474/sci/sci02.html
+http://www.shopworks.com/bigmountain/index.cfm/action/cart/userid/000E50D6-1185-19FE-A703010D0A0A8CF2
+http://polygraph.ircache.net:8181/http_-2www.horizonfinance.com/~xionthia/as/
+http://yp.gates96.com/14/76/30/16.html
+http://yp.gates96.com/14/76/30/81.html
+http://yp.gates96.com/14/76/31/12.html
+http://yp.gates96.com/14/76/31/37.html
+http://yp.gates96.com/14/76/31/68.html
+http://yp.gates96.com/14/76/32/11.html
+http://yp.gates96.com/14/76/32/50.html
+http://yp.gates96.com/14/76/32/68.html
+http://yp.gates96.com/14/76/33/26.html
+http://yp.gates96.com/14/76/33/53.html
+http://yp.gates96.com/14/76/35/11.html
+http://yp.gates96.com/14/76/35/26.html
+http://yp.gates96.com/14/76/35/47.html
+http://yp.gates96.com/14/76/35/74.html
+http://yp.gates96.com/14/76/36/16.html
+http://yp.gates96.com/14/76/37/23.html
+http://yp.gates96.com/14/76/37/56.html
+http://yp.gates96.com/14/76/37/82.html
+http://yp.gates96.com/14/76/38/76.html
+http://yp.gates96.com/14/76/39/20.html
+http://yp.gates96.com/14/76/39/25.html
+http://yp.gates96.com/14/76/39/28.html
+http://yp.gates96.com/14/76/39/33.html
+http://yp.gates96.com/14/76/39/61.html
+http://yp.gates96.com/14/76/39/69.html
+http://yp.gates96.com/14/76/39/91.html
+http://www-usa8.cricket.org/link_to_database/ARCHIVE/ARTICLES/JAN-JUN_1996/PRESS_REACTIONS_AUS_18MAR1996
+http://www-usa8.cricket.org/link_to_database/ARCHIVE/ARTICLES/JAN-JUN_1996/LOSS_WI_CRICKET_11MAR1996.html
+http://www-usa8.cricket.org/link_to_database/ARCHIVE/ARTICLES/JAN-JUN_1996/SPINNERS_TALES_11JAN1996
+http://hurweb01.hurriyetim.com.tr/hur/turk/98/11/19/gundem/31gun.htm
+http://library.cuhk.edu.hk/search*chi/aKuan,+Jui-hsuan./akuan+jui+hsuan/-5,-1,0,E/exact&F=akuan+jui+hsuan&1,22
+http://library.cuhk.edu.hk/search*chi/aKuan,+Jui-hsuan./akuan+jui+hsuan/-5,-1,0,E/frameset&F=akuan+jung&1,,0
+http://ring.toyama-ix.net/archives/pc/winsock-l/Windows95/Finger/fing32l.txt
+http://cometweb01.comet.co.uk/do!tid=20&rtid=1&vsid=700&session=132044&mid=1000&rid=1060&cid=37030&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplGGolLarZLq4fLpmiLXv-KmooLckYLoznGmpq0qsc0mojLbkYLozvGotc0ZdoLckYLozvGsmv0qmc0jXfLkVZLdocLkYoLzcj1XfkLVZXLqkXLjbzKcob5qroLkVrLoizKlZd5fjYHfklKkZlLjjbLoZbLpl51ubZLDXZLollK3ljLbqlKjXfLkkaHotl4obmLloqL
+http://student.monterey.edu/nr/riveradebranepom/campus/
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/listUnseen/fol/100001/20,0/5170254
+http://www.ibiblio.org/pub/Linux/distributions/debian/contrib/binary-all/otherosfs/?D=D
+http://www.ilmessaggero.it/hermes/19980909/01_NAZIONALE/SPETTACOLI/E.htm
+http://ayasii.virtualspace.net/html/1207/12071611_himemiya02.htm
+http://retailer.gocollect.com/do/session/1912732/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/about.asp
+http://retailer.gocollect.com/do/session/1912732/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/newintros.asp
+http://retailer.gocollect.com/do/session/1912732/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/dealer_lookup.asp
+http://se.egroups.com/subscribe/pretty_of_five
+http://home.neo.rr.com/keeter/pics.html
+http://www.peopledaily.co.jp/haiwai/199910/12/newfiles/E108.html
+http://www.telematik.informatik.uni-karlsruhe.de/osf/sw/v4.0x/lp2/snt100/?M=A
+http://www.alyon.org/perso/1001-sciences/sciences_citoyens/agronomie/agronomie/intervenants.htm
+http://www.2pl.com/b/no/fi/3/02/24/b1/3022400016-11131.htm
+http://channel.nytimes.com/indexes/2000/07/21/sports/hockey/
+http://space.tin.it/io/fivird/REM/eng/albums/lyrics/documentfr.html
+http://www.kurit.com/girls/galleryf.cgi?mp_code=7332&service=girls
+http://store.efunctional.com/nokia.html
+http://dk.egroups.com/login.cgi?login_target=%2Fmessage%2Fbonsai-cz%2F274
+http://bbs.kcm.co.kr/NetBBS/Bbs.dll/boliviabbs/opn/zka/B2-kB2Fq/qqo/007D/qqatt/^
+http://www.loisirs.ch/cvljnq/10/yrespd.html
+http://www.primenet.com/~trakker/events/abcforum.htm
+http://www.primenet.com/~trakker/events/frame_abcforum.htm
+http://www.fogdog.com/cedroID/ssd3040183253760/nav/products/featured_brands/12r/gift_packs/
+http://www.fogdog.com/cedroID/ssd3040183253760/nav/products/featured_brands/12r/windshirts/
+http://www.oreilly.com/homepages/dtdparse/docbook/3.0/dtdent/simmod02.htm
+http://dk.egroups.com/group/SCMHCSC
+http://www.ycwb.com.cn/gb/2000/01/11/ycwb/dsxw/9.html
+http://dk.egroups.com/message/teenhealth/1620
+http://nbzhuhq1.top263.net/htm/y/y14-5.htm
+http://adserver.latimes.com/editions/orange/20001030/t000103739.html
+http://adserver.latimes.com/editions/orange/20001030/t000103751.html
+http://library.bangor.ac.uk/search/cWS+200+G4655+1999/cws++200+g4655+1999/-17,-1,0,B/frameset&F=cws++141+j74+h+1989&2,,2
+http://ftpsearch.belnet.be/pub/os/linux/SuSE-Linux/i386/6.4/disks/rescue
+http://www.rarf.riken.go.jp/archives/tex-archive/macros/latex//contrib/supported/elsevier/model-harv.pdf
+http://www.diogenes.ch/4DACTION/web_glob_showhtml/path=leser/verlag/index.html&ID=483373
+http://crn.com/Components/emailArticle.asp?ArticleID=2114
+http://link.fastpartner.com/do/session/600410/vsid/1970/tid/1970/cid/135878/mid/1060/rid/1488/chid/1970/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/speednames.php
+http://link.fastpartner.com/do/session/600410/vsid/1970/tid/1970/cid/135878/mid/1060/rid/1488/chid/1970/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/nordicliving.php
+http://ftp.gigabell.net/pub/FreeBSD/FreeBSD-stable/packages/emulators/
+http://ftp.gigabell.net/pub/FreeBSD/FreeBSD-stable/packages/print/
+http://emplois.fr.net/archive062000/2348.html
+http://variety.studiostore.com/browse/ANASTASIA/_/b.FAVORITES%20COMICS%20ANIMFEAT/s.eKoxAPfo
+http://www.geocities.co.jp/HeartLand-Gaien/3163/choko.htm
+http://members.tripod.com/~moviemaniac1/moviesR/Rocketman.html
+http://wiem.onet.pl/wiem/0006ac-sp1.html
+http://msdn.microsoft.com/library/devprods/vs6/visualj/vjref/java.net.UnknownHostException001.html
+http://www.tiscover.ch/1Root/Kontinent/6/Staat/30/Bundesland/31/Ort/1732/Homepage/m_homepage...2.html
+http://power.luneng.com/power/library/jzjs/jzjs99/jzjs9903/990311.htm
+http://citeseer.nj.nec.com/cidcontext/1976718
+http://in.egroups.com/messages/srcg/2
+http://sunsite.informatik.rwth-aachen.de/cgi-bin/ftp/ftpshow/pub/comp/Linux/debian/dists/potato/main/disks-sparc
+http://pd.shiseido.co.jp/s9701unt/html/unt00025.htm
+http://www.kame.tadaima.com/9721036/taro1.html
+http://www.kame.tadaima.com/9721036/taro8.html
+http://www.unc.edu/courses/chem41/classnotes/41s6/sld008.htm
+http://a1sexpics.com/butts/buttfucking/
+http://moundoflove.com/buttfucking/butts/asslickinganal.html
+http://www.digitaldrucke.de/(arbeitsvermittlung,hilfe,nuernberg)/_fort/html/themen/hilfe/hilfe.htm
+http://freethemes.netc.pt/preview/15221.html
+http://freethemes.netc.pt/preview/51972.html
+http://freethemes.netc.pt/preview/74442.html
+http://cn.tech.yahoo.com/000913/23/1dpl.html
+http://cn.tech.yahoo.com/000913/23/1dp2.html
+http://wap.jamba.de/KNet/_KNet-JgK8j1-FGd-13di8/browse.de/node.0/cde7f1uou
+http://imageserver2.tibetart.com:8087/fif=fpxbuddhist/43.fpx&init=0.0,0.0,1.0,1.0&rect=-0.25,0.25,0.25,0.75&wid=280&hei=400&lng=en_US&enablePastMaxZoom=OFF&page=image.html&obj=uv,1.0&cmd=S
+http://www.ozemail.com.au/~pballard/gnt_hidden123/mar12.htm
+http://www.ozemail.com.au/~pballard/gnt_hidden123/act9.htm
+http://www.ozemail.com.au/~pballard/gnt_hidden123/rom7.htm
+http://www.ozemail.com.au/~pballard/gnt_hidden123/2co13.htm
+http://www.ozemail.com.au/~pballard/gnt_hidden123/heb12.htm
+http://www.ozemail.com.au/~pballard/gnt_hidden123/jam4.htm
+http://ftp.darenet.dk/tucows/winnt/adnload/1449_29554.html
+http://www.chaos.dk/sexriddle/w/j/u/o/
+http://www.chaos.dk/sexriddle/w/j/u/v/
+http://opac.lib.rpi.edu/search/tmcgraw+hill+series+in+advanced+chemistry/-5,-1,0,B/frameset&tmcgraw+hill+series+in+advanced+chemistry&9,,42
+http://www.zcu.cz/ftp/mirrors/pgp/6.5/6.5.1/win/
+http://webpolitik.subportal.com/sn/Multimedia_and_Graphics/Misc__Graphics_Tools/12852.html
+http://ftp.lip6.fr/pub2/perl/CPAN/doc/manual/html/lib/SysV/SysV.html
+http://bbs.gznet.edu.cn/cgi-bin/getannounce//groups/GROUP_9/Telecom/friend/fbf/ewqtr
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-10.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-88.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-92.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-177.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-178.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-229.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-288.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9709/date/article-293.html
+http://www.usq.edu.au/unit-1997/fullspec/54081s2x.htm
+http://sound-dist.secured.co.uk/cgi-bin/psProdDet.cgi/15P04|972959617|Helmet|user|0|1,0,0,0
+http://www.buybuddy.com.au/sleuth/8/1/5010204/40843/
+http://www.maxpages.com/vote.cgi?site=pokemonyellow1&pg=Home
+http://rex.skyline.net/html/Automobiles_-_Dealers_-_Used.html?64,outdoor,transportation,collectibles,transportation
+http://www.linux.com/networking/network/communications/management/updates/Windows_NT/
+http://retailer.gocollect.com/do/session/1912735/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/top_ten.asp?pagenum=1
+http://amarilloglobenews.com/stories/031000/
+http://www.egroups.com/post/swish?act=reply&messageNum=275
+http://www.apcmag.com/apcweb/reviewsdisc.nsf/aac7d56ca8fd884b852563be00610639/af5bb64432e7f9444a2565240026bbbf!Navigate&To=PrevMain
+http://best.netease.com/guestbook/personal/zhuirinew3.html
+http://best.netease.com/cgi-bin/view/viewbasic.cgi?japanboy4
+http://www.ftp.uni-erlangen.de/cgi-bin/view/pub/mirrors/redhat/current/i386/doc/gsg/ch-basics.htm
+http://www.ftp.uni-erlangen.de/cgi-bin/view/pub/mirrors/redhat/current/i386/doc/gsg/p5202.htm
+http://splitrock.themes.tucows.com/preview/77000.html
+http://splitrock.themes.tucows.com/preview/25855.html
+http://splitrock.themes.tucows.com/preview/134493.html
+http://splitrock.themes.tucows.com/preview/14722.html
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=13,0-22,0+15,0-0,2
+http://www.icopyright.com/1.1634.64625
+http://mvweb.de/olympia/nachrichten/sportarten/ergebnisse/bdt-190900-438-dpa_153140.html
+http://www.rge.com/pub/tex/fonts/armtex/v2.0/examples/plain/
+http://www.club-internet.fr/cgi-bin/h?Antibes
+http://www.caprili.it/santantimo.htm
+http://dic.empas.com/show.tsp/?q=%C3%EB%C8%EF%20%F6%AD%FD%E9&f=B
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=98&discrim=2,38
+http://www.artex.firenze.it/_qualitart/articoli/zoom/02235.htm
+http://home.powertech.no/huftis/w3c/TR/WAI-WEBCONTENT-NO-NYN/checkpoint-list.txt
+http://mtlab.biol.tsukuba.ac.jp/WWW/PDB2/PCD0467/htmls/07.html
+http://library.cuhk.edu.hk/search*chi/aShu,+Tien-min./ashu+tien+min/-5,-1,0,B/exact&F=ashu+tsung+chiao&1,6
+http://www.trnonline.com/archives/2000archives/05242000/how_now_joe_brown/23506.shtml
+http://www.bemi-immobilien.de/Exklusiv-IB/Startseite/Gemeinsam/versicherungen/gebaeude/Gemeinsam/MarketingStrategie/Gemeinsam/erreichenPartner/Gemeinsam/versicherungen/lebensversicherung/Startseite/frinfo.htm
+http://santabarbarashops.com/Mall/Stores/StoreInfo/asp/store-id/1000007121.html
+http://www.angelfire.com/ok/americassweetheart/UNique.html
+http://ukinvest.ukwire.com/articles/199909070731000375A.html
+http://www.streetprices.com/Electronics/Consumer/Camcorders/Digital/sortproductbylowprice/SP374033.html
+http://www.streetprices.com/Electronics/Consumer/Camcorders/Digital/sortproductbylowprice/SP363722.html
+http://www.streetprices.com/Electronics/Consumer/Camcorders/Digital/sortproductbylowprice/SP288187.html
+http://www.streetprices.com/Electronics/Consumer/Camcorders/Digital/sortproductbylowprice/SP288192.html
+http://www.bemi-immobilien.de/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/Gemeinsam/versicherungen/gebaeude/Startseite/Gemeinsam/Gemeinsam/immolink/Top-Darlehens-Konditionen/anforderungsformular.htm
+http://celes.subportal.com/sn/Business/Standard_Calculators/index1.html
+http://www.linux.com/networking/network/networking/it/future/firewall/
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=198&discrim=87,19,3
+http://www.hig.se/(append,define,language,quote,tablify)/~jackson/roxen/
+http://www.guba.com/114/236/12fE/index-3.phtml
+http://genforum.genealogy.com/tn/messages/7906.html
+http://207.138.41.133/message/BienestarCalifornia/16
+http://207.138.41.133/message/BienestarCalifornia/26
+http://chasnaz.freeyellow.com/email.html
+http://genforum.genealogy.com/cgi-bin/print.cgi?mcevoy::217.html
+http://www.civila.com/brasil/fov/
+http://www.emerchandise.com/associates/b.FAVORITES%20PAGEANTS/s.oAq5vp1w
+http://www.emerchandise.com/help_security/b.FAVORITES%20PAGEANTS/s.oAq5vp1w
+http://www.z-plus.de/freizeit/kino/galerie/roula/kritikwelt.html
+http://www.angelfire.com/mo2/MrMime2000/wewon.html
+http://www.gazeta.com/Iso/Regiony/Lodz/Raporty/Jedzenie/Jedz/020jed.html
+http://www.sportas.de/ddsup00.htm
+http://muc-zvs-web1.goethe.de/an/mel/wabhorst/dtourism.htm
+http://www.cardina.net/~erps
+http://www.polbox.com/p/paruwa/spec.html
+http://ww2.comune.fe.it/cgi-win/hiweb.exe/a2/d72/b31,e,1f,b,b,50,50,,3,,1f,3,9,,1f,9,
+http://www.ld.com/cbd/archive/1999/03(March)/29-Mar-1999/15awd002.htm
+http://dk.egroups.com/post/cbradio?act=reply&messageNum=823
+http://aecjobbank.com/texis/script/newjobs/+lww7mwww0xBV6e52iHwwwesPBB2eZmwwwt6erV0Vwwwh6er6Gswwwt6er6bgwwwt6etDL-www+6ethrCwwxeRT43eR4mwwwt6etrvuwwwn6KeU-wwwmcmrmwxerjmx7mwww1hzmww-eHxww/jobdirectory.html
+http://www.envy.nu/summerslip/past.html
+http://www.envy.nu/summerslip/leave.html
+http://home.pacific.net.sg/~kinnkinn/
+http://www.bluesapphires.net/ladies/lv0444.shtml
+http://www.freerepublic.com/forum/a4148bd.htm
+http://www.sdinfonet.com.cn/024/32/024329969.htm
+http://www.sdinfonet.com.cn/024/32/024329953.htm
+http://www.jpc-music.com/8754347.htm
+http://www.jpc-music.com/5183511.htm
+http://www.jamba.nl/KNet/_KNet-ytO8j1-7D4-pwef/browse.nl/node.0/cde7f38ny
+http://dk.egroups.com/message/noholdsbarred/210
+http://uoi.tucows.com/winme/preview/75912.html
+http://207.197.132.133/lobbyists/98profiles/556.htm
+http://www.jobvillage.com/channel/jobs/protective_services/private_investigator/g.4.html
+http://www.jobvillage.com/channel/jobs/protective_services/private_investigator/b.8946.g.4179.html
+http://aleph.tau.ac.il:4500/ALEPH/eng/ATA/AAS/AAS/SET-MAIL/381462/11/
+http://www-rn.informatik.uni-bremen.de/home/X11R6/xc/lib/font/Speedo/?D=A
+http://www.brio.de/BRIO.catalog/39fe2f7006f69fb6273fd472aa78073d/UserTemplate/6
+http://cardiology.medscape.com/IMNG/ClinPsychNews/1998/v26.n07/cpn2607.34.01.html
+http://www.incestpornstories.com/hot-hardcore-fuckingbanging/plus-sizewhale/slutspretty/slutsbest-friends/erectionfellatio/bisexualtinkerbell.html
+http://yp.gates96.com/7/65/10/40.html
+http://yp.gates96.com/7/65/11/15.html
+http://yp.gates96.com/7/65/11/34.html
+http://yp.gates96.com/7/65/11/69.html
+http://yp.gates96.com/7/65/11/88.html
+http://yp.gates96.com/7/65/12/95.html
+http://yp.gates96.com/7/65/13/82.html
+http://yp.gates96.com/7/65/13/91.html
+http://yp.gates96.com/7/65/13/93.html
+http://yp.gates96.com/7/65/14/2.html
+http://yp.gates96.com/7/65/14/8.html
+http://yp.gates96.com/7/65/15/31.html
+http://yp.gates96.com/7/65/15/38.html
+http://yp.gates96.com/7/65/15/51.html
+http://yp.gates96.com/7/65/15/95.html
+http://yp.gates96.com/7/65/15/96.html
+http://yp.gates96.com/7/65/16/4.html
+http://yp.gates96.com/7/65/16/20.html
+http://yp.gates96.com/7/65/16/58.html
+http://yp.gates96.com/7/65/17/22.html
+http://yp.gates96.com/7/65/17/66.html
+http://yp.gates96.com/7/65/18/37.html
+http://yp.gates96.com/7/65/18/69.html
+http://yp.gates96.com/7/65/18/97.html
+http://yp.gates96.com/7/65/19/0.html
+http://yp.gates96.com/7/65/19/12.html
+http://yp.gates96.com/7/65/19/16.html
+http://yp.gates96.com/7/65/19/28.html
+http://yp.gates96.com/7/65/19/37.html
+http://yp.gates96.com/7/65/19/44.html
+http://dyade.inrialpes.fr/aaa/public/java/jdk1.3/docs/api/javax/swing/plaf/basic/class-use/BasicSplitPaneUI.KeyboardUpLeftHandler.html
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/asiasanahaku/kalatalous/ty%F6voimapolitiikka/pienet+ja+keskisuuret+yritykset/maatilatalous/
+http://www.ferien-immobilien.de/ungarn/verkauf/Gemeinsam/MarketingStrategie/Allgemeine-IB/Private-IB/Private-IB/Startseite/Default.htm
+http://ftp.du.se/disk2/CPAN/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/WWW/libwww-perl-5.43.readme
+http://ftp.du.se/disk2/CPAN/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/WWW/libwww-perl-5.46.readme
+http://ftp.du.se/disk2/CPAN/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/WWW/webchat-0.05.readme
+http://209.0.220.240/biz/541519/541-389-1493.htm
+http://www.shsu.edu/wcb/schools/SHSU/sed/rmzoubi/12/forums/forum54/wwwboard.html
+http://retailer.gocollect.com/do/session/1912768/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/news/index.asp
+http://romulus.ehs.uiuc.edu/cgi-bin/lwgate/RADSAFE/archives/radsafe9610/Date/article-33.html
+http://romulus.ehs.uiuc.edu/cgi-bin/lwgate/RADSAFE/archives/radsafe9610/Date/article-31.html
+http://www.acfas.ca/congres/congres67/S408.htm
+http://pub1.ezboard.com/fthehawkeyehotspotfrm16.showMessage?topicID=178.topic
+http://archives.marshall.edu/~mccomas/cd315-spring00-list/1549.html
+http://www.asiastockwatch.com/AsiaStockWatch_-_Cached/Articles/asw_recommend_friend_con/1,1145,617_1_1:3,00.html
+http://wiem.onet.pl/wiem/014a7e.html
+http://linux99.inrialpes.fr/linux/RPM/kondara/1.2/errata/bugfixes/i586/System_Environment_Daemons.html
+http://linux99.inrialpes.fr/linux/RPM/kondara/1.2/errata/bugfixes/i586/User_Interface_X.html
+http://cn.egroups.com/login.cgi?login_target=%2Fmessage%2FWeb_Holidays%2F35
+http://library.bangor.ac.uk/search/aEuropean+Academy+of+Allergology+and+Clinical+Immunology/aeuropean+academy+of+allergology+and+clinical+immunology/7,-1,0,B/bibandlinks&F=aeuropean+association+for+animal+production+commission+on+animal+management&1,1
+http://www4.freeweb.ne.jp/art/fujiso/gehp/pge222.html
+http://pnews.jcc.co.jp/scoop/9905/990506kk2-3ss.html
+http://ring.nii.ac.jp/archives/linux/Vine/Vine-1.1/kernel-2.2.x-kit/RPMS/
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=81&discrim=8,230,214
+http://www.emerchandise.com/browse/BUFFYTHEVAMP/KEYCHAIN/b.TV%20BUFFYTHEVAMP/s.DfgPpLQw
+http://www.emerchandise.com/browse/BUFFYTHEVAMP/MAGNET/s.DfgPpLQw
+http://www.koms.de/I-Data/Upgrades/HostCom/Cx/isp/?S=A
+http://www.back2roots.org/Aminet/Forums/Util--Wb--Amero36/
+http://www.hig.se/(autoformat,define,en,modified,referrer)/~jackson/roxen/
+http://216.35.79.131/sites/gunits/052302u.html
+http://216.35.79.131/sites/gunits/052303u.html
+http://216.35.79.131/sites/gunits/032883u.html
+http://itcareers.careercast.com/texis/it/itjs/+4wwBmecXD86ExwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewShwAwMwoacnwmamnpcdOMnDBaMwoDBnDwDqnanDtoDnnGaDnBidGAaoDqc1mna5BGdDtaADdicnmtnaGn31oGnmaMFqtwAwMwoDzmeZxwwwpBmIe0B-decrwww5rmeAdwwwBrmeZpwww/morelike.html
+http://troy.lib.sfu.ca/search/tadvocate+vanc/tadvocate+vanc/7,-1,0,B/browse
+http://210.159.30.200:8080/-_-http://www2s.biglobe.ne.jp/~proton/kokuritu/
+http://210.159.30.200:8080/-_-http://www2s.biglobe.ne.jp/~proton/mituzawa/mitusta.html
+http://config.tucows.com/win2k/monitor2k_size.html
+http://config.tucows.com/win2k/adnload/136674_47327.html
+http://www.thisisyork.com/york/news/YORK_NEWS_CAMPAIGNS_POSTOFFICE5.html
+http://yp.gates96.com/5/78/0/35.html
+http://yp.gates96.com/5/78/0/41.html
+http://yp.gates96.com/5/78/0/65.html
+http://yp.gates96.com/5/78/0/79.html
+http://yp.gates96.com/5/78/0/81.html
+http://yp.gates96.com/5/78/1/33.html
+http://yp.gates96.com/5/78/1/76.html
+http://yp.gates96.com/5/78/2/0.html
+http://yp.gates96.com/5/78/2/65.html
+http://yp.gates96.com/5/78/3/37.html
+http://yp.gates96.com/5/78/4/31.html
+http://yp.gates96.com/5/78/4/60.html
+http://yp.gates96.com/5/78/4/73.html
+http://yp.gates96.com/5/78/5/28.html
+http://yp.gates96.com/5/78/5/65.html
+http://yp.gates96.com/5/78/6/12.html
+http://yp.gates96.com/5/78/6/38.html
+http://yp.gates96.com/5/78/6/99.html
+http://yp.gates96.com/5/78/7/48.html
+http://yp.gates96.com/5/78/8/49.html
+http://yp.gates96.com/5/78/8/55.html
+http://yp.gates96.com/5/78/8/71.html
+http://yp.gates96.com/5/78/9/19.html
+http://yp.gates96.com/5/78/9/94.html
+http://link.fastpartner.com/do/session/600420/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/fastpartner.php
+http://www.highwired.net/Guidance/UniversalNav/Redirect/0,5314,15089-15089-728,00.html
+http://ring.tains.tohoku.ac.jp/archives/lang/perl/CPAN/modules/by-module/Math/ILYAZ/os2/?S=A
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/DzRIZER-v0LffJEf3raIMcG3_vXLUQncNB0JHLK7Xt_XcNu5W9Xwg3bnK7e0BWrbchX2jMSNnK6eY6UuDPq6GFLMrzB0DcydY5VgMGVRUFbdksWiDCuTI0LBo3psuJxBJjEd
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/vihIvBk0g-CdjheZ4MILAcJAB--YtsE3nzjAldQSrSojV9JzVQJV-1yVbCi9rsPamZBGc9GfXE6dq1sCz-CnrfwDCHqr_nfUtl2qUN5oWAHphPSuuQXCc2fjfBv3EI-W4XBgp-ANhxEJS0536665
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/VihIDgZ6TF6W8zfPesIFMiw-CNzcKPLyYr5OXnsaqepOa1j4Wz2V-pVOhRfX5lUkxRpYs_BkTdpvjf7zUAk3RdhEaXDfmzm4RA2CLjQ84zSbEZ_Vil1cFFmY0FFZr5oIErljk11AnTlYM6y066jO
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/dRhIQJ3pEIfD5uG_JFeaP3_7Bke37Z5pJi0A-hZ_-kxEK4Z1jl3HNb6d3hgJ7UZ34jMQGSNzhYuMNxB-oyBon62h9GWx3Xt1Zk_o4kS3s9ybikCpzetMwprVGDCC-YzllwvEWxmP66jF
+http://www.v2music.com/Scripts/WebObjects-ISAPI.dll/V2_New_Publisher.woa/24161000003783000000741030000081551/v2tvindex.wo/810000000071551/1.0.4/3/Webobjects1
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a17/d3345/b77,c,4d,469,469,46e,46e,168e,168e,,51,,4d,51,
+http://findmail.com/messages/themcse/102
+http://netcon.tucows.com/winme/adnload/136907_28427.html
+http://netcon.tucows.com/winme/adnload/136906_30076.html
+http://www.jyu.fi/~heili/tietoverkot/?S=A
+http://www1.onelist.com/dir/1/16/483/32773?st=10
+http://www1.onelist.com/messages/animadores
+http://seussville.com/teachers/authors/ayre.html
+http://seussville.com/teachers/authors/corm.html
+http://www.tente.de/sw/produkte/rubriksuche/aa000001461.htm
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=57&discrim=165,57,164
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=57&discrim=165,57,207
+http://jars.developer.com//classes/jresout.cgi?resource=2897
+http://members.tripod.co.jp/spirits/?S=A
+http://homepages.go.com/homepages/i/u/g/iuguy22/
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=21,5,24
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=31,5,24
+http://troy.lib.sfu.ca/search/delectrolytes+periodicals/delectrolytes+periodicals/-5,-1,0,B/exact&F=delectrolytes+congresses&1,3
+http://www.rdg.ac.uk/ITS/Topic/Stats/StGSAS8_01/SAS8/af/z0254912.htm
+http://www.rdg.ac.uk/ITS/Topic/Stats/StGSAS8_01/SAS8/af/z0254924.htm
+http://ring.jec.ad.jp/local/mirror/FreeBSD-current/snapshots/i386/5.0-20000902-CURRENT/compat20/
+http://ring.jec.ad.jp/local/mirror/FreeBSD-current/snapshots/i386/5.0-20000902-CURRENT/dict/
+http://ring.jec.ad.jp/local/mirror/FreeBSD-current/snapshots/i386/5.0-20000902-CURRENT/manpages/
+http://www.xmission.com/~dkenison/cgi/lwgate.cgi/KLR650/archives/v02.n1682/date/article-7.html
+http://ring.toyama-ix.net/pub/linux/Vine/Vine-2.0/ppc/?S=A
+http://romulus.ehs.uiuc.edu/cgi-bin/lwgate/RADSAFE/archives/radsafe9907/Date/article-80.html
+http://www.officeqmart.com/cgi-bin/qmart.front/972959552267/Catalog/3000033
+http://www.checkout.com/member/movies/title/member_reviews_form/1,7722,882122,00.html
+http://mindit.netmind.com/proxy/http://www.siennasoft.com/english/order/orders_retail.shtml
+http://pelit.saunalahti.fi/.1/tucows/adnload/267_29529.html
+http://pelit.saunalahti.fi/.1/tucows/adnload/7574_29534.html
+http://zenha.myrice.com/2/23.htm
+http://zenha.myrice.com/2/20.htm
+http://citeseer.nj.nec.com/cachedpage/62677/1
+http://citeseer.nj.nec.com/check/248055
+http://www.3wbooks.de/BrackRuth/BrackRuth3258053200.htm
+http://preview.egroups.com/group/u_exactus
+http://preview.egroups.com/group/ticovista
+http://www.linux.com/networking/linux/support/va_linux_systems/price/sales/
+http://kulichki-mac.rambler.ru/moshkow/akm/zercalo/kosmix/03.html
+http://innopac.lib.tsinghua.edu.cn:2080/search*chi/tStructure+and+bonding+&%2359%3B+70/tstructure+and+bonding+++70/19,-1,0,B/browse
+http://www.science.uva.nl/pub/NetBSD/NetBSD-current/pkgsrc/archivers/gcpio/files/
+http://www-d0.fnal.gov/d0dist/dist/releases/pmc04.00.00/calibration_management/?S=A
+http://mvweb.de/olympia/nachrichten/sportarten/news/bdt-290900-158-dpa_173282.html
+http://www.scifi.com/bboard/browse.cgi/3/1/69/57?pnum=2
+http://www.diogenes.ch/4DACTION/web_rd_aut_prview/a_id=7056459&area=&ID=483365
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/CPAN/authors/id/L/LA/LAXEN/?D=A
+http://www.affiliate.hpstore.hp.co.uk/do/session/380856/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.france.hp.com/Main/acheterhp/
+http://library.cuhk.edu.hk/search*chi/aLu,+Li,+1914-/alu+li+1914/-5,-1,0,B/frameset&F=alu+li+chun&1,1
+http://www-usa4.cricket.org/link_to_database/ARCHIVE/2000-01/IND_LOCAL/WOMEN/OTHERS/KLCA-SL/SQUADS/
+http://www.babyheirlooms.com/catalog/htmlos.cat/041141.1.4425650346
+http://193.207.57.3/cgi-win/hiweb.exe/a2/d9/b1305,4,5,,1f,5,
+http://www.icopyright.com/1.1664.228033
+http://www.trax.nilex.co.uk/trax.cgi/A1C/B1S/1AR/A2S/A1S/D1L/
+http://www.trax.nilex.co.uk/trax.cgi/A1C/B1S/1AR/A2S/A1S/A2S/
+http://www.ferien-immobilien.de/baden-wuertemberg/calw/Verkauf/Gemeinsam/Inserieren/Private-IB/Gemeinsam/Super-Zins-Konditionen/3d-service/info.htm
+http://sunsite.informatik.rwth-aachen.de/LinuxArchives/redhat/releases/guinness/i386/en/dosutils/fips15c/restorrb/
+http://213.36.119.69/do/session/153002/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/connaitre/revue-presse_titres.html
+http://pub19.ezboard.com/uvinylangel.showPublicProfile?language=EN
+http://boeing_dude.tripod.com/id125_m.htm
+http://members.fortunecity.com/greatway1/gallery-pageother-0.htm
+http://www.searchtraffic.com/wsignup.php3?owor12
+http://www.staroriental.net/nav/soeg_c/ihf,acv,s0,194,陳慧琳.html
+http://www.jpc-music.com/5864555.htm
+http://oaziz.narod.ru/kuhn/uzb/sal_f1.html
+http://preview.egroups.com/message/4aromatherapy/1112
+http://www.luecos.de/webguides/reisen/travelpictures/europe
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a18/d47/b47,8,be,29,29,,38,,be,38,
+http://www.chaos.dk/sexriddle/k/u/u/a/
+http://www.chaos.dk/sexriddle/k/u/u/d/
+http://student.monterey.edu/nr/nielsenadamp/campus/
+http://excite.de/gesundheit/katalog/3727
+http://www.ozemail.com.au/~jcai/page19.html
+http://www.ozemail.com.au/~jcai/page24.html
+http://www.hantsnet.co.uk/scrmxn/c23173.html
+http://www.fogdog.com/cedroID/ssd3040183334784/content/fan/subway_series/
+http://www.fogdog.com/cedroID/ssd3040183334784/boutique/arnette/
+http://www.fogdog.com/cedroID/ssd3040183334784/boutique/hi-tec/
+http://www.fogdog.com/cedroID/ssd3040183334784/boutique/marmot/
+http://ftpsearch.belnet.be/packages/CPAN/modules/by-module/Stat/ENNO/
+http://go1.163.com/_NTES/~yejingsong/03/y18/506.htm
+http://sinr.net/book/content/343/26710.html
+http://www.ramada.com/ctg/cgi-bin/Ramada/progpack/AAAksrACwAAABtrAAV
+http://library.bangor.ac.uk/search/aBoer,+J.+H.+de+(Jan+Hendrik),+1899-/aboer+j+h+de+jan+hendrik+1899/-5,-1,0,B/buttonframe&F=aboer+dirk+jan+den&1,1
+http://library.cuhk.edu.hk/search*chi/a三省堂(千代田區,+Tokyo,+Japan)/a%7B213024%7D%7B214d49%7D%7B213840%7D+%7B213458%7D%7B213073%7D%7B214c24%7D%7B213455%7D+tokyo+japan/-5,-1,0,B/browse
+http://ibm1.cicrp.jussieu.fr/ibmc/classref/ref/ISetCanvas--Style_DSC.htm
+http://amateur-alley.porncity.net/169/
+http://www.teacherformation.org/html/od/facilitators.cfm/task1,about/discussion_id,2/xid,1989/yid,5768630
+http://www.shopworks.com/index.cfm/action/mallcat/mallcatlevel/2/parentmallcat/6/userid/000056F0-2E26-19FE-AF65010C0A0A8CF2
+http://retailer.gocollect.com/do/session/1912760/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/shipping_policy.asp
+http://news.novgorod.ru/news/2001/4/1/8/-1
+http://news.novgorod.ru/news/2001/4/3/8/-1
+http://sp201.unige.ch:49213/cxxdoc/classref/ref/ITimingTestStopwatch_DSC.htm
+http://netscape.digitalcity.com/boston/localexperts/profile.dci?screenName=PSYWU
+http://netscape.digitalcity.com/boston/localexperts/profile.dci?screenName=Mende67
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=17,2,26,33,23
+http://www.multicosm.com/facade/www.isinet.com/isilinks/isilinks.html
+http://kutschen.de/Schoner/Info-d/history/history/literature/
+http://troy.lib.sfu.ca/search/dengineering+research+periodicals/dengineering+research+periodicals/-5,-1,0,B/frameset&F=dengineering+research+grants+canada&3,,4
+http://member.nifty.ne.jp/y-shibata/pc/pch2.htm
+http://stocks.tradingcharts.com/stocks/charts/iops-bb/m
+http://www.kaos.dk/sexriddle/x/j/c/s/z/
+http://www.bioimages.org.uk/HTML/R138925.HTM
+http://pub22.ezboard.com/fawolpaintballfrm1.threadControl?topicID=82.topic
+http://www.incestpornstories.com/hot-hardcore-fuckingbanging/plus-sizewhale/body-shotstounge/fuckinghardcore/barely-legalbackseat/{gaylink}
+http://www.buybuddy.com/sleuth/27/1/1060904/5811/
+http://www.loisirs.ch/gtfmjv/9/nkrlua.html
+http://vorg1.subportal.com/sn/Utilities/File_Maintenance_and_Repair_Utilities/6387.html
+http://smartnet.tucows.com/winme/adnload/138584_30392.html
+http://ftpsearch.belnet.be/mirrors/src.doc.ic.ac.uk/usenet/usenet-by-hierarchy/comp/emacs/?D=A
+http://genforum.genealogy.com/cgi-genforum/forums/green.cgi?7578
+http://cio.cisco.com/warp/public/789/33.html
+http://www7.freeweb.ne.jp/diary/bru_dog/tk/
+http://www.chinabyte.com/staticpages/software/software_download/GRBA/software_download_23274_GRBA.html
+http://www.chinabyte.com/staticpages/software/software_download/GRBA/software_download_9599_GRBA.html
+http://www.seekon.com/L/US/IL/Abingdon
+http://freethemes.arrakis.es/skins/winamp/adnload/25359.html
+http://www.hig.se/(accessed,modified,remove_cookie,smallcaps,sqlquery)/~jackson/roxen/
+http://cn.egroups.com/message/SF-users/218
+http://cn.egroups.com/message/SF-users/235
+http://www.chaos.dk/sexriddle/r/f/y/c/
+http://www.chaos.dk/sexriddle/r/f/y/e/
+http://www.chaos.dk/sexriddle/r/f/y/g/
+http://yp.gates96.com/13/50/10/33.html
+http://yp.gates96.com/13/50/10/49.html
+http://yp.gates96.com/13/50/10/55.html
+http://yp.gates96.com/13/50/10/98.html
+http://yp.gates96.com/13/50/11/35.html
+http://yp.gates96.com/13/50/11/73.html
+http://yp.gates96.com/13/50/11/94.html
+http://yp.gates96.com/13/50/12/39.html
+http://yp.gates96.com/13/50/13/8.html
+http://yp.gates96.com/13/50/13/67.html
+http://yp.gates96.com/13/50/14/8.html
+http://yp.gates96.com/13/50/14/11.html
+http://yp.gates96.com/13/50/14/47.html
+http://yp.gates96.com/13/50/16/18.html
+http://yp.gates96.com/13/50/16/58.html
+http://yp.gates96.com/13/50/17/33.html
+http://yp.gates96.com/13/50/18/13.html
+http://yp.gates96.com/13/50/18/49.html
+http://yp.gates96.com/13/50/18/54.html
+http://yp.gates96.com/13/50/19/0.html
+http://cn.egroups.com/post/romtrade?act=reply&messageNum=3851
+http://members.fortunecity.com/toleransi/sorbonne.html
+http://ring.htcn.ne.jp/pub/lang/perl/CPAN/modules/by-module/PPM/MURRAY/?S=A
+http://sunsite.berkeley.edu/PhiloBiblon/BITAGAP/BIB/BIB5648.html
+http://sunsite.berkeley.edu/PhiloBiblon/BITAGAP/BIB/BIB7392.html
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus53940/eus53960/eus54753/eus543189/eus550516/
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus53940/eus53960/eus54753/eus543189/eus550528/
+http://shn.webmd.com/roundtable_printing/774674
+http://www.zi.unizh.ch/software/unix/statmath/sas/sasdoc/lgref/z0205140.htm
+http://www.hblb.org.uk/hblbweb.nsf/$Pages/NewsArchive1!OpenDocument&ExpandSection=16,12,3,13,5,6,9
+http://www.uni-duesseldorf.de/ftp/ftp/pf/share/fvwm-2.0.45/?S=A
+http://members.tripod.com/~PhyrePhox/mcse/70-088.htm
+http://extreme-dm.com/tracking/reports/dj/nph-ref1.cgi?tag=nimrood
+http://opac.lib.ntnu.edu.tw/search*chi/++ftlist/bp20040397/-5,-1,0,B/frameset&F=bp20040402&1,1
+http://209.0.220.240/spec/txve.htm
+http://209.0.220.240/spec/tyai.htm
+http://ftp.up.pt/Linux/Linus/net-source/www/clients/netscape/?M=A
+http://ftp.up.pt/Linux/Linus/net-source/www/clients/netscape/?D=A
+http://www.jobvillage.com/channel/jobs/health_care/nursing/licensed_practical_nurse/b.9505.g.1766.html
+http://www.zope.org/Members/stevea/CoadObjectModels/BackLinks/backlinks
+http://www.mairie-montreuil93.fr/ville_pratique/environ/energie/mve/media/?D=A
+http://member.shangdu.net/home2/chr/jishang/hongkong/inxg-6.html
+http://www.wild-dog.com/activity/touring/idx/page_18_1.html
+http://members.tripod.co.jp/susu/?M=A
+http://www.dulux.co.uk/UKRETAIL:623356687:DFinity.1QJiP4jMLco
+http://www.kordic.re.kr/~trend/Content326/agriculture04.html
+http://www.kordic.re.kr/~trend/Content326/agriculture09.html
+http://ftp.lip6.fr/pub12/OpenBSD/src/gnu/egcs/config/mh-aix43
+http://ftp.lip6.fr/pub12/OpenBSD/src/gnu/egcs/config/mh-elfalphapic
+http://ftp.lip6.fr/pub12/OpenBSD/src/gnu/egcs/config/mt-x86pic
+http://www.ecatsbridge.com/BiB/static/sims/bbljuly99/00000101758612773F1.htm
+http://pub20.ezboard.com/faustralianslotcarreviewhoracing.showMessage?topicID=2.topic&index=47
+http://ring.omp.ad.jp/archives/NetBSD/packages/pkgsrc/games/exchess/pkg/DESCR
+http://homepage.renren.com/sandybay/help.htm
+http://no.egroups.com/post/oslosynth?act=reply&messageNum=634
+http://www.brio.de/BRIO.catalog/39fe2f940703266c273fd472aa7806a8/UserTemplate/2
+http://www.50megs.com/prettysenshi/captures/ep3/SMep3.html
+http://www.thisislancashire.co.uk/lancashire/archive/1999/11/05/CHORNEWS5VQ.html
+http://au.yahoo.com/Regional/U_S__States/California/Metropolitan_Areas/San_Francisco_Bay_Area/Entertainment_and_Arts/Restaurants/Coffee_and_Tea_Houses/
+http://www.niwl.se/WAIS/30002/30002360.htm
+http://www.infoscape.com.cn:8178/gb/content/2000-08/16/content_6082.htm
+http://link.fastpartner.com/do/session/600419/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/mondosoft.php
+http://www.canit.se/(c1,f3,ftp,generellt,irc,mail)/support/
+http://citeseer.nj.nec.com/cidcontext/3787443
+http://www.affiliate.hpstore.hp.co.uk/do/session/380878/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/entry.asp
+http://www.usq.edu.au/unit-1997/fullspec/51129s3x.htm
+http://worldres.lycos.com/script/gen_mr.asp?hotel_id=6354&n=1518
+http://www.members.aon.at/~kleindlp/neue_seite_4.htm
+http://210.169.76.95/html/tai_0043/bat_1180.html
+http://oneplace.adbureau.net/accipiter/adclick/site=ONEPLACE/area=INDEX/POSITION=FOOTER/AAMSZ=468x60/ACC_RANDOM=262411779164
+http://www.service911.com/mvu/step/0,2632,6+34+90+23506+13880_4,00.html
+http://ftp.lip6.fr/pub11/NetBSD/NetBSD-current/src/usr.sbin/kvm_mkdb/Makefile
+http://www.bemi-immobilien.de/Private-IB/Startseite/Startseite/Gemeinsam/versicherungen/unfall/Gemeinsam/immolink/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/versicherungen/gebaeude/anforderungsformular.htm
+http://wap.jamba.de/KNet/_KNet-BOC8j1-LFd-13bpy/showInfo-hilfe.de/node.0/cenv0b09a
+http://wap.jamba.de/KNet/_KNet-BOC8j1-LFd-13bq0/browse.de/node.0/cde7f1uou
+http://cnnews.sina.com/kwongzhou/china/2000/1026/2083022_2.html
+http://www.msb.malmo.se/search*swe/dFlygplanskonstruktion/dflygplanskonstruktion/-5,-1,0,B/frameset&F=dflygolyckor&4,,6
+http://home.hanmir.com/~100sun/joo4.htm
+http://www.szed.com/szsb/19990629/GB/default.htm
+http://www.szed.com/szsb/19990629/GB/4-NPCLASS.HTM
+http://www.szed.com/szsb/19990629/GB/7-NPCLASS.HTM
+http://www2.kbank.no/Web/nlpublish.nsf/Published/ord_og_uttrykk!OpenDocument&ExpandSection=15,24,26,25
+http://movies.exit.de/lichtsammler/images/tunnel/gross/sw_kb/?D=A
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=5,34,38
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=21,34,38
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=31,34,38
+http://fi.egroups.com/login.cgi?login_target=%2Fmessage%2Fgamp%2F1734
+http://de.excite.de/katalog/katalog/9231
+http://www-win.rusf.ru/esli/rubr/books/es0500di.htm
+http://www.jamba.de/KNet/_KNet-yjF8j1-8Gd-13cj6/browse.de/node.0/cde7f1uou
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/misc/lit/programs/misc/math/lit/athalie.html
+http://ftp.fi.debian.org/debian/dists/Debian2.2r0/contrib/binary-powerpc/interpreters/?S=A
+http://jupiter.u-3mrs.fr/~msc41www/releves/04350110.HTM
+http://ocean.ntou.edu.tw/search*chi/dDigital+modulation/ddigital+modulation/7,-1,0,E/frameset&F=ddigital+techniques+signal+processing&4,,0
+http://pub20.ezboard.com/fcharmingtailsresourcetradeyoursportscardshere.unsubscribeUnregisteredToTopic?topicID=43.topic
+http://www.kaos.dk/sexriddle/x/w/k/u/q/
+http://www.kaos.dk/sexriddle/x/w/k/u/t/
+http://216.205.158.3/smm/programs/CDG_Player/wwwboard/messages/27.html
+http://216.205.158.3/smm/programs/CDG_Player/wwwboard/messages/60.html
+http://fen.com/whatworks/review/edit/1,2560,1-9696-5539-0-45394,00.html
+http://yp.gates96.com/8/74/30/30.html
+http://yp.gates96.com/8/74/31/1.html
+http://yp.gates96.com/8/74/32/12.html
+http://yp.gates96.com/8/74/32/60.html
+http://yp.gates96.com/8/74/32/92.html
+http://yp.gates96.com/8/74/33/41.html
+http://yp.gates96.com/8/74/33/55.html
+http://yp.gates96.com/8/74/33/57.html
+http://yp.gates96.com/8/74/33/95.html
+http://yp.gates96.com/8/74/34/21.html
+http://yp.gates96.com/8/74/34/23.html
+http://yp.gates96.com/8/74/34/79.html
+http://yp.gates96.com/8/74/35/3.html
+http://yp.gates96.com/8/74/35/22.html
+http://yp.gates96.com/8/74/35/79.html
+http://yp.gates96.com/8/74/36/31.html
+http://yp.gates96.com/8/74/36/84.html
+http://yp.gates96.com/8/74/37/58.html
+http://yp.gates96.com/8/74/37/77.html
+http://yp.gates96.com/8/74/37/89.html
+http://yp.gates96.com/8/74/37/97.html
+http://yp.gates96.com/8/74/39/43.html
+http://yp.gates96.com/8/74/39/63.html
+http://yp.gates96.com/8/74/39/88.html
+http://www9.hmv.co.uk:5555/do/session/1347828/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/newmenu.html
+http://www9.hmv.co.uk:5555/do/session/1347828/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/departments/d80_sd0_pt0.html
+http://gladstone.uoregon.edu/~sme28057/arch181-202/assign2/?M=A
+http://cco.cisco.com/univercd/cc/td/doc/product/core/7206/7206ig/trble6ug.pdf
+http://210.32.1.18/goldbook/humor/mh/c/changgu/1/028.htm
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=17,28,24,31,11
+http://www.spiral.at/Katalog/Artikel/7561032/
+http://www.crutchfield.com/cgi-bin/S-Ql7dbZlSZa2/viewcart.asp
+http://www.fogdog.com/cedroID/ssd3040183327788/nav/products/winter_sports/1b/shell_pants/
+http://www.fogdog.com/cedroID/ssd3040183327788/nav/products/winter_sports/1j/oakley/
+http://www.fogdog.com/cedroID/ssd3040183327788/nav/products/winter_sports/1l/day_packs/
+http://www.thestateofcolorado.com/pglblock.html
+http://www.staroriental.net/nav/soeg/ihf,adj,s0,259,Kristy+Yeung+Gung-Yu.html
+http://pcmcia.sourceforge.org/cgi-bin/HyperNews/get/pcmcia/toshiba/38.html
+http://sunsite.org.uk/public/public/packages/Dr-Fun/df9412/?N=D
+http://nt.mortgage101.com/partner-scripts/1144.asp?p=mig&pw=600
+http://biblioteca.upv.es/bib/doc/doc_fisbd/17/87050//C/1828104/3////25/N/MLTPAI
+http://130.80.29.3/content/houston/k-12/hanc/
+http://javatest.a-net.nl/exhibits/default.htm
+http://javatest.a-net.nl/museum_info/job_opportunities.asp
+http://books.hyperlink.co.uk/booklist/Alphabet_Workbook/Cheney/Martha/1565658396
+http://kobe.cool.ne.jp/orera/guestbook.html
+http://ftp.eecs.umich.edu/pub/NetBSD/packages/1.4.1/vax/audio/
+http://ftp.eecs.umich.edu/pub/NetBSD/packages/1.4.1/vax/editors/
+http://ftp.eecs.umich.edu/pub/NetBSD/packages/1.4.1/vax/tk80/
+http://www.zdnet.de//news/artikel/1999/03/09001-wc.html
+http://neptune.guestworld.com/gear/gateway.cfm?action=private&owner=sitonga7
+http://www.de.lycos.de/dir/Reisen_und_Regionen/L%E4nder_und_St%E4dte/Deutschland/Schleswig-Holstein/St%E4dte_und_Orte/St%E4dte_und_Orte_P_bis_S/
+http://www.mirror.edu.cn/res/sunsite/pub/academic/music/album-reviews/1995/9-September/?M=A
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=213&discrim=176,11,57
+http://europa.eu.int/abc/doc/off/bull/el/9705/x085.htm
+http://europa.eu.int/abc/doc/off/bull/el/9705/x209.htm
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=15,0+17,0-3,0-9,0
+http://www.ferien-immobilien.de/baden-wuertemberg/stuttgart/Verkauf/Gemeinsam/MarketingStrategie/Ferien-IB/Startseite/Gemeinsam/Super-Zins-Konditionen/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/indexbeginn.htm
+http://www.ferien-immobilien.de/baden-wuertemberg/stuttgart/Verkauf/Gemeinsam/MarketingStrategie/Ferien-IB/Startseite/Gemeinsam/Super-Zins-Konditionen/Gemeinsam/impressum.htm
+http://www.chaos.dk/sexriddle/s/e/x/v/i/a/w/
+http://pub4.ezboard.com/fscarletstreethorroritalianstyle.showAddReplyScreenFromWeb?topicID=15.topic
+http://ftp.dti.ad.jp/pub/lang/CPAN/authors/id/P/PJ/PJF/
+http://www.highwired.net/Paper/EmailToFriend/1,2102,302-183023,00.html
+http://ftpsearch.belnet.be/mirror3/ftp.kde.org/pub/kde/Incoming/Attic/old/1.1.2/apps/ide/?D=A
+http://www.affiliate.hpstore.hp.co.uk/do/session/380877/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-creativeworld.com/creativeworld.asp?lang=f
+http://expert.cc.purdue.edu/~steinfoc/assignment3/assig3.html
+http://www.wyborcza.com/Ascii/Raporty/Filmowa/277rap.html
+http://www.redhat.com/mirrors/LDP/LDP/LG/issue50/misc/pollman/?D=A
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=148&discrim=142,11,200
+http://www.marktplatz-hs.de/cgi-bin/ChioEditionShop.s/39fe2ee602379b7e273fd47540f806e1/Catalog
+http://www.affiliate.hpstore.hp.co.uk/do/session/380836/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/SMARTTIPS/createbroch.asp
+http://joy1.alpha-g.ne.jp/tree/user/a/amuro/2_index.shtml
+http://time.188.net/movie/star/taiwan/2/pic/image36.htm
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=25,1,36,31,11
+http://bsd.sinica.edu.tw/cgi-bin/cvsweb.cgi/ports/audio/kdemultimedia11-i18n/Attic/pkg-comment?only_with_tag=RELEASE_2_2_7
+http://www.landfield.com/ftp/usenet/news.answers/bicycles-faq/?S=A
+http://wap.jamba.de/KNet/_KNet-puF8j1-aGd-13clg/browse.de/node.0/cenv0b09a
+http://www.empas.com/search/all.html?q=%C0%CC%B7%D3%B4%D9
+http://www.linux.com/networking/server/install/howto/website/developers/
+http://aecjobbank.com/texis/script/newjobs/+NwxBm6ev7I1wwwhmrmwxetiAw/jobdirectory.html
+http://www.egroups.com/message/ijtihadmk/5
+http://www.egroups.com/message/ijtihadmk/11
+http://www.realize.com/am67bd81.htm,qt=e784fe2f=2a38a234-7-da6e2d-0-0-0-3--
+http://www.realize.com/p643c81.htm,qt=e784fe2f=2a38a234-7-da6e80-0-0-0-3--
+http://moneysaver.net/netcall/?almktng
+http://www.agria.hu/bikersmeeting/archivum/talalkozo/foto/taj.cgi?15n
+http://link.fastpartner.com/do/session/600401/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/company/
+http://198.103.152.100/search*frc/aDidsbury,+Howard+F.,+1924-/adidsbury+howard+f+1924/-5,-1,0,B/frameset&F=adidier+marcel&1,,0
+http://198.103.152.100/search*frc/aDidsbury,+Howard+F.,+1924-/adidsbury+howard+f+1924/-5,-1,0,B/frameset&F=adidier+michel&1,,0
+http://www.medoc-ias.u-psud.fr:81/synoptic/gif/001020/?D=A
+http://shop.goto.com/compperiph/periph/cdrom/search/sidexside.jhtml?s=1&sort_up=LOW_PRICE
+http://excite.de/wirtschaft/katalog/1356
+http://excite.de/wirtschaft/katalog/2631
+http://www.areteoutdoors.com/channel/earth/caving/b.89.g.473.html
+http://www.areteoutdoors.com/channel/earth/caving/b.91.g.473.html
+http://bo.ole.com/actualidad/articulo/html/act13873.htm
+http://www.dulux.co.uk/UKRETAIL:446033260:DFinity.1QJiP4jMomdoclfieh
+http://www.linux.com/networking/network/release/sap/hardware/firewall/
+http://genforum.genealogy.com/cgi-genforum/forums/hendrix.cgi?430
+http://www.chaos.dk/sexriddle/s/p/w/c/
+http://198.103.152.100/search*frc/tCanada+in+the+21st+century.+II,+Resources+and+technology/tcanada+in+the+21st+century+ii+resources+and+technology/-5,-1,0,B/frameset&F=tcanada+in+the+21st+century+no+01&1,1
+http://books.hyperlink.co.uk/bookinfo/Sunk_Costs_and_Market_Structure/Sutton/John/0262193051
+http://members.tripod.com/theshavedbeaver/site2/s2laststand.html
+http://members.tripod.com/theshavedbeaver/site2/s2s1ep21.html
+http://www.ytmag.com/cgi-bin/redirect.cgi/602479760
+http://www18.freeweb.ne.jp/school/syodou/you005.htm
+http://www.fogdog.com/cedroID/ssd3040183334500/nav/products/featured_brands/2h/replica_jerseys/
+http://www.fogdog.com/cedroID/ssd3040183334500/nav/products/featured_brands/2h/replica_jerseys/4.html
+http://www.fogdog.com/cedroID/ssd3040183334500/crs/nvCZ/wld/fogdog_sports/champion/fan_memorabilia/apparel/vlade_divac_replica_jersey.html
+http://www.jobvillage.com/channel/jobs/travel/travel_guide/b.4897.g.5299.html
+http://www.bcbsal.org/Provider_Dir/pharmacy/state/Oregon/HILLSBORO/index_29061.html
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a17/d2066/b77,c,4d,469,469,1b65,1b65,,51,811,4d,51,811,,
+http://www.loisirs.ch/bbewxu/2/wofyff.html
+http://mitglied.tripod.de/Jag3/jag3b.htm
+http://linuxberg.starhub.net.sg/x11html/preview/9016.html
+http://linuxberg.starhub.net.sg/x11html/preview/9062.html
+http://linuxberg.starhub.net.sg/x11html/preview/9103.html
+http://linuxberg.starhub.net.sg/x11html/preview/9820.html
+http://linuxberg.starhub.net.sg/x11html/preview/10370.html
+http://linuxberg.starhub.net.sg/x11html/preview/9965.html
+http://linuxberg.starhub.net.sg/x11html/preview/10117.html
+http://linuxberg.starhub.net.sg/x11html/preview/10129.html
+http://linuxberg.starhub.net.sg/x11html/preview/10152.html
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=150&discrim=251,11,3
+http://totalsports.aol.com/stats/bbo/int/20000624/tol.at.swb.game.html
+http://excite.de/gesundheit/katalog/41575
+http://bbs.csie.ntu.edu.tw/txt/Emprisenovel/ebooks/other/hsiao_yi/jqhy/007.txt
+http://www.memorialcup99.com/HockeyStLouisArchive/nov17_stl.html
+http://www.letsmusic.com/directory/theme/genre_each/1,1137,Z-ㄴ-124-2-2,00.asp
+http://rainforest.parentsplace.com/dialog/get/bedwetting/29/2.html?outline=-1
+http://www.volny.cz/j_medkova/p05.html
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a17/d2072/b77,c,4d,51,51,815,815,818,7d9,,51,7d9,818,,
+http://collection.nlc-bnc.ca/100/200/301/ccmd-ccg/ccmd_report-e/rpt1e.pdf
+http://cn.egroups.com/post/export-import-indonesia?act=forward&messageNum=595
+http://www.secinfo.com/$/SEC/Filing.asp?T=1zBgb.6t_9yc
+http://www.realize.com/am81.htm,qt=4619dc8c=279e650e-c-16fba7d-1-0-0-0--
+http://amadeus.siba.fi/doc/php3-ldap/html/features.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.ada-fetchrow.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.array-pop.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.current.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.ftp-size.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.getmyinode.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.gmdate.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.hw-getusername.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.icap-list-alarms.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.ifx-free-char.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.imap-reopen.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.is-link.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.is-string.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.mcal-event-set-recur-monthly-wday.html
+http://amadeus.siba.fi/doc/php3-ldap/html/function.mhash-get-block-size.html
+http://wwws.br-online.de/geld/boerse/980420/110001.html
+http://family.go.com/Categories/reviews/Features/family_2000_01/dony/dony0100craftapple/
+http://family.go.com/Categories/reviews/Features/family_2000_01/dony/dony0100craftcactus/
+http://family.go.com/Categories/reviews/Features/family_2000_01/dony/dony0100petvetticks/
+http://www.maastrek.de/maas/d49da6854db9e797f212/1/0/1
+http://astro1.chungnam.ac.kr/NetBBS/Bbs.dll/astromov/lst/qqadm/1/zka/B2-kB2Bl/qqo/004D
+http://channel.cnnsi.com/basketball/college/2000/ncaa_tourney/west/news/2000/03/25/keady_ap/lg_keady_ap.html
+http://incmagazine.com/articles/details/0,3532,AGD5_ART13806_CNT56_GDE30,00.html
+http://incmagazine.com/research/details/0,3470,AGD5_CNT49_GDE30_RSC16754,00.html
+http://gatekeeper.dec.com/pub/linux/lorax/i386/misc/src/anaconda/balkan/CVS/
+http://adex3.flycast.com/server/socket/127.0.0.1:2800/click/OnlineCitiesSM/OnlineCitiesInteractiveCityGuides/bd720350329
+http://www.proviser.co.uk/regional/towns/alford/street_maps/alpha_b.html
+http://www.fogdog.com/cedroID/ssd3040183255203/
+http://www.columbia.edu/~wl158/OCD.htm
+http://www.irishnews.com/Archive2000/29052000/international.html
+http://www.irishnews.com/Archive2000/29052000/sportinter.html
+http://38scbshop.freeyellow.com/download.html
+http://news.dinf.ne.jp/news/fj/rec/animation/msg01441.html
+http://datastore.tucows.com/winnt/adnload/5372_28388.html
+http://pages.infinit.net/limal/visage/chap17.htm
+http://www.hotelboulevard.com/fr/paris/standard/htmlc258073cfbe254c1722c86e0aec5f5da/sessionLang/ANG/search.html
+http://www.icopyright.com/1.1642.213678
+http://wiem.onet.pl/wiem/012aa2.html
+http://www.secinfo.com/dRRsz.9e.htm
+http://lily.nju.edu.cn/literature/cangshu/wx/wra/ysz/16.htm
+http://home.swipnet.se/~w-15978/
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www.stanford.edu/dept/EIS/moral_responsibility.htm
+http://smb.slac.stanford.edu/cgi-bin/nph-proxy.cgi/000/http/www.stanford.edu/dept/EIS/hardin_review.htm
+http://www.uni-duesseldorf.de/ftp/pf/share/flex-2.5.2/man/man1/?S=A
+http://mindit.netmind.com/proxy/http://www.ninds.nih.gov/health_and_medical/pubs/chronic_pain_htr.htm
+http://mindit.netmind.com/proxy/http://www.smalltime.com/notvictims/cutting.html
+http://www.peopledaily.co.jp/zdxw/7/19991231/19991231001085.html
+http://pokemonothin.8m.com/cgi-bin/c/736/64/dXNlcmJhbm5lcg==/gn/4638/
+http://www.chaos.dk/sexriddle/s/e/x/u/y/n/d/
+http://www.bestinfo.net.cn/bsti_kjhy/kyys/bjkyys/arim/technical.html
+http://www.leicos.de/webguides/fun_lifestyle/unterhaltung/43101.html
+http://209.207.239.212/bkindex/c1047/f1423.html
+http://cylis.lib.cycu.edu.tw/search*chi/tEncyclopaedia+of+mathematical+sciences+&%2359%3B+v.+65/tencyclopaedia+of+mathematical+sciences+v+++65/-17,-1,0,B/frameset&F=tencyclopaedia+of+mathematical+sciences+v+++48&1,1
+http://www.sanxia.net/beauty/Nanako/313.htm
+http://www.sanxia.net/beauty/Nanako/323.htm
+http://mirrortucows.technet.it/winme/adnload/138469_29790.html
+http://www.fogdog.com/cedroID/ssd3040183321970/nav/stores/walking/
+http://www.fogdog.com/cedroID/ssd3040183321970/customer_service/employment.html
+http://mirror.pku.edu.cn/www.berkeley.edu/ls.berkeley.edu/lscr/services/backups/UCBackup.html
+http://retailer.gocollect.com/do/session/1912804/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/postcards/index.asp
+http://www.uni-duesseldorf.de/ftp/pf/share/ddd-1.4d/man/man1/?M=A
+http://www.uni-duesseldorf.de/ftp/pf/share/ddd-1.4d/man/man1/?S=A
+http://javatest.a-net.nl/servlet/pedit.Main/http://www.zdnet.com/special/stories/wireless/0,10676,2557092-8,00.html
+http://ftp.sunet.se/pub/os/FreeBSD/development/FreeBSD-CVS/ports/archivers/makeself/
+http://www.jamba.nl/KNet/_KNet-QYL8j1-2D4-pw4k/browse.nl/node.0/cde7f1uou
+http://www.discoveromaha.com/shared/health/adam/ency/imagepage/1090.000233.html
+http://home.dqt.com.cn/cgi-bin/push/setluntan?luntan=64
+http://sjsulib1.sjsu.edu:81/search/dbusiness+periodicals/-5,-1,1,B/frameset&dbusiness+vocational+guidance&2,,3
+http://www-d0.fnal.gov/d0dist/dist/releases/psim01.01.00/cft_tuple/VERSION
+http://pub3.ezboard.com/fmcdonaldscollectorsclubauctions.subscribeUnregisteredToTopic?topicID=136.topic
+http://shopping.lycos.co.kr/cgi-bin/LCWB.cgi/957424027/957522583/Catalog/1301/001
+http://www.cs.kuleuven.ac.be/~java/docs/jdk1.3/docs/api/java/sql/class-use/DriverPropertyInfo.html
+http://www.buybuddy.com/sleuth/27/1/1060701/505427/
+http://web4.sportsline.com/u/football/nfl/players/splits/4451_split.htm
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/FreeBSD/ports/alpha/packages-5-current/japanese/?M=A
+http://no.egroups.com/login.cgi?login_target=%2Fgroup%2Ftkd-full
+http://www.bemi-immobilien.de/Ferien-IB/Startseite/Gemeinsam/MarketingStrategie/Gemeinsam/immolink/Gemeinsam/3d-service/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/MarketingStrategie/Strategie.htm
+http://www.bemi-immobilien.de/Ferien-IB/Startseite/Gemeinsam/MarketingStrategie/Gemeinsam/immolink/Gemeinsam/3d-service/Startseite/www.ferien-immobilien.de/ferien-ib/startseite/Gemeinsam/versicherungen/gebaeude/deckungsumfang.htm
+http://www.3wposter.com/czaja/czj2002.htm
+http://pub19.ezboard.com/fallamericanbaseballleagueplayersneeded.showMessage?topicID=6.topic
+http://ftp.uni-mannheim.de/info/OReilly/nutshell/practcpp/disk/doit/?N=D
+http://www02.geocities.co.jp/HeartLand-Kaede/4970/index2.htm
+http://www.selbstmachen.de/shops/pop/infotext/8008.htm
+http://dennou-t.ms.u-tokyo.ac.jp/arch/cc-env/Linux/debian-jp/dists/unstable/contrib-jp/binary-alpha/doc/?D=A
+http://genforum.genealogy.com/cgi-genforum/forums/flynn.cgi?1004
+http://www.iwon.com/home/movies/movies_filmography_page/0,13178,Marguerite+Hickey,00.html
+http://cometweb01.comet.co.uk/do!tid=20&rtid=2&vsid=700&session=132028&mid=1000&rid=1060&cid=37030&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG5ubLZDXLZolLl3l5jbqLlci5XqVLkXsLkao4tloHbmlLoq5
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus65300/eus65303/eus77824/eus541028/eus168664/
+http://user.chollian.net/~iipuni/pds1/?M=A
+http://tucows.ciaoweb.it/winnt/adnload/73935_29937.html
+http://home2.keyciti.com/x2001/
+http://www.amateurplatinum.com/teenagerclique/fagbodyshots/elbow-greaseac/plus-sizemen/butt-fuckpartner/actionextreme/hitting-itendurance.html
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.3-4/linux/Documentation/filesystems/vfs.txt?only_with_tag=LINUX-2_3_99_pre4
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.3-4/linux/Documentation/filesystems/vfs.txt?only_with_tag=LINUX-2_3_17
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+18,0-0,0-3,0
+http://www.skaninforma.no/nord-troendelag/leksvik-h.htm
+http://194.128.65.4/pa/cm199798/cmwib/wb971115/nil.htm
+http://www.on.fuchu.or.jp/~oimatudo/englishmisomanzyu.htm
+http://map.ipc.co.jp/asp/onmap/connect/g-2/a-719/
+http://cherokee1.edgate.com/goucheres/ed_current.html
+http://www.online.kokusai.co.jp/Service/V0043594/wrd/G200/service/service.html
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=21,16,7
+http://binary.tucows.com/winnt/adnload/70807_30160.html
+http://binary.tucows.com/winnt/adnload/1422_28846.html
+http://genforum.genealogy.com/cgi-genforum/forums/theroux.cgi?69
+http://rex.skyline.net/navigate.cgi?news,ice,women,resources,living
+http://umweb2.unitedmedia.com/creators/rugrats/archive/rugrats-20001015.html
+http://retailer.gocollect.com/do/session/1912824/vsid/2089/tid/2089/cid/621609/mid/1540/rid/1520/chid/2083/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLlmo5larLZqVLafpLmiXLvlmHolaLrZqLpl4/url/http://www.gocollect.com/product_display/products/product_lines.asp
+http://retailer.gocollect.com/do/session/1912824/vsid/2089/tid/2089/cid/621609/mid/1540/rid/1520/chid/2083/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLlmo5larLZqVLafpLmiXLvlmHolaLrZqLpl4/url/http://www.gocollect.com/clubhouse/suggestions.asp
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=146&discrim=146,7,19
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=146&discrim=146,7,231
+http://login.hq.cricinfo.org/link_to_database/ARCHIVE/1996-97/OD_TOURNEYS/SINWS/SINWS-MATCHES/SL_ZIM_SINWS_ODI5_03SEP1996_DAILY_MR.html
+http://preview.egroups.com/group/God_Calling
+http://www.fogdog.com/cedroID/ssd3040183340945/nav/products/outlet/1b/sunglasses_optics/
+http://www.fogdog.com/cedroID/ssd3040183340945/nav/products/outlet/1c/dc/
+http://www.fogdog.com/cedroID/ssd3040183340945/customer_service/contact_us.html
+http://link.fastpartner.com/do/session/600424/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/itjobbank.php
+http://link.fastpartner.com/do/session/600424/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/index.php
+http://pub2.ezboard.com/fteamnexgenforumhelpnexgennexencodestudio.unsubscribeUnregisteredToTopic?topicID=29.topic
+http://www02.geocities.co.jp/SiliconValley-PaloAlto/1763/event/ni2k/ni2k.htm
+http://yp.gates96.com/7/89/60/35.html
+http://yp.gates96.com/7/89/61/4.html
+http://yp.gates96.com/7/89/61/38.html
+http://yp.gates96.com/7/89/62/80.html
+http://yp.gates96.com/7/89/63/8.html
+http://yp.gates96.com/7/89/63/16.html
+http://yp.gates96.com/7/89/65/10.html
+http://yp.gates96.com/7/89/65/42.html
+http://yp.gates96.com/7/89/65/54.html
+http://yp.gates96.com/7/89/65/88.html
+http://yp.gates96.com/7/89/65/98.html
+http://yp.gates96.com/7/89/66/26.html
+http://yp.gates96.com/7/89/66/55.html
+http://yp.gates96.com/7/89/67/28.html
+http://yp.gates96.com/7/89/68/67.html
+http://yp.gates96.com/7/89/69/63.html
+http://yp.gates96.com/7/89/69/73.html
+http://www.mediko.de/news/alt.support.eating-disord/19944.html
+http://www.mediko.de/news/alt.support.eating-disord/19975.html
+http://www13.cplaza.ne.jp/musicnavi/i-mode/id/KICS113.html
+http://home.beseen.com/community/alienpilot/AbductionTheory.html
+http://www.hausbau-finder.de/festpreis/anbieter/A11/A11_05_eg.htm
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=237&discrim=10,15,200
+http://ftp.eecs.umich.edu/pub/NetBSD/packages/1.3.3/mac68k/kde/
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_49/chapter_028/rcw_49_28_065.txt
+http://fi.egroups.com/login.cgi?login_target=%2Fmessages%2Fdfbl%2F77
+http://ring.omp.ad.jp/pub/NetBSD/NetBSD-current/src/sys/arch/sgimips/dev/?D=A
+http://retailer.gocollect.com/do/session/1912781/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/postcards/index.asp
+http://providenet.tucows.com/win2k/adnload/136128_47180.html
+http://providenet.tucows.com/win2k/adnload/38527_29571.html
+http://no.egroups.com/dir/1/16/476/32069/32291/104313/293356
+http://www.playease.com/et/beauty/img/lingmuyamei/lmam043.htm
+http://202.99.23.201/gb/special/node_484.htm
+http://202.99.23.201/gb/special/node_518.htm
+http://202.99.23.201/gb/special/node_531.htm
+http://ring.jec.ad.jp/archives/NetBSD/NetBSD-current/pkgsrc/fonts/acroread-chsfont/README.html
+http://www.gaiax.com/~dengeki/lineb.html?haru_da_pump
+http://cafe2.daum.net/Cafe-bin/Bbs.cgi/naturalproductspds/qry/zka/B2-kB27p/qqatt/^
+http://cafe2.daum.net/Cafe-bin/Bbs.cgi/naturalproductspds/qry/zka/B2-kB23t/qqatt/^
+http://cafe2.daum.net/Cafe-bin/Bbs.cgi/naturalproductspds/qry/zka/B2-kB23r/qqatt/^
+http://my.egroups.com/group/uk-mac-dev
+http://www.f20.parsimony.net/forum35990/archiv.htm
+http://findmail.com/group/Costumers
+http://variety.studiostore.com/browse/PEOPLE/b.FAVORITES%20PEOPLE/s.ZaC1r6Q6
+http://www.chinawolf.com/~warson/japan/chichuan/cat/jiangzuo/020.htm
+http://www.branchen-vermittler.de/Branchen/Mecklenburg/Mecklenburg_Region_3/Neustrelitz/kopf_neustrelitz.html
+http://www.xmission.com/(art,ftp,geek,music,music,caffiene,art,toys,dots,edge,misc,shopping,ftp,places,privacy,geek,cuseeme,apocalypse,people,stuffiuse,places,privacy,stuffiuse)/~bill/links.html
+http://www.cs.helsinki.fi/linux/linux-kernel/Year-1999/1999-49/1283.html
+http://www.ecotec.co.jp/view/arc/f/free/33/umcotk/zxlqox.html
+http://www.ecotec.co.jp/view/arc/f/free/33/tgiotk/uftfwm.html
+http://www.ecotec.co.jp/view/arc/f/free/33/purotk/qxxotk.html
+http://www.ecotec.co.jp/view/arc/f/free/33/purotk/sewotk.html
+http://www.ecotec.co.jp/view/arc/f/free/33/purotk/sjkfwm.html
+http://www.ecotec.co.jp/view/arc/f/free/33/hazfwm/llhetk.html
+http://www.ecotec.co.jp/view/arc/f/free/33/bvtctk/eptrik.html
+http://www.ecotec.co.jp/view/arc/f/free/33/rvkptk/syurzz.html
+http://library.cuhk.edu.hk/search*chi/a��頦��哨蕭嚙賢��鞈�嚙踝���+1934-/a{214b33}{213021}{214451}+1934/-5,-1,0,B/frameset&F=a{214b33}{213021}{213c63}&6,,7
+http://mitglied.tripod.de/~haubentaucher/bilder.htm
+http://amc.hollywood.com/maltin/v/valleyofthekings-1954.htm
+http://amc.hollywood.com/maltin/v/vannuysblvd-1979.htm
+http://amc.hollywood.com/maltin/v/venicevenice-1992.htm
+http://amc.hollywood.com/maltin/v/vicesquad-1931.htm
+http://amc.hollywood.com/maltin/v/violette-1978.htm
+http://amc.hollywood.com/maltin/v/voiceofthewhistler-1945.htm
+http://amc.hollywood.com/maltin/v/vulturethe-1967.htm
+http://members.tripod.co.jp/hatahata/hikoki/?D=A
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/SaveCounter/2000-10-23/07/972255822718.txt
+http://www.mapion.co.jp/custom/AOL/admi/23/23105/matsubaracho/5chome/index-43.html
+http://search.chollian.net/cgi-bin/filter.cgi?cid=1109&g=11
+http://search.chollian.net/cgi-bin/filter.cgi?cid=1109&p=5
+http://www.linux.com/networking/network/new/website/applications/business/
+http://www.fogdog.com/cedroID/ssd3040183313598/nav/products/w_golf/1s/ball_retrievers/
+http://www.fogdog.com/cedroID/ssd3040183313598/nav/products/w_golf/1t/biographical_books/
+http://rammstein.sonicnet.com/artists/news/1090.jhtml
+http://rammstein.sonicnet.com/allmusic/ai_bio.jhtml?ai_id=1090
+http://www.ycwb.com.cn/gb/2000/08/18/ycwb/gnxw/7.html
+http://www.vorlesungen.uni-osnabrueck.de/informatik/c98/code/19/?D=A
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/SaveCounter/2000-10-23/11/972270515716.txt
+http://www.affiliate.hpstore.hp.co.uk/do/session/380869/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/entry1.asp
+http://uk.biz.yahoo.com/mutual_funds/micropal/lf/fund/008776/properf.html
+http://troy.lib.sfu.ca/search/aasociacion+argentina+de+ciencias+naturales/aasociacion+argentina+de+ciencias+naturales/-5,-1,0,E/frameset&F=aasociacion+argentina+de+ciencias+naturales&1,,0
+http://uk.dir.yahoo.com/Regional/U_S__States/Virginia/Metropolitan_Areas/Charlottesville_Metro/Travel_and_Transportation/Accommodation/Caravan_Parks_and_Camp_Sites/
+http://uk.dir.yahoo.com/Regional/U_S__States/Virginia/Metropolitan_Areas/Charlottesville_Metro/Travel_and_Transportation/Accommodation/Hotels/
+http://library.cwu.edu/search/cQA76.73.A35+T75/cqa+++76.73+a35+t75/-5,-1,0,B/marc&F=cqa+++76.73+a8+j33+1985&1,1,
+http://www.tages-anzeiger.ch/sport/nagano/0902/olymp_art4.htm
+http://finance.sina.com.cn/globe/globe/2000-03-16/23725.html
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,3-9,0+0,1-0,3
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,3-9,0+0,1-9,3
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,3-9,0+0,1-19,0
+http://temps-libre.promovacances.net/D02/BH/BDANE/voyagealacarte.htm
+http://sunsite.org.uk/public/computing/networks/internet/ietf/98aug/imapext-attendees-98aug.txt
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=124&discrim=221,178
+http://cpan.nettuno.it/authors/Ilya_Zakharevich/modules/FreezeThaw-0.41.readme
+http://cpan.nettuno.it/authors/Ilya_Zakharevich/modules/Math-Pari-2.001700.readme
+http://ricoh.co.jp/SHOGI/emate/tanigawa/tume0069a.html
+http://troy.lib.sfu.ca/search/dlatin+america+periodicals/dlatin+america+periodicals/-5,-1,0,B/marc&F=dlatin+america+pest+control+industry&1,1,
+http://moviestore.zap2it.com/browse/MOVIES/COLLECTI/s.w2bwHPkr
+http://moviestore.zap2it.com/browse/MOVIES/BUNDLE/s.w2bwHPkr
+http://moviestore.zap2it.com/browse/MOVIES/BOWL/s.w2bwHPkr
+http://moviestore.zap2it.com/browse/MOVIES/JEWELRY/s.w2bwHPkr
+http://moviestore.zap2it.com/browse/MOVIES/COMIC/s.w2bwHPkr
+http://www9.hmv.co.uk:5555/do/session/1347801/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/Top_Navigation_Bar/top_banner.html
+http://www3.adobe.com/type/browser/F/P_103/F_FRAK-70005000.html
+http://ftp.netc.pt/pub/idgames/levels/doom2/deathmatch/j-l/kewl.txt
+http://ftp.netc.pt/pub/idgames/levels/doom2/deathmatch/j-l/ledges-z.txt
+http://park.org:8888/Japan/CSK/hyakki/zukan/turezure/ue/c_tirizuka.html
+http://pub4.ezboard.com/fscarletstreetfilmmusic.unsubscribeUnregisteredToTopic?topicID=54.topic
+http://tucows.niagara.com/win2k/adnload/37364_29149.html
+http://wap.jamba.de/KNet/_KNet-JGG8j1-eGd-13cre/showInfo-special1.de/node.0/cde7f1uou
+http://www.personalmd.com/news/n0706062122.shtml
+http://ds.dial.pipex.com/tmc/ConfPresentations/s2000/NetworkingJ/msconfig.htm
+http://calcul.si.uji.es/Programes/SAS/proc/z0325264.htm
+http://www.kaos.dk/sexriddle/x/m/k/i/i/
+http://ring.toyama-ix.net/archives/lang/perl/CPAN/clpa/1998-08/?N=D
+http://ring.toyama-ix.net/archives/lang/perl/CPAN/clpa/1998-08/?S=A
+http://www.spiral.at/Katalog/Artikel/0879070/
+http://homepage1.nifty.com/nao~nao/pages/profile.html
+http://www.ferien-immobilien.de/friesland/verkauf/Gemeinsam/Inserieren/Allgemeine-IB/3d-service/Allgemeine-IB/Startseite/
+http://www.ferien-immobilien.de/friesland/verkauf/Gemeinsam/Inserieren/Allgemeine-IB/3d-service/Gemeinsam/erreichenPartner/email3d.htm
+http://www.thestateofcolorado.com/m1jerepair.html
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1989/0/MNTENNIS.HTM
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1989/0/MNTRASH.HTM
+http://www.shop4magazines.com/pg004752.htm
+http://www.shop4magazines.com/pg005070.htm
+http://www.shop4magazines.com/pg005084.htm
+http://fi.egroups.com/login.cgi?login_target=%2Fmessage%2Fsocalscan%2F5293
+http://www.incestpornstories.com/hot-hardcore-fuckingbanging/bootsfeet-/hitting-itsmacking/{hardcorelink}
+http://www.columbia.edu/~mkn12/Nominees.html
+http://www.generation-formation.fr/pdetail.htm---o21zAo06Rxo0Ol9A074fo6s0Md6jIHeNHhIeOkn2ApvFFo6s5dfexiWo2W81N3OsPeaR2VeuzlEdRsR3djaPfdNjfco41qrfP6sWd6wuCoz4ZteOgKHekLVSePl8vNhiWhAhcgNAPfVbdsNhJl.htm
+http://tiscover.at/1Root/Kontinent/6/Staat/7/Bundesland/20/Ort/212/Sonstige_Sportstaette/276591/Bericht/berw...1.html
+http://fi.egroups.com/message/meterreader/207?source=1
+http://polygraph.ircache.net:8181/services/design/http_-2www.arthritis.org/http_-2www.alameda-vcf.org/http_-2www.microsoft.com/ie/ie.htm
+http://www.fortunecity.com/lavender/deathrace/251/billy.html
+http://ftpsearch.belnet.be/packages/CPAN/modules/by-module/AppleII/?N=D
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=7,34,29,16,25
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=21,34,29,16,25
+http://www.ftp.uni-erlangen.de/pub/unix/BSD/FreeBSD/FreeBSD-current/ports/irc/tirc/
+http://retailer.gocollect.com/do/session/1912840/vsid/1696/tid/1696/cid/604361/mid/1540/rid/1420/chid/1725/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLlmo5larLZqVLafpLmiXLvlmHolaLrZqLpl4/url/http://www.gocollect.com/company_info/about.asp
+http://retailer.gocollect.com/do/session/1912840/vsid/1696/tid/1696/cid/604361/mid/1540/rid/1420/chid/1725/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLlmo5larLZqVLafpLmiXLvlmHolaLrZqLpl4/url/http://www.gocollect.com/company_info/terms_and_conditions.asp
+http://businessrecorder.com/story/S0024/S2401/S2401113.htm
+http://arabia.com/article/0,1690,Sports|20732,00.html
+http://www.worldmedicus.com/servlet/Controller/$7006041629a50000.sj_viewa/
+http://myhome.naver.com/chocobini/company.html
+http://builder.hw.net/frmMessageFront/1,1079,'1~21~0~8~1~2348~9590',00.html
+http://pub1.ezboard.com/fcrossstitchcorner504212000shepherdsbushretreat.showAddReplyScreenFromWeb?topicID=48.topic&index=5
+http://www.parisnights.de/fanfiction/archive/authors/andrews/stories/bright.htm
+http://198.103.152.100/search*frc/cCA1+MPR+NS51+98Y25/cca1+mpr+ns51+98y25/7,-1,0,E/2browse
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus51605/eus147927/eus269761/eus269920/eus918452/
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus51605/eus147927/eus269761/eus269920/eus918493/
+http://www.computing.net/cgi-bin/report.pl/windows95/wwwboard/forum/3119.html|21
+http://www.kiarchive.ru:8093/pub/misc/books/Camelot/Vasilyev/Forgotten_Road/
+http://yp.gates96.com/4/9/50/30.html
+http://yp.gates96.com/4/9/51/1.html
+http://yp.gates96.com/4/9/51/88.html
+http://yp.gates96.com/4/9/51/92.html
+http://yp.gates96.com/4/9/52/3.html
+http://yp.gates96.com/4/9/52/53.html
+http://yp.gates96.com/4/9/52/67.html
+http://yp.gates96.com/4/9/53/25.html
+http://yp.gates96.com/4/9/53/50.html
+http://yp.gates96.com/4/9/53/96.html
+http://yp.gates96.com/4/9/54/40.html
+http://yp.gates96.com/4/9/54/57.html
+http://yp.gates96.com/4/9/54/77.html
+http://yp.gates96.com/4/9/55/57.html
+http://yp.gates96.com/4/9/55/71.html
+http://yp.gates96.com/4/9/56/1.html
+http://yp.gates96.com/4/9/56/98.html
+http://yp.gates96.com/4/9/57/6.html
+http://yp.gates96.com/4/9/57/90.html
+http://yp.gates96.com/4/9/58/91.html
+http://yp.gates96.com/4/9/58/96.html
+http://yp.gates96.com/4/9/59/29.html
+http://yp.gates96.com/4/9/59/33.html
+http://yp.gates96.com/4/9/59/84.html
+http://yp.gates96.com/4/9/59/97.html
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/151/1997/5/0/900308/
+http://www2.odn.ne.jp/~cao20970/affair/oh/ha-342
+http://www2.odn.ne.jp/~cao20970/affair/oh/ha-346
+http://wap.jamba.de/KNet/_KNet-lvH8j1-nGd-13d1j/browse.de/node.0/cdzqggtyb
+http://www.danielwebster.org//hallofusa/thestampact/HENDRICKFISHER.COM//thestampact/
+http://news.cn.tom.com/maya/cnnav/01/item/2000_09/309490.shtml
+http://polygraph.ircache.net:8181/services/design/http_-2www.paducahrotary.org/pbcmap.htm
+http://polygraph.ircache.net:8181/services/design/http_-2www.paducahrotary.org/mainpage.htm
+http://www.debian.org.cn/Bugs/db/23/23547.html
+http://www.debian.org.cn/Bugs/db/54/54172.html
+http://www.adetti.iscte.pt/ADETTI/Security/HowTo/Java/jdk1.2.1/docs/guide/beans/spec/beancontext.fm7.html
+http://www.users.qwest.net/~campputz/page413.htm
+http://flybird.soyou.edu.cn/item/2000-07-31/164671.html
+http://www.cognigen.net/corporate/trainers.cgi?full-timer
+http://www.babyheirlooms.com/catalog/htmlos.cat/041143.1.1156359481
+http://ramdam.com/art/k/katerine.htm
+http://ramdam.com/art/k/krapulax.htm
+http://aleph.tau.ac.il:4501/ALEPH/eng/ATA/AAM/AAM/SET-MAIL///1249009
+http://online.linux.tucows.com/conhtml/adnload/8973_2294.html
+http://www.arrakis.es/~lady_cel/frcontenf.htm
+http://online.linux.tucows.com/conhtml/adnload/39034_1349.html
+http://online.linux.tucows.com/conhtml/adnload/51651_2248.html
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=23,0+14,0-13,0-13,0
+http://www.ferien-immobilien.de/Westerwald/verkauf/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/Gemeinsam/Inserieren/Private-IB/Gemeinsam/suche.htm
+http://www.linux.com/networking/network/it/alternative/developers/Apple/
+http://www.sanxia.net/beauty/Nanako/418.htm
+http://www-usa8.cricket.org/link_to_database/ARCHIVE/1999-2000/OTHERS+ICC/NORTHANTS_IN_WI/ARTICLES/
+http://gds.cc.va.us:8888/Mcn%3dMELISSA%20BACK,%20ou%3dSV.CC.VA.US,%20ou%3dFaculty%20%26%20Staff,%20o%3dvccs,%20c%3dUS
+http://www.allgemeine-immobilien-boerse.de/nordrhein-Westfalen/luedinghausen/Verkauf/Ferien-IB/Startseite/Gemeinsam/erreichenPartner/Versteigerungen-IB/Startseite/IIM-Teil/Startseite/froben.htm
+http://198.103.152.100/search*frc/dIndustrial+relations+--+Germany+(West)+--+History/dindustrial+relations+germany+west+history/-5,-1,0,B/frameset&F=dindustrial+relations+germany+dictionaries&1,,0
+http://secure.danysoft.com/asp/dany.tienda/892496425/Catalog
+http://yp.gates96.com/13/57/90/23.html
+http://yp.gates96.com/13/57/90/91.html
+http://yp.gates96.com/13/57/91/68.html
+http://yp.gates96.com/13/57/92/22.html
+http://yp.gates96.com/13/57/92/49.html
+http://yp.gates96.com/13/57/92/73.html
+http://yp.gates96.com/13/57/93/75.html
+http://yp.gates96.com/13/57/94/16.html
+http://yp.gates96.com/13/57/94/62.html
+http://yp.gates96.com/13/57/94/99.html
+http://yp.gates96.com/13/57/95/19.html
+http://yp.gates96.com/13/57/95/34.html
+http://yp.gates96.com/13/57/95/84.html
+http://yp.gates96.com/13/57/96/22.html
+http://yp.gates96.com/13/57/96/24.html
+http://yp.gates96.com/13/57/96/52.html
+http://yp.gates96.com/13/57/96/70.html
+http://yp.gates96.com/13/57/97/39.html
+http://yp.gates96.com/13/57/97/55.html
+http://yp.gates96.com/13/57/98/4.html
+http://yp.gates96.com/13/57/98/41.html
+http://yp.gates96.com/13/57/98/58.html
+http://yp.gates96.com/13/57/98/98.html
+http://yp.gates96.com/13/57/98/99.html
+http://yp.gates96.com/13/57/99/79.html
+http://carriage.de/Schoner/Info-d/history/literature/literature/
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/lit/computers/misc/unitest/misc/computers/programs/simple/simple.html
+http://kwic.tucows.com/partners/flyswat/get_acx.html
+http://sp201.unige.ch:49213/cxxdoc/ioc/concepts/c2g2rcsm.htm
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=0,2-0,1-21,0+9,1
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=237&discrim=10,2,183
+http://firstweb.tucows.com/win2k/adnload/58783_28760.html
+http://www.boerseninfos.de/dynamic/ak/mk/news/719350-20000830-104827.html
+http://baseball.mainichi.co.jp/life/family/syuppan/wakaru/wakaru-j/10/01/01.html
+http://helios.nlib.ee/search*est/dsÃĩjalised+blokid/dsw~ajalised+blokid/-5,-1,0,B/exact&F=dsw~ajalised+konfliktid&1,58/limit
+http://helios.nlib.ee/search*est/dsÃĩjalised+blokid/dsw~ajalised+blokid/-5,-1,0,B/frameset&F=dsw~ajalised+konfliktid&11,,58
+http://lexicon.linux.tucows.com/conhtml/adnload/8642_2088.html
+http://ua.php.net/manual/es/function.pg-fieldisnull.php
+http://www.babyheirlooms.com/catalog/htmlos.cat/041132.1.4352706945
+http://www.civila.com/guitar/chat/desenredada/juegos/
+http://sunsite.org.uk/public/pub/packages/info-mac/pilot/?N=D
+http://www.aelita.net/products/products/support/news/Reg/Subscribe/company/contact/default.htm
+http://cn.egroups.com/message/newsclips/295
+http://www.jornada.unam.mx/2000/sep00/000922/oriente-y.htm
+http://members.tripod.co.jp/mosokke/dubair01ghe.html
+http://202.99.23.245/zdxw/21/20000217/200002172112.html
+http://link.fastpartner.com/do/session/600412/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/speednames.php
+http://link.fastpartner.com/do/session/600412/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/nordicliving.php
+http://link.fastpartner.com/do/session/600412/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/local/redirect.php
+http://iant.subportal.com/sn/Utilities/System_Maintenance_and_Repair_Utilities/2128.html
+http://polygraph.ircache.net:8181/client/http_-2www.scubaring.com/http_-2www.aaainvestments.com/http_-2www.primenet.com/~stmmoon/stmbik.html
+http://itcareers.careercast.com/texis/it/itjs/+wwwBme89D86qxwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewGtmoBGnaqdGpdGwBodDanDtoDnnGaMw55wqr15nBB5aoDhdGMwBodDa5nq1GoBOaDnBidGAapGdBdqdc5aGn31oGnmanLpnGonDqnaMFqhTfR20DzmehrwwwpBme26D86eSqwww5rmePdwwwBrmeZpwww/morelike.html
+http://itcareers.careercast.com/texis/it/itjs/+awwBme3AT+6ezqwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewGtmoBGnaqdGpdGwBodDanDtoDnnGaMw55wqr15nBB5aoDhdGMwBodDa5nq1GoBOaDnBidGAapGdBdqdc5aGn31oGnmanLpnGonDqnaMFqhTfR20DzmehrwwwpBme26D86eSqwww5rmeEdwwwBrmeZpwww/jobpage.html
+http://itcareers.careercast.com/texis/it/itjs/+vwwBme26D86eSqwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewGtmoBGnaqdGpdGwBodDanDtoDnnGaMw55wqr15nBB5aoDhdGMwBodDa5nq1GoBOaDnBidGAapGdBdqdc5aGn31oGnmanLpnGonDqnaMFqhTfR20DzmehrwwwpBme26D86eSqwwwGzmwwww5rmeEdwwwBrmeZpwww/morelike.html
+http://www.starcities.com/usa/ca/carlsbad/
+http://www.3w-geschichten.de/PlumptreGeorge/PlumptreGeorge1857938461.htm
+http://residence.educities.edu.tw/goyen/
+http://polygraph.ircache.net:8181/http_-2www.whowhere.com/http_-2www.primenet.com/~mmfact/http_-2www.microsoft.com/ie/download/
+http://polygraph.ircache.net:8181/http_-2www.whowhere.com/http_-2www.primenet.com/~mmfact/http_-2www.infohwy.com/odframes.html
+http://www.linux.com/networking/network/management/industry/internet/services/
+http://cn.egroups.com/message/ruosulista/1176
+http://ftp.jp.debian.org/debian/dists/unstable/main/binary-i386/tex/?M=A
+http://de.excite.de/bildung/katalog/17722
+http://de.excite.de/bildung/katalog/17893
+http://de.excite.de/bildung/katalog/17879
+http://www.emerchandise.com/browse/BUFFYTHEVAMP/PIN/b.TV%20BUFFYTHEVAMP/s.Xpiu5LCZ
+http://variety.studiostore.com/browse/VARIETY/CAMERA/s.dmZspziz
+http://carriage.de/Schoner/Sammlungen/models/info-e/Info-d/
+http://www.gazeta.com/Iso/Plus/Kraj/Prezyden/Ak/700kwa.html
+http://www.linux.com/networking/network/networking/developers/operating_system/Debian/
+http://online.linux.tucows.com/conhtml/adnload/8808_32695.html
+http://149.221.91.10/news/lokales/wermelskirchen/
+http://opac.lib.rpi.edu/search/avirgin+vision+limited/7,-1,0,B/frameset&avirginia+cooperative+fisheries+research+unit&1,1
+http://www.emerchandise.com/browse/DISNEY-FAM/ACTIONFI/b.FAVORITES%20KIDSSTUFF%20DISNEY-FAM/s.erm2bF5K
+http://polit.kulichki.net/moshkow/PXESY/GORIN/
+http://polit.kulichki.net/moshkow/COPYRIGHT/stolyarov.txt
+http://www.science.uva.nl/pub/NetBSD/NetBSD-current/pkgsrc/textproc/rman/pkg/DESCR
+http://cgi.www.4tourism.com/uk/wareham65426.html
+http://cgi.www.4tourism.com/uk/wareham22477.html
+http://www.ccnet.com/affif/_themes/sumipntg/_vti_cnf/?M=A
+http://web.tin.it/regionesardegna/ital/lavpubb/bandi_contratti/schema5_1q.htm
+http://ring.htcn.ne.jp/archives/text/CTAN/macros/latex/contrib/other/apa/
+http://ftpsearch.belnet.be/packages/CPAN/modules/by-module/Callback/Callback-1.02.readme
+http://iant.subportal.com/sn/Utilities/Misc__Utilities/12800.html
+http://yp.gates96.com/2/51/0/86.html
+http://yp.gates96.com/2/51/1/72.html
+http://yp.gates96.com/2/51/2/10.html
+http://yp.gates96.com/2/51/3/7.html
+http://yp.gates96.com/2/51/3/50.html
+http://yp.gates96.com/2/51/4/90.html
+http://yp.gates96.com/2/51/5/6.html
+http://yp.gates96.com/2/51/5/42.html
+http://yp.gates96.com/2/51/5/50.html
+http://yp.gates96.com/2/51/6/49.html
+http://yp.gates96.com/2/51/8/12.html
+http://yp.gates96.com/2/51/8/50.html
+http://yp.gates96.com/2/51/9/82.html
+http://yp.gates96.com/2/51/9/94.html
+http://archive.soccerage.com/s/fr/09/37602.html
+http://archive.soccerage.com/s/fr/09/39203.html
+http://ftp.ring.gr.jp/archives/NetBSD/NetBSD-1.4.1/pmax/binary/security/
+http://www.yorosiku.net:8080/-_-http://www.us-japan.org/otr/
+http://support.dell.com/docs/storage/dlt1/ug/sp/jumpers.htm
+http://moviestore.zap2it.com/browse/MOVIES/MOUSEPAD/s.uiIfdEiW
+http://moviestore.zap2it.com/browse/MOVIES/STANDUP/s.uiIfdEiW
+http://focusin.ads.targetnet.com/ad/id=animeart&opt=cin&cv=210&uid=972942857
+http://www.emerchandise.com/browse/SATNIGHTLIVE/SWEATSHI/s.pJ2FFfba
+http://www.realize.com/p5dee81.htm,qt=e784fe2f=2a38a234-e-1ade986-0-0-0-3--
+http://support.tandy.com/support_audio/doc30/30780.htm
+http://sun1.rrzn-user.uni-hannover.de/jgaertner/matlab/help/techdoc/umg/chlabel2.html
+http://sun1.rrzn-user.uni-hannover.de/jgaertner/matlab/help/techdoc/umg/chprin12.html
+http://www.es.co.nz/~rotary.home.html
+http://www.excelsior.com.mx/9802/980217/nac18.html
+http://dante.bdp.it/cgi-bin/poseidon_v2.0/reflect/poseidon/disc/biblioteca1/1316779952/prevarticle
+http://dennou-t.ms.u-tokyo.ac.jp/arch/cc-env/Linux/debian-jp/dists/stable/non-free-jp/binary-alpha/net/?D=A
+http://guest/forestpatholog/diseases/annosus.html
+http://guest/forestpatholog/diseases/rot.html
+http://no.egroups.com/message/readbygrade3/2029
+http://www.cybercd.de/artist/Fabri,+Stafke.htm
+http://www.jamba.de/KNet/_KNet-zQG8j1-hGd-13cwi/admLogin.de/node.0/cenv0b09a
+http://www.digitaldrucke.de/(aktuell,computer,marktplatz,sense,tausch)/_fort/html/themen/computer/computer.htm
+http://ring.tains.tohoku.ac.jp/pub/linux/debian/debian-jp/dists/potato/contrib-jp/source/news/?S=A
+http://strategis.ic.gc.ca/sc_indps/recboats/frndoc/3g.html
+http://ftp.eq.uc.pt/software/unix/Linux/redhat/redhat-6.2/i386/doc/gsg/figs/rpmlite/?M=A
+http://www.judds-resort.com/judds/Lake-Winni-pike-lodge/upload/upload/photo/fallphoto/boat/12.html
+http://ftp.eecs.umich.edu/.7/NetBSD/NetBSD-current/src/usr.sbin/cnwctl/
+http://ftp.eecs.umich.edu/.7/NetBSD/NetBSD-current/src/usr.sbin/mailwrapper/
+http://ftp.eecs.umich.edu/.7/NetBSD/NetBSD-current/src/usr.sbin/traceroute6/
+http://ftp.eecs.umich.edu/.7/NetBSD/NetBSD-current/src/usr.sbin/yppoll/
+http://pelit.saunalahti.fi/.3/linuxberg/conhtml/preview/8785.html
+http://www.asahi-net.or.jp/~rz3n-snd/kitakan/kamiyosida.html
+http://www.chaos.dk/sexriddle/s/e/x/q/x/k/l/
+http://www.chaos.dk/sexriddle/s/e/x/q/x/k/y/
+http://ring.jec.ad.jp/archives/text/CTAN/dviware/umddvi/libcompat/?S=A
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/OCtIhwK0_lecIJU9yN87J4DTFWqXdztVO8nfP1zxdwq79fkod_IhHN3-iHbCrlaXZ5ATMMc_Gb5Zt_RdtVOloKJ1Z7DGqz2vE9vOjESyOqryETO-lNa0NWtCoTJH_QGCfq7ss5VGa1MO3iLryKZ2gIVI_Lonfx_bC9m7
+http://seniorfriendfinder.com/cgi-bin/w3com/pws/ffsenior/D-tI2p4N__5TTgffRqVzdrKNYFZc3jj2Oatw29gt_YiNBPXUlYZaTA2ndP2CrwlrdiMS8YzPKxDR7Vp4ZBqD3d5o3MwYrYIxk31YsVtP3yFS2bLdZcBGLKdyNUc9yYgvGsGMXAMcEAUJPjtRqUVzDpuhHzS6V_U76I6G
+http://my.egroups.com/subscribe/enemapix
+http://yp.gates96.com/0/23/40/60.html
+http://yp.gates96.com/0/23/40/82.html
+http://yp.gates96.com/0/23/41/67.html
+http://yp.gates96.com/0/23/43/71.html
+http://yp.gates96.com/0/23/43/75.html
+http://yp.gates96.com/0/23/44/64.html
+http://yp.gates96.com/0/23/44/73.html
+http://yp.gates96.com/0/23/44/84.html
+http://yp.gates96.com/0/23/45/19.html
+http://yp.gates96.com/0/23/46/9.html
+http://yp.gates96.com/0/23/46/26.html
+http://yp.gates96.com/0/23/46/37.html
+http://yp.gates96.com/0/23/46/92.html
+http://yp.gates96.com/0/23/47/39.html
+http://yp.gates96.com/0/23/47/52.html
+http://yp.gates96.com/0/23/48/52.html
+http://yp.gates96.com/0/23/49/12.html
+http://yp.gates96.com/0/23/49/90.html
+http://retailer.gocollect.com/do/session/1912812/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/help/index.asp
+http://retailer.gocollect.com/do/session/1912812/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/sports/index.asp
+http://203.93.50.148:2222/*0110http://www.snweb.com/gb/people_daily/2000/10/20/i1020004.htm
+http://cn.egroups.com/messages/romtrade/5024
+http://members.tripod.co.jp/medo/_private/
+http://dbc.copystar.com.tw/DelphiChat/200001/msg0325.htm
+http://tucows.pi.be/winnt/diskcnt_license.html
+http://millennium.fortunecity.com/ruthven/144/5041.htm
+http://news.pchome.com.tw/ttv/finance/20000616/
+http://library.bangor.ac.uk/search/dEcology+--+Poland+--+Periodicals/decology+poland+periodicals/-17,-1,0,B/frameset&F=decology+north+america+congresses&1,1
+http://www.could.be/travel/north_america/united_states/lodge_2.htm
+http://genforum.genealogy.com/cgi-bin/print.cgi?huntington::195.html
+http://www.bemi-immobilien.de/Ferien-IB/Startseite/Gemeinsam/immolink/Gemeinsam/MarketingStrategie/Gemeinsam/erreichenPartner/Gemeinsam/3d-service/Top-Darlehens-Konditionen/anforderungsformular.htm
+http://members.tripod.co.jp/snowmen/?D=A
+http://ftp.unicamp.br/pub/FAQ/sf/alt_history/part6
+http://www.affiliate.hpstore.hp.co.uk/do/session/380884/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/REGISTRATION/entry.asp
+http://grid9.linux.tucows.com/x11html/adnload/9444_3744.html
+http://www.linux.com/networking/network/communications/tools/web/support/
+http://www.linux.com/networking/network/communications/tools/web/alternative/
+http://cometweb01.comet.co.uk/do!tid=20&rtid=1&vsid=700&session=132030&mid=1000&rid=1060&cid=37030&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplGGolLarZLq4fLpmiLXv-KmooLckYLoznGmpq0qsc0mojLbkYLozvGotc0ZdoLckYLozvGsmv0qmc0jXfLkVZLdocLkYoLzcj1XfkLVZXLqkXLjbzKcob5qroLkVrLoizKlZd5fjYHfklKkZlLjjbLoZbLpl51ubZLDXZLollK3ljLbqlKjXfLkkaHotl4obmLloqL
+http://yp.gates96.com/14/77/20/1.html
+http://yp.gates96.com/14/77/20/3.html
+http://yp.gates96.com/14/77/20/32.html
+http://yp.gates96.com/14/77/20/55.html
+http://yp.gates96.com/14/77/21/7.html
+http://yp.gates96.com/14/77/22/20.html
+http://yp.gates96.com/14/77/22/26.html
+http://yp.gates96.com/14/77/22/50.html
+http://yp.gates96.com/14/77/23/63.html
+http://yp.gates96.com/14/77/23/96.html
+http://yp.gates96.com/14/77/25/53.html
+http://yp.gates96.com/14/77/26/8.html
+http://yp.gates96.com/14/77/26/32.html
+http://yp.gates96.com/14/77/27/0.html
+http://yp.gates96.com/14/77/27/55.html
+http://yp.gates96.com/14/77/27/78.html
+http://yp.gates96.com/14/77/28/8.html
+http://yp.gates96.com/14/77/28/53.html
+http://yp.gates96.com/14/77/28/57.html
+http://yp.gates96.com/14/77/28/99.html
+http://yp.gates96.com/14/77/29/96.html
+http://mirror.nucba.ac.jp/mirror/FreeBSD/FreeBSD-stable/ports/cad/xcircuit/files/?D=A
+http://pub3.ezboard.com/BBSForum.showForumSearch?boardName=jenxforum&forumName=jenxforumfrm0
+http://genforum.genealogy.com/cgi-genforum/forums/hi.cgi?415
+http://elib.zib.de/pub/opt-net/msc/msc-90-xx/90c15/v93w20n4
+http://biblio.cesga.es:81/search*gag/aDittrich,+Stefan/adittrich+stefan/-5,-1,0,E/frameset&F=adittman+richard+h+coaut&1,,0
+http://biblio.cesga.es:81/search*gag/aDittrich,+Stefan/adittrich+stefan/-5,-1,0,E/frameset&F=adittmar+jorge&1,1
+http://biblio.cesga.es:81/search*gag/aDittrich,+Stefan/adittrich+stefan/-5,-1,0,E/exact&F=adivis+jan&1,4
+http://www.doc.ic.ac.uk/~gwsb98/bucket/Wine-20001026/etc/?D=A
+http://news.fm365.com/xinwen/guoji/20000531/72641.htm
+http://www.newquestcity.com/templates/eventout.cfm?nqc=TN0730
+http://www.rhena.de/kempinsk1.htm
+http://www.jamba.de/KNet/_KNet-tkL8j1-PGd-13dss/showInfo-wir.de/node.0/cenvd8eze
+http://www.jamba.de/KNet/_KNet-tkL8j1-PGd-13dsv/browse.de/node.0/ceo0fdeye
+http://cpan.nitco.com/modules/by-module/String/BLCKSMTH/?N=D
+http://www.digitaldrucke.de/(hilfe,nuernberg)/_fort/html/themen/computer/soft/links/intuit.htm
+http://www.jeunesdocteurs.com/fplr/56/08.html
+http://simf1.tripod.com/Rio.htm
+http://www.mirror.kiev.ua:8083/paper/1998/17/1251/people.htm
+http://web2.sportsline.com/u/baseball/mlb/2000PO_stats/tpSTLw.htm
+http://www15.freeweb.ne.jp/art/charukun/yusuke.htm
+http://map.ipc.co.jp/asp/onmap/r/new/g-24/f-905972/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380882/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/REGISTRATION/entry.asp
+http://www.webcrawler.com/education/arts_and_humanities/visual_arts/art_history/c19th/arts_and_crafts/mackintosh_cr/structures/
+http://polygraph.ircache.net:8181/wwwboard/http_-2www.microsoft.com/msoffice/frontpage/http_-2www.linkstar.com/home/partners/marketlink-international-inc
+http://polygraph.ircache.net:8181/wwwboard/http_-2www.microsoft.com/msoffice/frontpage/ECA2.htm
+http://polygraph.ircache.net:8181/wwwboard/http_-2www.microsoft.com/msoffice/frontpage/http_-2www.intac.com/~dversch/catalog.html
+http://excite.de.netscape.com/kunst/katalog/24315
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/KhhIzVYqtXJlJzGPqrqzbJbUw7ERB8P7PSm9mTaj3BkJF6tLfllGlz2yKgLweoM1LPKLdHjjKv8zfb9tb2yojpTmzt6264ZE3V9vWzxY1mZnhDOG1vlwPrnwH5OCJM6C98fbjgZX66II
+http://mirror.nucba.ac.jp/mirror/Netscape/netscape6/french/6_PR2/windows/win32/?S=A
+http://www.linux.com/networking/server/install/howto/red_hat/package/
+http://www.nissan.co.jp/RENAULT-DEALERS/PASSPORT/view.cgi/proof/972959618--
+http://brain.brent.gov.uk/WebPages.nsf/vWebAllPagesByKey!OpenView&Start=97&Count=60&Expand=152
+http://i-mode.kakiko.com/deaitomo/mag/magurox/1405b.html
+http://www.ring.gr.jp/pub/NetBSD/arch/amiga/snapshot/20000115-1.4P/binary/security/
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=18,0+20,0-17,0-0,0
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/www/anoncvs.html?annotate=1.2&sortby=rev
+http://ftp.jp.debian.org/debian/dists/woody/non-free/binary-sh/hamradio/?M=A
+http://netscape.complete-skier.com/resorts/survey/submit.asp?ResortID=772
+http://nathanael.upi.jussieu.fr/tele6.nsf/autres+centres+de+formations!OpenPage&ExpandSection=9,17,2,16,5,14
+http://www.egroups.com/messages/zingiber/238
+http://www.umr.edu/~rhall/class/sap/sap8/demo.html
+http://209.207.239.212/bkindex/c1043/f1202.html
+http://se.egroups.com/message/ackmud/104
+http://school.educities.org/card/cug55.html
+http://school.educities.org/card/wgl.html
+http://school.educities.org/card/a77125.html
+http://school.educities.org/card/apple6128.html
+http://school.educities.org/card/c369852.html
+http://school.educities.org/card/cges4216.html
+http://school.educities.org/card/cges6307.html
+http://school.educities.org/card/eaa.html
+http://school.educities.org/card/f129235832.html
+http://school.educities.org/card/g1546.html
+http://school.educities.org/card/h223422022.html
+http://school.educities.org/card/lemon6112.html
+http://school.educities.org/card/st6408.html
+http://www.dulux.co.uk/UKRETAIL:1243142410:DFinity.1QJiP4jRACol
+http://www.iagora.com/pages/bbaddpost/::bb_id=148:mid=43302:thread_id=8185:parent_id=43302::lang=de
+http://www.iagora.com/pages/bbaddpost/::bb_id=148:mid=43431:thread_id=8185:parent_id=43431::lang=de
+http://www.egroups.com/message/intelligent_humor/875
+http://club.telepolis.com/klvinbc/fotosb.htm
+http://plat.debian.or.jp/debian/dists/woody/non-free/binary-mips/editors/?D=A
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=207&discrim=3,12,63
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=207&discrim=3,12,237
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=207&discrim=3,12,120
+http://www.jamba.de/KNet/_KNet-_tJ8j1-AGd-13ddq/browse.de/node.0/cdel3j591
+http://immihelpdownloads.subportal.com/sn/Utilities/System_Analysis_Utilities/2980.html
+http://dwp.bigplanet.com/crestinginc/discussion/edit.nhtml
+http://dwp.bigplanet.com/crestinginc/discussion/list.nhtml?profile=discussion
+http://194.128.65.4/pa/cm199900/cmwib/wb991127/ahead.htm
+http://61.128.218.34/book/hhsh/wu/wolongsheng/jiangxue/055.htm
+http://gd.cnread.net/cnread1/wgwx/t/tuwen/kxj/035.htm
+http://gd.cnread.net/cnread1/wgwx/t/tuwen/kxj/041.htm
+http://www.redrocksports.com/sports/webSession/shopper/RR972959743-31143/store/dept-5/department/dept-5/item/50110
+http://www.redrocksports.com/sports/webSession/shopper/RR972959743-31143/store/dept-5/department/dept-5/item/51530
+http://www.redrocksports.com/sports/webSession/shopper/RR972959743-31143/store/dept-5/department/dept-5/item/51510
+http://www.yorku.ca/org/yusa/who99/wh02.html
+http://www1.onelist.com/message/ar8200/3350
+http://www.kodak.se/US/en/corp/features/kern/jodi/index.shtml
+http://cafe3.daum.net/Cafe-bin/Bbs.cgi/semtle15pds/rnw/zka/B2-kB27k
+http://my.egroups.com/messages/dcfwriters/187?expand=1
+http://link.fastpartner.com/do/session/600414/vsid/1970/tid/1970/cid/135878/mid/1060/rid/1488/chid/1970/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/gosafe.php
+http://www.tiscover.com/1Root/Kontinent/6/Staat/7/Bundesland/20/Ort/108147/Bauernhof/315126/Homepage/f_homepage...2.html
+http://ring.omp.ad.jp/archives/NetBSD/packages/pkgsrc/net/gnut/patches/?D=A
+http://www.mtranslations.cz/40/cs/dictionary/dictionary_index.html
+http://pub10.ezboard.com/BBSSystem.handleLoginCheck?action=forgotPassword&boardName=alakazamslair
+http://tour.stanford.edu/cgi/locate3.prl/139.6/jMtlo
+http://www.shopworks.com/index.cfm/action/search/userid/00042DDE-2F63-19FE-9038010B0A0ADCF2
+http://thestar.com/back_issues/ED20001004/life/20000820LFE01_AH-BATH.html
+http://thestar.com/back_issues/ED20001004/life/20000818LFE01_LI-DEPRESS.html
+http://thestar.com/back_issues/ED20001004/life/20000806LFE01_AH-DAHLIAS.html
+http://www.hole.kommune.no/hole/journweb.nsf/7e180336094ef23a412568cd004a5093/466e7592a4c6c7ccc12568e3004402e8!Navigate&To=Prev
+http://mailthat.subportal.com/sn/Multimedia_and_Graphics/Graphics_Editors/3752.html
+http://www.gbnf.com/genealogy/rockwel4/html/d0014/I6348.HTM
+http://www.lookforforestry.com/catalog/FORSALE/FORKLIFT/JCB/930RTFL/
+http://www.espl.org/mearscol/pagendxs/stockley/d1828.htm
+http://in.egroups.com/messages/eyecandy/1290
+http://in.egroups.com/message/eyecandy/1264
+http://in.egroups.com/message/eyecandy/1271
+http://www.ferien-immobilien.de/bayern/deggendorf/Verkauf/Exklusiv-IB/Startseite/3d-service/Gemeinsam/Immolink/Gemeinsam/vertriebspartner.htm
+http://linux99.inrialpes.fr/linux/RPM/redhat/6.2/i386/Distribs.html
+http://students.lsu.edu/students/main.nsf/Pages/CSISAJ1!OpenDocument&ExpandSection=4,13,11,10
+http://www.doc.ic.ac.uk/lab/labsrc_area/firstyear/submissions/1997-98/jmc1/labs/Ex04/jwb97/?S=A
+http://www.iabusnet.org:90/forums/aca-1/dispatch.exe/survey/folderFrame/100001/0/alpha/2509069
+http://www.scifi.com/bboard/browse.cgi/1/5/545?lnum=4223
+http://www.fogdog.com/cedroID/ssd3040183304719/customer_service/
+http://www.fogdog.com/cedroID/ssd3040183304719/nav/products/winter_sports/1b/suits/
+http://www.gpul.org/ftp/lang/java/JDK/jdk1.1.6-docs/api/java.lang.Math.html
+http://www.gpul.org/ftp/lang/java/JDK/jdk1.1.6-docs/api/java.lang.IncompatibleClassChangeError.html
+http://www.staroriental.net/nav/soeg/ihf,aai,n2,418,Electric+Wave+Girl+1998.html
+http://www.parentsplace.com/expert/lactation/basics/qa/0,3459,5757,00.html
+http://www.francetrade.fr/opcvm/details/4/44200.html
+http://www.francetrade.fr/opcvm/details/4/42876.html
+http://genforum.genealogy.com/cgi-bin/print.cgi?phillippines::319.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380860/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-photoworld.com/photoworld.asp?lang=f
+http://ftp.eq.uc.pt/software/unix/Linux/docs/HOWTO/translations/italian/distributions/?M=A
+http://store1.europe.yahoo.com/brink2/2000074017704.html
+http://store1.europe.yahoo.com/brink2/2000073276003.html
+http://www.cbe21.com.cn/xueke/dili/jiaoxuezs/ziliaojn/tupianhc/i0733.htm
+http://www.networkpatternmatching.com/inventory/L/Limoges-American/Limoges-American-Tea-Rose-(Green).html
+http://www.networkpatternmatching.com/inventory/L/Limoges-American/Limoges-American-Toledo-Delight-(Sand).html
+http://ftp.debian.org/dists/sid/non-free/binary-hppa/games/?M=A
+http://www.angelfire.com/vt/kAoZzZ
+http://yp.gates96.com/14/28/60/15.html
+http://yp.gates96.com/14/28/60/17.html
+http://yp.gates96.com/14/28/60/41.html
+http://yp.gates96.com/14/28/60/75.html
+http://yp.gates96.com/14/28/60/83.html
+http://yp.gates96.com/14/28/60/87.html
+http://yp.gates96.com/14/28/61/96.html
+http://yp.gates96.com/14/28/62/12.html
+http://yp.gates96.com/14/28/62/28.html
+http://yp.gates96.com/14/28/62/45.html
+http://yp.gates96.com/14/28/62/74.html
+http://yp.gates96.com/14/28/63/24.html
+http://yp.gates96.com/14/28/63/45.html
+http://yp.gates96.com/14/28/64/33.html
+http://yp.gates96.com/14/28/65/84.html
+http://yp.gates96.com/14/28/66/28.html
+http://yp.gates96.com/14/28/66/49.html
+http://yp.gates96.com/14/28/67/15.html
+http://yp.gates96.com/14/28/67/17.html
+http://yp.gates96.com/14/28/67/92.html
+http://yp.gates96.com/14/28/67/95.html
+http://yp.gates96.com/14/28/68/10.html
+http://yp.gates96.com/14/28/69/20.html
+http://yp.gates96.com/14/28/69/64.html
+http://yp.gates96.com/14/28/69/74.html
+http://www.cs.kuleuven.ac.be/documentation/Sun/WorkShop/html_docs/c-plusplus/stdlibcr/deq_4164.htm
+http://no.egroups.com/message/Holiday-Best/571?source=1
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/G1hIPcWIQWr-i3fHpjDuaPPPdDR9n25II-MFpjX9vR_df0A3ukwPXLd19bYe7oxRH5Zr5z3G_wJnwM6gAVSOlRUN-p5MKYEBVJa1T-GaZS44Z98yjSST2LfXzEdc9Xqp8W0jRiNL6iAX
+http://msn.expedia.co.uk/wg/Asia/China/P31642.asp
+http://www.angelfire.com/fl2/gulfcoastsoftball/images/?N=D
+http://www.greenleaves.com/bookcat/gb_0879513802.html
+http://cn.egroups.com/post/Digitrends_Daily?act=reply&messageNum=210
+http://www.bookhome.net/wuxia/hzlz/li/031.html
+http://gb.toget.com.tw/intro/game_action/game_action_click/19990804_3190_dl.html
+http://www.mbnet.mb.ca/gray/cgrcc.html
+http://www.civila.com/noticias/chat/logos/juegos/esgratis/logos/index.html-ssi
+http://www.ytmag.com/cgi-bin/redirect.cgi/1197948180
+http://debian.tod.net/debian/dists/sid/contrib/binary-arm/admin/?M=A
+http://haste.co.kr/www.amaquest.com.tw/support.htm
+http://www.diogenes.ch/4DACTION/web_rd_aut_frlist_az/ID=483376&chr=A
+http://ads.neoseeker.com/remoteclick/GB972959289/
+http://urawa.cool.ne.jp/whoinside/cg/cgframe2.htm
+http://excite.de/bildung/katalog/33148
+http://plat.debian.or.jp/debian-archive/dists/Debian-2.0/hamm/binary-m68k/news/
+http://wwwpriv.uni-koblenz.de:81/~admin/Doku/HtmlTutor/tcdkc.htm
+http://platsbanken.amv.se/kap/text/62/000907,150090,120901,40,1427050362.shtml
+http://216.35.79.131/sites/gunits/022140u.html
+http://www.hotelboulevard.com/fr/paris/standard/htmle55cd396d0d1450ad1eddadf65bd6574/sessionLang/ANG/prov/browse/cp/75011/resultatSearch.html
+http://www.ftp.uni-erlangen.de/cgi-bin/view/pub/unix/Linux/MIRROR.KDE/unstable/apps/README
+http://www.ftp.uni-erlangen.de/pub/unix/Linux/MIRROR.KDE/unstable/apps/network/
+http://www.ycwb.com.cn/gb/2000/04/28/dnzk/itkx/3.html
+http://polygraph.ircache.net:8181/http_-2www.microsoft.com/guestbook/http_-2www.nmpinc.com/cfiguest.htm
+http://www.our-home.org/giulianovallemani/success.htm
+http://retailer.gocollect.com/do/session/1912838/vsid/2312/tid/2312/cid/573127/mid/1020/rid/2147/chid/2210/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLlZe5ofpLqjXLpl4/url/http://www.gocollect.com/product_display/products/product_lines.asp
+http://binary.tucows.com/win2k/adnload/60913_29719.html
+http://www.allhealth.com/kickbutt/qa/0,4801,6565_168263-1,00.html
+http://library.cuhk.edu.hk/search*chi/tChinese+history+series.+[Motion+picture]/tchinese+history+series/-5,1,1,B/frameset&F=tchinese+history+index+to+learned+articles+1902+1962&1,1,
+http://cafe4.daum.net/Cafe-bin/Bbs.cgi/culturalistpds/lst/qqeq/1/zka/B2-kB27p
+http://lib1.nippon-foundation.or.jp/1997/0012/contents/086.htm
+http://members.tripod.com/~theernest/lit/long.html
+http://de.excite.de/auto/katalog/13030
+http://www.szinfo.com/book/ke/fam/nk1/wlsf/001.htm
+http://www.backflip.com/members/cquinn/466730/sort=1/
+http://130.158.208.53/WWW/PDB2/PCD4711/htmls/49.html
+http://astronomysite.com/mapug1/15/msg15752.htm
+http://astronomysite.com/mapug1/15/msg15922.htm
+http://astronomysite.com/mapug1/15/msg15970.htm
+http://astronomysite.com/mapug1/12/msg12909.htm
+http://astronomysite.com/mapug1/9/msg9909.htm
+http://astronomysite.com/mapug1/7/msg7248.htm
+http://astronomysite.com/mapug1/7/msg7288.htm
+http://astronomysite.com/mapug1/7/msg7300.htm
+http://astronomysite.com/mapug1/7/msg7277.htm
+http://astronomysite.com/mapug1/3/msg3386.htm
+http://astronomysite.com/mapug1/0/msg898.htm
+http://astronomysite.com/mapug1/2/msg2146.htm
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/ports/x11-fm/systemg/pkg/Attic/DESCR
+http://www.posterwelt.de/byers/bye2506.htm
+http://www.5a8.com/book/wg/zpj/f/fajieyefu/huimie/003.htm
+http://www.5a8.com/book/wg/zpj/f/fajieyefu/huimie/015.htm
+http://businessrecorder.com/story/S0015/S1510/top
+http://sunsite.org.uk/Mirrors/ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/nt351/hotfixes-postsp5/sec-fix/?S=A
+http://sunsite.org.uk/Mirrors/ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/nt351/hotfixes-postsp5/sec-fix/readme.txt
+http://www.angelfire.com/ky/dodone/HistJ.html
+http://www.cricinfo.com/link_to_database/ARCHIVE/1997-98/WI_IN_PAK/WI_IN_PAK_NOV-DEC1997_WI-SQUAD.html
+http://www.egroups.com/message/-Girlhelp-/3251
+http://www.egroups.com/message/-Girlhelp-/3268
+http://202.130.244.3/wuliwangye/help/help.htm
+http://ftp.gwdg.de/pub/EMIS/EMS/journals/SLC/divers/mirror.html
+http://ftp.gwdg.de/pub/EMIS/EMS/journals/SLC/divers/s20ghinelli.html
+http://ftp.gwdg.de/pub/EMIS/EMS/journals/SLC/divers/s25dress.html
+http://ftp.gwdg.de/pub/EMIS/EMS/journals/SLC/divers/s30wen.html
+http://ftp.gwdg.de/pub/EMIS/EMS/journals/SLC/divers/slc41email.html
+http://guardian.co.uk/Print/0,3858,3889048,00.html
+http://genforum.genealogy.com/mccallum/messages/187.html
+http://genforum.genealogy.com/mccallum/messages/192.html
+http://genforum.genealogy.com/mccallum/messages/133.html
+http://genforum.genealogy.com/mccallum/messages/95.html
+http://genforum.genealogy.com/mccallum/messages/82.html
+http://genforum.genealogy.com/mccallum/messages/30.html
+http://dekooi.tucows.com/win2k/adnload/37333_29427.html
+http://dekooi.tucows.com/win2k/adnload/37624_29418.html
+http://dekooi.tucows.com/win2k/preview/139483.html
+http://www.zurich-schweiz.ch/static/it/peraziende/grandiimprese/riskmanagement/procedere_con_metodo/gestione_del_rischio/
+http://cn.egroups.com/login.cgi?login_target=%2Fmessage%2Fcertdev%2F373
+http://www.angelfire.com/pa2/DreamAvs/
+http://www.madisonmag.com/sh/entertainment/stories/entertainment-20000713-013454.html
+http://variety.studiostore.com/browse/WHATSNEW/SHIRT/b.FAVORITES%20WHATSNEW/s.GqXR0UHu
+http://variety.studiostore.com/browse/WHATSNEW/MUG/b.FAVORITES%20WHATSNEW/s.GqXR0UHu
+http://www.ecs.soton.ac.uk/~ecc/teaching/java/ExampleCode/Chapter10/s03/
+http://ftp.nacamar.de/pub/NetBSD/packages/1.4/alpha/cross/?M=A
+http://www.he.ctc.org.cn/ctc2/news/internet/develop/news0413-7.htm
+http://www.he.ctc.org.cn/ctc2/news/internet/invest/news0523-4.htm
+http://www.he.ctc.org.cn/ctc2/news/internet/invest/news0514-1.htm
+http://www.he.ctc.org.cn/ctc2/news/internet/politics/news0518-1.htm
+http://www.linux.com/networking/network/applications/industry/trade_show/internet/
+http://www.linux.com/networking/network/applications/industry/trade_show/Motorola/
+http://www.linux.com/networking/network/applications/industry/trade_show/distro/
+http://iinet.tukids.tucows.com/mac/5-8/macmulti58_license.html
+http://www.leg.wa.gov/pub/rcw%20-%20text/title_48/chapter_098/rcw_48_98_005.txt
+http://universal.eud.com/1999/02/28/28304AA.shtml
+http://www.firstview.com/WRTWfall97/MAX_MARA/P033.html
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/SOSIAALI-+JA+TERVEYSALA/tietoverkot/suositukset/tietotekniikka/sanat/getdoc.akM?document_id=479
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/SOSIAALI-+JA+TERVEYSALA/tietoverkot/suositukset/tietotekniikka/sanat/www/
+http://ns.studenti.to.it/~s86852/applets/tetris.htm
+http://www.egroups.com/message/grebel-list/1014
+http://emedici.net/www.homesbyavi.com/canadian_site/communities/evergreen/evergreen.html
+http://ring.toyama-ix.net/pub/net/wu-ftpd/wu-ftpd/binaries/?N=D
+http://ring.nii.ac.jp/archives/text/CTAN/support/vmspell/?N=D
+http://ftpsearch.belnet.be/packages/CPAN/modules/by-authors/John_Macdonald/CHECKSUMS
+http://students.depaul.edu/~eephrem/piazza123
+http://students.depaul.edu/~eephrem/maqdoomi.html
+http://ftp.unina.it/pub/Unix/KDE/stable/2.0/distribution/deb/?D=A
+http://www.dulux.co.uk/UKRETAIL:1433075516:DFinity.1QJiP4jMofi7bof
+http://yp.gates96.com/14/20/10/26.html
+http://yp.gates96.com/14/20/10/34.html
+http://yp.gates96.com/14/20/10/63.html
+http://yp.gates96.com/14/20/11/36.html
+http://yp.gates96.com/14/20/11/73.html
+http://yp.gates96.com/14/20/12/93.html
+http://yp.gates96.com/14/20/13/42.html
+http://yp.gates96.com/14/20/13/44.html
+http://yp.gates96.com/14/20/14/9.html
+http://yp.gates96.com/14/20/15/62.html
+http://yp.gates96.com/14/20/15/77.html
+http://yp.gates96.com/14/20/16/52.html
+http://yp.gates96.com/14/20/16/70.html
+http://yp.gates96.com/14/20/16/83.html
+http://yp.gates96.com/14/20/17/91.html
+http://yp.gates96.com/14/20/17/98.html
+http://yp.gates96.com/14/20/18/8.html
+http://yp.gates96.com/14/20/18/73.html
+http://yp.gates96.com/14/20/19/38.html
+http://yp.gates96.com/14/20/19/42.html
+http://yp.gates96.com/14/20/19/56.html
+http://www.wco.com/~havok/wellington.html
+http://opac.lib.ntnu.edu.tw/search*chi/++ftlist/bbm0019678/7,-1,0,E/frameset&F=bbm0019685&1,1
+http://cdrom.zeelandnet.nl/elfsound/archief.htm
+http://businessrecorder.com/story/S0055/S5527/top
+http://www.private-immobilien-boerse.de/DominikanischeRep/verkauf/Versteigerungen-IB/Startseite/Gemeinsam/GmbH-Kauf-Verkauf-Insolvenz-konkurs/Startseite/IIM-Teil/Startseite/froben.htm
+http://ring.nii.ac.jp/archives/lang/perl/CPAN/doc/manual/html/pod/perlfunc/utime.html
+http://yp.gates96.com/14/21/10/71.html
+http://yp.gates96.com/14/21/11/15.html
+http://yp.gates96.com/14/21/12/55.html
+http://yp.gates96.com/14/21/12/58.html
+http://yp.gates96.com/14/21/13/94.html
+http://yp.gates96.com/14/21/14/7.html
+http://yp.gates96.com/14/21/14/12.html
+http://yp.gates96.com/14/21/14/32.html
+http://yp.gates96.com/14/21/14/96.html
+http://yp.gates96.com/14/21/15/3.html
+http://yp.gates96.com/14/21/15/51.html
+http://yp.gates96.com/14/21/16/32.html
+http://yp.gates96.com/14/21/16/87.html
+http://yp.gates96.com/14/21/17/19.html
+http://yp.gates96.com/14/21/17/31.html
+http://yp.gates96.com/14/21/18/15.html
+http://yp.gates96.com/14/21/18/68.html
+http://yp.gates96.com/14/21/19/56.html
+http://cafe2.daum.net/Cafe-bin/Bbs.cgi/kjbugopds/lst/qqa/f/zka/B2-kB2Rt
+http://legalminds.lp.findlaw.com/list/courtinterp-spanish/frm04580.html
+http://legalminds.lp.findlaw.com/list/courtinterp-spanish/frm04611.html
+http://genforum.genealogy.com/cgi-genforum/forums/sweden.cgi?5207
+http://variety.studiostore.com/main/b.FAVORITES%20NOSTALGI%20CLASTV%20ILOVELUCY/s.VfgR3aEr
+http://variety.studiostore.com/help/b.FAVORITES%20NOSTALGI%20CLASTV%20ILOVELUCY/s.VfgR3aEr
+http://bsd.sinica.edu.tw/cgi-bin/cvsweb.cgi/ports/x11-clocks/xalarm/patches/Attic/patch-aa?only_with_tag=RELEASE_2_2_8
+http://gd.cnread.net/cnread1/ztxs/h/henggouzhengshi/eld/013.htm
+http://gd.cnread.net/cnread1/ztxs/h/henggouzhengshi/eld/022.htm
+http://gd.cnread.net/cnread1/ztxs/h/henggouzhengshi/eld/024.htm
+http://ftp.unina.it/pub/Amiga/NetBSD/NetBSD-current/xsrc/xc/lib/xkbfile/?N=D
+http://202.99.23.245/zdxw/17/20000217/200002171734.html
+http://sunsite.org.uk/packages/netbsd/NetBSD-current/pkgsrc/net/batchftp/files/
+http://www.highwired.net/Activity/PrintArticle/0,1640,1326-186648,00.html
+http://phpbuilder.net/forum/archives/1/2000/10/1/104426?&print_mode=1
+http://www.cognos.co.uk/de/vertriebspartner/vertriebspartner_plz.html
+http://citeseer.nj.nec.com/cidcontext/3974259
+http://fi.egroups.com/message/free-classifieds/4556?source=1
+http://genforum.genealogy.com/cgi-genforum/forums/epler.cgi?2
+http://no.egroups.com/post/relations_iVillage?act=reply&messageNum=5
+http://198.103.152.100/search*frc/lHD69+P75H84/lhd+++69+p75+h84/-5,-1,0,E/frameset&F=lhd+++69+p75+k47+1984&1,1
+http://www.4positiveimages.com/4positiveimages/921456486/UserTemplate/2
+http://haha.3322.net/donghua/agui/adi/6.htm
+http://mediate.magicbutton.net/do/session/625591/vsid/4573/tid/4573/cid/88043/mid/2247/rid/2383/chid/3527/url/http://www.winesmart.com/CaseDetails.asp?idCase=66
+http://www.lettera.de/tp/deutsch/inhalt/lis/8676/1.html
+http://www.citybrazil.com.br/sc/regioes/joinville/expressoes.htm
+http://webcvs.kde.org/cgi-bin/cvsweb.cgi/www/food/worse_is_better.html?sortby=date
+http://yp.gates96.com/7/45/60/13.html
+http://yp.gates96.com/7/45/61/3.html
+http://yp.gates96.com/7/45/61/60.html
+http://yp.gates96.com/7/45/62/37.html
+http://yp.gates96.com/7/45/62/48.html
+http://yp.gates96.com/7/45/62/70.html
+http://yp.gates96.com/7/45/64/9.html
+http://yp.gates96.com/7/45/64/33.html
+http://yp.gates96.com/7/45/64/43.html
+http://yp.gates96.com/7/45/64/55.html
+http://yp.gates96.com/7/45/65/14.html
+http://yp.gates96.com/7/45/65/48.html
+http://yp.gates96.com/7/45/65/57.html
+http://yp.gates96.com/7/45/66/27.html
+http://yp.gates96.com/7/45/67/51.html
+http://yp.gates96.com/7/45/68/12.html
+http://yp.gates96.com/7/45/68/78.html
+http://yp.gates96.com/7/45/69/25.html
+http://www.msb.malmo.se/search*swe/aHarley,+Robert/aharley+robert/-5,-1,0,B/browse
+http://www.superdownloads.com.br/linkinvalido.cfm?ID=748
+http://linuz.sns.it/doc/howto/en/html/AI-Alife-HOWTO-6.html
+http://www.linux.com/networking/network/market/tools/applications/
+http://www.linux.com/networking/network/market/tools/frame_relay/
+http://www.linux.com/networking/network/market/tools/e-commerce/
+http://opac.lib.ntnu.edu.tw/search*chi/aUnited+Nations.+Dept.+of+Economic+and+Social+Affairs/aunited+nations+dept+of+economic+and+social+affairs/7,-1,0,B/frameset&F=aunited+nations+economic+and+social+commission+for+asia+and+the+pacific&6,,7
+http://www.affiliate.hpstore.hp.co.uk/do/session/380863/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/assistance/entry.asp
+http://www.affiliate.hpstore.hp.co.uk/do/session/380863/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/entry.asp
+http://www.shmoo.com/mail/ids/oct99/msg00288.html
+http://bsd.sinica.edu.tw/ftp_pub/NetBSD/packages/1.3/hp300/?M=A
+http://bsd.sinica.edu.tw/ftp_pub/NetBSD/packages/1.3/hp300/archivers/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380868/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/REGISTRATION/entry.asp
+http://www.insideneworleans.com/shared/health/adam/ency/imagepage/1562.000872.html
+http://ring.omp.ad.jp/archives/NetBSD/packages/pkgsrc/devel/xxgdb/patches/patch-ac
+http://genforum.genealogy.com/casey/messages/327.html
+http://genforum.genealogy.com/casey/messages/164.html
+http://genforum.genealogy.com/casey/messages/337.html
+http://genforum.genealogy.com/casey/messages/73.html
+http://genforum.genealogy.com/casey/messages/57.html
+http://genforum.genealogy.com/casey/messages/50.html
+http://genforum.genealogy.com/casey/messages/23.html
+http://genforum.genealogy.com/casey/messages/116.html
+http://www.msb.malmo.se/search*swe/aNorman,+Karin,+1947-/anorman+karin+1947/-5,-1,0,B/frameset&F=anorman+leslie&1,1
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/folderFrame/100001/0/rnumber/9096335
+http://www.mindspring.com/~arachnid/?S=D
+http://www6.freeweb.ne.jp/business/n-bns/hre/
+http://news.swww.com.cn/wccdaily/review/200005/29/html/0908.htm
+http://tucows.hom.net/croomnt_rating.html
+http://www.trax.nilex.co.uk/trax.cgi/A1C/A2S/1AS/A4L/A4D/B1R/
+http://www.trax.nilex.co.uk/trax.cgi/A1C/A2S/1AS/A4L/A4D/A5L/
+http://www.5a8.com/book/kh/zg/zpj/h/heju/001.htm
+http://www.5a8.com/book/kh/zg/zpj/h/heju/002.htm
+http://www.luckyman.de/computer/hpaccess/java_cgi/java_applet/linien/applet_linien_nav1.htm
+http://www.secure-me.net/information/kb/POP
+http://in.egroups.com/message/BodybuildingContests/2804
+http://in.egroups.com/message/BodybuildingContests/2820
+http://in.egroups.com/message/BodybuildingContests/2822
+http://theconnection.vnunet.com/Analysis/Stfriend/70206
+http://www.yorosiku.net:8080/-_-http://www.nrcse.washington.edu/newsletter/newsletter.pdf
+http://www.britishairways.nl/regional/barbados/docs/spec_world_offer.shtml
+http://www.xmwb.sh.cn/xmwb/19981117/BIG5/13421^4111719.htm
+http://www.z-plus.de/TEXTE/HOMEPAGE/HILFE/HILFE_SURFTIPS201099/text5.html
+http://uzgamez.subportal.com/games/previews/0900/westwood/russian_general.html
+http://bsd.sinica.edu.tw/ftp_pub/NetBSD/packages/1.3/sun3/?D=A
+http://my.egroups.com/messages/dcfwriters/132?expand=1
+http://my.egroups.com/message/dcfwriters/147
+http://my.egroups.com/message/dcfwriters/149
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/projects/failsafe/FailSafe/failsafe/scripts/?only_with_tag=MAIN
+http://sound-dist.secured.co.uk/cgi-bin/psShop.cgi/add|8P007|972959615|Warm===and===Dry|user|0|1,0,0,1
+http://www.alsapresse.com/jdj/00/01/13/MA/photo_6.html
+http://www.highwired.net/ESchoolDrive/Frameset/0,5592,13577-52,00.html
+http://uk.sports.yahoo.com/000922/59/ak705.html
+http://universal.eud.com/1999/02/26/26204DD.shtml
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/ports/audio/gkrellmvolume/pkg-descr?only_with_tag=MAIN
+http://www3.skolverket.se/kursinfo/99_00/skolform/21/alt_nav/S_52S_10S_36VAV_SVSTEK_1715.HTML
+http://www3.skolverket.se/kursinfo/99_00/skolform/21/alt_nav/S_52S_10S_36VAV_SVSTEK_1719.HTML
+http://www.wsrn.com/apps/research/history.xpl?s=CMDCD&f=HISTORY
+http://www.wsrn.com/apps/charts/?s=CMDCD&data=Z10
+http://pub3.ezboard.com/utherealcharron.showPublicProfile?language=EN
+http://ring.shibaura-it.ac.jp/archives/graphics/gimp/gtk/binary/DEBIAN/stable/?S=A
+http://209.52.189.2/discussion.cfm/autism/29762/198522
+http://www.affiliate.hpstore.hp.co.uk/do/session/380851/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/assistance/entry.asp
+http://www01.sankei.co.jp/advertising/furusato/tokuhain/9810/1018sindou.html
+http://kulichki-mac.rambler.ru/abiturient/ak.htm
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+9,1-20,0+9,0
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+9,1-20,0+18,0
+http://ballesta.inrialpes.fr/Infos/Personnes/Christophe.Rippert/ressources/tutorial/security1.2/summary/glossary.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380872/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.france.hp.com/main/respect/
+http://www11.cplaza.ne.jp/babyweb/bbs/bdnmp01/no24/99N.html
+http://www.homeway.com.cn/lbi-html/news/zhxw/gatxw/20000922/165807.shtml
+http://gd.cnread.net/cnread1/yqxs/d/dingqianrou/ssqj/009.htm
+http://library.bangor.ac.uk/search/tBiol.+philos/tbiol+philos/-17,-1,0,B/frameset&F=tbioindicators+and+environmental+management&1,1
+http://dante.bdp.it/cgi-bin/poseidon_v2.0/reflect/poseidon/disc/peacelink-scuola/70630505/view/1
+http://www.indian-express.com/ie/daily/19980626/17750374.html
+http://www.indian-express.com/ie/daily/19980626/17751044.html
+http://www.indian-express.com/ie/daily/19980626/17751334.html
+http://www.indian-express.com/ie/daily/19980626/17751494.html
+http://polygraph.ircache.net:8181/services/define/http_-2www.disney.com/links.html
+http://pub10.ezboard.com/fsavings4yousavings4you.subscribeUnregisteredToTopic?topicID=56.topic
+http://www8.freeweb.ne.jp/shopping/arthome/arthome/menu.html
+http://rainforest.parentsplace.com/dialog/get/medinfo/4/1.html?outline=3
+http://www.emerchandise.com/aboutus/b.TV%20SATNIGHTLIVE/s.afJ7iGE2
+http://ring.omp.ad.jp/archives/NetBSD/packages/pkgsrc/net/arpwatch/pkg/?S=A
+http://ring.omp.ad.jp/archives/NetBSD/packages/pkgsrc/net/arpwatch/pkg/DESCR
+http://210.178.135.1/netbbs/Bbs.cgi/nhic30872/qry/zka/B2-kBI-o/pno/0/qqo/004A/qqatt/^
+http://yp.gates96.com/8/48/0/54.html
+http://yp.gates96.com/8/48/1/98.html
+http://yp.gates96.com/8/48/2/23.html
+http://yp.gates96.com/8/48/3/13.html
+http://yp.gates96.com/8/48/3/14.html
+http://yp.gates96.com/8/48/3/23.html
+http://yp.gates96.com/8/48/3/84.html
+http://yp.gates96.com/8/48/4/5.html
+http://yp.gates96.com/8/48/4/72.html
+http://yp.gates96.com/8/48/5/4.html
+http://yp.gates96.com/8/48/5/49.html
+http://yp.gates96.com/8/48/6/38.html
+http://yp.gates96.com/8/48/6/89.html
+http://yp.gates96.com/8/48/8/10.html
+http://yp.gates96.com/8/48/8/41.html
+http://yp.gates96.com/8/48/8/87.html
+http://news.medscape.com/adis/CDI/2000/v19.n02/cdi1902.02.biel/cdi1902.02.biel-01.html
+http://www.parsonstech.com/genealogy/trees/PKINGMAN/d2438.htm
+http://www.parsonstech.com/genealogy/trees/PKINGMAN/d2502.htm
+http://www.chaos.dk/sexriddle/j/c/b/o/
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/FahI8ikSPIvk79ErK106-87Jy3U1_XgCksR4DWkUOldKaD_pciJBXOOmI2Sr4jXlDCT9Mkz59aBZhyyi3xxBeYROt0IpVObKZD4YcwBAhl9afrfb6y3nWI3SwdRE_Vp3d80RzmrDkPVZYQkJyvOgorzS
+http://opac.lib.rpi.edu/search/dchemicals+dictionaries/-5,-1,0,E/frameset&dchemicals+catalogs&3,,0
+http://opac.lib.rpi.edu/search/dchemicals+dictionaries/-5,-1,0,E/frameset&dchemicals+catalogs+periodicals&1,1
+http://opac.lib.rpi.edu/search/dchemicals+dictionaries/-5,-1,0,E/frameset&dchemicals+dictionaries&3,,0
+http://opac.lib.rpi.edu/search/dchemicals+dictionaries/-5,-1,0,E/frameset&dchemicals+economic+aspects+united+states&1,,0
+http://www.jsonline.com/news/state/oct00/lambeau31103000a.asp
+http://polygraph.ircache.net:8181/used/http_-2www.scubaring.com/http_-2www.alpinehotel.com/chinese/chine.htm
+http://www.kaos.dk/sex-riddle/k/a/k/i/p/g/g/e/
+http://haikou.hainan.gov.cn/ghgl/ghsc/hkfg3020.html
+http://variety.studiostore.com/main/VARIETY/s.Fz90iGDh
+http://library.cuhk.edu.hk/search*chi/cPN595.C6I18+1993/cpn++595+c6+i18+1993/-5,1,1,E/frameset&F=cpn++595+c6+k6+1997&1,1,
+http://library.cuhk.edu.hk/search*chi/cPN595.C6I18+1993/cpn++595+c6+i18+1993/-5,1,1,E/frameset&F=cpn++595+c6+l515&1,1,
+http://link.fastpartner.com/do/session/600425/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/learn.htm
+http://www.nanyang.com.my/20001020/articles/15-10-2000k16.htm
+http://202.99.23.245/rmrb/199912/11/newfiles/col_19991211001063_zhxw.html
+http://help.sap.com/saphelp_45b/helpdata/en/a7/2872510a6c11d28a220000e829fbbd/frameset.htm
+http://www.s10.sexshare.com/~pornking/hardcore/43.html
+http://www.gbnf.com/genealogy/Lawler99/html/d0102/I1772.HTM
+http://ring.edogawa-u.ac.jp/pub/linux/RedHat/aic/OLD/aic7xxx-5.0.x/boot_disks/5.0.11/SuSE/?D=A
+http://www.t-online.de/sport/inhalte/adispi51.htm
+http://ftp.lip6.fr/pub11/FreeBSD/development/FreeBSD-CVS/src/kerberos5/usr.sbin/k5stash/
+http://education.legend-net.com/xinwen/gaokao/zl5/zhsh/3/zhshyk.html
+http://www.contractorresource.com/Wyoming/Cody/
+http://213.36.119.69/do/session/152998/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/boutique/
+http://213.36.119.69/do/session/153000/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/reserver/hotels.html
+http://213.36.119.69/do/session/153000/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www3.travelprice.com/voyages/recherche.phtml
+http://ftp.unina.it/pub/TeX/macros/latex/contrib/supported/combine/?D=A
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=237&discrim=178,2,11
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=237&discrim=178,2,233
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=237&discrim=178,2,5
+http://www12.freeweb.ne.jp/novel/urufu24/linkz/ug1.html
+http://www12.freeweb.ne.jp/novel/urufu24/linkz/pv.html
+http://computers.kharkov.ua/win/43/
+http://www.1001e.net/nk4/022.htm
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=4&discrim=93,164,176
+http://dic.empas.com/show.tsp/?q=revisable&f=B
+http://yp.gates96.com/0/28/30/45.html
+http://yp.gates96.com/0/28/30/46.html
+http://yp.gates96.com/0/28/31/24.html
+http://yp.gates96.com/0/28/32/64.html
+http://yp.gates96.com/0/28/33/28.html
+http://yp.gates96.com/0/28/33/85.html
+http://yp.gates96.com/0/28/33/87.html
+http://yp.gates96.com/0/28/33/96.html
+http://yp.gates96.com/0/28/34/52.html
+http://yp.gates96.com/0/28/35/7.html
+http://yp.gates96.com/0/28/36/23.html
+http://yp.gates96.com/0/28/36/52.html
+http://yp.gates96.com/0/28/37/50.html
+http://yp.gates96.com/0/28/38/85.html
+http://yp.gates96.com/0/28/39/16.html
+http://www.fan590.com/JamMoviesReviewsE/earth_king.html
+http://www.sportbuecher.de/shop/3-88034-750-6.html
+http://www.msb.malmo.se/search*swe/aWhitaker,+Galvin,+Utgivare/awhitaker+galvin/-5,-1,0,B/exact&F=awhitburn+joel&1,2
+http://ftp.sunet.se/pub/security/vendor/microsoft/winnt/frn/nt40/?M=A
+http://www.intervoz.com.ar/2000/03/02/op_n04.htm
+http://www.ntut.edu.tw/~s7370840/8-19.htm
+http://www.back2roots.org/Music/Files/Wondergirl%20-%20You%26Me/
+http://www.private-immobilien-boerse.de/nordrhein-Westfalen/Muehlheim-ruhr/Verkauf/3d-service/IIM-Teil/Startseite/Gemeinsam/Inserieren/IIM-Teil/Startseite/frinfo.htm
+http://web.singnet.com.sg/~spirit5/letters/oct2000/frankm1025-3.htm
+http://web.singnet.com.sg/~spirit5/letters/oct2000/davidp1025.htm
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=decuplicavamo&l=it
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=decuplichiate&l=it
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=decuplichereste&l=it
+http://members.tripod.com/~OZEMU/cgi-bin/
+http://ring.tains.tohoku.ac.jp/archives/pack/dos/hardware/midi/?D=A
+http://kutschen.de/Schoner/info-e/info-e/collections/literature/
+http://www.jamba.de/KNet/_KNet-MJJ8j1-DGd-13dgc/showInfo-special1.de/node.0/cde7f1uou
+http://www.jamba.de/KNet/_KNet-MJJ8j1-DGd-13dgy/browse.de/node.0/cenv0b09a
+http://in.egroups.com/message/sfconsim-l/6415
+http://genforum.genealogy.com/cgi-genforum/forums/vt.cgi?4123
+http://www.linux.com/networking/network/sap/article/price/VA_Linux_Systems/
+http://www.linux.com/networking/network/sap/article/price/regulation/
+http://slacvx.slac.stanford.edu/sldmcwww/mc/MC74BB_98R16B_WIN_ALL.HTML
+http://www.xmission.com/~dkenison/cgi/lwgate.cgi/KLR650/archives/v02.n1611/date/article-15.html
+http://www.iwon.com/home/movies/movies_filmography_page/0,13178,Macon+McCalman,00.html
+http://excite.de/spiele/katalog/26997
+http://www.trax.nilex.co.uk/trax.cgi/A1C/B1S/B2R/A2U/B3S/B1R/
+http://www.power2lead.com/Global/English.nsf/pgWWLocations!OpenPage&ExpandSection=2,6,27,9,26
+http://itcareers.careercast.com/texis/it/itjs/+owwBm1eP0-dzwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewDPwdGpdGwBodDa5dhBiwGna5O5BnManDtoDnnGa5nDodGa5BwhhaidGAanLpnGonDqnaqdMp1BnGamnVncdpaMFqhTfR20Dzme8twwwpBmer+D86e9qwww5rmeZpwwwBrmeZpwww/morelike.html
+http://pub4.ezboard.com/fnationoferidinegeneral.showAddReplyScreenFromWeb?topicID=615.topic&index=2
+http://www.chaos.dk/sexriddle/m/i/s/x/
+http://kiasuplanet.subportal.com/sn/Games/Tetris_Clone_Games/5532.html
+http://kiasuplanet.subportal.com/sn/Games/Tetris_Clone_Games/11418.html
+http://kiasuplanet.subportal.com/sn/Games/Tetris_Clone_Games/676.html
+http://www.rge.com/pub/networking/ldap/umich/max500/beta/?M=A
+http://my.egroups.com/dir/Health/Fitness/Exercise_Equipment
+http://my.egroups.com/messages/prevention
+http://pub4.ezboard.com/factiveprodiscussioncommunityactivitiesquestions.showMessage?topicID=12.topic
+http://www.look4cranes.com/catalog/AUCTIONRESULT/AGGREGATE+-+CONVEYOR+%2F+FEEDER+%2F+STACKER/POWERSCREEN/
+http://www.fogdog.com/cedroID/ssd3040183344300/cgi-bin/MyFogdog
+http://www.fogdog.com/cedroID/ssd3040183344300/nav/products/featured_brands/3b/gloves_mittens/
+http://www.houses-apartment-listings.com/Washington/city_search_criteria.asp?state=WA&City=CONCONULLY
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/c23417.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x12810.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x14250.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x14507.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x15988.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x17214.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x18550.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x19113.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x1949.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x21473.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x31101.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x3585.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x44035.html
+http://www.brunel.ac.uk/~ccusjpe/linux/howto/Consultants-HOWTO/x4711.html
+http://www.online.kokusai.co.jp/Home/V0043638/wrd/G100/
+http://ftp.lip6.fr/pub5/FreeBSD/branches/-current/ports/print/ghostscript5/
+http://ftp.lip6.fr/pub5/FreeBSD/branches/-current/ports/print/texinfo/
+http://ftpsearch.belnet.be/mirrors/ftp.isc.org/pub/usenet/control/ats/?N=D
+http://garbo.uwasa.fi/pub/linux/distributions/SuSE/7.0/dosutils/exceed/USER/HOSTEX/SCHEME/?D=A
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/showNextUnseen/fol/100001/922702
+http://link.fastpartner.com/do/session/600391/vsid/1314/tid/1314/cid/134340/mid/1060/rid/1180/chid/1314/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/local/redirect.php
+http://www.jamba.de/KNet/_KNet-wEF8j1-bGd-13cma/showInfo-datenschutz.de/node.0/cenvptf1i
+http://www.jamba.de/KNet/_KNet-wEF8j1-bGd-13cmd/browse.de/node.0/cenv0b09a
+http://www-usa6.cricket.org/link_to_database/PLAYERS/RSA/T/THOMPSON_DS_03003252/
+http://sunsite.org.uk/public/public/packages/WWW/emacs-w3/?S=A
+http://www.excelsior.com.mx/9811/981129/buh25.html
+http://www.anixter.nl/SBJEVE/170699-2155-01.html
+http://innopac.lib.tsinghua.edu.cn:2082/search*chi/aBrooks,+Jane+B./abrooks+jane+b/-5,-1,0,B/browse
+http://tour.stanford.edu/cgi/options.prl/95.70/gMcto
+http://www.cksd.edgate.com/emeraldheightses/elections/students/the_parties/
+http://novel.hichinese.net/comment/comment.php?page=2091&action=write
+http://205.161.150.96/cgi-bin/c2k/additem.html&item=204578
+http://www.nhic.or.kr/netbbs/Bbs.cgi/nhic31282/qry/zka/B2-kB2-m/pno/0/qqo/004A/qqatt/^
+http://scripts.infoart.ru/magazine/znamia/n4-20/shpakov.htm
+http://excite.de/bildung/katalog/19909
+http://911codes.com/games/platform/n64/sect/div/cont/list_cheat/spray/y/id/0000009557/gid/0000003573/_cheats/_walkthroughs/_codes/_pc/_n64/_psx/_gameboy/_playstation/
+http://ftp.jp.debian.org/debian/dists/stable/main/source/web/?M=A
+http://www.fogdog.com/cedroID/ssd3040183335913/nav/products/featured_brands/3c/all/
+http://his.luky.org/ML/linux-users.3/msg08073.html
+http://yomiuri-1422.excite.co.jp/entertainment/animated_cartoon_comic/each_work_title/ha_line/ha
+http://yomiuri-1422.excite.co.jp/entertainment/animated_cartoon_comic/each_work_title/ha_line/hu_he/berserk
+http://library.cwu.edu/search/dWorld+War,+1914-1918+--+Diplomatic+history/dworld+war+1914+1918+diplomatic+history/-5,-1,0,B/exact&F=dworld+war+1914+1918+diplomatic+history&1,49
+http://www.utdallas.edu/dept/sci_ed/Caribbean/images/Jennifer%20Jordan/Antigua%20Mangrove/?N=D
+http://www.baustoffhandel.de/service/faqs/faq-tapezieren.htm
+http://muc-zvs-web1.goethe.de/ms/bud/film/un_f2.htm
+http://www.online.kokusai.co.jp/Map/V0043636/wrd/G1000/map/sitemap.html
+http://win.www.citycat.ru/funny/fido/2000_05/25.html
+http://nathanael.upi.jussieu.fr/tele6.nsf/autres+centres+de+formations!OpenPage&ExpandSection=9,1,7,13,15,6
+http://yp.gates96.com/11/79/50/1.html
+http://yp.gates96.com/11/79/50/92.html
+http://yp.gates96.com/11/79/52/64.html
+http://yp.gates96.com/11/79/54/79.html
+http://yp.gates96.com/11/79/54/81.html
+http://yp.gates96.com/11/79/56/28.html
+http://yp.gates96.com/11/79/56/30.html
+http://yp.gates96.com/11/79/56/46.html
+http://yp.gates96.com/11/79/56/83.html
+http://yp.gates96.com/11/79/57/10.html
+http://yp.gates96.com/11/79/57/33.html
+http://yp.gates96.com/11/79/58/1.html
+http://yp.gates96.com/11/79/58/48.html
+http://yp.gates96.com/11/79/58/82.html
+http://yp.gates96.com/11/79/59/62.html
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/ELINKEINO-+JA+YRITYSTOIMINTA/Matkailu+-+maantiede/matkailu/linja-autoliikenne/joukkoliikenne/aikataulut/
+http://cn.egroups.com/message/romtrade/3823
+http://www.idgnet.com/idgns/1999/07/16/SmallFrenchBusinessesMoveSlowlyTo.shtml
+http://www-d0.fnal.gov/d0dist/dist/releases/psim01.01.00/Exceptions/?M=A
+http://www.4positiveimages.com/4positiveimages/781560892/Catalog
+http://dellnet.excite.fr/yellow_pages/annuaire/823
+http://ftp.chg.ru/pub/math/grace/MIRRORS
+http://ftp.chg.ru/pub/math/grace/aux/
+http://legalminds.lp.findlaw.com/list/lawlibref-l/mail8.html
+http://carriage.de/Schoner/modelle/models/Info-d/Sammlungen/
+http://chunma.yeungnam.ac.kr/~j4390214/경기상승.htm
+http://members.tripod.co.jp/stpp/?M=A
+http://map.ipc.co.jp/asp/onmap/connect/f-525598/g-28/
+http://www.fortunecity.com/business/lerner/101/form.html
+http://www.sportskorea.net/BBS/Bbs/db/L019/act/new/bnum/000060/zka/6/o/6/drc/f
+http://ftp.jp.debian.org/debian/dists/Debian2.2r0/main/binary-all/hamradio/?M=A
+http://admin.afiliando.com/do/session/189476/vsid/1507/tid/1507/cid/23455/mid/1025/rid/1168/chid/1205/parser/yes/imref/eqqLmwlGltt5tkpHrYjLXofLklkKZljLkju5lZa5l0/url/http://www.submarino.com.mx/toy/home.asp
+http://www.gasex.com/gay.male.erotica/penis.gay.twink.men.html
+http://ftpsearch.belnet.be/mirrors/ftp.isc.org/pub/usenet/control/ak/?S=A
+http://gb.toget.com.tw/intro/desktop_wallpaper/desktop_wallpaper_idol/20000417_7747_dl.html
+http://yp.gates96.com/13/50/50/27.html
+http://yp.gates96.com/13/50/52/20.html
+http://yp.gates96.com/13/50/52/31.html
+http://yp.gates96.com/13/50/52/44.html
+http://yp.gates96.com/13/50/53/33.html
+http://yp.gates96.com/13/50/53/45.html
+http://yp.gates96.com/13/50/53/72.html
+http://yp.gates96.com/13/50/54/34.html
+http://yp.gates96.com/13/50/54/62.html
+http://yp.gates96.com/13/50/54/83.html
+http://yp.gates96.com/13/50/54/84.html
+http://yp.gates96.com/13/50/55/5.html
+http://yp.gates96.com/13/50/55/61.html
+http://yp.gates96.com/13/50/55/75.html
+http://yp.gates96.com/13/50/56/0.html
+http://yp.gates96.com/13/50/56/15.html
+http://yp.gates96.com/13/50/56/21.html
+http://yp.gates96.com/13/50/56/29.html
+http://yp.gates96.com/13/50/57/2.html
+http://yp.gates96.com/13/50/57/54.html
+http://yp.gates96.com/13/50/58/9.html
+http://yp.gates96.com/13/50/58/34.html
+http://yp.gates96.com/13/50/59/64.html
+http://yp.gates96.com/13/50/59/70.html
+http://yp.gates96.com/13/50/59/75.html
+http://yp.gates96.com/13/50/59/85.html
+http://www.ilmessaggero.it/hermes/19990419/07_MARCHE/40/AGRI.htm
+http://www.ilmessaggero.it/hermes/19990419/07_MARCHE/40/NERA.htm
+http://amigos.com/cgi-bin/w3com/pws/ffe/IURImAxosglBgN4t3Iz538S9DOsFp6mHl6tpYJehgGibFrnWNcTM3WIsDckFomPqZ-JB8f_Qj8Aua4sE4AFvcFyidtj2iI6k1zPchuFbLwWMCo3hr8eXPNuxbHPQdRvo8J246667
+http://amigos.com/cgi-bin/w3com/pws/ffe/F3hIBiydr9mPRNSqk-dll3MTqIZCaRN3wRH0-H7o4qF0vlfPBXUV-Vhn028iva56e-GCSyYZKBQxuCJO8Y2JF25fVTkPHzFtrNMoOVhEp2n7Y11PhN9pvFNyqgssdZW8Eay0XJsP0vuD4oCbmJVx
+http://home.digitalcity.com/boston/sportsguy/main.dci?page=curse2
+http://ftpsearch.belnet.be/mirror/ftp.funet.fi/pub/Linux/doc/logos/.cap/?S=A
+http://ftpsearch.belnet.be/mirror/ftp.funet.fi/pub/Linux/doc/logos/.cap/?D=A
+http://my.netian.com/~52tour/kyung1.html
+http://aol.weather.com/weather/radar/single_site/us_ny_allegany.html
+http://www-usa16.cricket.org/link_to_database/GROUNDS/RSA/CENTURION/
+http://polygraph.ircache.net:8181/prodev/career/http_-2www.getstats.com/http_-2www.shindex.com/in_dex/in_dex.html
+http://polygraph.ircache.net:8181/prodev/career/http_-2www.getstats.com/http_-2www.microsoft.com/msoffice
+http://www.5a8.com/book/wg/cp/p/puge/zhizhunv/005.htm
+http://tukids.raha.com/crafts/preview/52044.html
+http://tukids.raha.com/crafts/preview/52401.html
+http://buc.co.kr/www.ecs.com.tw/
+http://wap.jamba.de/KNet/_KNet-EDS8j1-KHd-13gbq/showInfo-werbung.de/node.0/cde7f1uou
+http://www.launch.com/music/songpage/1,4425,322514,00.html
+http://www.emerchandise.com/browse/BUFFYTHEVAMP/CAP/b.TV%20BUFFYTHEVAMP/s.NGdTZGLC
+http://www.emerchandise.com/browse/BUFFYTHEVAMP/STICKER/b.TV%20BUFFYTHEVAMP/s.NGdTZGLC
+http://www.emerchandise.com/help_security/b.TV%20BUFFYTHEVAMP/s.NGdTZGLC
+http://yp.gates96.com/14/70/50/9.html
+http://yp.gates96.com/14/70/50/23.html
+http://yp.gates96.com/14/70/50/24.html
+http://yp.gates96.com/14/70/50/40.html
+http://yp.gates96.com/14/70/50/47.html
+http://yp.gates96.com/14/70/50/79.html
+http://yp.gates96.com/14/70/50/89.html
+http://yp.gates96.com/14/70/51/83.html
+http://yp.gates96.com/14/70/52/98.html
+http://yp.gates96.com/14/70/53/46.html
+http://yp.gates96.com/14/70/54/4.html
+http://yp.gates96.com/14/70/54/24.html
+http://yp.gates96.com/14/70/54/97.html
+http://yp.gates96.com/14/70/55/51.html
+http://yp.gates96.com/14/70/57/51.html
+http://yp.gates96.com/14/70/58/3.html
+http://yp.gates96.com/14/70/58/84.html
+http://yp.gates96.com/14/70/59/0.html
+http://opac.lib.ntnu.edu.tw/search*chi/++ftlist/bp20046027/-5,-1,0,B/frameset&F=bp20046031&1,1
+http://www.free-phone.com/q/001p/ppc2/KtIYye9a8Pw.htm
+http://www.1stemlm.com/q/001p/ppc2/7kwUxQYfGMk.htm
+http://sports.excite.com/ten/grand_german
+http://www.omniseek.com/dir/Arts+%26+Humanities/Fine+Arts/Ceramics/Organizations/Australia/
+http://ftp1.service.digital.com/patches/public/vms/axp/v7.1-2/dec-axpvms-vms712_usb-v0100--4.pcsi-dcx_axpexe
+http://ftp1.service.digital.com/patches/public/vms/axp/v7.1-2/vms712_acrtl-v0100.README
+http://ftp1.service.digital.com/patches/public/vms/axp/v7.1-2/vms712_acrtl-v0100.html
+http://ftp1.service.digital.com/patches/public/vms/axp/v7.1-2/vms712_dqconfig-v0200.README
+http://ftp1.service.digital.com/patches/public/vms/axp/v7.1-2/vms712_ds20e-v0100.html
+http://ftp1.service.digital.com/patches/public/vms/axp/v7.1-2/vms712_shadowing-v0300.CVRLET_TXT
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=barrissait&l=fr
+http://dk.egroups.com/message/M-1911/4394
+http://www.netsh.com.cn/wwwboardm/526/messages/2116.html
+http://www.netsh.com.cn/wwwboardm/526/messages/2270.html
+http://www.netsh.com.cn/wwwboardm/526/messages/773.html
+http://www.netsh.com.cn/wwwboardm/526/messages/2058.html
+http://www.netsh.com.cn/wwwboardm/526/messages/2329.html
+http://www.netsh.com.cn/wwwboardm/526/messages/1813.html
+http://linux.softhouse.com.cn/linux/knowledge/tech/HOWTO/Java-CGI-HOWTO-7.html
+http://news.novgorod.ru/news/2000/9/22/2/12
+http://news.novgorod.ru/news/2000/9/24/2/12
+http://homepage1.nifty.com/sigenyan/nikki9.htm
+http://perso.club-internet.fr/guige/ncpc78.htm
+http://www.vr-homes.com/usa/California/Cities/Victorville/Travel/Maps_Images/
+http://www.incestpornstories.com/cum-sex-pics/underagecoed/spankingsweating/hardendurance.html
+http://www.freeforums.com/forums/Hardball/000008-000007.asp
+http://www.freeforums.com/forums/Hardball/000005-000001.asp
+http://www.freeforums.com/forums/Hardball/000004-000001.asp
+http://rex.skyline.net/html/Internet_Chat_Sites.html?315,computers,video,internet,computers
+http://rex.skyline.net/html/Computers_-_Hardware.html?14,computers,video,internet,computers
+http://194.128.65.4/pa/cm199899/cmhansrd/vo990216/text/90216w20.htm
+http://pub14.ezboard.com/fyamguyskoflastblade.showMessage?topicID=3.topic
+http://plant.reedexpo.ca/www.partnership.ca/?S=A
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=168&discrim=109,5,168
+http://www.aelita.net/products/~archive/Download_redirect/solutions/solutions/services/products/default.htm
+http://www.jpc-music.com/7041801.htm
+http://home.c2i.net/entreprenor/java/ra.html
+http://gxschool.beelink.com.cn/mid_edu/midschool/geography3/t4cd7z/4d7z3.3_1.htm
+http://ricoh.co.jp/SHOGI/emate/basic/mate3003a.html
+http://www.diogenes.ch/4DACTION/web_rd_aut_frlist_az/ID=483385&chr=K
+http://www.ebigchina.com/msg_post.phtml?cu=1003
+http://www.bemi-immobilien.de/allgemeine-ib/startseite/Gemeinsam/erreichenPartner/Gemeinsam/versicherungen/lebensversicherung/Gemeinsam/immolink/Gemeinsam/MarketingStrategie/Gemeinsam/Inserieren/onlineInserieren.htm
+http://ftp.tku.edu.tw/OS/Linux/distributions/RedHat/rawhide/i386/doc/rhinst/stylesheet-images/?S=A
+http://www.egroups.com/message/kicken/284
+http://www.guangmingdaily.com.cn/0_gm/1999/12/19991222/big5/gm^18278^2^GM2-2216.htm
+http://brightnet.pda.tucows.com/www.psionsite.rcsed.ac.uk/
+http://www.symatrixinc.com/website/website.nsf/0/3e40df86fb357cd5882568720079613f!OpenDocument&ExpandSection=9,22,1,11
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=durereste&l=it
+http://click-to.tell-a-friend.boardhost.com/tell-a-friend-confirm.cgi?ylihilseen&msg=25
+http://www.gbgm-umc.org/EllisvilleMO/10-04-00.pdf
+http://www.marketingtool.com/contribute/webfirm/b.435.r.2626.g.4134.html
+http://www.chaos.dk/sexriddle/h/a/w/l/
+http://www.chaos.dk/sexriddle/h/a/w/t/
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+9,5-0,3+(
+http://www.guba.net/101/136/125E/index-4.phtml
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+9,5-0,3+21,0
+http://www.guba.net/101/136/125E/index-7.phtml
+http://www.guba.net/101/136/125E/index-15.phtml
+http://ftpsearch.belnet.be/ftp/mirror2/ftp.cert.dfn.de/pub/vendor/sun/security-alert/security-alert-108.txt
+http://ftpsearch.belnet.be/ftp/mirror2/ftp.cert.dfn.de/pub/vendor/sun/security-alert/security-alert-170.txt
+http://www.tente.de/us/produkte/rubriksuche/ad000000699.htm
+http://www.angelfire.com/ky/kysweetpea/
+http://yp.gates96.com/7/69/60/1.html
+http://www.amulation.com/md-l-archive/199908/frm00208.html
+http://yp.gates96.com/7/69/60/4.html
+http://yp.gates96.com/7/69/60/33.html
+http://yp.gates96.com/7/69/60/49.html
+http://yp.gates96.com/7/69/60/71.html
+http://nanjingnews.jlonline.com/nanjingnews/njrb/20000226/04tiyu.htm
+http://yp.gates96.com/7/69/61/44.html
+http://yp.gates96.com/7/69/61/69.html
+http://yp.gates96.com/7/69/61/82.html
+http://yp.gates96.com/7/69/61/85.html
+http://yp.gates96.com/7/69/62/4.html
+http://yp.gates96.com/7/69/63/34.html
+http://yp.gates96.com/7/69/63/48.html
+http://yp.gates96.com/7/69/63/66.html
+http://yp.gates96.com/7/69/64/22.html
+http://www.bemi-immobilien.de/IIM-Teil/Startseite/Gemeinsam/MarketingStrategie/Gemeinsam/Inserieren/Startseite/Gemeinsam/versicherungen/unfall/Gemeinsam/3d-service/info.htm
+http://yp.gates96.com/7/69/64/26.html
+http://yp.gates96.com/7/69/65/89.html
+http://yp.gates96.com/7/69/67/11.html
+http://yp.gates96.com/7/69/67/28.html
+http://yp.gates96.com/7/69/67/33.html
+http://yp.gates96.com/7/69/67/70.html
+http://yp.gates96.com/7/69/68/22.html
+http://yp.gates96.com/7/69/68/72.html
+http://yp.gates96.com/7/69/68/92.html
+http://members.tripod.com/~katenleo/fading21.html
+http://yp.gates96.com/7/69/69/6.html
+http://members.tripod.com/~katenleo/fading26.html
+http://yp.gates96.com/7/69/69/36.html
+http://yp.gates96.com/7/69/69/91.html
+http://yp.gates96.com/7/69/69/98.html
+http://www.tribuneindia.com/98oct11/head1.htm
+http://fi.egroups.com/message/internet-sig-announce/3
+http://info.verwaltung.uni-freiburg.de/doc/susehilf/pak/paket_inhalt_libxml.html
+http://www.planetweb.com/cgi-bin/listmanager.pl/NETLINK-CUST/archives/1998Mar30-Apr05.archive/Date/article-23.html
+http://www.maasvlakte-cam.nl/webcams/11/katowice__poland/2000/06/13/
+http://www.eveclub.com/cgi-bin/eveclub.front/972959521459/Home
+http://totalsports.aol.com/stats/bbo/int/20000413/nor.at.lou.box.html
+http://totalsports.aol.com/stats/bbo/int/20000413/ott.at.buf.game.html
+http://fi.egroups.com/message/stccg-badlands/67
+http://www.fogdog.com/cedroID/ssd3040183315704/nav/stores/books_videos/
+http://xf-bbs.hb.cninfo.net/~socrates/sportold/images/football/_vti_cnf/
+http://cisc.tu-graz.ac.at/igi/lehre/semD_ss99/gruppe3/node10.html
+http://in.egroups.com/message/sfconsim-l/8643
+http://ftp.cc.chuo-u.ac.jp/home/pub/lang/perl/CPAN/modules/by-authors/Karl_Glazebrook/ExtUtils-F77-1.13.readme
+http://ftp.cc.chuo-u.ac.jp/home/pub/lang/perl/CPAN/modules/by-authors/Karl_Glazebrook/PGPLOT-2.17.readme
+http://coe.ier.hit-u.ac.jp/BibEc/data/Papers/wopwobaiu2243.html
+http://coe.ier.hit-u.ac.jp/BibEc/data/Papers/wopwobaiu2386.html
+http://books.hyperlink.co.uk/bookinfo/Travel_Journal/0864427972
+http://dbc.copystar.com.tw/DelphiChat/200001/msg0650.htm
+http://dbc.copystar.com.tw/DelphiChat/200001/msg0655.htm
+http://dbc.copystar.com.tw/DelphiChat/200001/msg0666.htm
+http://dbc.copystar.com.tw/DelphiChat/200001/msg0673.htm
+http://dbc.copystar.com.tw/DelphiChat/200001/msg0681.htm
+http://dbc.copystar.com.tw/DelphiChat/200001/msg0692.htm
+http://www.expage.com/page/cavypigsponser
+http://kernel2.adver.com.tw/Counter/log/kernel2.adver.com.tw/SaveCounter/2000-10-05/13/?S=A
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=210&discrim=214,253
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=2&discrim=247,212,237
+http://wwwtios.cs.utwente.nl/archive/wilyfans/frm01740.html
+http://z-06.land-sbg.gv.at/pressebuero/lpb/unserland/apr00/3.htm
+http://z-06.land-sbg.gv.at/pressebuero/lpb/unserland/apr00/52.htm
+http://gladstone.uoregon.edu/~sola/Stories/
+http://adetti.iscte.pt/RSI/HowTo/Java/jdk1.2.1/docs/guide/2d/api-jpeg/serialized-form.html
+http://ocean.ntou.edu.tw/search*chi/aSloan,+Richard+P.,+jt.+ed./asloan+richard+p/-5,-1,0,E/frameset&F=asloan+irving+j&2,,0
+http://ttzcomputers.subportal.com/sn/Programming/C_and_C___Tools_and_Components/13286.html
+http://ttzcomputers.subportal.com/sn/Programming/C_and_C___Tools_and_Components/1551.html
+http://ftp.uni-stuttgart.de/pub/unix/tools/system/top/m/?N=D
+http://no.egroups.com/message/romtrade/5216
+http://dk.egroups.com/message/Gunsmithing/80
+http://www.msb.malmo.se/search*swe/dMichelsen,+Hans/dmichelsen+hans/-5,-1,0,B/frameset&F=dmichels+robert&1,1
+http://solar.rtd.utk.edu/friends/news/omri/1998/05/980506I.html(opt,mozilla,pc,russian,koi8,default)
+http://www.geocities.co.jp/HeartLand/6163/link8.htm
+http://tucows.austria.com/sync95_size.html
+http://tucows.austria.com/adnload/1082_30337.html
+http://www.hotelboulevard.com/fr/paris/standard/html7752b1d358fd6459ebca66776e896614/sessionLang/ANG/prov/browse/cp/75015/resultatSearch.html
+http://210.178.135.1/netbbs/Bbs.cgi/nhic30872/qry/zka/B2-kB2-o/pno/0/qqo/000A/qqatt/^
+http://210.178.135.1/netbbs/Bbs.cgi/nhic30872/new/pno/0/pno/0/qqo/000A
+http://cometweb01.comet.co.uk/do!tid=20&rtid=2&vsid=700&session=132041&mid=1000&rid=1060&cid=37030&chid=1713&url=eqqLmwlGltt5tkZHljbLqkZHlkrHhlZHdfjKYfkLlkZ5ljjLboZLbplG5ubLZDXLZolLl3l5jbqLlci5XqVLkXsLkao4tloHbmlLoq5
+http://polygraph.ircache.net:8181/http_-2www.webtechs.com/html-val-svc/f-agents.html
+http://www.linux.com/networking/network/development/communications/server/distro/
+http://www.linux.com/networking/network/development/communications/server/competition/
+http://www.linux.com/networking/network/development/communications/server/certification/
+http://www.linux.com/networking/network/development/communications/server/future/
+http://www.linux.com/networking/network/development/communications/server/Updates/
+http://people.freebsd.org/~knu/cgi-bin/cvsweb.cgi/ports/net/epic4/pkg/Attic/
+http://polygraph.ircache.net:8181/mo/mo_links/http_-2www.whowhere.com/tax_cuts.html
+http://www.gov.ie/iveagh/angloirish/bloodysunday/summary4.htm
+http://polygraph.ircache.net:8181/http_-2www.real-e-video.com/ftp_-2ftp.mpgn.com/Gaming/ADND/Worlds/BirthRight/MailingListArchive/Contents.htm
+http://www.centc251.org/forums/aca-1/dispatch.cgi/isowg4/showNextUnseen/fol/100001/1323398
+http://www.centc251.org/forums/aca-1/dispatch.cgi/isowg4/folderFrame/100008/0/def/1323639
+http://user.alpha.co.kr/~selly/profile/main2.htm
+http://polygraph.ircache.net:8181/company/http_-2www.aaainvestments.com/http_-2triad.cyberserv.com/http_-2207.90.134.3/miami/
+http://ring.htcn.ne.jp/pub/FreeBSD/FreeBSD-current/ports/archivers/zip/
+http://www.medoc-ias.u-psud.fr:81/synoptic/gif/950902/?S=A
+http://in.egroups.com/message/GQRP/975
+http://idgnow.uol.com.br/idgnow/pcnews/2000/07/0046
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kdebase/po/Attic/kdmconfig.pot?only_with_tag=beta1-0_2
+http://us.mandrakesoft.com/cgi-bin/cvsweb.cgi/kdebase/po/Attic/kwm.pot?only_with_tag=beta1-0_2
+http://lists.omnipotent.net/mysql/199912/msg02189.html
+http://kyoto.cool.ne.jp/ryou_1125/lmax/list2.html
+http://www.infodog.com/RESULTS/1998092302/1998092302800.HTM
+http://www.infodog.com/RESULTS/1998092302/1998092302575.HTM
+http://bedandbreakfast.com/bbc/p618230.asp
+http://solaris.license.virginia.edu/os_product_patches/patches/5.5.1/103640-28/SUNWscpu/
+http://www.secinfo.com/d1Z36p.5n.htm
+http://cn.egroups.com/messages/conscious_creation/2087
+http://www.brio.de/BRIO.catalog/39fdb4fb08541c02273fd472aa7806a2/UserTemplate/13
+http://www.chaos.dk/sexriddle/o/m/e/z/
+http://cgi.tbs.co.jp/cdtv/songdb/song1897-j.html
+http://www.niwl.se/wais/new/12/12116.htm
+http://bsdweb.pasta.cs.uit.no/bsdweb.cgi/~checkout~/pkgsrc/editors/vim-xaw/pkg/?sortby=log
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=boguerait&l=fr
+http://www.medbulletin.com/scripts/medscape/jobsbystate.pl/diima00001/ND
+http://ttz.soyou.edu.cn/tgyd/item/2000-05-31/3214.html
+http://ttz.soyou.edu.cn/tgyd/item/2000-05-25/2973.html
+http://ttz.soyou.edu.cn/tgyd/item/2000-05-23/2825.html
+http://javatest.a-net.nl/servlet/pedit.Main/http://salon.com/tech/feature/2000/02/25/chatscan/
+http://javatest.a-net.nl/servlet/pedit.Main/http://www.wired.com/news/news/technology/story/20734.html
+http://www.jps.net/fehlberg/diem9.html
+http://chellobe.linux.tucows.com/x11html/adnload/9798_3876.html
+http://chellobe.linux.tucows.com/x11html/preview/58190.html
+http://internet.exit.de/akpolitik/Extern.htm
+http://www.launch.com/music/albumpage/pvn_content/0,5258,163242_track,00.html
+http://merumo.ne.jp/backno/i/00005163/20001001060103_024859.html
+http://ftpsearch.belnet.be/mirrors/ftp.isc.org/pub/usenet/control/bc/?N=D
+http://www-lehre.inf.uos.de/manuals/jdk1.2/docs/api/javax/swing/text/html/parser/class-use/Element.html
+http://ftp.tku.edu.tw/OS/FreeBSD/ports/biology/deft/distinfo
+http://javatest.a-net.nl/servlet/pedit.Main/http://www.cavejunction.com/phones/gower1.html
+http://javatest.a-net.nl/servlet/pedit.Main/http://www.cavejunction.com/phones/contel1.html
+http://www.allkorea.co.jp/cgi-bin/allkorea.front/972959966349/Catalog/1000002
+http://yp.gates96.com/5/82/41/1.html
+http://yp.gates96.com/5/82/41/52.html
+http://yp.gates96.com/5/82/41/59.html
+http://yp.gates96.com/5/82/42/40.html
+http://yp.gates96.com/5/82/42/73.html
+http://yp.gates96.com/5/82/43/4.html
+http://yp.gates96.com/5/82/43/20.html
+http://yp.gates96.com/5/82/44/60.html
+http://yp.gates96.com/5/82/44/95.html
+http://yp.gates96.com/5/82/45/36.html
+http://yp.gates96.com/5/82/45/43.html
+http://yp.gates96.com/5/82/45/90.html
+http://yp.gates96.com/5/82/46/37.html
+http://yp.gates96.com/5/82/46/83.html
+http://yp.gates96.com/5/82/47/22.html
+http://yp.gates96.com/5/82/47/53.html
+http://yp.gates96.com/5/82/48/8.html
+http://yp.gates96.com/5/82/48/23.html
+http://yp.gates96.com/5/82/48/41.html
+http://yp.gates96.com/5/82/48/76.html
+http://yp.gates96.com/5/82/49/5.html
+http://yp.gates96.com/5/82/49/22.html
+http://yp.gates96.com/5/82/49/37.html
+http://yp.gates96.com/5/82/49/39.html
+http://yp.gates96.com/5/82/49/65.html
+http://yp.gates96.com/5/82/49/90.html
+http://www.mirror.kiev.ua:8084/paper/1998/35/1251/power.htm
+http://www.science.uva.nl/pub/NetBSD/NetBSD-current/pkgsrc/textproc/html/Makefile
+http://www.fiss.at/1Root/Kontinent/6/Staat/7/Bundesland/16/Ort/708/Infrastruktur/7435/Homepage/homepage...1.html
+http://linux.tnc.edu.tw/CPAN/authors/id/C/CH/CHOGAN/Apache-SetWWWTheme-1.02.readme
+http://linux.tnc.edu.tw/CPAN/authors/id/C/CH/CHOGAN/Apache-SetWWWTheme-1.04.readme
+http://linux.tnc.edu.tw/CPAN/authors/id/C/CH/CHOGAN/Apache-SetWWWTheme-1.05.readme
+http://wufs.wustl.edu/vlander/vl_0002/browse/html/B0XX/22b090b4.htm
+http://www.dnet.org/My_Locality/View_Statement.dnet/OH/43230-1863&SubjectItemID=6406&IssueID=47541&ElectionActivityID=4443&SubjectHolder=3462&type=Office&debate=yes
+http://members.tripod.co.jp/suguruE/_private/
+http://members.tripod.lycos.nl/Kreeklaan/id19_cf.htm
+http://forums.multimania.fr/general/login/login.phtml?_login=%2Flire%2Fjeuxvideospro%2Findex.phtml%3Fcollapse%3D1
+http://excite.de.netscape.com/jobs/katalog/30434
+http://excite.de.netscape.com/jobs/katalog/27370
+http://excite.de.netscape.com/jobs/katalog/127
+http://yp.gates96.com/2/54/20/79.html
+http://yp.gates96.com/2/54/21/27.html
+http://yp.gates96.com/2/54/22/14.html
+http://yp.gates96.com/2/54/22/48.html
+http://yp.gates96.com/2/54/22/78.html
+http://yp.gates96.com/2/54/23/20.html
+http://yp.gates96.com/2/54/23/62.html
+http://yp.gates96.com/2/54/23/69.html
+http://yp.gates96.com/2/54/24/1.html
+http://yp.gates96.com/2/54/24/61.html
+http://yp.gates96.com/2/54/24/95.html
+http://yp.gates96.com/2/54/25/2.html
+http://yp.gates96.com/2/54/25/16.html
+http://yp.gates96.com/2/54/25/53.html
+http://yp.gates96.com/2/54/25/67.html
+http://yp.gates96.com/2/54/25/94.html
+http://yp.gates96.com/2/54/26/3.html
+http://yp.gates96.com/2/54/26/30.html
+http://yp.gates96.com/2/54/26/65.html
+http://yp.gates96.com/2/54/27/31.html
+http://yp.gates96.com/2/54/27/41.html
+http://yp.gates96.com/2/54/27/53.html
+http://yp.gates96.com/2/54/27/71.html
+http://yp.gates96.com/2/54/27/79.html
+http://yp.gates96.com/2/54/27/80.html
+http://yp.gates96.com/2/54/28/13.html
+http://yp.gates96.com/2/54/28/14.html
+http://yp.gates96.com/2/54/28/24.html
+http://yp.gates96.com/2/54/28/34.html
+http://yp.gates96.com/2/54/28/96.html
+http://yp.gates96.com/2/54/29/49.html
+http://ftp.sunet.se/pub/NT/mirror-microsoft/KB/Q134/3/40.TXT
+http://members.tripod.com/joellogan/_cranedisc/000001d9.htm
+http://members.tripod.com/joellogan/_cranedisc/000001cd.htm
+http://www.ualberta.ca/CNS/RESEARCH/Software/SAS/vms/z-inf-zd.htm
+http://www1.galaxy.com/galaxy/Leisure-and-Recreation/Games/Computer-Games/Titles/Virtual-Reality/Golf.html
+http://www1.galaxy.com/galaxy/Leisure-and-Recreation/Games/Computer-Games/Titles/Virtual-Reality/Red-Planet.html
+http://www.uni-duesseldorf.de/ftp/ftp/software/opt/zlib-1.1.2/?N=D
+http://acbanks.know-where.com/acbanks/cgi/selection?place=Cavecreek&state=AZ
+http://yp.gates96.com/10/26/70/49.html
+http://yp.gates96.com/10/26/70/83.html
+http://yp.gates96.com/10/26/72/40.html
+http://yp.gates96.com/10/26/74/89.html
+http://yp.gates96.com/10/26/75/15.html
+http://yp.gates96.com/10/26/75/19.html
+http://yp.gates96.com/10/26/76/87.html
+http://yp.gates96.com/10/26/78/18.html
+http://yp.gates96.com/10/26/78/76.html
+http://yp.gates96.com/10/26/78/78.html
+http://yp.gates96.com/10/26/78/81.html
+http://cpan.nitco.com/modules/by-module/Devel/ADESC/Pod-DocBook-0.03.readme
+http://www2.el-mundo.es/nuevaeconomia/2000/NE047/NE047-03b.html
+http://www.familyeducation.com/whatworks/inappr_material/entry/1,2549,1-10119-1948-3469,00.html
+http://ftp.nodomainname.net/pub/linux/daemons/raid/beta/
+http://192.80.57.161/corp/press/vannet.html
+http://digilander.iol.it/mirkodeli/Stagioni/CI6_index.html
+http://www.world-of-webs.de/magdeburg-in-bildern/_inhalt/_statnif/rechts/035.htm
+http://ftpsearch.belnet.be/mirrors/src.doc.ic.ac.uk/usenet/usenet-by-hierarchy/rec/travel/?D=A
+http://mirrortucows.technet.it/winme/netmiscme_rating.html
+http://my.egroups.com/message/imperiumlarp/3148
+http://ep.com/js/about/c7857/b0/34551.html
+http://webcrawler-sports.excite.com/ncaab/matchup/pafmax/
+http://www2.dbusiness.com/Quotes/1,1125,MSP_CORE,00.html?Ticker=CORE
+http://tucows.wlink.com.np/regist95_size.html
+http://www.babyheirlooms.com/catalog/htmlos.cat/041162.1.5960744054
+http://www.v2music.com/Scripts/WebObjects-ISAPI.dll/V2_New_Publisher.woa/71113000008423000000947720000021551/Labels.wo/168310000011551/1.0.1/3/Webobjects1
+http://www.v2music.com/Scripts/WebObjects-ISAPI.dll/V2_New_Publisher.woa/71113000008423000000947720000021551/Labels.wo/168310000011551/1.1.3.0.0/3/Webobjects1
+http://www.adcentral.com/cgi-bin/w3com/pws/adsites/vNhIXgVh_sji0rjcKc_GbuSlgBaEnCmKXU4ARmeefaqktCE3zwLsoXKDK_dlzoBzk2Ygr2cAuqN51PKOA0JxjzLEpPe-kic9TtvUJMbXG9Dlw8SggmHugQpwzjo-NiuofbUz4obq
+http://ring.omp.ad.jp/archives/NetBSD/NetBSD-current/src/distrib/i386/floppies/ramdisk-big/Makefile
+http://unofficial.capital.edu/students/alittle/
+http://213.36.119.69/do/session/153005/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/reserver/promotions/promo9.html
+http://213.36.119.69/do/session/153005/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/GB_EN/
+http://www.riello-hamburg.de/mSerieRSBLU_130_465kw.htm
+http://tucows.knoware.nl/winnt/filesplitnt_license.html
+http://www.kaos.dk/sex-riddle/k/a/k/i/n/h/b/b/
+http://www.kaos.dk/sex-riddle/k/a/k/i/n/h/b/c/
+http://caller-times.com/1999/july/13/today/national/3143.html
+http://news.fm365.com/jiaoyu/20000804/113896.htm
+http://variety.studiostore.com/browse/ILOVELUCY/CAP/b.FAVORITES%20NOSTALGI%20CLASTV%20ILOVELUCY/s.qyPsT2fz
+http://www.ferien-immobilien.de/bayern/ingolstadt/Verkauf/Gemeinsam/Immolink/3d-service/Private-IB/Startseite/Gemeinsam/vertriebspartner.htm
+http://jefferson.village.virginia.edu/wax/japanese/0front/cd/1/1a2a9a2.html
+http://space.tin.it/scuola/ermenegh/thewall/il2.htm
+http://www.maasvlakte-cam.nl/webcams/17/kremlin__moscou__russia/2000/02/29/?D=A
+http://pub17.ezboard.com/fecilordsoflightgeneral.showMessage?topicID=211.topic
+http://pub17.ezboard.com/fecilordsoflightgeneral.showMessage?topicID=214.topic
+http://pub17.ezboard.com/fecilordsoflightgeneral.showMessage?topicID=210.topic
+http://www.kaos.dk/sexriddle/x/u/e/s/p/
+http://www.kaos.dk/sexriddle/x/u/e/s/q/
+http://amc.hollywood.com/maltin/k/kellysheroes-1970.htm
+http://amc.hollywood.com/maltin/k/kidsarealrightthe-1979.htm
+http://amc.hollywood.com/maltin/k/killingofsistergeorgethe-1968.htm
+http://amc.hollywood.com/maltin/k/kingandcountry-1964.htm
+http://amc.hollywood.com/maltin/k/kinglear-1987.htm
+http://amc.hollywood.com/maltin/k/kingofthezombies-1941.htm
+http://amc.hollywood.com/maltin/k/kingqueenknave-1972.htm
+http://amc.hollywood.com/maltin/k/kissthe-1988.htm
+http://www.egroups.com/login.cgi?login_target=%2Fgroup%2Ft-ida
+http://polygraph.ircache.net:8181/faculty/http_-2www.stopwaste.org/freecontent.html
+http://kutschen.de/Schoner/literature/Literatur/models/collections/
+http://www.incestpornstories.com/cum-sex-pics/anal-sexone-night-stand/big-bonedpleasantly-plump/smallwomen/{hardcorelink}
+http://www.nytimes.com/library/financial/102897market-turmoil.html
+http://polygraph.ircache.net:8181/services/define/http_-2www.microsoft.com/ie/http_-2www.ci.alameda.ca.us/main_left.html
+http://polygraph.ircache.net:8181/services/define/http_-2www.microsoft.com/ie/http_-2www.ci.alameda.ca.us/dream.htm
+http://www.chiayi.gob.tw/
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a17/d77/b77,c,4d,51,51,df1,df1,,4e,2b62,4d,4e,2b62,,
+http://citeseer.nj.nec.com/cidcontext/6361
+http://citeseer.nj.nec.com/cidcontext/6456
+http://utenti.tripod.it/Psychozine/Grunge/Creed_MyOwnPrison.htm
+http://tucows.multiweb.net/winme/adnload/138210_30315.html
+http://tucows.multiweb.net/winme/adnload/138190_29551.html
+http://tucows.multiweb.net/winme/adnload/138218_29576.html
+http://tucows.multiweb.net/winme/preview/138219.html
+http://playsky.home.chinaren.com/star_region/11.htm
+http://tucows.phnet.fi/winme/adnload/137614_29054.html
+http://www.fortunecity.com/millennium/blyton/118/www.bih.net.ba/~sda
+http://www11.informatik.tu-muenchen.de/lehre/lectures/ws2000-01/hypermedia/extension/html-kurz/hm2.2.4.2-navigation.html
+http://ads.puntopartenza.com/cgi-bin/redirect.cgi/31033737
+http://www.eud.com/1997/03/20/20324A.shtml
+http://ftp.net.uni-c.dk/pub/linux/mandrake/i586/Mandrake/mdkinst/usr/share/locale/gl/?N=D
+http://no.sport.yahoo.com/s/snowboard-1.html
+http://www.egroups.com/login.cgi?login_target=%2Fmessages%2Fshamanism%2F1311
+http://yp.gates96.com/5/82/70/13.html
+http://yp.gates96.com/5/82/70/74.html
+http://yp.gates96.com/5/82/71/30.html
+http://yp.gates96.com/5/82/71/44.html
+http://yp.gates96.com/5/82/72/22.html
+http://yp.gates96.com/5/82/72/72.html
+http://yp.gates96.com/5/82/72/88.html
+http://yp.gates96.com/5/82/73/60.html
+http://yp.gates96.com/5/82/73/79.html
+http://yp.gates96.com/5/82/74/21.html
+http://yp.gates96.com/5/82/74/59.html
+http://yp.gates96.com/5/82/74/62.html
+http://yp.gates96.com/5/82/74/75.html
+http://yp.gates96.com/5/82/74/78.html
+http://yp.gates96.com/5/82/75/30.html
+http://yp.gates96.com/5/82/75/32.html
+http://yp.gates96.com/5/82/75/82.html
+http://yp.gates96.com/5/82/76/16.html
+http://yp.gates96.com/5/82/76/43.html
+http://yp.gates96.com/5/82/76/72.html
+http://yp.gates96.com/5/82/77/48.html
+http://yp.gates96.com/5/82/77/99.html
+http://yp.gates96.com/5/82/78/73.html
+http://yp.gates96.com/5/82/79/28.html
+http://yp.gates96.com/5/82/79/70.html
+http://yp.gates96.com/5/82/79/83.html
+http://polygraph.ircache.net:8181/http_-2www.microsoft.com/ie/http_-2www.petrophysics.com/http_-2www.uio.no/~thomas/lists/info.html
+http://www.munster-express.ie/000623/sports1.htm
+http://cisne.sim.ucm.es/search*spi/aThiollier,+François-Joël,+int./athiollier+francois+joel+int/-5,-1,0,B/marc&F=athion+soriano+molla+dolores&2,,2
+http://www.zjdaily.com.cn/gb/2000/10/05/zjrb0625/guoji/6.htm
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceStoreCategories-BBC70A38_9815_E7A26CDF19A4AB167DD4B69EFB5B17FC
+http://commerce.was-inc.com/cgi-bin/abtwsam.dll/LbkWebCommerceUserProfile-BBC70A38_9815_E7A26CDF19A4AB167DD4B69EFB5B17FC
+http://www.shopworks.com/tools/index.cfm/action/search/userid/0003875B-2E5B-19FE-AF65010C0A0A8CF2
+http://www.doofpot.nl/~lists/bugtraq/October-99/frm00087.html
+http://shop.citde.net/b79923.htm
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=divinizzarono&l=it
+http://pub8.ezboard.com/fwrestlecarwwf.showAddReplyScreenFromWeb?topicID=38.topic
+http://amrr.com/agents/contact.html?Agents_id=4046
+http://www.intellicast.com/LocalWeather/World/UnitedStates/Southeast/NorthCarolina/CarolinaBeach/RAINcast/d1_12/bannerAd.shtml
+http://www.ferien-immobilien.de/schleswig-holstein/nordfriesland/Verkauf/Gemeinsam/versicherungen/gebaeude/Allgemeine-IB/IIM-Teil/Startseite/Gemeinsam/Inserieren/inserieren.htm
+http://www.ferien-immobilien.de/schleswig-holstein/nordfriesland/Verkauf/Gemeinsam/versicherungen/gebaeude/Allgemeine-IB/IIM-Teil/Startseite/Gemeinsam/feedback.html
+http://de.excite.com/jobs/katalog/10349
+http://pub16.ezboard.com/frealitycheck95307youadoreus.showAddReplyScreenFromWeb?topicID=33.topic
+http://www.maas.ccr.it/cgi-win/hiweb.exe/a17/d2424/b77,e,4d,51,51,df1,df1,,978,,51,978,815,,51,815,
+http://dk.egroups.com/message/noholdsbarred/2138
+http://kr.news.yahoo.com/headlines/so/20001029/hankook/2000102919513187338.html
+http://www.buybuddy.com/sleuth/27/1/11002/508910/
+http://yp.gates96.com/13/95/50/10.html
+http://yp.gates96.com/13/95/50/47.html
+http://yp.gates96.com/13/95/51/16.html
+http://yp.gates96.com/13/95/51/17.html
+http://yp.gates96.com/13/95/51/21.html
+http://yp.gates96.com/13/95/51/76.html
+http://yp.gates96.com/13/95/53/5.html
+http://yp.gates96.com/13/95/54/17.html
+http://yp.gates96.com/13/95/54/44.html
+http://yp.gates96.com/13/95/54/67.html
+http://yp.gates96.com/13/95/54/80.html
+http://yp.gates96.com/13/95/55/67.html
+http://yp.gates96.com/13/95/56/15.html
+http://yp.gates96.com/13/95/56/91.html
+http://yp.gates96.com/13/95/57/9.html
+http://yp.gates96.com/13/95/57/12.html
+http://yp.gates96.com/13/95/57/24.html
+http://yp.gates96.com/13/95/57/30.html
+http://yp.gates96.com/13/95/57/46.html
+http://yp.gates96.com/13/95/58/38.html
+http://yp.gates96.com/13/95/58/52.html
+http://yp.gates96.com/13/95/58/80.html
+http://yp.gates96.com/13/95/59/40.html
+http://yp.gates96.com/13/95/59/78.html
+http://ftp.net.uni-c.dk/pub/linux/mandrake/i586/Mandrake/mdkinst/usr/share/locale/gv/?S=A
+http://home.swipnet.se/~w-10458/sksida.htm
+http://www.irishnews.com/k_archive/260799/nnews14.html
+http://dennou-q.geo.kyushu-u.ac.jp/library/Linux/debian-jp/dists/potato-jp/contrib/binary-all/admin/?M=A
+http://ayasii.virtualspace.net/html/1104/11041141_syuuei_yosimi008.htm
+http://ayasii.virtualspace.net/html/1104/11041104_nakamura_yuma_2_027.htm
+http://kikakusvr3.city.yokohama.jp/yhspot/ysc/prelaunch.html
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=0,1-20,0-9,1-9,2
+http://209.52.189.2/discussion.cfm/disco_music/7738/79749
+http://www.du-et.net/cgi/mail.cgi?NickName=coota
+http://ustlib.ust.hk/search*chi/a%7B214c7d%7D%7B213837%7D%7B213c44%7D%7B213779%7D%7B214267%7D%7B21586d%7D%7B21515b%7D%7B21517c%7D%7B213966%7D/a{214c7d}{213837}{213c44}{213779}{214267}{21586d}{21515b}{21517c}{213966}/7,-1,0,B/browse
+http://user.alpha.co.kr/~backspin/CGI-BIN/upload/files/
+http://194.174.50.23/cgi-bin/FisRun/InsertExhibitorIntoNotebook/1/interpack99/e/1217
+http://www.paxcapital.com/news/datacenter/200010/27/20001027180508_01.shtml
+http://www.paxcapital.com/news/datacenter/200010/27/20001027175828_07.shtml
+http://www.paxcapital.com/news/datacenter/200010/27/20001027173309_53.shtml
+http://www.paxcapital.com/news/datacenter/200010/27/20001027165004_52.shtml
+http://genforum.genealogy.com/cgi-bin/print.cgi?lantz::325.html
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/FreeBSD/ports/alpha/packages-current/x11-toolkits/?D=A
+http://hotop.on.net.cn/diguo/club/disp.asp?owner=A205&ID=914
+http://www.babyheirlooms.com/catalog/htmlos.cat/041137.1.3501106310
+http://debian.linux.org.tw/debian/dists/frozen/non-free/binary-m68k/mail/?N=D
+http://cafe5.daum.net/Cafe-bin/Cafe.cgi/member?cafe=LOTTEcleaning
+http://www-d0.fnal.gov/cgi-bin/cvsweb.cgi/root_gui/data/?sortby=date
+http://www.concentric.net/~Psaros/DbzUncensored/editorial/edit06-07-98.html
+http://www.jobvillage.com/channel/jobs/travel/travel_guide/b.4897.g.5093.html
+http://www.jobvillage.com/channel/jobs/travel/travel_guide/b.4897.g.5070.html
+http://www.cricket.org/link_to_database/ARCHIVE/1999/OTHERS+ICC/NL_LOCAL/EERSTEKL/VCC_ASIAN-SHAH_EERSTEKL_16MAY1999.html
+http://health.phinfo.sc.cn/navigator/illness_treatment/diseases_conditions/bone_diseases/spinal_column_injury/default.htm
+http://cn.egroups.com/message/dfwscan/1412
+http://www.babyheirlooms.com/catalog/htmlos.cat/001255.1.1999922108
+http://ibm1.cicrp.jussieu.fr/ibmc/classref/ref/UFullStopNumber_DSC.htm
+http://pda.tucows.fi/palm/adnload/33651_21862.html
+http://www.fogdog.com/cedroID/ssd3040183330232/nav/products/nhl/chicago_blackhawks/fan/gender/fashion_polo_shirts/
+http://www.fogdog.com/cedroID/ssd3040183330232/nav/products/nhl/chicago_blackhawks/fan/gender/nylon_jackets/
+http://www.5a8.com/book/wg/zpj/d/delaisai/mgbj/004.htm
+http://www.5a8.com/book/wg/zpj/d/delaisai/mgbj/050.htm
+http://jars.developer.com//classes/jresout.cgi?resource=1133
+http://dwp.bigplanet.com/billbritton/files/edit.nhtml
+http://members.tripod.co.jp/snow4/?D=A
+http://www.lanoticia.com.ni/cronologico/2000/julio/15sabado/capital/capital5.html
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/151/1996/4/0/870960/
+http://mayu.sourceforge.net/cgi-bin/nph-ml.cgi/000/http/www.geocrawler.com/archives/3/151/1996/4/0/870950/
+http://ftp.ccu.edu.tw/pub/packages/dns/bind/src/8.1.1/
+http://www.chez.com/photographies/photos/paysage/page8.htm
+http://www.ayto-malaga.es/Organismos/Urbanismo/PGMOM/Hojas/calificacion/3/47/34734.htm
+http://www.symatrixinc.com/website/website.nsf/0/3e40df86fb357cd5882568720079613f!OpenDocument&ExpandSection=3,24,5,18
+http://www.symatrixinc.com/website/website.nsf/0/3e40df86fb357cd5882568720079613f!OpenDocument&ExpandSection=9,24,5,18
+http://variety.studiostore.com/browse/STARWARSTRIL/PHOTO/b.MOVIES%20STARWARSSAGA%20STARWARSTRIL/s.5FhZToe4
+http://www.stud.ntnu.no/~kjonigse/pod/
+http://eastday.com/epublish/gb/paper10/20001025/class001000011/hwz225792.htm
+http://eastday.com/epublish/gb/paper10/20001025/class001000011/hwz225253.htm
+http://www.jamba.de/KNet/_KNet-KdS8j1-IHd-13g8y/browse.de/node.0/cergpnwyt
+http://www.la-verdad.com/pg000828/suscr/primera.htm
+http://www.centc251.org/forums/aca-1/dispatch.cgi/hsi/listUnseen/fol/100020/20,0/1338881
+http://ftp.du.se/disk4/FreeBSD/ports/ports/japanese/libicq/pkg-comment
+http://www.geocities.com/SunsetStrip/Towers/2395/
+http://www.geocities.com/joanna_luo
+http://www.geocities.com/eric_wang_tafe
+http://www.geocities.com/shsugiharto
+http://wynnsystems.com/79I_5ase/seek/modifyUser.html
+http://www.uk.cricket.org/link_to_database/INTERACTIVE/REVIEWS/BOOKS/barry14.html
+http://perso.wanadoo.fr/alain.falgas/poesie1.htm
+http://www.linux.com/networking/network/windows_nt/support/tools/SAP/
+http://www.rdnet.nl/provstaten1999/491ps.html
+http://www.thisislancashire.co.uk/lancashire/archive/1998/03/19/FEATURES3VQ.html
+http://myhome.naver.com/myclass46
+http://www.bride.ru/htcgi/ladies/in-26-30/index3.html
+http://www.internet-verzeichnis.de/branchen/schuhreparaturen/nordrhein-westfalen/
+http://dk.egroups.com/post/SonyMavica?act=reply&messageNum=3370
+http://www.sneezy.org/Databases/Composers/Instrumentation/008889.html
+http://www.sneezy.org/Databases/Composers/Instrumentation/009161.html
+http://fatema2.math.nat.tu-bs.de/doc/sdb/de/html/keylist.LARGEEBDA.html
+http://ssb.no/kommuner/hoyre_side.cgi?region=1931
+http://www.egroups.com/subscribe/mentemalata
+http://www.debian.org.cn/Bugs/db/67/67056-b.html
+http://dk.egroups.com/message/ssrdistribution/775?source=1
+http://link.fastpartner.com/do/session/600429/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/shopnett.php
+http://ftp.uk.debian.org/debian/dists/stable/main/binary-arm/text/?D=A
+http://www.bemi-immobilien.de/IIM-Teil/Startseite/Top-Darlehens-Konditionen/Gemeinsam/3d-service/Startseite/Gemeinsam/erreichenPartner/Top-Darlehens-Konditionen/anforderungsformular.htm
+http://www.fujian-window.com/Fujian_w/news/mdrb/000816t/1_4.html
+http://scholar.lib.vt.edu/VA-news/WDBJ-7/script_archives/98/0798/070498/?D=A
+http://polygraph.ircache.net:8181/services/define/html/President.asp
+http://old-maps.co.uk/10lancs191/HTML/nav_19034001g.htm
+http://www.hanter21.co.kr/NetBBS/Bbs.dll/prdata/lst/qqa/f/qqo/000D/zka/B2-kB2-r
+http://w3.webtourist.net/travel/europe/italy/milan/quarkallsuites.htm
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,5+0,0-9,6-0,1
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=brillantant&l=fr
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=brillantais&l=fr
+http://www.mathquest.com/~sarah/HTMLthreads/geopre.descriptions.html
+http://www.retrobytes.org/classiccmp/9706/msg00827.html
+http://www.retrobytes.org/classiccmp/9706/msg01408.html
+http://www.rdnet.nl/provstaten1999/552ps.html
+http://retailer.gocollect.com/do/session/1912828/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/checkout/shopping_cart.asp
+http://retailer.gocollect.com/do/session/1912828/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/exclusives/limited_editions.asp
+http://retailer.gocollect.com/do/session/1912828/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/company_info/privacy_policy.asp
+http://de.news.yahoo.com/000322/36/nfqj.html
+http://www.kl.gz.cn/~cco/FUNA022K.htm
+http://www.launch.com/music/artistpage/pvn_content/0,5219,1013738_videos,00.html
+http://www14.freeweb.ne.jp/play/kiryuus/keith-burn1-end.htm
+http://variety.studiostore.com/help/b.MOVIES%20STARWARSSAGA%20STARWARSTRIL/s.BmesFhV7
+http://biblioteca.upv.es/bib/doc/doc_siglibros/1828105/26/25/////MLTPAID/Materia%20Lengua%20inglesa%20técnica:%20254/V
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/_AhIPkFr0_eq7P6TUMbkQGJgpHJOXqtNLZQ55qFmeZARJaJUKHP9RBX3tPWaLEWVLZ_-PAErnbukTTJzs-x0hew4G_r3S85M8fDFaJcIVi3EA4TxNjTbbGIaSLhr8VdNICuBwhPmgZEt662B
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/IxhI6dPotFAZDugwPbV2pjvsgvIvAP-oFtIZfMptEKMo48cUO8RmvG3Akuk2tktzM_RYBY3yIQE6nl7I2moLEV_nScO7wTfWpFfPR7LHZ3ntJxKS8-a_IukWT4q_o6mjhGw8SSwm
+http://www.rge.com/pub/languages/perl/clpa/1995-11/171
+http://www.rge.com/pub/languages/perl/clpa/1995-11/186
+http://www.newmgm.com/cgi-bin/c2k/title_talent.html&id=146091&title_star=FOURFEAT
+http://www.koreaweekly.co.kr/entertain/book/200009/en20000922185938E701133.htm
+http://www.koreaweekly.co.kr/entertain/book/200008/en20000824183337E701112.htm
+http://www.genome.wustl.edu:8021/pub/gsc10/nci/wl/wl72/?N=D
+http://yp.gates96.com/13/50/70/33.html
+http://yp.gates96.com/13/50/70/36.html
+http://yp.gates96.com/13/50/70/53.html
+http://yp.gates96.com/13/50/71/74.html
+http://yp.gates96.com/13/50/72/13.html
+http://yp.gates96.com/13/50/72/17.html
+http://yp.gates96.com/13/50/72/83.html
+http://yp.gates96.com/13/50/73/48.html
+http://yp.gates96.com/13/50/73/79.html
+http://yp.gates96.com/13/50/73/96.html
+http://yp.gates96.com/13/50/74/14.html
+http://yp.gates96.com/13/50/74/57.html
+http://yp.gates96.com/13/50/75/13.html
+http://yp.gates96.com/13/50/75/19.html
+http://yp.gates96.com/13/50/75/30.html
+http://yp.gates96.com/13/50/75/42.html
+http://yp.gates96.com/13/50/75/53.html
+http://yp.gates96.com/13/50/75/90.html
+http://yp.gates96.com/13/50/77/45.html
+http://yp.gates96.com/13/50/77/51.html
+http://yp.gates96.com/13/50/77/79.html
+http://yp.gates96.com/13/50/78/12.html
+http://yp.gates96.com/13/50/78/47.html
+http://yp.gates96.com/13/50/78/69.html
+http://yp.gates96.com/13/50/78/96.html
+http://www.tel.de/s/M/MSS.htm
+http://linux.usu.edu/LDP/LDP/LG/issue23/shoham/node4.html
+http://www.monaco.gouv.mc/dataweb/gouvmc.nsf/(NewsActu)/d28eaee29b3287d4c1256905004e1ef1!OpenDocument&ExpandSection=9,3,10.1,7,10.4,10.2,5,8,4
+http://fi.egroups.com/post/romtrade?act=reply&messageNum=5198
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/erhIHCd-6X--WwWIQBR9tYYraJWo8ugur0GyAl8pg21sE-lotAURKodv9HAYnRuTT4ZM0aCKsA5ZVLlq8sgiFNqA4DyAY_GVTyPIEARrzArj8JrWabVCSpg03afQ_Xg3DaCQA17080y7T4EZ
+http://oneplace.adbureau.net/accipiter/adclick/site=ONEPLACE/area=INDEX/POSITION=BLOCK_1/AAMSZ=120x90/ACC_RANDOM=619055616855
+http://cafe6.daum.net/Cafe-bin/Bbs.cgi/MyLoveNYpds/qry/zka/B2-kB23m/qqatt/^
+http://cafe6.daum.net/Cafe-bin/Bbs.cgi/MyLoveNYpds/qry/zka/B2-kB2-s/qqatt/^
+http://sas.uoregon.edu/sashtml/proc/z0292518.htm
+http://www02.geocities.co.jp/PowderRoom-Rose/1346/flower02image.html
+http://www02.geocities.co.jp/PowderRoom-Rose/1346/sozaiheart2.html
+http://www.jamba.de/KNet/_KNet-sXN8j1-9Hd-13ej3/admLogin.de/node.0/cdn3r3qy3
+http://iccardreader.co.kr/
+http://online.linux.tucows.com/conhtml/ser_irc_size.html
+http://www.fogdog.com/cedroID/ssd3040183339940/nav/products/winter_sports/1b/bibs/
+http://www.fogdog.com/cedroID/ssd3040183339940/nav/products/winter_sports/1c/jackets/
+http://www.fogdog.com/cedroID/ssd3040183339940/nav/products/winter_sports/1d/heavyweight_tops/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380883/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/assistance/entry.asp
+http://www.kaos.dk/sex-riddle/k/a/k/i/l/y/t/c/
+http://www.kaos.dk/sex-riddle/k/a/k/i/l/y/t/o/
+http://ftp1.se.debian.org/debian/dists/stable/main/disks-alpha/2.2.8-2000-03-08/jensen/
+http://213.36.119.69/do/session/153006/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/FR/contact/recrute.htm
+http://www10.freeweb.ne.jp/photo/myukun2/cosplay/000130/0130_40.htm
+http://l-infonet.phkk.fi/fi/TIETOPALVELUT/JULKINEN+HALLINTO/tiedonhaku/artikkelit/hakupalvelut/l%E4%E4ketiede/tietokannat/
+http://202.109.72.57/article/20000903/67099.htm
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/5xhIsrJ5LBhn_gBogN2-VgQ1DA6WvBlLMjSoxYeQAJ1ig69sK1i1DhQ5hA3iOw7y6Wb_HDA2rkG5aJy9DrUMZxD31cyUqEqg7LeZ3pssb70DsyPc1sGCTVIRFBz1Nb_1ikEcJ3ds
+http://ftp.gwdg.de/pub/misc/standards/infomagic/nist/oiw/agreemnt/read_me.txt
+http://linuxberg.arrakis.es/conhtml/adnload/8894_17109.html
+http://ring.toyama-ix.net/archives/pc/winsock-l/WWW-Browsers/Plug-In/ppp16124.txt
+http://opac.lib.ntnu.edu.tw/search*chi/++ftlist/bp20040288/-5,-1,0,B/frameset&F=bp20040286&1,1
+http://ftp.darenet.dk/tucows/winme/adnload/137475_28966.html
+http://ftp.darenet.dk/tucows/winme/adnload/137525_29009.html
+http://elib.zib.de/pub/UserHome/Mueller/Course/Tutorial/Postscript/US/?M=A
+http://greenpeace.lu/Admin/usage/weekly/1999/01/03/
+http://greenpeace.lu/Admin/usage/weekly/1998/04/26/
+http://greenpeace.lu/Admin/usage/weekly/1998/08/16/
+http://greenpeace.lu/Admin/usage/weekly/1997/10/12/
+http://retailer.gocollect.com/do/session/1912819/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/clubhouse/index.asp
+http://www.kusastro.kyoto-u.ac.jp/LCs/index/AURAU.html
+http://www.linux.com/networking/network/windows_nt/support/microsoft/Red_Hat/
+http://www.linux.com/networking/network/windows_nt/support/microsoft/operating_system/
+http://www.linux.com/networking/network/windows_nt/support/microsoft/SAP/
+http://www.linux.com/networking/network/windows_nt/support/microsoft/Unix/
+http://www.linux.com/networking/network/windows_nt/support/microsoft/pop-3/
+http://www.cs.rit.edu/photo_album/smr3632.html
+http://www.cpan.dk/CPAN/modules/by-authors/id/C/CH/CHRMASTO/?D=A
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/lit/misc/unitest/lit/music/midi/ego.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/lit/misc/unitest/lit/music/midi/lit/multiple.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/lit/misc/unitest/lit/music/midi/misc/dissert.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/computers/lit/misc/unitest/lit/music/midi/misc/peanuts.html
+http://www.eastsidejournal.com/sited/retr_story.pl/25409
+http://yp.gates96.com/8/46/50/23.html
+http://yp.gates96.com/8/46/52/6.html
+http://yp.gates96.com/8/46/52/10.html
+http://yp.gates96.com/8/46/52/18.html
+http://yp.gates96.com/8/46/52/25.html
+http://yp.gates96.com/8/46/53/78.html
+http://yp.gates96.com/8/46/53/95.html
+http://yp.gates96.com/8/46/54/26.html
+http://yp.gates96.com/8/46/54/41.html
+http://yp.gates96.com/8/46/54/64.html
+http://yp.gates96.com/8/46/54/76.html
+http://yp.gates96.com/8/46/54/92.html
+http://yp.gates96.com/8/46/55/62.html
+http://yp.gates96.com/8/46/55/94.html
+http://yp.gates96.com/8/46/55/98.html
+http://yp.gates96.com/8/46/56/19.html
+http://yp.gates96.com/8/46/56/42.html
+http://yp.gates96.com/8/46/56/86.html
+http://yp.gates96.com/8/46/58/53.html
+http://yp.gates96.com/8/46/58/57.html
+http://yp.gates96.com/8/46/59/41.html
+http://yp.gates96.com/8/46/59/44.html
+http://yp.gates96.com/8/46/59/84.html
+http://yp.gates96.com/8/46/59/99.html
+http://www.158.com.cn/news/2000/09/03/58946.htm
+http://www.pobladores.com/territorios/juegos/Shanodin/pagina/2
+http://www.otemachi.ibm.co.jp/pc/vlp/ca20/32l9068/price.html
+http://www.gutenberg2000.de/lessing/sinnged/sinna10.htm
+http://www.gutenberg2000.de/lessing/sinnged/sinn138.htm
+http://www.gutenberg2000.de/lessing/sinnged/sinnc27.htm
+http://www.gutenberg2000.de/lessing/sinnged/sinnc06.htm
+http://calcul.si.uji.es/Programes/SAS/stat/chap4/sect5.htm
+http://calcul.si.uji.es/Programes/SAS/stat/chap4/sect6.htm
+http://link.fastpartner.com/do/session/600436/vsid/3194/tid/3194/cid/137201/mid/1060/rid/2105/chid/3194/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/learn.htm
+http://www.linux.com/networking/network/red_hat/performance/workstations/business/
+http://ftp.dei.uc.pt/pub/faqs/backrubs/faq/?D=A
+http://www2.el-mundo.es/nuevaeconomia/2000/NE022/NE022-16b.html
+http://ring.toyama-ix.net/pub/linux/linuxppc-jp/2.0/UsersGuide/?N=D
+http://www.egroups.com/message/swchicks-rpg/763
+http://webraft.its.unimelb.edu.au/705195/students/caitlinb/pub/?N=D
+http://cn.egroups.com/message/indexinvesting/17
+http://networkdesigner.subportal.com/sn/Programming/Setup_Utilities/11753.html
+http://www.imagestation.com/member/?name=Mermaid34v&c=1
+http://crn.com/Components/TalkBack/tb-read.asp?ArticleId=8463
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/misc/lit/computers/music/linux/misc/thoughts/turingtest.html
+http://www.egroups.com/message/house_caliburnus/1479
+http://pub14.ezboard.com/BBSForum.showForumSearch?boardName=bleemtest
+http://spaceports.tucows.com/winme/adnload/136943_28461.html
+http://www.cerent.com/warp/public/767/spcl/vaccess/req-lab.html
+http://www.ualberta.ca/icons/icons/numbers/Big-orange-thin/
+http://www.gencat.es/cgi-bin/bc/drawer.cgi/LD/0004/A00027?98
+http://interhotel.com/romania/en/hoteles/49235.html
+http://www.infoscape.com.cn:8171/nf/0001/19/nfzx1908.htm
+http://www.hurriyetim.com/akdeniz/turk/00/05/25/akdhab/62akd.htm
+http://www.hurriyetim.com/akdeniz/turk/00/05/25/akdhab/38akd.htm
+http://dennou-t.ms.u-tokyo.ac.jp/arch/cc-env/Linux/debian-jp/dists/woody-jp/contrib/binary-ia64/misc/?M=A
+http://www.angelfire.com/vt/Mystical2
+http://www.indonesiansources.com/HELP/COOKIES.HTM
+http://members.nbci.com/cmeadows/gvi/45regt/45gvibat.html
+http://members.nbci.com/cmeadows/gvi/45regt/45gvicob.html
+http://landview.census.gov/hhes/www/housing/soma/char96/ch96tab5.html
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1985/0/MNPENNSYLVANIAdENERGYdASSISTANCEdANDdCONSERVATIONdACT.HTM
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1985/0/MNPENNSYLVANIAdSEWAGEdFACILITIESdACT.HTM
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1985/0/MNPODIATRYdPRACTICEdACT.HTM
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1985/0/MNPRESIDENT.HTM
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1985/0/MNPRIVATEdMORTGAGEdINSURANCEdACT.HTM
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1985/0/MNPROJECTd500.HTM
+http://www.legis.state.pa.us/WU01/LI/BI/TI/1985/0/MNPUBLICdWORKSdCONTRACTdREGULATIONdLAW.HTM
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/inventor/apps/samples/4view/Attic/Imakefile?only_with_tag=MAIN
+http://oss.sgi.com/cgi-bin/cvsweb.cgi/inventor/apps/samples/4view/Attic/Imakefile?only_with_tag=HEAD
+http://www4.50megs.com/justiceinn/charpages/leaves/707.html
+http://www4.50megs.com/justiceinn/charpages/leaves/859.html
+http://www4.50megs.com/justiceinn/charpages/leaves/171.html
+http://www4.50megs.com/justiceinn/charpages/leaves/114.html
+http://megalink.tucows.com/win2k/adnload/38582_28844.html
+http://members.tripod.lycos.nl/monthlysports/hello_and_welkom_at_the_new.htm
+http://coe.ier.hit-u.ac.jp/BibEc/data/Papers/nbrnberwo4558.html
+http://coe.ier.hit-u.ac.jp/BibEc/data/Papers/nbrnberwo4462.html
+http://coe.ier.hit-u.ac.jp/BibEc/data/Papers/nbrnberwo4813.html
+http://pub4.ezboard.com/factiveprodiscussioncommunityhottopicsresidentsandalcohol.showMessage?topicID=3.topic
+http://207.138.41.133/subscribe/IndoVStudio
+http://www.biuemountain.com/eng3/karen/EArejoice.html
+http://polygraph.ircache.net:8181/wwwboard/capabilities/http_-2www.westnebr.net/http_-2www.excite.com/grservic.htm
+http://pub7.ezboard.com/fturonneuemissionennebenwerteundsonstigewerte.showAddReplyScreenFromWeb?topicID=58.topic
+http://dk.egroups.com/post/badbart-showdown?act=forward&messageNum=679
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus62920/eus62921/eus64894/eus170276/eus163832/
+http://www.algonet.se/~d88628/engelsk/various.htm
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=220&discrim=220,215,11
+http://www.z-plus.de/TEXTE/INETCO/AUSG20000524/text7.html
+http://www.gbnf.com/genealog2/varner/html/d0059/I11636.HTM
+http://www.musiciansfriend.com/ex/ds/live/001030183152064208037007463633
+http://www.musiciansfriend.com/ex/ds/home/001030183152064208037007463633?dbase=info,order_info.html
+http://www.musiciansfriend.com/ex/ds/guitar/amps/001030183152064208037007463633?dbase=info,contact.html
+http://pix.egroups.com/message/ipe/1642?source=1
+http://213.36.119.69/do/session/153008/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://resa.travelprice.com/CallCenter/InitCommunicationAgence
+http://213.36.119.69/do/session/153008/vsid/1113/tid/1113/cid/28507/mid/1020/rid/1041/chid/1103/parser/yes/imref/eqqLmwlGltt5tkqHoXsLbimLofZLbkZHljlK6IlK/url/http://www.travelprice.com/DE_DE/
+http://www.egroups.com/message/peninsulaserv/567
+http://www.scifi.com/bboard/browse.cgi/1/5/545/12425?pnum=3
+http://no.egroups.com/post/icc-info?act=reply&messageNum=759
+http://www.chaos.dk/sexriddle/s/e/x/e/c/s/l/
+http://www.chaos.dk/sexriddle/s/e/x/e/c/s/t/
+http://www.nissan.co.jp/RENAULT-DEALERS/PASSPORT/view.cgi/search/972959630--
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=6,29,20,36,32
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=7,29,20,36,32
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=27,29,20,36,32
+http://dada.linuxberg.com/gnomehtml/adnload/31471_2540.html
+http://augustasports.com/football99/college/box_50347.shtml
+http://augustasports.com/football99/college/box_50365.shtml
+http://augustasports.com/football99/college/box_50423.shtml
+http://www.linux.com/networking/network/enterprise/e-commerce/management/open_source/
+http://usol.pdacentral.com/winnt/preview/1946.html
+http://usol.pdacentral.com/winnt/preview/78287.html
+http://usol.pdacentral.com/winnt/preview/1338.html
+http://usol.pdacentral.com/winnt/preview/12860.html
+http://usol.pdacentral.com/winnt/preview/6920.html
+http://usol.pdacentral.com/winnt/preview/51381.html
+http://ring.htcn.ne.jp/pub/lang/perl/CPAN/authors/id/W/WO/?N=D
+http://grybrd.subportal.com/sn/Network_and_Internet/Text_Chat_Clients/index1.html
+http://www.gurlpages.com/lacej/part13.html
+http://ring.shibaura-it.ac.jp/archives/mac/info-mac/game/com/wolf/?D=A
+http://cgi.cnnsi.com/baseball/mlb/nl/gamelog/2000/10/07/mets_giants/
+http://my.egroups.com/messages/not_honyaku/236
+http://members.tripod.com/agran_gassendi/Countdown.htm
+http://www.tccomputers.com/cgi-bin/bp/1878637479/showcase/showcase.htm
+http://207.138.41.133/message/AikensTrivia/264
+http://207.138.41.133/message/AikensTrivia/276
+http://www.shumway.org/thetree/ped13583.htm
+http://link.fastpartner.com/do/session/600421/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/dk/
+http://link.fastpartner.com/do/session/600421/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/politiken.php
+http://link.fastpartner.com/do/session/600421/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/company/jobs.htm
+http://in.egroups.com/message/canada/856
+http://in.egroups.com/message/canada/883
+http://debian.tod.net/OpenBSD/src/lib/libssl/README.OPENBSD
+http://www.emerchandise.com/main/EMERCH/s.1M38gYrZ
+http://www.emerchandise.com/browse/TOYSTORY2/FIGURINE/b.FAVORITES%20COMICS%20ANIMFEAT%20TOYSTORY2/s.1M38gYrZ
+http://quotidiano.monrif.net/chan/cronaca_nazionale:410879.1:/1999/12/24
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=baignes&l=fr
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=baignas&l=fr
+http://www.egroups.com/message/swchicks-rpg/93
+http://usuarios.tripod.es/jlgolis/id142_l.htm
+http://www9.freeweb.ne.jp/shopping/nossy/baby/200-59.html
+http://www9.freeweb.ne.jp/shopping/nossy/baby/305-36.html
+http://ftp.tku.edu.tw/OS/NetBSD/NetBSD-1.3.2/alpha/binary/kernel/?D=A
+http://www-1.cisco.com/univercd/cc/td/doc/product/wanbu/82/access/fpmpmm12/fpmmappe.pdf
+http://pub17.ezboard.com/fartofnorrathfavoritepaintings.threadControl?topicID=56.topic
+http://itcareers.careercast.com/texis/it/itjs/+pwwBmew_D86eGrwwwqFqygdMpwDOeWXqqBcneWkjnwBneWkxqBOeWRlmmOtFqewyXwotoBwcaMwDwtnanmowcdt1naqconDBaGncwBodD5ropa5BGwBnton5amnVncdpaMwGAnBoDtanMwocaGn51MnaMFqryfHfREIDzmbwwwpBmFe-B-dehxwww5rmXmwwBrmeZpwww/morelike.html
+http://www.thestateofcolorado.com/aoubicycling.html
+http://www.freespeech.org/DISjak/disnews/maillist.html
+http://www.freespeech.org/DISjak/sport/schwimm/bestlist.html
+http://www.amigos.com/cgi-bin/w3com/pws/ffe/_MhIXE2wgPJZ1X047wqRwM-olUgaV3vI6fBPmDsoD0c26y7TrHjLUhhhTSIZ2PRmqLmBVyInWJLkLGkKScrdFyX1uyXCZhvaWFvbnSFioewAURJcXQC-hJE5KczVcMUiq3ncgKjQh7nynQEu662C
+http://m.home.cern.ch/m/mrashid/www/cuisine/cuisin13.htm
+http://m.home.cern.ch/m/mrashid/www/cuisine/cuisin28.htm
+http://www.dayoo.com/channel/stock/news/cjzh/09/0921/06.htm
+http://webcvs.kde.org/cgi-bin/cvsweb.cgi/KodeKnight/lib/Makefile.am?r1=1.3&sortby=rev
+http://www.fogdog.com/cedroID/ssd3040183315779/nav/products/featured_brands/12p/all/
+http://www.fogdog.com/cedroID/ssd3040183315779/nav/stores/baseball/
+http://www.fogdog.com/cedroID/ssd3040183315779/nav/stores/squash/
+http://www9.hmv.co.uk:5555/do/session/1347832/vsid/199/tid/199/cid/1061396/mid/1020/rid/1052/chid/1029/parser/yes/imref/eqqLmwlGltt5tkeHjskKZlkKrhlK/url/http://www.hmv.co.uk/hmv/newmenu.html
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=9,36,8
+http://www.arm.com/sitearchitek/support.ns4/html/cores_faq!OpenDocument&ExpandSection=24,36,8
+http://www.hig.se/(append,countdown,set,sqloutput,sqltable)/~jackson/roxen/
+http://ring.jec.ad.jp/archives/linux/kernel.org/kernel/people/mingo/raid-patches/raid-2.2.17-A0
+http://www.wsrn.com/apps/links/?s=BKIRF
+http://www.auto.ru/wwwboards/mercedes/0163/
+http://www.auto.ru/wwwboards/mercedes/0142/
+http://www.auto.ru/wwwboards/mercedes/0132/
+http://www.auto.ru/wwwboards/mercedes/0002/
+http://www.auto.ru/wwwboard/mercedes/0014/
+http://www.presa.spb.ru/newspapers/dp/arts/dp-178-art-12.html
+http://pub8.ezboard.com/fnirlcomcenterracetalk.showMessage?topicID=8.topic
+http://www.allhealth.com/pregnancy/labor/qa/0,3105,599,00.html
+http://www3.newstimes.com/archive99/sep0499/lce.htm
+http://jupiter.u-3mrs.fr/~msc41www/PSHTM/PS4330.HTM
+http://www.gpul.org/ftp/os/linux/cd-images/other/suse/dosutils/pfdisktc/
+http://platsbanken.amv.se/kap/text/88/001025,010050,240907,10,0107051488.shtml
+http://www.angel-bastel-zoo.de/detail/detail_811_3.htm
+http://members.nbci.com/cmeadows/gvi/3battn/3bgvicob.html
+http://www.chaos.dk/sexriddle/s/e/x/x/p/o/r/
+http://www.asiastockwatch.com/sg/Forum/ForumDetails/0,1819,561_1_2:15,00.html
+http://mysanantonio.sportshuddle.com/sports/football/health/advisors/workouts/huff12.asp
+http://mysanantonio.sportshuddle.com/sports/football/health/advisors/workouts/huff1.asp
+http://ring.data-hotel.net/pub/linux/debian/debian-jp/dists/unstable/contrib/source/math/
+http://www.tel.de/s/I/IFG.htm
+http://www.tel.de/s/I/IFHV.htm
+http://chat.hr-online.de/fs/buecherbuecher/buch/kerr.html
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/FreeBSD/branches/2.2-stable/src/sys/dev/
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/FreeBSD/branches/2.2-stable/src/sys/nfs/
+http://www.malaysia.net/lists/sangkancil/1998-12/msg01044.html
+http://biblio.cesga.es:81/search*gag/aFerreiro,+Martín/aferreiro+martin/-5,1,1,E/frameset&F=aferreiro+manuel&4,,4
+http://www.ferien-immobilien.de/DominikanischeRep/verkauf/Exklusiv-IB/Startseite/Gemeinsam/MarketingStrategie/Exklusiv-IB/Startseite/Gemeinsam/erreichenPartner/email3d.htm
+http://www.ferien-immobilien.de/DominikanischeRep/verkauf/Exklusiv-IB/Startseite/Gemeinsam/MarketingStrategie/Exklusiv-IB/Startseite/Gemeinsam/IIMMitglieder.htm
+http://chunma.yeungnam.ac.kr/~home/home13/msgboard/msgboard.cgi?cmd=list&stat=start
+http://link.fastpartner.com/do/session/600413/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/local/redirect.php
+http://www.eyeball.symantec.co.uk/region/se/sepress/20000418111220.htm
+http://www.rezel.enst.fr/ftp/linux/distributions/debian/CD-1/dists/frozen/main/binary-all/news/?D=A
+http://www.latimes.com/editions/orange/20001028/p000103070_ome0014.html
+http://www.chaos.dk/sexriddle/j/c/u/t/
+http://cometweb01.comet.co.uk/do!session=132050&vsid=694&tid=20&cid=37044&mid=1000&rid=1060&chid=1711&url=eqqLmwlGltt5tkkHbqpLZXmLbkZHljlKaltLkilLXalKfkaLbukKeqjLi1
+http://perso.wanadoo.fr/jm.michaud/electronique_index.htm
+http://dk.egroups.com/messages/Gunsmithing/1446?viscount=-30
+http://www-d0.fnal.gov/d0dist/dist/releases/psim01.02.00/pmcs_met/VERSION
+http://mirror.cc.utsunomiya-u.ac.jp/mirror/CPAN/authors/id/P/PM/?N=D
+http://www.movieguide.com/pressroom/events/amcinema96/award_amcinema965.html
+http://www.sda.t-online.de/reise/index/aktrex201.htm
+http://dic.empas.com/show.tsp/SMASHER
+http://www.3w-posters.com/tomlinson.htm
+http://www.3w-posters.com/tuttle.htm
+http://www.xmission.com/(art,dots,ftp,geek,misc,music,caffiene,art,toys,dots,edge,misc,shopping,ftp,places,privacy,geek,cuseeme,apocalypse,people,stuffiuse,places,stuffiuse)/~bill/links.html
+http://www.osiris.978.org/~brianr/mirrors/olga/main/g/gangi_mike/?N=D
+http://www.best.com/~workpage/g/57/300g.htm
+http://www.cyd.com.cn/zqb/19991109/GB/9677^Q212.htm
+http://edu.news.chinaren.com/161/10112157.shtml
+http://users.info.unicaen.fr/~jjousset/perso/html/entrainperso/page.html
+http://www.wordtheque.com/owa-wt/wordtheque_dba.w.t?w=destituiscono&l=it
+http://www.uk.multimap.com/p/browse.cgi?pc=B771AA&cat=loc
+http://www.auxerre.culture.gouv.fr/culture/actualites/conferen/bonneuil-duffour.htm
+http://www.auxerre.culture.gouv.fr/culture/actualites/communiq/mediaBonneuil-Duffour.htm
+http://www.ancientsites.com/~Ftagn_Sithathor
+http://biblioteca.upv.es/bib/doc/doc_fisbd/86/127697//C/1820009/0////25/N/MLTPAI
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus53930/eus169714/eus169722/eus542057/eus542410/
+http://www.kfi640.com/shared/mod_perl/looksmart/looksmart/eus1/eus53930/eus169714/eus169722/eus542057/eus542106/
+http://pub26.ezboard.com/fathanasiafrm1.showMessage?topicID=113.topic
+http://www.sourceforge.net/softwaremap/trove_list.php?form_cat=186&discrim=186,226,251
+http://www.linux.com/networking/network/community/future/news/services/
+http://www.linux.com/networking/network/community/future/news/operating_system/
+http://www.linux.com/networking/network/community/future/news/?kw_offset=50
+http://www.linux.com/networking/network/development/unix/open_source/commercial/
+http://ring.shibaura-it.ac.jp/pub/misc/ham/funet/packet/00Index
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+20,0+17,0-(
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=3,0+20,0+17,0-9,1
+http://www.vorlesungen.uni-osnabrueck.de/informatik/c98/aufgaben/code/aufg50/ProcessInfo/ProcessInfo.bundle/Resources/?D=A
+http://wap.jamba.de/KNet/_KNet-xOQ8j1-xHd-13fk7/showInfo-special1.de/node.0/cde7f1uou
+http://nx5.salon.com/books/col/keil/2000/05/02/too_old/index2.html
+http://pcmagazin.de/news/artikel/1999/04/29016-wf.htm
+http://www.redrival.com/rgrascher/
+http://208.184.36.144/cwi/subscriptions/privacy_policy/0,1323,NAV47-68-85-98_STO52856,00.html
+http://www.staroriental.net/nav/soeg_c/ihf,aol,n12,1,TVB香港小姐2000.html
+http://www.staroriental.net/nav/soeg_c/ihf,aol,n12,6,TVB香港小姐2000.html
+http://166.111.104.242/uscode/30/541b.head.html
+http://stocks.tradingcharts.com/stocks/charts/fwrx/dchart.php?S=fwrx&T=d
+http://genforum.genealogy.com/cgi-bin/print.cgi?plemmons::57.html
+http://www.geocities.co.jp/Hollywood-Studio/3572/geodiary.html
+http://www.luf.org/~jwills/LufWiki/view.cgi/Tech/
+http://www.doc.ic.ac.uk/lab/labsrc_area/firstyear/submissions/cs1/labs/Ex01/arr00/?M=A
+http://citeseer.nj.nec.com/ps/332798
+http://citeseer.nj.nec.com/addcomment/332798
+http://citeseer.nj.nec.com/cidcontext/4075337
+http://ftp.te.fcu.edu.tw/cpatch/helputil/answerworks/?M=A
+http://ftp.te.fcu.edu.tw/cpatch/helputil/answerworks/d2hpro4ethanks.htm
+http://link.fastpartner.com/do/session/600423/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/join/programmes/mondosoft.php
+http://link.fastpartner.com/do/session/600423/vsid/2870/tid/2870/cid/136966/mid/1060/rid/1926/chid/2870/parser/yes/imref/eqqLmwlGltt5tkcHXpqLmXoLqkbLokZHljlK/url/http://www.fastpartner.com/company/
+http://library.cuhk.edu.hk/search*chi/dEnglish+language+--+Clauses./denglish+language+clauses/7,-1,0,B/browse
+http://www04.u-page.so-net.ne.jp/yd5/yuma/top/home.html
+http://www.smartshop.com/cgi-bin/main.cgi?c=1905&ssa=26
+http://www.smartshop.com/cgi-bin/main.cgi?c=1943&ssa=26
+http://se.egroups.com/dir/Business/Management/Project_and_Program_Management/Training?st=10
+http://www.hpl.online.sh.cn/WENXUE/tongsuo/wuxia/gulong/xueying/_vti_cnf/hs~001.htm
+http://news.medscape.com/adis/PEON/public/archive/1999/toc-0221.html
+http://news.medscape.com/adis/PEON/public/archive/1999/toc-0197.html
+http://tucows.hongkong.com/winnt/adnload/4256_29575.html
+http://www.etang.com/local/shenzhen/shopping/shop/0318mans02.htm
+http://www.etang.com/local/shenzhen/shopping/shop/0319foll.htm
+http://www.etang.com/local/shenzhen/shopping/shop/0319jialjs.htm
+http://www.staffan.addr.com/cgi-bin/woda/icq.cgi/Edit?_id=2a5e
+http://www.linux.com/networking/network/operating_system/kernel/distro/?printable=yes
+http://www.linux.com/networking/network/operating_system/kernel/distro/commercial/
+http://www.linux.com/networking/network/operating_system/kernel/distro/white_dwarf/
+http://dir.dig.co.kr/parents/textbook/20301030101.html
+http://www.affiliate.hpstore.hp.co.uk/do/session/380895/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/fr/CASHBACK/entry.asp
+http://ccuftp.ccu.edu.tw/pub1/chinese/linux/clinux/c1/?N=D
+http://cgi.cnnsi.com/basketball/college/women/boxscores/2000/03/07/cbp_rak
+http://www.adcentral.com/cgi-bin/w3com/pws/adsites/5BRIztXQWHs_H_kyq8hmyrHpmCLb5RfQ09-DcKP1B6mZibAiJTLy1w3iiFS15WkFiCHMuMtjNK5FtHPDtZ7rxwckgoj0GaicnAZxhJLQ3zWaLoNUq8eTpG7wCxe3TWAb66jt
+http://www.varsity.cam.ac.uk/varsity/live/2000/listings.nsf/44bbd1c2a6305036802567fb0081c76b!OpenView&Grid=1&Date=1999-04-06
+http://students.lsu.edu/students/main.nsf/Pages/CSISAJ1!OpenDocument&ExpandSection=15,21,5,4
+http://students.lsu.edu/students/main.nsf/Pages/CSISAJ1!OpenDocument&ExpandSection=18,21,5,4
+http://www.getplus.co.jp/category/catinet.homepagew2.asp
+http://www.motorradversand.de/cgi-bin/antrieb/kettensatz_komplett_suzuki/RK82K872/beurteilung.htm
+http://202.99.23.245/zdxw/13/20000328/200003281335.html
+http://proxy.tiscover.com/1Root/Kontinent/6/Staat/7/Bundesland/22/Ort/120/Infrastruktur/299270/Homepage/homepage...1.html
+http://www.jamba.de/KNet/_KNet-RcO8j1-cHd-13eq4/browse.de/node.0/cdel3j591
+http://www.jamba.de/KNet/_KNet-RcO8j1-cHd-13eqf/showInfo-wir.de/node.0/cde7f1uou
+http://pub6.ezboard.com/fcrazyassmb47001generalshiznit.threadControl?topicID=685.topic
+http://perso.infonie.fr/imagestld/photojyg5/images/alive5/?D=A
+http://members.spree.com/sip1/take5planet/videos.htm
+http://ae.boston.com/haiku/vote?haiku_id=4484
+http://adex3.flycast.com/server/socket/127.0.0.1:2800/click/OnlineCitiesSM/OnlineCitiesInteractiveCityGuides/bd129601192
+http://www.digitaldrucke.de/(aktuell,computer,marktplatz,shopping,verkehr)/suche/uebersicht.html
+http://www.digitaldrucke.de/(aktuell,computer,hersteller,marktplatz,verkehr)/_fort/html/themen/computer/hard/herstell.htm
+http://bbs.kcm.co.kr/NetBBS/Bbs.dll/kcmmission/lst/qqeq/1/zka/B2-kD2-l/qqo/004A
+http://bbs.kcm.co.kr/NetBBS/Bbs.dll/kcmmission/rcm/zka/B2-kD2-l/qqo/004A/qqatt/^
+http://ftp.eq.uc.pt/software/lang/tcl/ftp.scriptics.com/nightly-cvs/tk/library/?S=A
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-141.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-165.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-241.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-239.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-150.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-44.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-12.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-4.html
+http://www.infomedia.it/cgi-bin/lwgate/JAVA-IT/archives/java-it.log.9704/Subject/article-27.html
+http://yp.gates96.com/5/88/50/47.html
+http://yp.gates96.com/5/88/50/94.html
+http://yp.gates96.com/5/88/51/20.html
+http://yp.gates96.com/5/88/52/11.html
+http://yp.gates96.com/5/88/52/26.html
+http://yp.gates96.com/5/88/53/86.html
+http://yp.gates96.com/5/88/53/99.html
+http://yp.gates96.com/5/88/54/48.html
+http://yp.gates96.com/5/88/55/29.html
+http://yp.gates96.com/5/88/55/31.html
+http://yp.gates96.com/5/88/55/41.html
+http://yp.gates96.com/5/88/55/62.html
+http://yp.gates96.com/5/88/55/77.html
+http://yp.gates96.com/5/88/56/62.html
+http://yp.gates96.com/5/88/56/93.html
+http://yp.gates96.com/5/88/59/61.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/2090.918081010.176207534.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/1123.920140263.921690399.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/19089.918231855.610311830.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/16059.919279797.801472096.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/24001.919906575.275033199.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/14848.918256026.548154577.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/10783.918253985.660158806.html
+http://ceu.fi.udc.es:8000/mc/maillist/99-02/27581.918670666.1055622954.html
+http://www.activedayton.com/sportsticker/stnd/current/BBH.STAT.FSLKISLTRT.html
+http://www.teenplatinum.com/barelylegal/japanesewomen/boots/petitesmall/explodingblowjob/eunuchbodyshots/homosexualass.html
+http://books.hyperlink.co.uk/xt1/Methodology_for_the_Harmonization_of_European_Occupational_Accident_Statistics/9282641007
+http://www.jpc-music.com/2563637.htm
+http://www.jpc-music.com/8168850.htm
+http://www.expage.com/sugarshackstablesapryl
+http://www.egroups.com/messages/svlug/31105
+http://www.chinawolf.com/~warson/japan/chichuan/bride/mldxn/009.htm
+http://www.chinawolf.com/~warson/japan/chichuan/bride/mldxn/011.htm
+http://yp.gates96.com/11/78/70/19.html
+http://yp.gates96.com/11/78/70/95.html
+http://yp.gates96.com/11/78/71/64.html
+http://yp.gates96.com/11/78/71/65.html
+http://yp.gates96.com/11/78/72/30.html
+http://yp.gates96.com/11/78/73/35.html
+http://yp.gates96.com/11/78/74/0.html
+http://yp.gates96.com/11/78/75/58.html
+http://yp.gates96.com/11/78/76/75.html
+http://yp.gates96.com/11/78/77/36.html
+http://yp.gates96.com/11/78/77/64.html
+http://yp.gates96.com/11/78/78/20.html
+http://yp.gates96.com/11/78/78/33.html
+http://yp.gates96.com/11/78/78/70.html
+http://yp.gates96.com/11/78/78/93.html
+http://yp.gates96.com/11/78/79/3.html
+http://yp.gates96.com/11/78/79/50.html
+http://ben.aspads.net/ex/c/190/649604396
+http://www.lifl.fr/PRIVATE/Manuals/java/jdk1.2/docs/api/java/applet/class-use/AudioClip.html
+http://dic.empas.com/show.tsp/?q=cea&f=B
+http://beautifulthemes.subportal.com/sn/Utilities/Disk_Maintenance_and_Repair_Utilities/5294.html
+http://ustlib.ust.hk/search*chi/anational+bureau+of+economic+research/anational+bureau+of+economic+research/-5,-1,0,E/frameset&F=anational+bureau+of+asian+and+soviet+research+u+s&1,,0
+http://www.canlii.org/ca/regl/dors99-120/art5.html
+http://www.canlii.org/ca/regl/dors99-120/partie144284.html
+http://www.incestpornstories.com/freshmanteen/eggbirth-canal/loverdrag-queen/birth-canalfull-term/stomachvagina.html
+http://www.fashion-j.com/bs/013/013/19.html
+http://www.fjtcm.edu.cn/Fujian_w/news/fjgsb/990311t/1-3.htm
+http://www.kaos.dk/sex-riddle/k/a/k/i/s/z/r/d/
+http://www.kaos.dk/sex-riddle/k/a/k/i/s/z/r/f/
+http://www.tccomputers.com/cgi-bin/bp/41291345/products/specials/mbbundle.htm
+http://www.tccomputers.com/cgi-bin/bp/41291345/services/insight.htm
+http://www.tccomputers.com/cgi-bin/bp/41291345/products/batterybackups/batterybackups.htm
+http://cartografia.comune.modena.it/Ril_Whip/menuogg/001-100/ME0068c.htm
+http://library.bangor.ac.uk/search/cWS+5+V196a+2000/cws++++5+v196+a+2000/7,-1,0,B/frameset&F=cws+++21+e84+1989&5,,12
+http://mindit.netmind.com/proxy/http://www.exposure.aust.com/~promote1/auspalaeo/tectonix/tect1.htm
+http://ftp.fi.debian.org/debian/dists/unstable/non-free/binary-i386/shells/?S=A
+http://excite.de.netscape.com/unterhaltung/katalog/19344
+http://www.symatrixinc.com/website/website.nsf/0/3e40df86fb357cd5882568720079613f!OpenDocument&ExpandSection=25,20,21,29
+http://www.burstnet.com/ads/ad7826a-map.cgi/1708189811
+http://dic.empas.com/show.tsp/?s=b&q=CONSIDERABLE
+http://www.kaos.dk/sex-riddle/k/a/k/i/p/g/t/c/
+http://www.kaos.dk/sex-riddle/k/a/k/i/p/g/t/h/
+http://www.kaos.dk/sex-riddle/k/a/k/i/p/g/t/n/
+http://www.kaos.dk/sex-riddle/k/a/k/i/p/g/t/x/
+http://www.cbe21.com.cn/xueke/dili/jiaoxuezs/ziliaojn/tupianhc/i0602.htm
+http://babycenter.netscape.com/bbs/3788/thread530/message9.html
+http://polygraph.ircache.net:8181/http_-2www.harborbay.com/home/webstuff/companyprofile.htm
+http://dante.bdp.it/cgi-bin/poseidon_v2.0/reflect/poseidon/disc/bibl-uno/512098188/threadconfig
+http://dante.bdp.it/cgi-bin/poseidon_v2.0/reflect/poseidon/disc/bibl-uno/512098188/newconfig
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=5,1,16,25,13
+http://www2.hgo.se/Kurskatalogen.nsf/a49e2126c83c4922412566f60052f831/f24cc45affc890eec12565d80055e0b9!OpenDocument&ExpandSection=28,1,16,25,13
+http://ftp.sunet.se/pub/lang/perl/CPAN/authors/id/R/RH/?D=A
+http://www.geocities.co.jp/SilkRoad/1618/nixxki/010799.html
+http://genforum.genealogy.com/cgi-genforum/forums/americanrev.cgi?4444
+http://in.egroups.com/message/djgppgames/358
+http://freehost.crazyhost.com/teengallery/apbh/panty.html
+http://buffy.acmecity.com/xander/366/EDpt2.htm
+http://www.tccomputers.com/cgi-bin/bp/505218695/promotional/deals.htm
+http://www.tccomputers.com/cgi-bin/bp/505218695/products/cooling/cooling.htm
+http://www.tccomputers.com/cgi-bin/bp/505218695/products/dvds/dvds.htm
+http://www.tccomputers.com/cgi-bin/bp/505218695/products/mice/mice.htm
+http://www.tccomputers.com/cgi-bin/bp/505218695/services/register.htm
+http://www.foxsports.com/nba/scores/2000/000129_playbyplay_clewas.sml
+http://pub1.ezboard.com/fcellofuncellistsbynightsemiprooramateur.showAddReplyScreenFromWeb?topicID=513.topic&index=9
+http://yp.gates96.com/0/22/30/81.html
+http://yp.gates96.com/0/22/31/89.html
+http://yp.gates96.com/0/22/32/1.html
+http://yp.gates96.com/0/22/32/12.html
+http://yp.gates96.com/0/22/32/48.html
+http://yp.gates96.com/0/22/32/78.html
+http://yp.gates96.com/0/22/34/48.html
+http://yp.gates96.com/0/22/34/75.html
+http://yp.gates96.com/0/22/34/85.html
+http://yp.gates96.com/0/22/35/38.html
+http://yp.gates96.com/0/22/35/73.html
+http://yp.gates96.com/0/22/36/40.html
+http://yp.gates96.com/0/22/36/92.html
+http://yp.gates96.com/0/22/37/0.html
+http://yp.gates96.com/0/22/37/61.html
+http://yp.gates96.com/0/22/37/96.html
+http://yp.gates96.com/0/22/39/13.html
+http://yp.gates96.com/0/22/39/94.html
+http://www.incestpornstories.com/underageflashing/plus-sizereal-size/beautiesasian/purpleanal-sex/maledomfantasy/high-schoolpretty/cherrybest-friends.html
+http://variety.studiostore.com/browse/ELMOINGROU/TOY/s.2vzELAA2
+http://members.tripod.lycos.nl/BOGAERT/off2.htm
+http://www.eveclub.com/cgi-bin/eveclub.front/972959555004/Catalog/2000019
+http://genforum.genealogy.com/cgi-genforum/forums/noel.cgi?662
+http://www.affiliate.hpstore.hp.co.uk/do/session/380888/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-expo.com/FR/REGISTRATION/entry.asp
+http://yp.gates96.com/5/88/10/35.html
+http://yp.gates96.com/5/88/10/44.html
+http://yp.gates96.com/5/88/11/36.html
+http://yp.gates96.com/5/88/13/1.html
+http://yp.gates96.com/5/88/13/23.html
+http://yp.gates96.com/5/88/13/77.html
+http://yp.gates96.com/5/88/13/86.html
+http://yp.gates96.com/5/88/14/47.html
+http://yp.gates96.com/5/88/14/83.html
+http://yp.gates96.com/5/88/15/11.html
+http://yp.gates96.com/5/88/16/43.html
+http://yp.gates96.com/5/88/16/86.html
+http://yp.gates96.com/5/88/17/6.html
+http://yp.gates96.com/5/88/17/12.html
+http://yp.gates96.com/5/88/17/73.html
+http://yp.gates96.com/5/88/18/1.html
+http://yp.gates96.com/5/88/18/38.html
+http://yp.gates96.com/5/88/18/47.html
+http://yp.gates96.com/5/88/18/79.html
+http://newnova.tucows.com/winme/adnload/138430_29763.html
+http://yp.gates96.com/8/43/60/48.html
+http://yp.gates96.com/8/43/60/55.html
+http://yp.gates96.com/8/43/61/22.html
+http://yp.gates96.com/8/43/62/40.html
+http://yp.gates96.com/8/43/62/52.html
+http://yp.gates96.com/8/43/62/94.html
+http://yp.gates96.com/8/43/63/79.html
+http://yp.gates96.com/8/43/64/73.html
+http://yp.gates96.com/8/43/64/80.html
+http://yp.gates96.com/8/43/66/26.html
+http://yp.gates96.com/8/43/66/70.html
+http://yp.gates96.com/8/43/67/16.html
+http://yp.gates96.com/8/43/68/11.html
+http://yp.gates96.com/8/43/69/74.html
+http://www.fogdog.com/cedroID/ssd3040183354487/nav/products/winter_sports/1d/mid-weight_bottoms/
+http://www.fogdog.com/cedroID/ssd3040183354487/nav/products/winter_sports/1r/avalanche_safety/
+http://www.fogdog.com/cedroID/ssd3040183354487/boutique/marmot/
+http://www.affiliate.hpstore.hp.co.uk/do/session/380898/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.france.hp.com/Main/acheterhp/
+http://www.nd.edu/~dtl/cheg258/unix/unixhelp1.2/Pages/tasks_rm1.1.1.html
+http://se.egroups.com/post/cyclesi?act=reply&messageNum=137
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=22,0+18,0+22,0+9,4
+http://cidade.subportal.com/sn/Games/Action_Games/8120.html
+http://wiem.onet.pl/wiem/0115d9-rp1.html
+http://www.ferien-immobilien.de/detmold/Verkauf/Gemeinsam/Inserieren/Allgemeine-IB/Startseite/Gemeinsam/MarketingStrategie/Gemeinsam/erreichen.htm
+http://retailer.gocollect.com/do/session/1912826/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/product_display/products/product_lines.asp
+http://retailer.gocollect.com/do/session/1912826/vsid/2092/tid/2092/cid/569192/mid/1540/rid/1980/chid/2085/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLl0/url/http://www.gocollect.com/halloween/halloween.asp
+http://www.iabusnet.org:90/forums/aca-1/dispatch.exe/survey/listUnseen/fol/100001/20,0/2542788
+http://www.dispatch.co.za/1998/06/25/easterncape/BISHO.HTM
+http://pub24.ezboard.com/fsosatanfrm1.showMessage?topicID=48.topic
+http://ftpsearch.belnet.be/ftp/packages/Linux-docs/howto/other-formats/INDEX
+http://www.crosswinds.net/~mluotto/noframe/feedback/form2.htm
+http://www.schoolweb.nl/studentensteden/Rotterdam/SVRGaudium/info.cfm
+http://www.shopworks.com/index.cfm/action/directory/userid/0000BD9A-2F67-19FE-9038010B0A0ADCF2
+http://findmail.com/messages/masterhuen/802
+http://www.t-dialin.net/navkopf/service/websvkaa.htm
+http://gallery2.simplenet.com/lobby/main/videocaps/ebaral/bigvalley/ebbva19.htm
+http://gallery2.simplenet.com/lobby/main/videocaps/ebaral/bigvalley/ebbva31.htm
+http://www.outpersonals.com/cgi-bin/w3com/pws/out/44hIVEhY5ZrKWoMKb0FtjCXhqcpntVLId5WTaJdeZmonn200jiiswYnK2vORJkjpm-x643ZCeLyy6kJnIAKa5rNx_42I13Ud9N03G9xPob7Hoci92HJhOlbEv4WsB85Au-cLXFlIHPd866jS
+http://ftp.debian.org/debian/dists/Debian2.2r0/main/binary-all/editors/?D=A
+http://ftp1.support.compaq.com/patches/public/Digital_UNIX/v3.2g/mailworks/2.0/?S=A
+http://www.digitalhearth.com/Recipes/World_Cuisines/South_Asian/Indian/index5.html
+http://ftp.gigabell.net/pub/Stormix/dists/rain/main/?M=A
+http://www.stas.net/1/theparamanor/apartment.htm
+http://www.netcom.com/~gfenzil/free.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/misc/misc/thoughts/math/legendes/pages_new.html
+http://www.eleves.ens.fr:8080/home/madore/index.shtml.fr/lit/misc/misc/thoughts/math/legendes/misc/orders_mag.html
+http://dandini.cranfield.ac.uk/vl=-39658948/cl=171/nw=1/rpsv/catchword/routledg/13606719/contp1-1.htm
+http://genforum.genealogy.com/cgi-genforum/forums/pugsley.cgi?81
+http://www.users.globalnet.co.uk/~mmayes/pages/cross.htm
+http://dic.empas.com/show.tsp/?s=d&q=%C4%A7%BD%C7
+http://www.jamba.de/KNet/_KNet-rHP8j1-lHd-13f16/browse.de/node.0/cde7f1uou
+http://library.bangor.ac.uk/search/aHolmgren,+Nils+Fritiof,+1877-1954/aholmgren+nils+fritiof+1877+1954/7,1,1,B/marc&F=aholmlund+chris&1,1,
+http://www.spiral.at/Katalog/Artikel/0181030/
+http://www.spiral.at/Katalog/Artikel/0181242/
+http://www.generation-formation.fr/navig.htm---o21zAo06L2o0Ol9A074fo6VJGezMkEeIgI8eOkn2ApvFFo6Td4ezyr6feZJPdspt6dsSAtdsNhJdspt6dsrvrdjlhkfbz.htm
+http://www.nextmedia.com.hk/netgirl/sport/images/chelsea/ch-30.htm
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,5-9,0-15,0-17,0
+http://www.realize.com/i82.htm,qt=35665aa9=645a273f-1a-31fa805-1-0-0-0--
+http://www.eud.com/1998/06/21/21121AA.shtml
+http://www.eud.com/1998/06/21/21414AA.shtml
+http://www.eud.com/1998/06/21/21434AA.shtml
+http://chemtech.chinamarket.com.cn/E/Showdetail_company/5569.html
+http://chemtech.chinamarket.com.cn/E/Showdetail_company/1095.html
+http://www.ferien-immobilien.de/baden-wuertemberg/konstanz/Verkauf/Private-IB/Allgemeine-IB/Startseite/Gemeinsam/Immolink/Gemeinsam/MarketingStrategie/inhalt.htm
+http://www.ferien-immobilien.de/baden-wuertemberg/konstanz/Verkauf/Private-IB/Allgemeine-IB/Startseite/Gemeinsam/Immolink/Gemeinsam/versicherungen/gebaeude/deckungsumfang.htm
+http://retailer.gocollect.com/do/session/1912886/vsid/2312/tid/2312/cid/573127/mid/1020/rid/2147/chid/2210/parser/yes/imtarget/ImMainFrame/imref/eqqLmwlGltt5tkdHlZlLiibLZqkKZljLlZe5ofpLqjXLpl4/url/http://www.gocollect.com/company_info/terms_and_conditions.asp
+http://eagle.synet.edu.cn/mirror/www.tuc.org.uk/
+http://eagle.synet.edu.cn/mirror/dcarolco.lanminds.com/home/
+http://www.chez.com/carabanon/Pagecabanon.htm
+http://poetry.lezlisoft.com/kikelet/spiritualitas/lelekszinpad.shtml
+http://lateline.muzi.net/ll/fanti/81373.shtml
+http://www.egroups.com/message/vacuum/1140
+http://www.egroups.com/message/vacuum/1153
+http://www.egroups.com/message/vacuum/1157
+http://no.egroups.com/message/-1friendsliste/401
+http://no.egroups.com/message/-1friendsliste/411
+http://pike-community.org/(base=/forums/show.html,explode=146,forum=7,t=972959520359311)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,explode=512,forum=7,t=972959520359311)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=413,t=972959520359311)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=423,t=972959520359311)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=761,t=972959520359311)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=777,t=972959520359311)/forums/show.html
+http://pike-community.org/(base=/forums/show.html,forum=7,show=831,t=972959520359311)/forums/show.html
+http://astro1.cnu.ac.kr/NetBBS/Bbs.dll/bulletin/qry/zka/B2-kC2Jo/qqa/r
+http://www.gbnf.com/genealog2/brothers/html/d0049/I1011.HTM
+http://www.intellicast.com/Golf/World/UnitedStates/Midwest/Ohio/Zanesville/CurrentWinds/
+http://www.nada.kth.se/systemgruppen/docs/javadoc/jdk-1.3/docs/api/javax/swing/text/class-use/TabSet.html
+http://www.my-cat.de/hunde/zucht/file24.htm
+http://194.128.65.4/pa/cm199899/cmwib/wb981128/edms.htm
+http://www.gutenberg2000.de/sagen/austria/tirol/adasbub.htm
+http://www1.onelist.com/message/osaki/22
+http://www.highwired.net/ESchoolDrive/JumpPage/1,5565,25179-46,00.html
+http://pcmagazin.de/download/library/deADW-wc.htm
+http://www.affiliate.hpstore.hp.co.uk/do/session/380873/vsid/1148/tid/1148/cid/74115/mid/1001/rid/1003/chid/1050/parser/yes/imref/eqqLmwlGltt5tkeHmjbHumlLkZl5jlcHol4/url/http://www.hp-creativeworld.com/creativeworld.asp?lang=f
+http://cscns.csc.gifu.gifu.jp/pushcorn-kit/tanigumi/paged/0300214020000147.html
+http://cscns.csc.gifu.gifu.jp/pushcorn-kit/tanigumi/paged/0300214020002363.html
+http://cscns.csc.gifu.gifu.jp/pushcorn-kit/tanigumi/paged/0300214020001617.html
+http://cpan.nitco.com/modules/by-module/String/MLEHMANN/?N=D
+http://www.rge.com/pub/tex/language/ethiopia/ethtex/lqh_fonts/
+http://130.158.208.53/WWW/PDB2/PCD4711/htmls/41.html
+http://www.thisislancashire.co.uk/lancashire/archive/1997/05/15/LEIGH0VQ.html
+http://www.thisislancashire.co.uk/lancashire/archive/1997/05/15/LEIGH10VQ.html
+http://southwind.tukids.tucows.com/mac/parents/adnload/72310_26093.html
+http://ftp1.support.compaq.com/public/vms/vax/v7.2/dsnlink/2.2/dsnlinke022.a-dcx_vaxexe
+http://wynnsystems.com/i.I_5aGd/search/listCompanies.html
+http://www.pobladores.com/territorios/juegos/Zhief_Fantasy_World/info
+http://www.pobladores.com/territorios/juegos/Zhief_Fantasy_World/pagina/9
+http://www.aebius.com/rpm2html/contrib/libc5/i386/usr_sbin_Tree.html
+http://info.rutgers.edu/cgi-bin/RUInfo/TallyStats/name=WebRequest&exec=buildlimit&limit=9,0-22,0-0,0-9,4
+http://polygraph.ircache.net:8181/services/define/http_-2www.fastcounter.com/noframes/specials.htm
+http://polygraph.ircache.net:8181/services/define/http_-2www.fastcounter.com/noframes/sitebuilder.htm
+http://www.jamba.nl/KNet/_KNet-7YT8j1-nD4-pxan/browse.nl/node.0/cdmvcam7k
+http://www.outdoorwire.com/content/lists/jeepoffroad/200010/msg00234.html?{LoadingFrameset}
+http://www-uk8.cricket.org/link_to_database/ARCHIVE/2000-01/ENG_IN_PAK/ENG_IN_PAK_OCT-DEC2000_ENG-SQUAD.html
+http://www-uk8.cricket.org/link_to_database/ARCHIVE/CRICKET_NEWS/2000/OCT/057670_CI_25OCT2000.html
+http://www.chaos.dk/sexriddle/c/c/e/k/
+http://ben.aspads.net/ex/c/190/608504034
+http://forum.rai.it/aca-finestre/dispatch.cgi/FORUM/folderFrame/100001/0/alpha/2040958
+http://www.teacherformation.org/html/od/facilitators.cfm/task1,help/discussion_id,2/xid,5237/yid,3113916
+http://www.mirror.edu.cn/res/www.isoc.org/inet98/proceedings/7d/
+http://www.sumthin.nu/archives/bugtraq/Nov_1998/msg00058.html
+http://proxy.tiscover.com/1Root/Kontinent/6/Staat/7/Bundesland/20/Regionen/regionen_az...2.html
+http://www.streetprices.com/products/sortdetailbylowprice/SP142252.html
+http://www.streetprices.com/products/sortdetailby1day/SP142252.html
+http://pp3.shef.ac.uk:4040/form/path=1,+%3A%22countryName%3DGB%40organizationName%3DUniversity+of+Sheffield%40organizationalUnitName%3DFinance%40commonName%3DS+Green%22
+http://travelocity-dest.excite.com/DestGuides/0,1840,TRAVELOCITY|2662|3|1|239114,00.html
+http://www.maastrek.de/maas/4a73999ddfd2d79be20a/1/0/5
+http://aol.weather.com/weather/cities/us_pa_fairview.html
+http://aol.weather.com/weather/cities/us_pa_fort_loudon.html
+http://javatest.a-net.nl/servlet/pedit.Main/http://www.tigerden.com/junkmail/compladdr.html
+http://ftp.dti.ad.jp/pub/windows/forest/file/backup/press1/?M=A
+http://www.contest.edu.tw/85/endshow/5/baseball/news/97feb/0225t_1c.html
+http://www.contest.edu.tw/85/endshow/5/baseball/news/97feb/0225c_3c.html
+http://www.contest.edu.tw/85/endshow/5/baseball/news/97feb/0217c_2c.html
+http://www.contest.edu.tw/85/endshow/5/baseball/news/97feb/0216c_play.html
+http://www.contest.edu.tw/85/endshow/5/baseball/news/97feb/0214co_1c.html
+http://preview.egroups.com/messages/decoratingplusnews/6
+http://astro1.chungnam.ac.kr/NetBBS/Bbs.dll/bulletin/rcm/zka/B2-kC23n/qqatt/^ \ No newline at end of file
diff --git a/snappy-1.1.0/testdata/xargs.1 b/snappy-1.1.0/testdata/xargs.1
new file mode 100644
index 0000000..a9f39a7
--- /dev/null
+++ b/snappy-1.1.0/testdata/xargs.1
@@ -0,0 +1,112 @@
+.TH XARGS 1L \" -*- nroff -*-
+.SH NAME
+xargs \- build and execute command lines from standard input
+.SH SYNOPSIS
+.B xargs
+[\-0prtx] [\-e[eof-str]] [\-i[replace-str]] [\-l[max-lines]]
+[\-n max-args] [\-s max-chars] [\-P max-procs] [\-\-null] [\-\-eof[=eof-str]]
+[\-\-replace[=replace-str]] [\-\-max-lines[=max-lines]] [\-\-interactive]
+[\-\-max-chars=max-chars] [\-\-verbose] [\-\-exit] [\-\-max-procs=max-procs]
+[\-\-max-args=max-args] [\-\-no-run-if-empty] [\-\-version] [\-\-help]
+[command [initial-arguments]]
+.SH DESCRIPTION
+This manual page
+documents the GNU version of
+.BR xargs .
+.B xargs
+reads arguments from the standard input, delimited by blanks (which can be
+protected with double or single quotes or a backslash) or newlines,
+and executes the
+.I command
+(default is /bin/echo) one or more times with any
+.I initial-arguments
+followed by arguments read from standard input. Blank lines on the
+standard input are ignored.
+.P
+.B xargs
+exits with the following status:
+.nf
+0 if it succeeds
+123 if any invocation of the command exited with status 1-125
+124 if the command exited with status 255
+125 if the command is killed by a signal
+126 if the command cannot be run
+127 if the command is not found
+1 if some other error occurred.
+.fi
+.SS OPTIONS
+.TP
+.I "\-\-null, \-0"
+Input filenames are terminated by a null character instead of by
+whitespace, and the quotes and backslash are not special (every
+character is taken literally). Disables the end of file string, which
+is treated like any other argument. Useful when arguments might
+contain white space, quote marks, or backslashes. The GNU find
+\-print0 option produces input suitable for this mode.
+.TP
+.I "\-\-eof[=eof-str], \-e[eof-str]"
+Set the end of file string to \fIeof-str\fR. If the end of file
+string occurs as a line of input, the rest of the input is ignored.
+If \fIeof-str\fR is omitted, there is no end of file string. If this
+option is not given, the end of file string defaults to "_".
+.TP
+.I "\-\-help"
+Print a summary of the options to
+.B xargs
+and exit.
+.TP
+.I "\-\-replace[=replace-str], \-i[replace-str]"
+Replace occurences of \fIreplace-str\fR in the initial arguments with
+names read from standard input.
+Also, unquoted blanks do not terminate arguments.
+If \fIreplace-str\fR is omitted, it
+defaults to "{}" (like for `find \-exec'). Implies \fI\-x\fP and
+\fI\-l 1\fP.
+.TP
+.I "\-\-max-lines[=max-lines], -l[max-lines]"
+Use at most \fImax-lines\fR nonblank input lines per command line;
+\fImax-lines\fR defaults to 1 if omitted. Trailing blanks cause an
+input line to be logically continued on the next input line. Implies
+\fI\-x\fR.
+.TP
+.I "\-\-max-args=max-args, \-n max-args"
+Use at most \fImax-args\fR arguments per command line. Fewer than
+\fImax-args\fR arguments will be used if the size (see the \-s option)
+is exceeded, unless the \-x option is given, in which case \fBxargs\fR
+will exit.
+.TP
+.I "\-\-interactive, \-p"
+Prompt the user about whether to run each command line and read a line
+from the terminal. Only run the command line if the response starts
+with `y' or `Y'. Implies \fI\-t\fR.
+.TP
+.I "\-\-no-run-if-empty, \-r"
+If the standard input does not contain any nonblanks, do not run the
+command. Normally, the command is run once even if there is no input.
+.TP
+.I "\-\-max-chars=max-chars, \-s max-chars"
+Use at most \fImax-chars\fR characters per command line, including the
+command and initial arguments and the terminating nulls at the ends of
+the argument strings. The default is as large as possible, up to 20k
+characters.
+.TP
+.I "\-\-verbose, \-t"
+Print the command line on the standard error output before executing
+it.
+.TP
+.I "\-\-version"
+Print the version number of
+.B xargs
+and exit.
+.TP
+.I "\-\-exit, \-x"
+Exit if the size (see the \fI\-s\fR option) is exceeded.
+.TP
+.I "\-\-max-procs=max-procs, \-P max-procs"
+Run up to \fImax-procs\fR processes at a time; the default is 1. If
+\fImax-procs\fR is 0, \fBxargs\fR will run as many processes as
+possible at a time. Use the \fI\-n\fR option with \fI\-P\fR;
+otherwise chances are that only one exec will be done.
+.SH "SEE ALSO"
+\fBfind\fP(1L), \fBlocate\fP(1L), \fBlocatedb\fP(5L), \fBupdatedb\fP(1)
+\fBFinding Files\fP (on-line in Info, or printed)