diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..30f6ae7460616e8c43b5fff3cf67e1240959d32b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,113 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/ filter=lfs diff=lfs merge=lfs -text +Dictionary/ filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneIDs.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_GeneID.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PrefixSuffix.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/taxonomy_freq.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/Gene2Homoid.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.562.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.9986.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.9606.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/LowConfidence.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.6239.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.9606.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.9823.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.562.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/Filtering.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.562.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.10090.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SimConcept.MentionType.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/Filtering_WithLongForm.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.9615.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneWithoutSPPrefix.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.11676.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.3702.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.7955.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.4932.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.9913.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_FamilyName.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.3702.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Species.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SP_Virus2HumanList.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/Gene2Protein.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.7227.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.10116.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Domain.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.9823.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SimConcept.Model filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.11676.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.9913.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SPPrefix.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.10116.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_GeneChromosome.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.9823.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SPStrain.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SPGenus.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GNR.Model filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.6239.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Cell.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.4932.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.7227.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.9615.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.9615.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.9986.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/tax4gene.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/taxids.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/Filtering.species.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.11676.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.9913.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.10090.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SPHighlevel.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/CTDAddWord.tsv filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.10116.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.6239.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.7227.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/NonGeneAbbr.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/CTDStopWord.tsv filter=lfs diff=lfs merge=lfs -text +Dictionary/LowerCosineSimilarity.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.9986.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/SPNodes.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/nodes.dmp.yeast filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_Gene.9606.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/ent.rev.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.10090.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.3702.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.4932.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.7955.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/GeneScoring.DF.7955.txt filter=lfs diff=lfs merge=lfs -text +Dictionary/PT_CTDGene.txt filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/SpeAss filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/bioformer-cased-v1.0 filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/geneNER filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/stanza filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/SpeAss/SpeAss-Bioformer.h5 filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/bioformer-cased-v1.0/config.json filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/geneNER/GeneNER-PubmedBERT.h5 filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/README.md filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/config.json filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/pytorch_model.bin filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/version_vocab filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/vocab.txt filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/stanza/en filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/flax_model.msgpack filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/SpeAss/SpeAss-PubmedBERT.h5 filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/bioformer-cased-v1.0/pytorch_model.bin filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/bioformer-cased-v1.0/vocab.txt filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/stanza/resources.json filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/LICENSE.md filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/bioformer-cased-v1.0/README.md filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/bioformer-cased-v1.0/tf_model.h5 filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/bioformer-cased-v1.0/tokenizer_config.json filter=lfs diff=lfs merge=lfs -text +gnorm_trained_models/geneNER/GeneNER-Bioformer.h5 filter=lfs diff=lfs merge=lfs -text +GNormPlus.jar filter=lfs diff=lfs merge=lfs -text +Library/WordData/SingTermFreq.dat filter=lfs diff=lfs merge=lfs -text +Ab3P filter=lfs diff=lfs merge=lfs -text +Library/WordData/cshset_wrdset3.ha filter=lfs diff=lfs merge=lfs -text +Library/libops.a filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..68bc17f9ff2104a9d7b6777058bb4c343ca72609 --- /dev/null +++ b/.gitignore @@ -0,0 +1,160 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/Ab3P b/Ab3P new file mode 100755 index 0000000000000000000000000000000000000000..2f0692ee0727aefc1a3dc9f16abbf2b3fdfa7ae7 --- /dev/null +++ b/Ab3P @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6703e1403c93bcd25b6d1d548f7474c8488a3ea37f3ce0b73942012e9c2081bf +size 1139519 diff --git a/BioC.dtd b/BioC.dtd new file mode 100755 index 0000000000000000000000000000000000000000..85259d2d8cd0b1b97bc645bf1287aa934153726c --- /dev/null +++ b/BioC.dtd @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CRF/.libs/crf_learn b/CRF/.libs/crf_learn new file mode 100644 index 0000000000000000000000000000000000000000..e9d1ccdff9381984e2073b9e89bb2bb0b99caf44 Binary files /dev/null and b/CRF/.libs/crf_learn differ diff --git a/CRF/.libs/crf_test b/CRF/.libs/crf_test new file mode 100755 index 0000000000000000000000000000000000000000..6628ff49a821e6b636f29efe1d6162dc2f136aef Binary files /dev/null and b/CRF/.libs/crf_test differ diff --git a/CRF/.libs/encoder.o b/CRF/.libs/encoder.o new file mode 100644 index 0000000000000000000000000000000000000000..0b61e8265662250c39fa0f936eb98c6aa0f17800 Binary files /dev/null and b/CRF/.libs/encoder.o differ diff --git a/CRF/.libs/feature.o b/CRF/.libs/feature.o new file mode 100644 index 0000000000000000000000000000000000000000..b59d293cceaf2f4f592b79390ef9fbb73d4f4f94 Binary files /dev/null and b/CRF/.libs/feature.o differ diff --git a/CRF/.libs/feature_cache.o b/CRF/.libs/feature_cache.o new file mode 100644 index 0000000000000000000000000000000000000000..efd4cf372d6ddc17794e8fd48a8809c8cbc0ec89 Binary files /dev/null and b/CRF/.libs/feature_cache.o differ diff --git a/CRF/.libs/feature_index.o b/CRF/.libs/feature_index.o new file mode 100644 index 0000000000000000000000000000000000000000..d12f9359282d287ca4a8961547b57ae79f010592 Binary files /dev/null and b/CRF/.libs/feature_index.o differ diff --git a/CRF/.libs/lbfgs.o b/CRF/.libs/lbfgs.o new file mode 100644 index 0000000000000000000000000000000000000000..ff3b4b5213a1af0c1359a6f33c1d5599990585cf Binary files /dev/null and b/CRF/.libs/lbfgs.o differ diff --git a/CRF/.libs/libcrfpp.a b/CRF/.libs/libcrfpp.a new file mode 100644 index 0000000000000000000000000000000000000000..72f7dbfa8fb4888ea21542a4c4cb6f98d47866f1 Binary files /dev/null and b/CRF/.libs/libcrfpp.a differ diff --git a/CRF/.libs/libcrfpp.la b/CRF/.libs/libcrfpp.la new file mode 100644 index 0000000000000000000000000000000000000000..657191448ed91cbc37f93164d318a43a3f75f568 --- /dev/null +++ b/CRF/.libs/libcrfpp.la @@ -0,0 +1,41 @@ +# libcrfpp.la - a libtool library file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libcrfpp.so.0' + +# Names of this library. +library_names='libcrfpp.so.0.0.0 libcrfpp.so.0 libcrfpp.so' + +# The name of the static archive. +old_library='libcrfpp.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread /usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/../../../libstdc++.la' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libcrfpp. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/CRF/.libs/libcrfpp.lai b/CRF/.libs/libcrfpp.lai new file mode 100644 index 0000000000000000000000000000000000000000..89aa376c6c918dc8265657357344e83e0520f9f1 --- /dev/null +++ b/CRF/.libs/libcrfpp.lai @@ -0,0 +1,41 @@ +# libcrfpp.la - a libtool library file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libcrfpp.so.0' + +# Names of this library. +library_names='libcrfpp.so.0.0.0 libcrfpp.so.0 libcrfpp.so' + +# The name of the static archive. +old_library='libcrfpp.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread /usr/lib64/gcc-4.4.2/../lib64/libstdc++.la' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libcrfpp. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/CRF/.libs/libcrfpp.o b/CRF/.libs/libcrfpp.o new file mode 100644 index 0000000000000000000000000000000000000000..7798ae87dd3ff7743afa1b768b1a97d76ddb3f92 Binary files /dev/null and b/CRF/.libs/libcrfpp.o differ diff --git a/CRF/.libs/libcrfpp.so.0 b/CRF/.libs/libcrfpp.so.0 new file mode 100644 index 0000000000000000000000000000000000000000..a17de3fee71afefedfa7082aaf4e0685acda437f Binary files /dev/null and b/CRF/.libs/libcrfpp.so.0 differ diff --git a/CRF/.libs/libcrfpp.so.0.0.0 b/CRF/.libs/libcrfpp.so.0.0.0 new file mode 100644 index 0000000000000000000000000000000000000000..a17de3fee71afefedfa7082aaf4e0685acda437f Binary files /dev/null and b/CRF/.libs/libcrfpp.so.0.0.0 differ diff --git a/CRF/.libs/lt-crf_test b/CRF/.libs/lt-crf_test new file mode 100755 index 0000000000000000000000000000000000000000..c5f5d8dbefa7a2257449946ec85bfcf83d80c409 Binary files /dev/null and b/CRF/.libs/lt-crf_test differ diff --git a/CRF/.libs/node.o b/CRF/.libs/node.o new file mode 100644 index 0000000000000000000000000000000000000000..6cf8e2d9a79db6d72e51e8bf77aec31a9428598e Binary files /dev/null and b/CRF/.libs/node.o differ diff --git a/CRF/.libs/param.o b/CRF/.libs/param.o new file mode 100644 index 0000000000000000000000000000000000000000..338949dc6db6d123058bc211114e7c95ed0f2a60 Binary files /dev/null and b/CRF/.libs/param.o differ diff --git a/CRF/.libs/path.o b/CRF/.libs/path.o new file mode 100644 index 0000000000000000000000000000000000000000..79bf75cf1261d459ad92b89cdb96e887b88fa3c5 Binary files /dev/null and b/CRF/.libs/path.o differ diff --git a/CRF/.libs/tagger.o b/CRF/.libs/tagger.o new file mode 100644 index 0000000000000000000000000000000000000000..f3ac745786f834cde00672b22e196003500ee57c Binary files /dev/null and b/CRF/.libs/tagger.o differ diff --git a/CRF/AUTHORS b/CRF/AUTHORS new file mode 100644 index 0000000000000000000000000000000000000000..a44e82c02f1b0b2d83b13bd28a2cbe95ede498ae --- /dev/null +++ b/CRF/AUTHORS @@ -0,0 +1 @@ +Taku Kudo diff --git a/CRF/BSD b/CRF/BSD new file mode 100644 index 0000000000000000000000000000000000000000..93be0204274f50fd85b220522cb51c315cb2a669 --- /dev/null +++ b/CRF/BSD @@ -0,0 +1,27 @@ +Copyright (c) 2005-2007, Taku Kudo +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 Taku Kudo 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/CRF/COPYING b/CRF/COPYING new file mode 100644 index 0000000000000000000000000000000000000000..6d0fd984645b5b2459146c198026408110b06dac --- /dev/null +++ b/CRF/COPYING @@ -0,0 +1,3 @@ +CRF++ is copyrighted free software by Taku Kudo , +and is released under any of the LGPL (see the file LGPL) or the +BSD License (see the file BSD). diff --git a/CRF/CRFPP_wrap.cxx b/CRF/CRFPP_wrap.cxx new file mode 100644 index 0000000000000000000000000000000000000000..487919a28cfb546a6f129b0a4b5763b1e0fbfee4 --- /dev/null +++ b/CRF/CRFPP_wrap.cxx @@ -0,0 +1,1373 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGJAVA + + +#ifdef __cplusplus +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigMovePointer { + T *ptr; + SwigMovePointer(T *p) : ptr(p) { } + ~SwigMovePointer() { delete ptr; } + SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; } + operator T&() const { return *pointer.ptr; } + T *operator&() { return pointer.ptr; } +}; + +template T SwigValueInit() { + return T(); +} +#endif + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Fix for jlong on some versions of gcc on Windows */ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) + typedef long long __int64; +#endif + +/* Fix for jlong on 64-bit x86 Solaris */ +#if defined(__x86_64) +# ifdef _LP64 +# undef _LP64 +# endif +#endif + +#include +#include +#include + + +/* Support for throwing Java exceptions */ +typedef enum { + SWIG_JavaOutOfMemoryError = 1, + SWIG_JavaIOException, + SWIG_JavaRuntimeException, + SWIG_JavaIndexOutOfBoundsException, + SWIG_JavaArithmeticException, + SWIG_JavaIllegalArgumentException, + SWIG_JavaNullPointerException, + SWIG_JavaDirectorPureVirtual, + SWIG_JavaUnknownError +} SWIG_JavaExceptionCodes; + +typedef struct { + SWIG_JavaExceptionCodes code; + const char *java_exception; +} SWIG_JavaExceptions_t; + + +static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) { + jclass excep; + static const SWIG_JavaExceptions_t java_exceptions[] = { + { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, + { SWIG_JavaIOException, "java/io/IOException" }, + { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, + { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, + { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, + { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, + { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, + { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, + { SWIG_JavaUnknownError, "java/lang/UnknownError" }, + { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } }; + const SWIG_JavaExceptions_t *except_ptr = java_exceptions; + + while (except_ptr->code != code && except_ptr->code) + except_ptr++; + + jenv->ExceptionClear(); + excep = jenv->FindClass(except_ptr->java_exception); + if (excep) + jenv->ThrowNew(excep, msg); +} + + +/* Contract support */ + +#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else + +/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + + + +SWIGINTERN void SWIG_JavaException(JNIEnv *jenv, int code, const char *msg) { + SWIG_JavaExceptionCodes exception_code = SWIG_JavaUnknownError; + switch(code) { + case SWIG_MemoryError: + exception_code = SWIG_JavaOutOfMemoryError; + break; + case SWIG_IOError: + exception_code = SWIG_JavaIOException; + break; + case SWIG_SystemError: + case SWIG_RuntimeError: + exception_code = SWIG_JavaRuntimeException; + break; + case SWIG_OverflowError: + case SWIG_IndexError: + exception_code = SWIG_JavaIndexOutOfBoundsException; + break; + case SWIG_DivisionByZero: + exception_code = SWIG_JavaArithmeticException; + break; + case SWIG_SyntaxError: + case SWIG_ValueError: + case SWIG_TypeError: + exception_code = SWIG_JavaIllegalArgumentException; + break; + case SWIG_UnknownError: + default: + exception_code = SWIG_JavaUnknownError; + break; + } + SWIG_JavaThrowException(jenv, exception_code, msg); +} + + +#include + + +#include "crfpp.h" + + + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + + + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1set_1vlevel(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + unsigned int arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (unsigned int)jarg2; + { + try { + (arg1)->set_vlevel(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1vlevel(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + unsigned int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (unsigned int)((CRFPP::Tagger const *)arg1)->vlevel(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1set_1cost_1factor(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + float arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (float)jarg2; + { + try { + (arg1)->set_cost_factor(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jfloat JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1cost_1factor(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jfloat jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + float result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (float)((CRFPP::Tagger const *)arg1)->cost_factor(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jfloat)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1set_1nbest(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + (arg1)->set_nbest(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1nbest(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->nbest(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1add(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + { + try { + result = (bool)(arg1)->add((char const *)arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1size(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->size(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1xsize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->xsize(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1dsize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->dsize(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1result(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = ((CRFPP::Tagger const *)arg1)->result(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1answer(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = ((CRFPP::Tagger const *)arg1)->answer(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1y(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = ((CRFPP::Tagger const *)arg1)->y(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1y2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->y2(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1yname(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->yname(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1x(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->x(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1ysize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->ysize(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prob_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prob_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prob_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1alpha(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->alpha(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1beta(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->beta(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1emission_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->emission_cost(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1next_1transition_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + arg4 = (size_t)jarg4; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->next_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prev_1transition_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + arg4 = (size_t)jarg4; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prev_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1best_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->best_cost(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1Z(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->Z(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1parse_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)(arg1)->parse(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1empty(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)((CRFPP::Tagger const *)arg1)->empty(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)(arg1)->clear(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1next(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)(arg1)->next(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1parse_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + { + try { + result = (char *)(arg1)->parse((char const *)arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1what(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (char *)(arg1)->what(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_delete_1Tagger(JNIEnv *jenv, jclass jcls, jlong jarg1) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + delete arg1; + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_new_1Tagger(JNIEnv *jenv, jclass jcls, jstring jarg1) { + jlong jresult = 0 ; + char *arg1 = (char *) 0 ; + CRFPP::Tagger *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return 0; + } + { + try { + result = (CRFPP::Tagger *)new_CRFPP_Tagger((char const *)arg1); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + *(CRFPP::Tagger **)&jresult = result; + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_VERSION_1get(JNIEnv *jenv, jclass jcls) { + jstring jresult = 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + result = (char *) "0.52"; + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +#ifdef __cplusplus +} +#endif + diff --git a/CRF/ChangeLog b/CRF/ChangeLog new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/CRF/INSTALL b/CRF/INSTALL new file mode 100644 index 0000000000000000000000000000000000000000..b42a17ac4640e9a2bfe5e480e44d0eef3f365928 --- /dev/null +++ b/CRF/INSTALL @@ -0,0 +1,182 @@ +Basic Installation +================== + + These are generic installation instructions. + + 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, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + 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 at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' 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. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. 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. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. 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. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +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 must use a version of `make' that +supports the `VPATH' variable, such as 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 `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have 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. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' 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. + + 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'. + +Optional Features +================= + + 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. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +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 host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +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. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--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. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. diff --git a/CRF/LGPL b/CRF/LGPL new file mode 100644 index 0000000000000000000000000000000000000000..223ede7de3ec74eb86253f9ce9ed7ba3c5aa9130 --- /dev/null +++ b/CRF/LGPL @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/CRF/Makefile b/CRF/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..1a1fb1e751caab30846482b23ca28a14e4134a6f --- /dev/null +++ b/CRF/Makefile @@ -0,0 +1,855 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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. + + + + + + +pkgdatadir = $(datadir)/CRF++ +pkgincludedir = $(includedir)/CRF++ +pkglibdir = $(libdir)/CRF++ +pkglibexecdir = $(libexecdir)/CRF++ +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 = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +bin_PROGRAMS = crf_learn$(EXEEXT) crf_test$(EXEEXT) +subdir = . +DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.msvc.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure $(top_srcdir)/swig/version.h.in \ + AUTHORS COPYING ChangeLog INSTALL NEWS config.guess config.sub \ + depcomp install-sh ltmain.sh missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +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 = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = Makefile.msvc swig/version.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__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(includedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libcrfpp_la_LIBADD = +am_libcrfpp_la_OBJECTS = libcrfpp.lo lbfgs.lo param.lo encoder.lo \ + feature.lo feature_cache.lo feature_index.lo node.lo path.lo \ + tagger.lo +libcrfpp_la_OBJECTS = $(am_libcrfpp_la_OBJECTS) +PROGRAMS = $(bin_PROGRAMS) +am_crf_learn_OBJECTS = crf_learn.$(OBJEXT) +crf_learn_OBJECTS = $(am_crf_learn_OBJECTS) +crf_learn_DEPENDENCIES = libcrfpp.la +am_crf_test_OBJECTS = crf_test.$(OBJEXT) +crf_test_OBJECTS = $(am_crf_test_OBJECTS) +crf_test_DEPENDENCIES = libcrfpp.la +DEFAULT_INCLUDES = -I. +depcomp = +am__depfiles_maybe = +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 $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libcrfpp_la_SOURCES) $(crf_learn_SOURCES) \ + $(crf_test_SOURCES) +DIST_SOURCES = $(libcrfpp_la_SOURCES) $(crf_learn_SOURCES) \ + $(crf_test_SOURCES) +HEADERS = $(include_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} $(includedir)/CRF++/missing --run aclocal-1.11 +AMTAR = ${SHELL} $(includedir)/CRF++/missing --run tar +AR = ar +AUTOCONF = ${SHELL} $(includedir)/CRF++/missing --run autoconf +AUTOHEADER = ${SHELL} $(includedir)/CRF++/missing --run autoheader +AUTOMAKE = ${SHELL} $(includedir)/CRF++/missing --run automake-1.11 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -O3 -Wall +CPP = gcc -E +CPPFLAGS = +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -O3 -Wall +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +GREP = /bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = +LIBOBJS = +LIBS = -lpthread -lpthread -lm -lm -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +MAKEINFO = ${SHELL} $(includedir)/CRF++/missing --run makeinfo +MKDIR_P = /bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = CRF++ +PACKAGE_BUGREPORT = +PACKAGE_NAME = +PACKAGE_STRING = +PACKAGE_TARNAME = +PACKAGE_URL = +PACKAGE_VERSION = +PATH_SEPARATOR = : +RANLIB = ranlib +SED = /bin/sed +SET_MAKE = +SHELL = /bin/sh +STRIP = strip +VERSION = 0.54 +abs_builddir = $(includedir)/CRF++ +abs_srcdir = $(includedir)/CRF++ +abs_top_builddir = $(includedir)/CRF++ +abs_top_srcdir = $(includedir)/CRF++ +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} $(includedir)/CRF++/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +lt_ECHO = echo +mandir = ${datarootdir}/man +mkdir_p = /bin/mkdir -p +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = +top_builddir = . +top_srcdir = . +EXTRA_DIST = README Makefile.msvc.in merge-models.pl +EXTRA_DIRS = doc example sdk perl python ruby java swig +AUTOMAKE_OPTIONS = no-dependencies +lib_LTLIBRARIES = libcrfpp.la +libcrfpp_la_SOURCES = crfpp.h thread.h libcrfpp.cpp lbfgs.cpp scoped_ptr.h param.cpp param.h encoder.cpp feature.cpp stream_wrapper.h \ + feature_cache.cpp feature_index.cpp node.cpp path.cpp tagger.cpp \ + common.h darts.h encoder.h feature_cache.h feature_index.h \ + freelist.h lbfgs.h mmap.h node.h path.h tagger.h timer.h + +include_HEADERS = crfpp.h +crf_learn_SOURCES = crf_learn.cpp +crf_learn_LDADD = libcrfpp.la +crf_test_SOURCES = crf_test.cpp +crf_test_LDADD = libcrfpp.la +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +am--refresh: + @: +$(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; \ + $(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 +Makefile.msvc: $(top_builddir)/config.status $(srcdir)/Makefile.msvc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +swig/version.h: $(top_builddir)/config.status $(top_srcdir)/swig/version.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 +libcrfpp.la: $(libcrfpp_la_OBJECTS) $(libcrfpp_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libcrfpp_la_OBJECTS) $(libcrfpp_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_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 +crf_learn$(EXEEXT): $(crf_learn_OBJECTS) $(crf_learn_DEPENDENCIES) + @rm -f crf_learn$(EXEEXT) + $(CXXLINK) $(crf_learn_OBJECTS) $(crf_learn_LDADD) $(LIBS) +crf_test$(EXEEXT): $(crf_test_OBJECTS) $(crf_test_DEPENDENCIES) + @rm -f crf_test$(EXEEXT) + $(CXXLINK) $(crf_test_OBJECTS) $(crf_test_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +.cpp.o: + $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt +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|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(includedir)" && rm -f $$files + +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 + +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 + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -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 -9 -c >$(distdir).tar.bz2 + $(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 -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.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" \ + $(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: + @$(am__cd) '$(distuninstallcheck_dir)' \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { 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 +check: check-am +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) config.h +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(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: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +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-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -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-includeHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS 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 -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-binPROGRAMS uninstall-includeHEADERS \ + uninstall-libLTLIBRARIES + +.MAKE: all install-am install-strip + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool ctags dist dist-all dist-bzip2 dist-gzip \ + dist-hook 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-binPROGRAMS install-data \ + install-data-am 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-binPROGRAMS \ + uninstall-includeHEADERS uninstall-libLTLIBRARIES + + +dist-hook: + for subdir in $(EXTRA_DIRS); do \ + cp -rp $$subdir $(distdir); \ + rm -f $(distdir)/$$subdir/*~; \ + rm -f $(distdir)/$$subdir/*.{bak,orig}; \ + rm -rf $(distdir)/$$subdir/CVS; \ + rm -rf $(distdir)/$$subdir/.svn; \ + rm -rf $(distdir)/.svn; \ + rm -rf $(distdir)/*/.svn; \ + rm -rf $(distdir)/*/*/.svn; \ + rm -rf $(distdir)/$$subdir/*/CVS; \ + rm -rf $(distdir)/$$subdir/*/.svn; \ + find $(distdir) -name .svn | xargs rm -fr; \ + done + +win: + (cd src; rm -f *.exe *.obj *.dll) +# (cd src; wcmd /c make.bat) + +win-dist: + rm -f CRF++-0.54.zip + mkdir -p CRF++-0.54/doc + mkdir -p CRF++-0.54/example + mkdir -p CRF++-0.54/sdk + cp -f crf_learn.exe CRF++-0.54 + cp -f crf_test.exe CRF++-0.54 + cp -f libcrfpp.dll CRF++-0.54 + cp -f libcrfpp.lib CRF++-0.54/sdk + cp -f crfpp.h CRF++-0.54/sdk +# cp -f sdk/model CRF++-0.54/sdk + cp -f sdk/example.cpp CRF++-0.54/sdk + cp -fr doc/*.html doc/*.css doc/doxygen CRF++-0.54/doc + cp -f README COPYING AUTHORS LGPL BSD CRF++-0.54 + cp -fr example/* CRF++-0.54/example + find CRF++-0.54 -name CVS | xargs rm -rf + find CRF++-0.54 -name .svn | xargs rm -rf + zip -r CRF++-0.54.zip CRF++-0.54 + rm -fr CRF++-0.54 + +dist-all-package: + (test -f Makefile) && $(MAKE) distclean + ./configure + $(MAKE) dist + $(MAKE) clean + $(MAKE) script-clean + $(MAKE) script-dist + $(MAKE) win + $(MAKE) win-dist + +script-dist: + for subdir in perl ruby python java; do \ + rm -fr CRF++-$${subdir}-0.54; \ + mkdir CRF++-$${subdir}-0.54; \ + cp -r $${subdir}/* CRF++-$${subdir}-0.54; \ + cp -r doc/bindings.html CRF++-$${subdir}-0.54; \ + find ./CRF++-$${subdir}-0.54 -type d -name CVS | xargs rm -fr; \ + rm -f CRF++-$${subdir}-0.54/*~; \ + tar zcfv CRF++-$${subdir}-0.54.tar.gz CRF++-$${subdir}-0.54; \ + rm -fr CRF++-$${subdir}-0.54; \ + done + +script-clean: + (cd perl; $(MAKE) clean; rm -f Makefile.old Makefile) + (cd ruby; $(MAKE) clean; rm -f Makefile *.log) + (cd python; python setup.py clean --all) + (cd java; $(MAKE) clean;) + +export-package: + ./upload.pl -p crfpp -n crfpp -r 0.54 -f CRF++-0.54.tar.gz + ./upload.pl -p crfpp -n crfpp-win32 -r 0.54 -f CRF++-0.54.zip + scp doc/*.html sf:public_html/crfpp/ + scp doc/*.css sf:public_html/crfpp/ + +# 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/CRF/Makefile.am b/CRF/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..4ce0031eada5e5353e2ad0b493d8189f6a952170 --- /dev/null +++ b/CRF/Makefile.am @@ -0,0 +1,90 @@ +EXTRA_DIST = README Makefile.msvc.in merge-models.pl +EXTRA_DIRS = doc example sdk perl python ruby java swig +bin_PROGRAMS = crf_learn crf_test + +AUTOMAKE_OPTIONS = no-dependencies +lib_LTLIBRARIES = libcrfpp.la +libcrfpp_la_SOURCES = crfpp.h thread.h libcrfpp.cpp lbfgs.cpp scoped_ptr.h param.cpp param.h encoder.cpp feature.cpp stream_wrapper.h \ + feature_cache.cpp feature_index.cpp node.cpp path.cpp tagger.cpp \ + common.h darts.h encoder.h feature_cache.h feature_index.h \ + freelist.h lbfgs.h mmap.h node.h path.h tagger.h timer.h +include_HEADERS = crfpp.h + +dist-hook: + for subdir in $(EXTRA_DIRS); do \ + cp -rp $$subdir $(distdir); \ + rm -f $(distdir)/$$subdir/*~; \ + rm -f $(distdir)/$$subdir/*.{bak,orig}; \ + rm -rf $(distdir)/$$subdir/CVS; \ + rm -rf $(distdir)/$$subdir/.svn; \ + rm -rf $(distdir)/.svn; \ + rm -rf $(distdir)/*/.svn; \ + rm -rf $(distdir)/*/*/.svn; \ + rm -rf $(distdir)/$$subdir/*/CVS; \ + rm -rf $(distdir)/$$subdir/*/.svn; \ + find $(distdir) -name .svn | xargs rm -fr; \ + done + +win: + (cd src; rm -f *.exe *.obj *.dll) +# (cd src; wcmd /c make.bat) + +win-dist: + rm -f @PACKAGE@-@VERSION@.zip + mkdir -p @PACKAGE@-@VERSION@/doc + mkdir -p @PACKAGE@-@VERSION@/example + mkdir -p @PACKAGE@-@VERSION@/sdk + cp -f crf_learn.exe @PACKAGE@-@VERSION@ + cp -f crf_test.exe @PACKAGE@-@VERSION@ + cp -f libcrfpp.dll @PACKAGE@-@VERSION@ + cp -f libcrfpp.lib @PACKAGE@-@VERSION@/sdk + cp -f crfpp.h @PACKAGE@-@VERSION@/sdk +# cp -f sdk/model @PACKAGE@-@VERSION@/sdk + cp -f sdk/example.cpp @PACKAGE@-@VERSION@/sdk + cp -fr doc/*.html doc/*.css doc/doxygen @PACKAGE@-@VERSION@/doc + cp -f README COPYING AUTHORS LGPL BSD @PACKAGE@-@VERSION@ + cp -fr example/* @PACKAGE@-@VERSION@/example + find @PACKAGE@-@VERSION@ -name CVS | xargs rm -rf + find @PACKAGE@-@VERSION@ -name .svn | xargs rm -rf + zip -r @PACKAGE@-@VERSION@.zip @PACKAGE@-@VERSION@ + rm -fr @PACKAGE@-@VERSION@ + +crf_learn_SOURCES = crf_learn.cpp +crf_learn_LDADD = libcrfpp.la + +crf_test_SOURCES = crf_test.cpp +crf_test_LDADD = libcrfpp.la + +dist-all-package: + (test -f Makefile) && $(MAKE) distclean + ./configure + $(MAKE) dist + $(MAKE) clean + $(MAKE) script-clean + $(MAKE) script-dist + $(MAKE) win + $(MAKE) win-dist + +script-dist: + for subdir in perl ruby python java; do \ + rm -fr CRF++-$${subdir}-@VERSION@; \ + mkdir CRF++-$${subdir}-@VERSION@; \ + cp -r $${subdir}/* CRF++-$${subdir}-@VERSION@; \ + cp -r doc/bindings.html CRF++-$${subdir}-@VERSION@; \ + find ./CRF++-$${subdir}-@VERSION@ -type d -name CVS | xargs rm -fr; \ + rm -f CRF++-$${subdir}-@VERSION@/*~; \ + tar zcfv CRF++-$${subdir}-@VERSION@.tar.gz CRF++-$${subdir}-@VERSION@; \ + rm -fr CRF++-$${subdir}-@VERSION@; \ + done + +script-clean: + (cd perl; $(MAKE) clean; rm -f Makefile.old Makefile) + (cd ruby; $(MAKE) clean; rm -f Makefile *.log) + (cd python; python setup.py clean --all) + (cd java; $(MAKE) clean;) + +export-package: + ./upload.pl -p crfpp -n crfpp -r @VERSION@ -f CRF++-@VERSION@.tar.gz + ./upload.pl -p crfpp -n crfpp-win32 -r @VERSION@ -f CRF++-@VERSION@.zip + scp doc/*.html sf:public_html/crfpp/ + scp doc/*.css sf:public_html/crfpp/ diff --git a/CRF/Makefile.in b/CRF/Makefile.in new file mode 100644 index 0000000000000000000000000000000000000000..20833bcd20b8388d51006393f57728e25bd664fc --- /dev/null +++ b/CRF/Makefile.in @@ -0,0 +1,855 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ +bin_PROGRAMS = crf_learn$(EXEEXT) crf_test$(EXEEXT) +subdir = . +DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.msvc.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure $(top_srcdir)/swig/version.h.in \ + AUTHORS COPYING ChangeLog INSTALL NEWS config.guess config.sub \ + depcomp install-sh ltmain.sh missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +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 = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = Makefile.msvc swig/version.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__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(includedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libcrfpp_la_LIBADD = +am_libcrfpp_la_OBJECTS = libcrfpp.lo lbfgs.lo param.lo encoder.lo \ + feature.lo feature_cache.lo feature_index.lo node.lo path.lo \ + tagger.lo +libcrfpp_la_OBJECTS = $(am_libcrfpp_la_OBJECTS) +PROGRAMS = $(bin_PROGRAMS) +am_crf_learn_OBJECTS = crf_learn.$(OBJEXT) +crf_learn_OBJECTS = $(am_crf_learn_OBJECTS) +crf_learn_DEPENDENCIES = libcrfpp.la +am_crf_test_OBJECTS = crf_test.$(OBJEXT) +crf_test_OBJECTS = $(am_crf_test_OBJECTS) +crf_test_DEPENDENCIES = libcrfpp.la +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = +am__depfiles_maybe = +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 $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libcrfpp_la_SOURCES) $(crf_learn_SOURCES) \ + $(crf_test_SOURCES) +DIST_SOURCES = $(libcrfpp_la_SOURCES) $(crf_learn_SOURCES) \ + $(crf_test_SOURCES) +HEADERS = $(include_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +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@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GREP = @GREP@ +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@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +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@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +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@ +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@ +lt_ECHO = @lt_ECHO@ +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@ +EXTRA_DIST = README Makefile.msvc.in merge-models.pl +EXTRA_DIRS = doc example sdk perl python ruby java swig +AUTOMAKE_OPTIONS = no-dependencies +lib_LTLIBRARIES = libcrfpp.la +libcrfpp_la_SOURCES = crfpp.h thread.h libcrfpp.cpp lbfgs.cpp scoped_ptr.h param.cpp param.h encoder.cpp feature.cpp stream_wrapper.h \ + feature_cache.cpp feature_index.cpp node.cpp path.cpp tagger.cpp \ + common.h darts.h encoder.h feature_cache.h feature_index.h \ + freelist.h lbfgs.h mmap.h node.h path.h tagger.h timer.h + +include_HEADERS = crfpp.h +crf_learn_SOURCES = crf_learn.cpp +crf_learn_LDADD = libcrfpp.la +crf_test_SOURCES = crf_test.cpp +crf_test_LDADD = libcrfpp.la +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +am--refresh: + @: +$(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; \ + $(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 +Makefile.msvc: $(top_builddir)/config.status $(srcdir)/Makefile.msvc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +swig/version.h: $(top_builddir)/config.status $(top_srcdir)/swig/version.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 +libcrfpp.la: $(libcrfpp_la_OBJECTS) $(libcrfpp_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libcrfpp_la_OBJECTS) $(libcrfpp_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_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 +crf_learn$(EXEEXT): $(crf_learn_OBJECTS) $(crf_learn_DEPENDENCIES) + @rm -f crf_learn$(EXEEXT) + $(CXXLINK) $(crf_learn_OBJECTS) $(crf_learn_LDADD) $(LIBS) +crf_test$(EXEEXT): $(crf_test_OBJECTS) $(crf_test_DEPENDENCIES) + @rm -f crf_test$(EXEEXT) + $(CXXLINK) $(crf_test_OBJECTS) $(crf_test_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +.cpp.o: + $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt +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|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(includedir)" && rm -f $$files + +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 + +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 + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -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 -9 -c >$(distdir).tar.bz2 + $(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 -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.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" \ + $(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: + @$(am__cd) '$(distuninstallcheck_dir)' \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { 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 +check: check-am +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) config.h +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(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: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +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-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -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-includeHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS 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 -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-binPROGRAMS uninstall-includeHEADERS \ + uninstall-libLTLIBRARIES + +.MAKE: all install-am install-strip + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool ctags dist dist-all dist-bzip2 dist-gzip \ + dist-hook 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-binPROGRAMS install-data \ + install-data-am 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-binPROGRAMS \ + uninstall-includeHEADERS uninstall-libLTLIBRARIES + + +dist-hook: + for subdir in $(EXTRA_DIRS); do \ + cp -rp $$subdir $(distdir); \ + rm -f $(distdir)/$$subdir/*~; \ + rm -f $(distdir)/$$subdir/*.{bak,orig}; \ + rm -rf $(distdir)/$$subdir/CVS; \ + rm -rf $(distdir)/$$subdir/.svn; \ + rm -rf $(distdir)/.svn; \ + rm -rf $(distdir)/*/.svn; \ + rm -rf $(distdir)/*/*/.svn; \ + rm -rf $(distdir)/$$subdir/*/CVS; \ + rm -rf $(distdir)/$$subdir/*/.svn; \ + find $(distdir) -name .svn | xargs rm -fr; \ + done + +win: + (cd src; rm -f *.exe *.obj *.dll) +# (cd src; wcmd /c make.bat) + +win-dist: + rm -f @PACKAGE@-@VERSION@.zip + mkdir -p @PACKAGE@-@VERSION@/doc + mkdir -p @PACKAGE@-@VERSION@/example + mkdir -p @PACKAGE@-@VERSION@/sdk + cp -f crf_learn.exe @PACKAGE@-@VERSION@ + cp -f crf_test.exe @PACKAGE@-@VERSION@ + cp -f libcrfpp.dll @PACKAGE@-@VERSION@ + cp -f libcrfpp.lib @PACKAGE@-@VERSION@/sdk + cp -f crfpp.h @PACKAGE@-@VERSION@/sdk +# cp -f sdk/model @PACKAGE@-@VERSION@/sdk + cp -f sdk/example.cpp @PACKAGE@-@VERSION@/sdk + cp -fr doc/*.html doc/*.css doc/doxygen @PACKAGE@-@VERSION@/doc + cp -f README COPYING AUTHORS LGPL BSD @PACKAGE@-@VERSION@ + cp -fr example/* @PACKAGE@-@VERSION@/example + find @PACKAGE@-@VERSION@ -name CVS | xargs rm -rf + find @PACKAGE@-@VERSION@ -name .svn | xargs rm -rf + zip -r @PACKAGE@-@VERSION@.zip @PACKAGE@-@VERSION@ + rm -fr @PACKAGE@-@VERSION@ + +dist-all-package: + (test -f Makefile) && $(MAKE) distclean + ./configure + $(MAKE) dist + $(MAKE) clean + $(MAKE) script-clean + $(MAKE) script-dist + $(MAKE) win + $(MAKE) win-dist + +script-dist: + for subdir in perl ruby python java; do \ + rm -fr CRF++-$${subdir}-@VERSION@; \ + mkdir CRF++-$${subdir}-@VERSION@; \ + cp -r $${subdir}/* CRF++-$${subdir}-@VERSION@; \ + cp -r doc/bindings.html CRF++-$${subdir}-@VERSION@; \ + find ./CRF++-$${subdir}-@VERSION@ -type d -name CVS | xargs rm -fr; \ + rm -f CRF++-$${subdir}-@VERSION@/*~; \ + tar zcfv CRF++-$${subdir}-@VERSION@.tar.gz CRF++-$${subdir}-@VERSION@; \ + rm -fr CRF++-$${subdir}-@VERSION@; \ + done + +script-clean: + (cd perl; $(MAKE) clean; rm -f Makefile.old Makefile) + (cd ruby; $(MAKE) clean; rm -f Makefile *.log) + (cd python; python setup.py clean --all) + (cd java; $(MAKE) clean;) + +export-package: + ./upload.pl -p crfpp -n crfpp -r @VERSION@ -f CRF++-@VERSION@.tar.gz + ./upload.pl -p crfpp -n crfpp-win32 -r @VERSION@ -f CRF++-@VERSION@.zip + scp doc/*.html sf:public_html/crfpp/ + scp doc/*.css sf:public_html/crfpp/ + +# 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/CRF/Makefile.msvc b/CRF/Makefile.msvc new file mode 100644 index 0000000000000000000000000000000000000000..61c3618dacbe86b20c337e95d8a3d1df1b7e4ef7 --- /dev/null +++ b/CRF/Makefile.msvc @@ -0,0 +1,35 @@ +CC = cl +CXXC = cl +LINK=link +CFLAGS = /O2 /GA /GL /Gy /Oi /Ob2 /nologo /W3 /EHsc /MT /wd4244 +LDFLAGS = /link /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE ADVAPI32.LIB +DEFS = -D_CRT_SECURE_NO_DEPRECATE -DDLL_EXPORT -DHAVE_WINDOWS_H -DVERSION="\"0.54\"" -DPACKAGE="\"CRF++\"" +INC = -I. -I.. +DEL = del + +OBJ = encoder.obj feature.obj feature_cache.obj libcrfpp.obj \ + feature_index.obj node.obj param.obj path.obj tagger.obj lbfgs.obj + +.c.obj: + $(CXXC) $(CFLAGS) $(INC) $(DEFS) -c $< + +.cpp.obj: + $(CXXC) $(CFLAGS) $(INC) $(DEFS) -c $< + +.c.obj: + $(CC) $(CFLAGS) $(INC) $(DEFS) -c $< + +all: libcrfpp crf_learn crf_test + +libcrfpp: $(OBJ) + $(LINK) $(LDFLAGS) /out:$@.dll $(OBJ) /dll + +crf_learn: $(OBJ) crf_learn.obj + $(LINK) $(LDFLAGS) /out:$@.exe crf_learn.obj libcrfpp.lib + +crf_test: $(OBJ) crf_test.obj + $(LINK) $(LDFLAGS) /out:$@.exe crf_test.obj libcrfpp.lib + +clean: + del *.obj crf_learn.exe crf_test.exe *.dll + diff --git a/CRF/Makefile.msvc.in b/CRF/Makefile.msvc.in new file mode 100644 index 0000000000000000000000000000000000000000..46a450a0dae35c8c8fd8bf999ae30503d56c36a6 --- /dev/null +++ b/CRF/Makefile.msvc.in @@ -0,0 +1,35 @@ +CC = cl +CXXC = cl +LINK=link +CFLAGS = /O2 /GA /GL /Gy /Oi /Ob2 /nologo /W3 /EHsc /MT /wd4244 +LDFLAGS = /link /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE ADVAPI32.LIB +DEFS = -D_CRT_SECURE_NO_DEPRECATE -DDLL_EXPORT -DHAVE_WINDOWS_H -DVERSION="\"@VERSION@\"" -DPACKAGE="\"@PACKAGE@\"" +INC = -I. -I.. +DEL = del + +OBJ = encoder.obj feature.obj feature_cache.obj libcrfpp.obj \ + feature_index.obj node.obj param.obj path.obj tagger.obj lbfgs.obj + +.c.obj: + $(CXXC) $(CFLAGS) $(INC) $(DEFS) -c $< + +.cpp.obj: + $(CXXC) $(CFLAGS) $(INC) $(DEFS) -c $< + +.c.obj: + $(CC) $(CFLAGS) $(INC) $(DEFS) -c $< + +all: libcrfpp crf_learn crf_test + +libcrfpp: $(OBJ) + $(LINK) $(LDFLAGS) /out:$@.dll $(OBJ) /dll + +crf_learn: $(OBJ) crf_learn.obj + $(LINK) $(LDFLAGS) /out:$@.exe crf_learn.obj libcrfpp.lib + +crf_test: $(OBJ) crf_test.obj + $(LINK) $(LDFLAGS) /out:$@.exe crf_test.obj libcrfpp.lib + +clean: + del *.obj crf_learn.exe crf_test.exe *.dll + diff --git a/CRF/NEWS b/CRF/NEWS new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/CRF/README b/CRF/README new file mode 100644 index 0000000000000000000000000000000000000000..de14f523b7bd3600a7cdc9721759f4d4cc974e2b --- /dev/null +++ b/CRF/README @@ -0,0 +1,2 @@ +see doc/index.html + diff --git a/CRF/aclocal.m4 b/CRF/aclocal.m4 new file mode 100644 index 0000000000000000000000000000000000000000..d41153635eb37b0f1c5191ee224f9ef8fff7f23e --- /dev/null +++ b/CRF/aclocal.m4 @@ -0,0 +1,8929 @@ +# generated automatically by aclocal 1.11.1 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 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. + +# 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.65],, +[m4_warning([this file was generated for autoconf 2.65. +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 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 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 56 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_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 + +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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "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 +_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_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])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 +_LT_PROG_ECHO_BACKSLASH + +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 + +# Sed substitution that helps us do robust quoting. It backslashifies +# 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' + +# 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_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 "X$][$1" | $Xsed -e "$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: +# +# ='`$ECHO "X$" | $Xsed -e "$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' + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$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 "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\[$]0 --fallback-echo"')dnl " + lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` + ;; +esac + +_LT_OUTPUT_LIBTOOL_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]) +cat >"$CONFIG_LT" <<_LTEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate a libtool stub with the current configuration. + +lt_cl_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AS_SHELL_SANITIZE +_AS_PREPARE + +exec AS_MESSAGE_FD>&1 +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 ." + +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) 2008 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. +if test "$no_create" != yes; then + 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) +fi +])# 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 '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_XSI_SHELLFNS + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + 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)], + [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 + + +# _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([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)]) +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], []) + + +# _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 test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 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" + ]) + 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" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES +# -------------------------- +# 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 + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + _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=echo + _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 +# ----------------------- +# 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. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +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 "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_SHELL_INIT + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[_LT_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +ECHO=${lt_ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +[$]* +_LT_EOF + exit 0 +fi + +# 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 + +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi + + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi + fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(lt_ECHO) +]) +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], + [An echo program that does not interpret backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _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 __oline__ "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 + ;; +sparc*-*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*) LD="${LD-ld} -m elf64_sparc" ;; + *) + 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_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[AC_CHECK_TOOL(AR, ar, false) +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1]) + +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 \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi +_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_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:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/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; + ;; + + 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 + ;; + + 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"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$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 __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#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 + +void fnord() { int i=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; + /* 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:__oline__: $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:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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 +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 + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # 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 -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # 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; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +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 + 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 + 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.so + # instead of lib.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=`$ECHO "X$lib" | $Xsed -e '\''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 + 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,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) + 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="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + 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 + ;; + 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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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 + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +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[[123]]*) 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 + 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 + 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' + ;; + +interix[[3-9]]*) + 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' + 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 + 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 Linux ELF. +linux* | k*bsd*-gnu | kopensolaris*-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' + 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 + 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], + [shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # 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;/^$/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 + 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 + 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 + 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 + 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 + 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 + 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([], [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 + +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 &1 /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 + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + 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 + ;; + +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]) 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 Linux 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_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_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. + AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) + 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:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: $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:__oline__: 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_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-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 + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + _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([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};"\ +" /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 + + # 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 +#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. */ +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_save_LIBS="$LIBS" + lt_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_save_LIBS" + CFLAGS="$lt_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 + +_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_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)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) +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)= + ;; + 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 + ;; + 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*) + # IBM XL 8.0 on PPC + _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*) + # 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' + ;; + + 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 + 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' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # 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*) + # IBM XL C 8.0/Fortran 10.1 on PPC + _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)='-Wl,' + ;; + *Sun\ F*) + # 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)='' + ;; + 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*) + _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_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) + +# +# 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]) + +# +# 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_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' + 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 + 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")) && ([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*) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-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 + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +], [ + 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_flag_spec_ld, $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) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = 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.9.1, 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 modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_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 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(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/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + 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 + ;; + + 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= + 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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # 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; $ECHO \"$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]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + 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; $ECHO \"$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*) + # 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)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_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 $compiler_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 $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' + 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 $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 + ;; + + 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 $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 + + 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 + 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")) && ([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 + _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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; 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 + _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' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _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. + _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 `$ECHO "X$deplibs" | $Xsed -e '\''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(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + 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 + ;; + + freebsd1*) + _LT_TAGVAR(ld_shlibs, $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 -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 -fPIC ${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 -a "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${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_flag_spec_ld, $1)='+b $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 -a "$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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${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' + ;; + *) + _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 $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE(int foo(void) {}, + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + ) + LDFLAGS="$save_LDFLAGS" + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -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 ${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 ${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_MSG_CHECKING([whether -lc should be explicitly linked in]) + $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_TAGVAR(archive_cmds_need_lc, $1)=no + else + _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* + AC_MSG_RESULT([$_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_flag_spec_ld], [1], + [[If ld is used when linking, 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([], [fix_srcfile_path], [1], + [Fix the shell variable $srcfile for the compiler]) +_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([], [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_PROG_CXX +# ------------ +# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ +# compiler, we have our own version here. +m4_defun([_LT_PROG_CXX], +[ +pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) +AC_PROG_CXX +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 +popdef([AC_MSG_ERROR]) +])# _LT_PROG_CXX + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_CXX], []) + + +# _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], +[AC_REQUIRE([_LT_PROG_CXX])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl + +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_flag_spec_ld, $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(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_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++"} + 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 -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -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 "\-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 + _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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; 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 + _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' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _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 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*) + # _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(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 + ;; + 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 + ;; + + freebsd[[12]]*) + # 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*) + ;; + + 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; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${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; $ECHO "X$list" | $Xsed' + ;; + *) + 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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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 -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -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; $ECHO "X$list" | $Xsed' + + _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 | $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 | $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 | $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 | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will 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; $ECHO \"$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=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # 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; $ECHO \"$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='echo' + + # 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=echo + 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" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -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" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -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=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + 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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${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 "\-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*) + # 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='echo' + + # 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 -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 -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 "\-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 "\-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(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 + 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_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 +# 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 +]) +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 $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 + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p 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 + ;; + + *.$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 + +# 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*) + # 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_PROG_F77 +# ------------ +# Since AC_PROG_F77 is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_F77], +[ +pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) +AC_PROG_F77 +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_F77 + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_F77], []) + + +# _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_REQUIRE([_LT_PROG_F77])dnl +AC_LANG_PUSH(Fortran 77) + +_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_flag_spec_ld, $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(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 + CC=${F77-"f77"} + 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" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_PROG_FC +# ----------- +# Since AC_PROG_FC is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_FC], +[ +pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) +AC_PROG_FC +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_FC + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_FC], []) + + +# _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_REQUIRE([_LT_PROG_FC])dnl +AC_LANG_PUSH(Fortran) + +_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_flag_spec_ld, $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(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 + CC=${FC-"f95"} + 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" +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_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +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 + +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" +])# _LT_LANG_GCJ_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_GCC=$GCC +GCC= +CC=${RC-"windres"} +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" +])# _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_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_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"}, \ + = c,a/b,, \ + && 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_XSI_SHELLFNS +# --------------------- +# Bourne and XSI compatible variants of some useful shell functions. +m4_defun([_LT_PROG_XSI_SHELLFNS], +[case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# 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_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}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $[*] )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# 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 () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + +dnl func_dirname_and_basename +dnl A portable version of this function is already defined in general.m4sh +dnl so there is no need for it here. + +# 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 "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[[^=]]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$[@]"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]+=\$[2]" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]=\$$[1]\$[2]" +} + +_LT_EOF + ;; + esac +]) + +# Helper functions for option handling. -*- 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 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], [0], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [0], [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], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [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. + +# Generated from ltversion.in. + +# serial 3017 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.2.6b]) +m4_define([LT_PACKAGE_REVISION], [1.3017]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.2.6b' +macro_revision='1.3017' +_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 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 4 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_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) +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])]) + +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 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. + +# 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.1], [], + [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.1])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 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. + +# 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 +# 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 10 + +# 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'. + 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 + ;; + 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='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])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"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 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 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# 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 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. + +# 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 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. + +# 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 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_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 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. + +# 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 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_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 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. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} 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 /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 + diff --git a/CRF/common.h b/CRF/common.h new file mode 100644 index 0000000000000000000000000000000000000000..4c30a504452c244f649ce7bdd8236058361847ab --- /dev/null +++ b/CRF/common.h @@ -0,0 +1,283 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: common.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_COMMON_H__ +#define CRFPP_COMMON_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#define COPYRIGHT "CRF++: Yet Another CRF Tool Kit\nCopyright (C) " \ + "2005-2009 Taku Kudo, All rights reserved.\n" +#define MODEL_VERSION 100 + +#if defined(_WIN32) && !defined(__CYGWIN__) +# define OUTPUT_MODE std::ios::binary|std::ios::out +#else +# define OUTPUT_MODE std::ios::out +#endif + +#define BUF_SIZE 8192 + +namespace CRFPP { +template inline T _min(T x, T y) { return(x < y) ? x : y; } +template inline T _max(T x, T y) { return(x > y) ? x : y; } + +// helper functions defined in the paper +inline double sigma(double x) { + if (x > 0) return 1.0; + else if (x < 0) return -1.0; + return 0.0; +} + +template +inline size_t tokenizeCSV(char *str, + Iterator out, size_t max) { + char *eos = str + std::strlen(str); + char *start = 0; + char *end = 0; + size_t n = 0; + + for (; str < eos; ++str) { + while (*str == ' ' || *str == '\t') ++str; // skip white spaces + bool inquote = false; + if (*str == '"') { + start = ++str; + end = start; + for (; str < eos; ++str) { + if (*str == '"') { + str++; + if (*str != '"') + break; + } + *end++ = *str; + } + inquote = true; + str = std::find(str, eos, ','); + } else { + start = str; + str = std::find(str, eos, ','); + end = str; + } + if (max-- > 1) *end = '\0'; + *out++ = start; + ++n; + if (max == 0) break; + } + + return n; +} + +template +inline size_t tokenize(char *str, const char *del, + Iterator out, size_t max) { + char *stre = str + std::strlen(str); + const char *dele = del + std::strlen(del); + size_t size = 0; + + while (size < max) { + char *n = std::find_first_of(str, stre, del, dele); + *n = '\0'; + *out++ = str; + ++size; + if (n == stre) break; + str = n + 1; + } + + return size; +} + +// continus run of space is regarded as one space +template +inline size_t tokenize2(char *str, const char *del, + Iterator out, size_t max) { + char *stre = str + std::strlen(str); + const char *dele = del + std::strlen(del); + size_t size = 0; + + while (size < max) { + char *n = std::find_first_of(str, stre, del, dele); + *n = '\0'; + if (*str != '\0') { + *out++ = str; + ++size; + } + if (n == stre) break; + str = n + 1; + } + + return size; +} + +void inline dtoa(double val, char *s) { + std::sprintf(s, "%-16f", val); + char *p = s; + for (; *p != ' '; ++p) {} + *p = '\0'; + return; +} + +template inline void itoa(T val, char *s) { + char *t; + T mod; + + if (val < 0) { + *s++ = '-'; + val = -val; + } + t = s; + + while (val) { + mod = val % 10; + *t++ = static_cast(mod)+ '0'; + val /= 10; + } + + if (s == t) *t++ = '0'; + *t = '\0'; + std::reverse(s, t); + + return; +} + +template +inline void uitoa(T val, char *s) { + char *t; + T mod; + t = s; + + while (val) { + mod = val % 10; + *t++ = static_cast(mod) + '0'; + val /= 10; + } + + if (s == t) *t++ = '0'; + *t = '\0'; + std::reverse(s, t); + + return; +} + +#define _ITOA(_n) do { \ + char buf[64]; \ + itoa(_n, buf); \ + append(buf); \ + return *this; } while (0) + +#define _UITOA(_n) do { \ + char buf[64]; \ + uitoa(_n, buf); \ + append(buf); \ + return *this; } while (0) + +#define _DTOA(_n) do { \ + char buf[64]; \ + dtoa(_n, buf); \ + append(buf); \ + return *this; } while (0) + +class string_buffer: public std::string { + public: + string_buffer& operator<<(double _n) { _DTOA(_n); } + string_buffer& operator<<(short int _n) { _ITOA(_n); } + string_buffer& operator<<(int _n) { _ITOA(_n); } + string_buffer& operator<<(long int _n) { _ITOA(_n); } + string_buffer& operator<<(unsigned short int _n) { _UITOA(_n); } + string_buffer& operator<<(unsigned int _n) { _UITOA(_n); } + string_buffer& operator<<(unsigned long int _n) { _UITOA(_n); } + string_buffer& operator<<(char _n) { + push_back(_n); + return *this; + } + string_buffer& operator<<(const char* _n) { + append(_n); + return *this; + } + string_buffer& operator<<(const std::string& _n) { + append(_n); + return *this; + } +}; + +class die { + public: + die() {} + virtual ~die() { + std::cerr << std::endl; + exit(-1); + } + int operator&(std::ostream&) { return 0; } +}; + +class warn { + public: + warn() {} + virtual ~warn() { std::cerr << std::endl; } + int operator&(std::ostream&) { return 0; } +}; + +struct whatlog { + std::ostringstream stream_; + std::string str_; + const char* str() { + str_ = stream_.str(); + return str_.c_str(); + } + jmp_buf cond_; +}; + +class wlog { + public: + whatlog *l_; + explicit wlog(whatlog *l): l_(l) { l_->stream_.clear(); } + ~wlog() { longjmp(l_->cond_, 1); } + int operator&(std::ostream &) { return 0; } +}; +} + +#define WHAT what_.stream_ + +#define CHECK_RETURN(condition, value) \ + if (condition) {} else \ + if (setjmp(what_.cond_) == 1) { \ + return value; \ + } else \ + wlog(&what_) & what_.stream_ << \ + __FILE__ << "(" << __LINE__ << ") [" << #condition << "] " + +#define CHECK_0(condition) CHECK_RETURN(condition, 0) +#define CHECK_FALSE(condition) CHECK_RETURN(condition, false) + +#define CHECK_CLOSE_FALSE(condition) \ + if (condition) {} else \ + if (setjmp(what_.cond_) == 1) { \ + close(); \ + return false; \ + } else \ + wlog(&what_) & what_.stream_ << \ + __FILE__ << "(" << __LINE__ << ") [" << #condition << "] " + +#define CHECK_DIE(condition) \ + (condition) ? 0 : die() & std::cerr << __FILE__ << \ + "(" << __LINE__ << ") [" << #condition << "] " + +#define CHECK_WARN(condition) \ + (condition) ? 0 : warn() & std::cerr << __FILE__ << \ + "(" << __LINE__ << ") [" << #condition << "] " +#endif diff --git a/CRF/config.guess b/CRF/config.guess new file mode 100644 index 0000000000000000000000000000000000000000..45bee139873061344c27d4e7ca547ca8930374e7 --- /dev/null +++ b/CRF/config.guess @@ -0,0 +1,1465 @@ +#! /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 Free Software Foundation, Inc. + +timestamp='2005-04-22' + +# 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, 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. + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted 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. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +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 ." + +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 +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 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # 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 -q "$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 ;' + +# 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 tupples: *-*-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 ;; + *) 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 __ELF__ >/dev/null + 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 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + luna88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mips64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + 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'` + exit 0 ;; + 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 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit 0 ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + 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 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + 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 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + 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 0 ;; + 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 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + 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 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # 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 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* 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 \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + 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 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????: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 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + 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 0 ;; + *: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 + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo rs6000-ibm-aix3.2.5 + 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 0 ;; + *:AIX:*:[45]) + 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 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 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 + #include + + 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 + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + 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 && $dummy && exit 0 + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + 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 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + 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 0 ;; + 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 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; + 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 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + amd64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *: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 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit 0 ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #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 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #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 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + 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 ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + 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 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + 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 0 ;; + 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 0 ;; + 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 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + 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 0 ;; + i*86:*:5:[78]*) + 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 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /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 0 ;; + 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 i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + 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 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 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 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *: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 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + 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 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + *86) UNAME_PROCESSOR=i686 ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *: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 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *: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 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit 0 ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms && exit 0 ;; + I*) echo ia64-dec-vms && exit 0 ;; + V*) echo vax-dec-vms && exit 0 ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit 0 ;; +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 < +# include +#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 + 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"); 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 +# 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 && $dummy && exit 0 + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# 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 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < 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/CRF/config.h b/CRF/config.h new file mode 100644 index 0000000000000000000000000000000000000000..803829112809b4d877cc1e40bf4a83f8613d9c67 --- /dev/null +++ b/CRF/config.h @@ -0,0 +1,99 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#define HAVE_LIBPTHREAD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MATH_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_PTHREAD_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "CRF++" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* Define to 1 if you have the ANSI C header files. */ +/* #undef STDC_HEADERS */ + +/* Version number of package */ +#define VERSION "0.54" + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ diff --git a/CRF/config.h.in b/CRF/config.h.in new file mode 100644 index 0000000000000000000000000000000000000000..06c8e722e64b569ba6aa1fd4c4bff8636120d67d --- /dev/null +++ b/CRF/config.h.in @@ -0,0 +1,98 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_CTYPE_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the `getpagesize' function. */ +#undef HAVE_GETPAGESIZE + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#undef HAVE_LIBPTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_MATH_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have a working `mmap' system call. */ +#undef HAVE_MMAP + +/* Define to 1 if you have the header file. */ +#undef HAVE_PTHREAD_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_MMAN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TIMES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_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 to `unsigned int' if does not define. */ +#undef size_t diff --git a/CRF/config.status b/CRF/config.status new file mode 100644 index 0000000000000000000000000000000000000000..6cb1477d29c02e42af437c6da35226597c87ab26 --- /dev/null +++ b/CRF/config.status @@ -0,0 +1,2275 @@ +#! /bin/sh +# Generated by configure. +# 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-/bin/sh} +export SHELL +## -------------------- ## +## 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. +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 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=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&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. ## +## ----------------------------------- ## +# 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 $as_me, which was +generated by GNU Autoconf 2.65. 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` +" + +# Files that config.status was made for. +config_files=" Makefile Makefile.msvc swig/version.h" +config_headers=" config.h" +config_commands=" depfiles libtool" + +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." + +ac_cs_config="" +ac_cs_version="\ +config.status +configured by ./configure, generated by GNU Autoconf 2.65, + with options \"$ac_cs_config\" + +Copyright (C) 2009 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='/home/weic4/GN/GNR/CRF++' +srcdir='.' +INSTALL='/usr/bin/install -c' +MKDIR_P='/bin/mkdir -p' +AWK='gawk' +test -n "$AWK" || AWK=awk +# 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=$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"` ;; + 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 + +if $ac_cs_recheck; then + set X '/bin/sh' './configure' $ac_configure_extra_args --no-create --no-recursion + shift + $as_echo "running CONFIG_SHELL=/bin/sh $*" >&6 + CONFIG_SHELL='/bin/sh' + export CONFIG_SHELL + exec "$@" +fi + +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 + +# +# INIT-COMMANDS +# +AMDEP_TRUE="" 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='s/\(["`$\\]\)/\\\1/g' +double_quote_subst='s/\(["`\\]\)/\\\1/g' +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' +macro_version='2.2.6b' +macro_revision='1.3017' +enable_shared='yes' +enable_static='yes' +pic_mode='default' +enable_fast_install='yes' +host_alias='' +host='x86_64-unknown-linux-gnu' +host_os='linux-gnu' +build_alias='' +build='x86_64-unknown-linux-gnu' +build_os='linux-gnu' +SED='/bin/sed' +Xsed='/bin/sed -e 1s/^X//' +GREP='/bin/grep' +EGREP='/bin/grep -E' +FGREP='/bin/grep -F' +LD='/usr/bin/ld -m elf_x86_64' +NM='/usr/bin/nm -B' +LN_S='ln -s' +max_cmd_len='98304' +ac_objext='o' +exeext='' +lt_unset='unset' +lt_SP2NL='tr \040 \012' +lt_NL2SP='tr \015\012 \040\040' +reload_flag=' -r' +reload_cmds='$LD$reload_flag -o $output$reload_objs' +OBJDUMP='objdump' +deplibs_check_method='pass_all' +file_magic_cmd='$MAGIC_CMD' +AR='ar' +AR_FLAGS='cru' +STRIP='strip' +RANLIB='ranlib' +old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $oldlib' +old_postuninstall_cmds='' +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $oldlib' +CC='gcc' +CFLAGS='-O3 -Wall' +compiler='g++' +GCC='yes' +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"\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/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\''' +objdir='.libs' +SHELL='/bin/sh' +ECHO='echo' +MAGIC_CMD='file' +lt_prog_compiler_no_builtin_flag=' -fno-builtin' +lt_prog_compiler_wl='-Wl,' +lt_prog_compiler_pic=' -fPIC -DPIC' +lt_prog_compiler_static='-static' +lt_cv_prog_compiler_c_o='yes' +need_locks='no' +DSYMUTIL='' +NMEDIT='' +LIPO='' +OTOOL='' +OTOOL64='' +libext='a' +shrext_cmds='.so' +extract_expsyms_cmds='' +archive_cmds_need_lc='no' +enable_shared_with_static_runtimes='no' +export_dynamic_flag_spec='${wl}--export-dynamic' +whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' +compiler_needs_object='no' +old_archive_from_new_cmds='' +old_archive_from_expsyms_cmds='' +archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +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 -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' +module_cmds='' +module_expsym_cmds='' +with_gnu_ld='yes' +allow_undefined_flag='' +no_undefined_flag='' +hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' +hardcode_libdir_flag_spec_ld='' +hardcode_libdir_separator='' +hardcode_direct='no' +hardcode_direct_absolute='no' +hardcode_minus_L='no' +hardcode_shlibpath_var='unsupported' +hardcode_automatic='no' +inherit_rpath='no' +link_all_deplibs='no' +fix_srcfile_path='' +always_export_symbols='no' +export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' +include_expsyms='' +prelink_cmds='' +file_list_spec='' +variables_saved_for_relink='PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH' +need_lib_prefix='no' +need_version='no' +version_type='linux' +runpath_var='LD_RUN_PATH' +shlibpath_var='LD_LIBRARY_PATH' +shlibpath_overrides_runpath='no' +libname_spec='lib$name' +library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +soname_spec='${libname}${release}${shared_ext}$major' +postinstall_cmds='' +postuninstall_cmds='' +finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' +finish_eval='' +hardcode_into_libs='yes' +sys_lib_search_path_spec='/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2 /lib64 /usr/lib64 /usr/lib64/gcc-4.4.2' +sys_lib_dlsearch_path_spec='/lib /usr/lib /usr/lib64/nvidia-graphics /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib64/qt4/lib64 /usr/lib64/xulrunner-1.9.2 /usr/lib/nsr /usr/lib/nsr/lib64 ' +hardcode_action='immediate' +enable_dlopen='unknown' +enable_dlopen_self='unknown' +enable_dlopen_self_static='unknown' +old_striplib='strip --strip-debug' +striplib='strip --strip-unneeded' +compiler_lib_search_dirs='' +predep_objects='' +postdep_objects='' +predeps='' +postdeps='' +compiler_lib_search_path='' +LD_CXX='/usr/bin/ld -m elf_x86_64' +old_archive_cmds_CXX='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $oldlib' +compiler_CXX='g++' +GCC_CXX='yes' +lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +lt_prog_compiler_wl_CXX='-Wl,' +lt_prog_compiler_pic_CXX=' -fPIC -DPIC' +lt_prog_compiler_static_CXX='-static' +lt_cv_prog_compiler_c_o_CXX='yes' +archive_cmds_need_lc_CXX='no' +enable_shared_with_static_runtimes_CXX='no' +export_dynamic_flag_spec_CXX='${wl}--export-dynamic' +whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' +compiler_needs_object_CXX='no' +old_archive_from_new_cmds_CXX='' +old_archive_from_expsyms_cmds_CXX='' +archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +module_cmds_CXX='' +module_expsym_cmds_CXX='' +with_gnu_ld_CXX='yes' +allow_undefined_flag_CXX='' +no_undefined_flag_CXX='' +hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' +hardcode_libdir_flag_spec_ld_CXX='' +hardcode_libdir_separator_CXX='' +hardcode_direct_CXX='no' +hardcode_direct_absolute_CXX='no' +hardcode_minus_L_CXX='no' +hardcode_shlibpath_var_CXX='unsupported' +hardcode_automatic_CXX='no' +inherit_rpath_CXX='no' +link_all_deplibs_CXX='no' +fix_srcfile_path_CXX='' +always_export_symbols_CXX='no' +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]_.*' +include_expsyms_CXX='' +prelink_cmds_CXX='' +file_list_spec_CXX='' +hardcode_action_CXX='immediate' +compiler_lib_search_dirs_CXX='/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2 /lib/../lib64 /usr/lib/../lib64 /usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/../../..' +predep_objects_CXX='/usr/lib/../lib64/crti.o /usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/crtbeginS.o' +postdep_objects_CXX='/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/crtendS.o /usr/lib/../lib64/crtn.o' +predeps_CXX='' +postdeps_CXX='-lstdc++ -lm -lgcc_s -lc -lgcc_s' +compiler_lib_search_path_CXX='-L/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/../../..' + +LTCC='gcc' +LTCFLAGS='-g -O2' +compiler='gcc' + +# Quote evaled strings. +for var in SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag OBJDUMP deplibs_check_method file_magic_cmd AR AR_FLAGS 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 SHELL ECHO lt_prog_compiler_no_builtin_flag lt_prog_compiler_wl lt_prog_compiler_pic lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks 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_flag_spec_ld hardcode_libdir_separator fix_srcfile_path exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec finish_eval old_striplib striplib compiler_lib_search_dirs predep_objects postdep_objects predeps postdeps compiler_lib_search_path LD_CXX compiler_CXX lt_prog_compiler_no_builtin_flag_CXX lt_prog_compiler_wl_CXX lt_prog_compiler_pic_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_flag_spec_ld_CXX hardcode_libdir_separator_CXX fix_srcfile_path_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 "X\\$$var"` in + *[\\\`\"\$]*) + eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$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 postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec sys_lib_dlsearch_path_spec 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; do + case `eval \\$ECHO "X\\$$var"` in + *[\\\`\"\$]*) + eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\$$var\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case $lt_ECHO in +*'\$0 --fallback-echo"') lt_ECHO=`$ECHO "X$lt_ECHO" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; +esac + +ac_aux_dir='.' +xsi_shell='yes' +lt_shell_append='yes' + +# 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='CRF++' + VERSION='0.54' + TIMESTAMP='' + RM='rm -f' + ofile='libtool' + + + + + + + +# 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" ;; + "Makefile.msvc") CONFIG_FILES="$CONFIG_FILES Makefile.msvc" ;; + "swig/version.h") CONFIG_FILES="$CONFIG_FILES swig/version.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= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 + +# 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` +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 {' >"$tmp/subs1.awk" && +cat >>"$tmp/subs1.awk" <<\_ACAWK && +S["am__EXEEXT_FALSE"]="" +S["am__EXEEXT_TRUE"]="#" +S["LTLIBOBJS"]="" +S["LIBOBJS"]="" +S["CXXCPP"]="g++ -E" +S["OTOOL64"]="" +S["OTOOL"]="" +S["LIPO"]="" +S["NMEDIT"]="" +S["DSYMUTIL"]="" +S["lt_ECHO"]="echo" +S["RANLIB"]="ranlib" +S["AR"]="ar" +S["OBJDUMP"]="objdump" +S["LN_S"]="ln -s" +S["NM"]="/usr/bin/nm -B" +S["ac_ct_DUMPBIN"]="" +S["DUMPBIN"]="" +S["LD"]="/usr/bin/ld -m elf_x86_64" +S["FGREP"]="/bin/grep -F" +S["SED"]="/bin/sed" +S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool" +S["host_os"]="linux-gnu" +S["host_vendor"]="unknown" +S["host_cpu"]="x86_64" +S["host"]="x86_64-unknown-linux-gnu" +S["build_os"]="linux-gnu" +S["build_vendor"]="unknown" +S["build_cpu"]="x86_64" +S["build"]="x86_64-unknown-linux-gnu" +S["EGREP"]="/bin/grep -E" +S["GREP"]="/bin/grep" +S["CPP"]="gcc -E" +S["am__fastdepCXX_FALSE"]="#" +S["am__fastdepCXX_TRUE"]="" +S["CXXDEPMODE"]="depmode=gcc3" +S["ac_ct_CXX"]="g++" +S["CXXFLAGS"]="-O3 -Wall" +S["CXX"]="g++" +S["am__fastdepCC_FALSE"]="#" +S["am__fastdepCC_TRUE"]="" +S["CCDEPMODE"]="depmode=gcc3" +S["AMDEPBACKSLASH"]="\\" +S["AMDEP_FALSE"]="#" +S["AMDEP_TRUE"]="" +S["am__quote"]="" +S["am__include"]="include" +S["DEPDIR"]=".deps" +S["OBJEXT"]="o" +S["EXEEXT"]="" +S["ac_ct_CC"]="gcc" +S["CPPFLAGS"]="" +S["LDFLAGS"]="" +S["CFLAGS"]="-O3 -Wall" +S["CC"]="gcc" +S["am__untar"]="${AMTAR} xf -" +S["am__tar"]="${AMTAR} chof - \"$$tardir\"" +S["AMTAR"]="${SHELL} /home/weic4/GN/GNR/CRF++/missing --run tar" +S["am__leading_dot"]="." +S["SET_MAKE"]="" +S["AWK"]="gawk" +S["mkdir_p"]="/bin/mkdir -p" +S["MKDIR_P"]="/bin/mkdir -p" +S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" +S["STRIP"]="strip" +S["install_sh"]="${SHELL} /home/weic4/GN/GNR/CRF++/install-sh" +S["MAKEINFO"]="${SHELL} /home/weic4/GN/GNR/CRF++/missing --run makeinfo" +S["AUTOHEADER"]="${SHELL} /home/weic4/GN/GNR/CRF++/missing --run autoheader" +S["AUTOMAKE"]="${SHELL} /home/weic4/GN/GNR/CRF++/missing --run automake-1.11" +S["AUTOCONF"]="${SHELL} /home/weic4/GN/GNR/CRF++/missing --run autoconf" +S["ACLOCAL"]="${SHELL} /home/weic4/GN/GNR/CRF++/missing --run aclocal-1.11" +S["VERSION"]="0.54" +S["PACKAGE"]="CRF++" +S["CYGPATH_W"]="echo" +S["am__isrc"]="" +S["INSTALL_DATA"]="${INSTALL} -m 644" +S["INSTALL_SCRIPT"]="${INSTALL}" +S["INSTALL_PROGRAM"]="${INSTALL}" +S["target_alias"]="" +S["host_alias"]="" +S["build_alias"]="" +S["LIBS"]="-lpthread -lpthread -lm -lm -lm " +S["ECHO_T"]="" +S["ECHO_N"]="-n" +S["ECHO_C"]="" +S["DEFS"]="-DHAVE_CONFIG_H" +S["mandir"]="${datarootdir}/man" +S["localedir"]="${datarootdir}/locale" +S["libdir"]="${exec_prefix}/lib" +S["psdir"]="${docdir}" +S["pdfdir"]="${docdir}" +S["dvidir"]="${docdir}" +S["htmldir"]="${docdir}" +S["infodir"]="${datarootdir}/info" +S["docdir"]="${datarootdir}/doc/${PACKAGE}" +S["oldincludedir"]="/usr/include" +S["includedir"]="${prefix}/include" +S["localstatedir"]="${prefix}/var" +S["sharedstatedir"]="${prefix}/com" +S["sysconfdir"]="${prefix}/etc" +S["datadir"]="${datarootdir}" +S["datarootdir"]="${prefix}/share" +S["libexecdir"]="${exec_prefix}/libexec" +S["sbindir"]="${exec_prefix}/sbin" +S["bindir"]="${exec_prefix}/bin" +S["program_transform_name"]="s,x,x," +S["prefix"]="/usr/local" +S["exec_prefix"]="${prefix}" +S["PACKAGE_URL"]="" +S["PACKAGE_BUGREPORT"]="" +S["PACKAGE_STRING"]="" +S["PACKAGE_VERSION"]="" +S["PACKAGE_TARNAME"]="" +S["PACKAGE_NAME"]="" +S["PATH_SEPARATOR"]=":" +S["SHELL"]="/bin/sh" +_ACAWK +cat >>"$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 +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 < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error "could not setup config files machinery" "$LINENO" 5 +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 >"$tmp/defines.awk" <<\_ACAWK || +BEGIN { +D["PACKAGE_NAME"]=" \"\"" +D["PACKAGE_TARNAME"]=" \"\"" +D["PACKAGE_VERSION"]=" \"\"" +D["PACKAGE_STRING"]=" \"\"" +D["PACKAGE_BUGREPORT"]=" \"\"" +D["PACKAGE_URL"]=" \"\"" +D["PACKAGE"]=" \"CRF++\"" +D["VERSION"]=" \"0.54\"" +D["HAVE_SYS_TYPES_H"]=" 1" +D["HAVE_SYS_STAT_H"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_STRING_H"]=" 1" +D["HAVE_MEMORY_H"]=" 1" +D["HAVE_STRINGS_H"]=" 1" +D["HAVE_INTTYPES_H"]=" 1" +D["HAVE_STDINT_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["HAVE_DLFCN_H"]=" 1" +D["LT_OBJDIR"]=" \".libs/\"" +D["HAVE_STRING_H"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["HAVE_FCNTL_H"]=" 1" +D["HAVE_SYS_STAT_H"]=" 1" +D["HAVE_SYS_MMAN_H"]=" 1" +D["HAVE_SYS_TIMES_H"]=" 1" +D["HAVE_CTYPE_H"]=" 1" +D["HAVE_SYS_TYPES_H"]=" 1" +D["HAVE_MATH_H"]=" 1" +D["HAVE_PTHREAD_H"]=" 1" +D["HAVE_LIBM"]=" 1" +D["HAVE_LIBM"]=" 1" +D["HAVE_LIBM"]=" 1" +D["HAVE_LIBPTHREAD"]=" 1" +D["HAVE_LIBPTHREAD"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["HAVE_SYS_PARAM_H"]=" 1" +D["HAVE_GETPAGESIZE"]=" 1" +D["HAVE_MMAP"]=" 1" + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\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 + 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="$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 "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 >"$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 +# 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;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac +ac_sed_extra="/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +} + +: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 "$tmp/subs.awk" >$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' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$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 "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$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 "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$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 "$tmp/config.h" "$ac_file" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$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 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 + +# 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 + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# 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 + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# 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 + +# 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 + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO + +# 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 + +# 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 + +# 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 + +# 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 + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# 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 + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# 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 + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# 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 + +# 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 '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# 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_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}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# 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 () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + + +# 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 "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} + +_LT_EOF + ;; + esac + + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + 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 + +# 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 + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_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 + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_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 + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path_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 + +# 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 diff --git a/CRF/config.sub b/CRF/config.sub new file mode 100644 index 0000000000000000000000000000000000000000..1761d8bdf6307c02067b3581e183ba2fdef7e1fa --- /dev/null +++ b/CRF/config.sub @@ -0,0 +1,1626 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2007-06-28' + +# 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, 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. + + +# Please send patches to . Submit a context +# diff and a properly formatted 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. + +# 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 ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +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-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + 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) + os= + basic_machine=$1 + ;; + -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 \ + | 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 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | 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 | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-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-* \ + | 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-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | 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-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | 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-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | 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-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # 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 + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + 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) + 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 + ;; + 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'm not sure what "Sysv32" means. Should this be sysv3.2? + 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 + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + 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-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + 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 + ;; + 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 + ;; + 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) basic_machine=powerpc-unknown + ;; + ppc-*) 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 + ;; + 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 + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + 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 + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-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[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. + -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* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -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* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -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*) + # 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 + ;; + -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 + ;; + # 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 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + 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 + ;; + -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/CRF/configure b/CRF/configure new file mode 100644 index 0000000000000000000000000000000000000000..f36d338239ecbeeb53ab36ec70a180cb4ede7863 --- /dev/null +++ b/CRF/configure @@ -0,0 +1,18555 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.65. +# +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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. +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 \$(( 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. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$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 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=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&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'" + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +ECHO=${lt_ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +$* +_LT_EOF + exit 0 +fi + +# 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 + +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi + + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi + fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, 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= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= +PACKAGE_URL= + +ac_unique_file="crf_learn.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_list= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +CXXCPP +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +lt_ECHO +RANLIB +AR +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +SED +LIBTOOL +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +EGREP +GREP +CPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +ac_ct_CXX +CXXFLAGS +CXX +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +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_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_gnu_ld +enable_libtool_lock +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +CPP +CXXCPP' + + +# 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}' +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=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 this package 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/PACKAGE] + --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 + + 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] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --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-libtool-lock avoid locking (might break parallel builds) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CPP C preprocessor + CXXCPP C++ preprocessor + +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 +configure +generated by GNU Autoconf 2.65 + +Copyright (C) 2009 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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# 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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_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; } >/dev/null && { + 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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; 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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_compile + +# 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; 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 declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_func + +# 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; } >/dev/null && { + 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; test "x$as_lineno_stack" = x && { as_lineno=; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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; test "x$as_lineno_stack" = x && { as_lineno=; 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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; 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.$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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; 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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_mongrel + +# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES +# --------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_cxx_check_type () +{ + 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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + eval "$3=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 +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_type + +# ac_fn_cxx_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_cxx_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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_cxx_check_header_compile + +# 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 { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; 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 declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#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; test "x$as_lineno_stack" = x && { as_lineno=; 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 $as_me, which was +generated by GNU Autoconf 2.65. 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 + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + 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 + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + 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 + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + 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 + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + 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 + ac_site_file1=$CONFIG_SITE +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" + 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 + +as_fn_append ac_header_list " stdlib.h" +as_fn_append ac_header_list " unistd.h" +as_fn_append ac_header_list " sys/param.h" +# 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 + + +am__api_version='1.11' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done +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 test "${ac_cv_path_install+set}" = set; 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 test "${ac_cv_prog_STRIP+set}" = set; 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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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 test "${ac_cv_path_mkdir+set}" = set; 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 test "${ac_cv_prog_AWK+set}" = set; 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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; 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=CRF++ + VERSION=0.54 + + +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. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +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 test "${ac_cv_prog_CC+set}" = set; 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 test "${ac_cv_prog_ac_ct_CC+set}" = set; 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 test "${ac_cv_prog_CC+set}" = set; 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 test "${ac_cv_prog_CC+set}" = set; 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 test "${ac_cv_prog_CC+set}" = set; 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 test "${ac_cv_prog_ac_ct_CC+set}" = set; 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_set_status 77 +as_fn_error "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 +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 test "${ac_cv_objext+set}" = set; 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 test "${ac_cv_c_compiler_gnu+set}" = set; 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 test "${ac_cv_prog_cc_g+set}" = set; 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 test "${ac_cv_prog_cc_c89+set}" = set; 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 +#include +#include +#include +/* 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 +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='\' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +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 test "${am_cv_CC_dependencies_compiler_type+set}" = set; 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'. + 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 + ;; + 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 + + +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 test "${ac_cv_prog_CXX+set}" = set; 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 test "${ac_cv_prog_ac_ct_CXX+set}" = set; 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 test "${ac_cv_cxx_compiler_gnu+set}" = set; 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 test "${ac_cv_prog_cxx_g+set}" = set; 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 test "${am_cv_CXX_dependencies_compiler_type+set}" = set; 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'. + 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 + ;; + 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 + + + +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 test "${ac_cv_prog_CPP+set}" = set; 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 to if __STDC__ is defined, since + # 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 +#else +# include +#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.$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 +_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.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f 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 to if __STDC__ is defined, since + # 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 +#else +# include +#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.$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 +_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.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f 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 grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; 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 test "${ac_cv_path_EGREP+set}" = set; 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" + + +if test $ac_cv_c_compiler_gnu = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 +$as_echo_n "checking whether $CC needs -traditional... " >&6; } +if test "${ac_cv_prog_gcc_traditional+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_pattern="Autoconf.*'x'" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TIOCGETP +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +else + ac_cv_prog_gcc_traditional=no +fi +rm -f conftest* + + + if test $ac_cv_prog_gcc_traditional = no; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +Autoconf TCGETA +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then : + ac_cv_prog_gcc_traditional=yes +fi +rm -f conftest* + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 +$as_echo "$ac_cv_prog_gcc_traditional" >&6; } + if test $ac_cv_prog_gcc_traditional = yes; then + CC="$CC -traditional" + fi +fi + +{ $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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; 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 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 +$as_echo_n "checking for library containing strerror... " >&6; } +if test "${ac_cv_search_strerror+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$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 strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_strerror=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if test "${ac_cv_search_strerror+set}" = set; then : + break +fi +done +if test "${ac_cv_search_strerror+set}" = set; then : + +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 +$as_echo "$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +# 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 test "${ac_cv_build+set}" = set; 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 test "${ac_cv_host+set}" = set; 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 + + + +case $host_os in + *cygwin* ) CYGWIN=yes;; + * ) CYGWIN=no;; +esac + +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 + +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.2.6b' +macro_revision='1.3017' + + + + + + + + + + + + + +ltmain="$ac_aux_dir/ltmain.sh" + +{ $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 test "${ac_cv_path_SED+set}" = set; 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 fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if test "${ac_cv_path_FGREP+set}" = set; 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 test "${lt_cv_path_LD+set}" = set; 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 &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 test "${lt_cv_prog_gnu_ld+set}" = set; 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 &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 test "${lt_cv_path_NM+set}" = set; 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 "$ac_tool_prefix"; then + for ac_prog in "dumpbin -symbols" "link -dump -symbols" + 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 test "${ac_cv_prog_DUMPBIN+set}" = set; 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 -symbols" "link -dump -symbols" +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 test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; 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 + + + 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 test "${lt_cv_nm_interface+set}" = set; 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:5451: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:5454: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:5457: 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 test "${lt_cv_sys_max_cmd_len+set}" = set; 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; + ;; + + 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 + ;; + + 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"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$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"}, \ + = c,a/b,, \ + && 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 for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; 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 + 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 test "${ac_cv_prog_OBJDUMP+set}" = set; 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 test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; 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 test "${lt_cv_deplibs_check_method+set}" = set; 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. + if ( 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 + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + 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 + ;; + +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]) 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 Linux 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_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}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AR+set}" = set; 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}ar" + $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 + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; 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="ar" + $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 + + 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 +else + AR="$ac_cv_prog_AR" +fi + +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru + + + + + + + + + + + +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 test "${ac_cv_prog_STRIP+set}" = set; 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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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 test "${ac_cv_prog_RANLIB+set}" = set; 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 test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; 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 \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# 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 test "${lt_cv_sys_global_symbol_pipe+set}" = set; 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};"\ +" /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 + + # 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 +#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. */ +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_save_LIBS="$LIBS" + lt_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_save_LIBS" + CFLAGS="$lt_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 + + + + + + + + + + + + + + + + + + + + + + +# 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 6662 "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 test "${lt_cv_cc_needs_belf+set}" = set; 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 + ;; +sparc*-*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*) LD="${LD-ld} -m elf64_sparc" ;; + *) + 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" + + + 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 test "${ac_cv_prog_DSYMUTIL+set}" = set; 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 test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; 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 test "${ac_cv_prog_NMEDIT+set}" = set; 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 test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; 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 test "${ac_cv_prog_LIPO+set}" = set; 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 test "${ac_cv_prog_ac_ct_LIPO+set}" = set; 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 test "${ac_cv_prog_OTOOL+set}" = set; 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 test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; 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 test "${ac_cv_prog_OTOOL64+set}" = set; 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 test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; 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 test "${lt_cv_apple_cc_single_mod+set}" = set; 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 test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 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 test "${lt_cv_ld_exported_symbols_list+set}" = set; 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; } + 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" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +{ $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 test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +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 + +_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 + +_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 +#include +#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 +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = 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" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 1 +_ACEOF + +fi + +done + + + +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 test "${ac_cv_prog_CXX+set}" = set; 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 test "${ac_cv_prog_ac_ct_CXX+set}" = set; 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 test "${ac_cv_cxx_compiler_gnu+set}" = set; 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 test "${ac_cv_prog_cxx_g+set}" = set; 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=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 + +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 test "${am_cv_CXX_dependencies_compiler_type+set}" = set; 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'. + 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 + ;; + 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 + + +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 test "${ac_cv_prog_CXXCPP+set}" = set; 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 to if __STDC__ is defined, since + # 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 +#else +# include +#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.$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 +_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.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f 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 to if __STDC__ is defined, since + # 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 +#else +# include +#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.$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 +_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.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f 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;} +_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 + +else + _lt_caught_CXX_error=yes +fi + + + + + +# 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; pic_mode="$withval" +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 test "${lt_cv_objdir+set}" = set; 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 + +# Sed substitution that helps us do robust quoting. It backslashifies +# 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' + +# 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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "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 test "${lt_cv_path_MAGIC_CMD+set}" = set; 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 test "${lt_cv_path_MAGIC_CMD+set}" = set; 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 + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + { $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 test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; 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:8577: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:8581: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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= + +{ $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 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' + ;; + + 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 + 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' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # 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*) + # IBM XL C 8.0/Fortran 10.1 on PPC + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # 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='' + ;; + 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*) + 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}: result: $lt_prog_compiler_pic" >&5 +$as_echo "$lt_prog_compiler_pic" >&6; } + + + + + + +# +# 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 test "${lt_cv_prog_compiler_pic_works+set}" = set; 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:8916: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:8920: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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 test "${lt_cv_prog_compiler_static_works+set}" = set; 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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/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 test "${lt_cv_prog_compiler_c_o+set}" = set; 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:9021: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:9025: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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 test "${lt_cv_prog_compiler_c_o+set}" = set; 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:9076: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:9080: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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_flag_spec_ld= + 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) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = 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.9.1, 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 modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_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 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' + 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/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + 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 + ;; + + 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= + 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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # 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; $ECHO \"$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]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + 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; $ECHO \"$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*) + # 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= + hardcode_libdir_flag_spec_ld='-rpath $libdir' + archive_cmds='$LD -shared $libobjs $deplibs $compiler_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 $compiler_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 $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' + 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 $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 + ;; + + 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 $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 + + 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 + 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")) && (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. + 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 + } + }' +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 "$aix_libpath"; then + 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 "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; 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. + 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 + } + }' +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 "$aix_libpath"; then + 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 "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + 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. + 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 `$ECHO "X$deplibs" | $Xsed -e '\''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' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + 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=echo + 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 + ;; + + freebsd1*) + ld_shlibs=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 -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 -fPIC ${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 -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${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_flag_spec_ld='+b $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 -a "$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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${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' + ;; + *) + archive_cmds='$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 + 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 $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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. + 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) {} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$save_LDFLAGS" + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -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 ${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 ${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; } + $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 + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 +$as_echo "$archive_cmds_need_lc" >&6; } + ;; + 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 + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # 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 -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # 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; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +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 + 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 + 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.so + # instead of lib.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=`$ECHO "X$lib" | $Xsed -e '\''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 + 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,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) + 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="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + 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 + ;; + 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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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 + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +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[123]*) 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 + 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 + 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' + ;; + +interix[3-9]*) + 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' + 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 + 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 Linux ELF. +linux* | k*bsd*-gnu | kopensolaris*-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' + 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 + 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 : + 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 + + # 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;/^$/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 + 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 + 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 + 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 + 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 + 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 + 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 test "${ac_cv_lib_dl_dlopen+set}" = set; 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" = x""yes; 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" = x""yes; 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 test "${ac_cv_lib_dld_shl_load+set}" = set; 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" = x""yes; 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" = x""yes; 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 test "${ac_cv_lib_dl_dlopen+set}" = set; 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" = x""yes; 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 test "${ac_cv_lib_svld_dlopen+set}" = set; 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" = x""yes; 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 test "${ac_cv_lib_dld_dld_link+set}" = set; 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" = x""yes; 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 test "${lt_cv_dlopen_self+set}" = set; 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 11460 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#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 + +void fnord() { int i=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; + /* 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 test "${lt_cv_dlopen_self_static+set}" = set; 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 11556 "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#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 + +void fnord() { int i=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; + /* 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=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 + +CC="$lt_save_CC" + + +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_flag_spec_ld_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 +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_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++"} + 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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "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 test "${lt_cv_path_LD+set}" = set; 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 &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 test "${lt_cv_prog_gnu_ld+set}" = set; 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 &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 -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -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 "\-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. + 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 + } + }' +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 "$aix_libpath"; then + 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 "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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 $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; 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. + 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 + } + }' +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 "$aix_libpath"; then + 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 "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; 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' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + 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 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*) + # _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' + 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 + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + 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=echo + 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 + ;; + + freebsd[12]*) + # 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*) + ;; + + 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; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${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; $ECHO "X$list" | $Xsed' + ;; + *) + 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 -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${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" && $ECHO "X-set_version $verstring" | $Xsed` -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 -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -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; $ECHO "X$list" | $Xsed' + + 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 | $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 | $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 | $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 | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will 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; $ECHO \"$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=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # 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; $ECHO \"$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='echo' + + # 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=echo + 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" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -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" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -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=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + 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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${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 "\-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*) + # 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='echo' + + # 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 -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 -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 "\-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 "\-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' + ;; + *) + 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 + +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 $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 + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p 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 + ;; + + *.$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 + +# 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*) + # 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= + +{ $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; } + + # 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= + ;; + 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 + ;; + 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*) + # IBM XL 8.0 on PPC + 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*) + # 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}: result: $lt_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_prog_compiler_pic_CXX" >&6; } + + + +# +# 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 test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; 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:13512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:13516: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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 test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; 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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/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 test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; 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:13611: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:13615: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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 test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; 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:13663: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:13667: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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' + 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 + 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")) && (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*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + +{ $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; } + $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 + archive_cmds_need_lc_CXX=no + else + 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* + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 +$as_echo "$archive_cmds_need_lc_CXX" >&6; } + ;; + 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 + 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 + 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.so + # instead of lib.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=`$ECHO "X$lib" | $Xsed -e '\''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 + 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,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) + 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="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + 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 + ;; + 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 + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # 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 + 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 + ;; + +freebsd1*) + dynamic_linker=no + ;; + +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[123]*) 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 + 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 + 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' + ;; + +interix[3-9]*) + 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' + 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 + 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 Linux ELF. +linux* | k*bsd*-gnu | kopensolaris*-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' + 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 + 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 : + 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 + + # 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;/^$/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 + 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 + 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 + 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 + 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 + 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 + 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 + 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=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 + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + + + +{ $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 test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_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 + +_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 + +_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 +#include +#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_cxx_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 + +for ac_header in string.h stdlib.h unistd.h fcntl.h \ + sys/stat.h sys/mman.h sys/times.h \ + ctype.h sys/types.h math.h pthread.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" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = x""yes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 +$as_echo_n "checking for pow in -lm... " >&6; } +if test "${ac_cv_lib_m_pow+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $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 pow (); +int +main () +{ +return pow (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_m_pow=yes +else + ac_cv_lib_m_pow=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_m_pow" >&5 +$as_echo "$ac_cv_lib_m_pow" >&6; } +if test "x$ac_cv_lib_m_pow" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exp in -lm" >&5 +$as_echo_n "checking for exp in -lm... " >&6; } +if test "${ac_cv_lib_m_exp+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $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 exp (); +int +main () +{ +return exp (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_m_exp=yes +else + ac_cv_lib_m_exp=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_m_exp" >&5 +$as_echo "$ac_cv_lib_m_exp" >&6; } +if test "x$ac_cv_lib_m_exp" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for log in -lm" >&5 +$as_echo_n "checking for log in -lm... " >&6; } +if test "${ac_cv_lib_m_log+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $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 log (); +int +main () +{ +return log (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_m_log=yes +else + ac_cv_lib_m_log=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_m_log" >&5 +$as_echo "$ac_cv_lib_m_log" >&6; } +if test "x$ac_cv_lib_m_log" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 +$as_echo_n "checking for pthread_create in -lpthread... " >&6; } +if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $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 pthread_create (); +int +main () +{ +return pthread_create (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_create=yes +else + ac_cv_lib_pthread_pthread_create=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_pthread_pthread_create" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } +if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPTHREAD 1 +_ACEOF + + LIBS="-lpthread $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in -lpthread" >&5 +$as_echo_n "checking for pthread_join in -lpthread... " >&6; } +if test "${ac_cv_lib_pthread_pthread_join+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $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 pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_join=yes +else + ac_cv_lib_pthread_pthread_join=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_pthread_pthread_join" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_join" >&6; } +if test "x$ac_cv_lib_pthread_pthread_join" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBPTHREAD 1 +_ACEOF + + LIBS="-lpthread $LIBS" + +fi + + + + + for ac_header in $ac_header_list +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + +for ac_func in getpagesize +do : + ac_fn_cxx_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPAGESIZE 1 +_ACEOF + +fi +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 +$as_echo_n "checking for working mmap... " >&6; } +if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_mmap_fixed_mapped=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc + +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propagated back to all the places they're supposed to be. + + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ + +#include +#include + +#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H +char *malloc (); +#endif + +/* This mess was copied from the GNU getpagesize.h. */ +#ifndef HAVE_GETPAGESIZE +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# ifdef HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ + +#endif /* no HAVE_GETPAGESIZE */ + +int +main () +{ + char *data, *data2, *data3; + const char *cdata2; + int i, pagesize; + int fd, fd2; + + pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + return 1; + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + return 2; + if (write (fd, data, pagesize) != pagesize) + return 3; + close (fd); + + /* Next, check that the tail of a page is zero-filled. File must have + non-zero length, otherwise we risk SIGBUS for entire page. */ + fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); + if (fd2 < 0) + return 4; + cdata2 = ""; + if (write (fd2, cdata2, 1) != 1) + return 5; + data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); + if (data2 == MAP_FAILED) + return 6; + for (i = 0; i < pagesize; ++i) + if (*(data2 + i)) + return 7; + close (fd2); + if (munmap (data2, pagesize)) + return 8; + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + return 9; + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + return 10; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + return 11; + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + return 12; + if (read (fd, data3, pagesize) != pagesize) + return 13; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + return 14; + close (fd); + return 0; +} +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + ac_cv_func_mmap_fixed_mapped=yes +else + ac_cv_func_mmap_fixed_mapped=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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 +$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } +if test $ac_cv_func_mmap_fixed_mapped = yes; then + +$as_echo "#define HAVE_MMAP 1" >>confdefs.h + +fi +rm -f conftest.mmap conftest.txt + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether make is GNU Make" >&5 +$as_echo_n "checking whether make is GNU Make... " >&6; } +if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; 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; } + if test "$host_vendor" = "sun" ; then + as_fn_error "\"SUN make does not work for building maxent. Please install GNU make\"" "$LINENO" 5 + fi +fi + +if test -n "$GCC"; then + CFLAGS="-O3 -Wall"; + CXXFLAGS="-O3 -Wall"; +fi + + + + + +# On Intel systems with gcc, we may need to compile with -mieee-fp to +# get full support for IEEE floating point. +# +# On Alpha/OSF systems, we need -mieee. +# +# On AIX systems, we need to limit the amount of stuff that goes in +# the TOC. +case "$host" in + i[3456789]86-*-*) + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC-cc} accepts -mieee-fp" >&5 +$as_echo_n "checking whether ${CC-cc} accepts -mieee-fp... " >&6; } + + 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 + + XCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mieee-fp" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok, adding -mieee-fp to CFLAGS" >&5 +$as_echo " ok, adding -mieee-fp to CFLAGS" >&6; } +else + CFLAGS="$XCFLAGS" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 ${CXX-c++} accepts -mieee-fp" >&5 +$as_echo_n "checking whether ${CXX-c++} accepts -mieee-fp... " >&6; } + + 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 + + XCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -mieee-fp" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok, adding -mieee-fp to CXXFLAGS" >&5 +$as_echo " ok, adding -mieee-fp to CXXFLAGS" >&6; } +else + CXXFLAGS="$XCXXFLAGS" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 + + + ;; + alpha*-*-*) + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC-cc} accepts -mieee" >&5 +$as_echo_n "checking whether ${CC-cc} accepts -mieee... " >&6; } + + 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 + + XCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mieee" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok, adding -mieee to CFLAGS" >&5 +$as_echo " ok, adding -mieee to CFLAGS" >&6; } +else + CFLAGS="$XCFLAGS" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 ${CXX-c++} accepts -mieee" >&5 +$as_echo_n "checking whether ${CXX-c++} accepts -mieee... " >&6; } + + 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 + + XCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -mieee" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok, adding -mieee to CXXFLAGS" >&5 +$as_echo " ok, adding -mieee to CXXFLAGS" >&6; } +else + CXXFLAGS="$XCXXFLAGS" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 + + + ;; + *ibm-aix4*) + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC-cc} accepts -mminimal-toc" >&5 +$as_echo_n "checking whether ${CC-cc} accepts -mminimal-toc... " >&6; } + + 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 + + XCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mminimal-toc" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok, adding -mminimal-toc to CFLAGS" >&5 +$as_echo " ok, adding -mminimal-toc to CFLAGS" >&6; } +else + CFLAGS="$XCFLAGS" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 ${CXX-c++} accepts -mminimal-toc" >&5 +$as_echo_n "checking whether ${CXX-c++} accepts -mminimal-toc... " >&6; } + + 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 + + XCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -mminimal-toc" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok, adding -mminimal-toc to CXXFLAGS" >&5 +$as_echo " ok, adding -mminimal-toc to CXXFLAGS" >&6; } +else + CXXFLAGS="$XCXXFLAGS" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + 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 + + + ;; +esac + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_string=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_string" >&5 +$as_echo "$ac_stl_string" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_vector=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_vector" >&5 +$as_echo "$ac_stl_vector" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_map=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_map" >&5 +$as_echo "$ac_stl_map" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_set=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_set" >&5 +$as_echo "$ac_stl_set" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_iostream=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_iostream" >&5 +$as_echo "$ac_stl_iostream" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_fstream=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_fstream" >&5 +$as_echo "$ac_stl_fstream" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_sstream=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_sstream" >&5 +$as_echo "$ac_stl_sstream" >&6; } + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports stl (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports stl (required)... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + +int +main () +{ + + ; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_stl_stdexcept=yes + +else + + config_error=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} stl does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} stl does not work" >&2;} + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_stl_stdexcept" >&5 +$as_echo "$ac_stl_stdexcept" >&6; } + + +# check for const_cast +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports template (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports template (required)... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + template T foo (T &i) { return i++; }; + +int +main () +{ + + int i = 0; + double d = 0.0; + foo(i); foo(d); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_template=yes + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} template does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} template does not work" >&2;} + config_error=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_template" >&5 +$as_echo "$ac_template" >&6; } + +# check for const_cast +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports const_cast<> (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports const_cast<> (required)... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + class foo; + +int +main () +{ + + const foo *c=0; + foo *c1=const_cast(c); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_const_cast=yes + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} const_cast<> does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} const_cast<> does not work" >&2;} + config_error=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_const_cast" >&5 +$as_echo "$ac_const_cast" >&6; } + +# check for static_cast<> +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports static_cast<> (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports static_cast<> (required)... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + class foo; + +int +main () +{ + + foo *c = 0; + void *c1 = static_cast(c); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_static_cast=yes + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} static_cast<> does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} static_cast<> does not work" >&2;} + config_error=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_static_cast" >&5 +$as_echo "$ac_static_cast" >&6; } + +# check for dynamic_cast<> +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports dynamic_cast<> (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports dynamic_cast<> (required)... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + class foo {}; + class bar: public foo {}; + +int +main () +{ + + bar *c = 0; + foo *c1 = dynamic_cast(c); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_dynamic_cast=yes + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} dynamic_cast<> does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} dynamic_cast<> does not work" >&2;} + config_error=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_dynamic_cast" >&5 +$as_echo "$ac_dynamic_cast" >&6; } + +# check for try +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports exception handler (required)" >&5 +$as_echo_n "checking if ${CXX-c++} supports exception handler (required)... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + ; + +int +main () +{ + + try { + int i = 0; + } + catch (char *e) { + } + catch (...) { + } + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_exception=yes + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: ${CXX-c++} exception does not work" >&5 +$as_echo "$as_me: WARNING: ${CXX-c++} exception does not work" >&2;} + config_error=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_exception" >&5 +$as_echo "$ac_exception" >&6; } + +# check for namespaces +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} supports namespaces (required) " >&5 +$as_echo_n "checking if ${CXX-c++} supports namespaces (required) ... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace Foo { struct A {}; } +using namespace Foo; + +int +main () +{ + +A a; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + + ac_namespaces=yes + +else + + config_error=yes + ac_namespaces=no + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_namespaces" >&5 +$as_echo "$ac_namespaces" >&6; } + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if ${CXX-c++} environment provides all required features" >&5 +$as_echo_n "checking if ${CXX-c++} environment provides all required features... " >&6; } +if test "x$config_error" = xyes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error "Your compiler is not powerful enough to compile CRF++. \ + If it should be, see config.log for more information of why it failed." "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + +ac_config_headers="$ac_config_headers config.h" + +ac_config_files="$ac_config_files Makefile Makefile.msvc swig/version.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 + test "x$cache_file" != "x/dev/null" && + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + 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= +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 "${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 + +: ${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. +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 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=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&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 $as_me, which was +generated by GNU Autoconf 2.65. 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="\\ +config.status +configured by $0, generated by GNU Autoconf 2.65, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2009 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=$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"` ;; + 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 "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' +macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' +enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' +pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' +host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' +host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' +host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' +build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' +build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' +build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' +SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' +Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' +GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' +EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' +FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' +LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' +NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' +LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' +ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' +exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' +lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' +reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' +AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' +STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' +RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' +compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' +GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' +SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' +ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' +need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' +LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' +libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' +need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' +version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' +runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' +libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' +soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' +finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' +old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' +striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' +predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' +postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +AR \ +AR_FLAGS \ +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 \ +SHELL \ +ECHO \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_wl \ +lt_prog_compiler_pic \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +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_flag_spec_ld \ +hardcode_libdir_separator \ +fix_srcfile_path \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_pic_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_flag_spec_ld_CXX \ +hardcode_libdir_separator_CXX \ +fix_srcfile_path_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 "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$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 \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +sys_lib_dlsearch_path_spec \ +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; do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` + ;; +esac + +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" ;; + "Makefile.msvc") CONFIG_FILES="$CONFIG_FILES Makefile.msvc" ;; + "swig/version.h") CONFIG_FILES="$CONFIG_FILES swig/version.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= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 + +# 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` +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 {' >"$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 >>"\$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 +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$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 < "$tmp/subs1.awk" > "$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 $(srcdir), +# ${srcdir} and @srcdir@ 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[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +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 >"$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_t=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_t"; 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 +' >$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="$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 "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 >"$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 "$tmp/subs.awk" >$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' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$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 "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$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 "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$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 "$tmp/config.h" "$ac_file" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$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 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 + +# 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 + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# 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 + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# 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 + +# 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 + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that does not interpret backslashes. +ECHO=$lt_ECHO + +# 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 + +# 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 + +# 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 + +# 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 + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# 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 + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# 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 + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# 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 + +# 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 '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# 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_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}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# 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 () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + + +# 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 "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[^=]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$@"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1=\$$1\$2" +} + +_LT_EOF + ;; + esac + + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + 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 + +# 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 + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_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 + +# If ld is used when linking, flag to hardcode \$libdir into a binary +# during linking. This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_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 + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path_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 + +# 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 $? +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/CRF/configure.in b/CRF/configure.in new file mode 100644 index 0000000000000000000000000000000000000000..e048777c36cfe24f2c331dd3866c4b0edb6a6e2c --- /dev/null +++ b/CRF/configure.in @@ -0,0 +1,245 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(crf_learn.cpp) +AM_INIT_AUTOMAKE(CRF++, 0.54) + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_PROG_GCC_TRADITIONAL +AC_PROG_MAKE_SET +AC_ISC_POSIX +AC_CYGWIN +AC_LANG_CPLUSPLUS +AC_PROG_LIBTOOL + +dnl Checks for libraries. + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(string.h stdlib.h unistd.h fcntl.h \ + sys/stat.h sys/mman.h sys/times.h \ + ctype.h sys/types.h math.h pthread.h) + +AC_TYPE_SIZE_T + +dnl Checks for libraries. +AC_CHECK_LIB(m,pow) +AC_CHECK_LIB(m,exp) +AC_CHECK_LIB(m,log) +AC_CHECK_LIB(pthread,pthread_create) +AC_CHECK_LIB(pthread,pthread_join) +AC_FUNC_MMAP + +dnl +dnl Check for GNU make +dnl +AC_MSG_CHECKING(whether make is GNU Make) +if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) + if test "$host_vendor" = "sun" ; then + AC_MSG_ERROR("SUN make does not work for building maxent. Please install GNU make") + fi +fi + +dnl +dnl check gcc +dnl +if test -n "$GCC"; then + CFLAGS="-O3 -Wall"; + CXXFLAGS="-O3 -Wall"; +fi + +AC_DEFUN(ADD_CC_FLAG, [ + AC_MSG_CHECKING(whether ${CC-cc} accepts $1) + AC_LANG_SAVE + AC_LANG_C + XCFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" + AC_TRY_LINK([], [], + [AC_MSG_RESULT([ ok, adding $1 to CFLAGS])], + [CFLAGS="$XCFLAGS"]) + AC_LANG_RESTORE +]) + +AC_DEFUN(ADD_CXX_FLAG, [ + AC_MSG_CHECKING(whether ${CXX-c++} accepts $1) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + XCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $1" + AC_TRY_LINK([], [], + [AC_MSG_RESULT([ ok, adding $1 to CXXFLAGS])], + [CXXFLAGS="$XCXXFLAGS"]) + AC_LANG_RESTORE +]) + +# On Intel systems with gcc, we may need to compile with -mieee-fp to +# get full support for IEEE floating point. +# +# On Alpha/OSF systems, we need -mieee. +# +# On AIX systems, we need to limit the amount of stuff that goes in +# the TOC. +case "$host" in +changequote(,)dnl + i[3456789]86-*-*) +changequote([,])dnl + ADD_CC_FLAG(-mieee-fp) + ADD_CXX_FLAG(-mieee-fp) + ;; + alpha*-*-*) + ADD_CC_FLAG(-mieee) + ADD_CXX_FLAG(-mieee) + ;; + *ibm-aix4*) + ADD_CC_FLAG(-mminimal-toc) + ADD_CXX_FLAG(-mminimal-toc) + ;; +esac + +dnl +dnl check C++ features +dnl +AC_DEFUN(CHECK_CXX_STL, [ + AC_MSG_CHECKING(if ${CXX-c++} supports stl <$1> (required)) + AC_TRY_COMPILE( + [ + #include <$1> + ], [ + ; + ], [ + ac_stl_$1=yes + ], [ + config_error=yes + AC_WARN(${CXX-c++} stl <$1> does not work) + ]) + AC_MSG_RESULT([$ac_stl_$1]) +]) + +CHECK_CXX_STL(string) +CHECK_CXX_STL(vector) +CHECK_CXX_STL(map) +CHECK_CXX_STL(set) +CHECK_CXX_STL(iostream) +CHECK_CXX_STL(fstream) +CHECK_CXX_STL(sstream) +CHECK_CXX_STL(stdexcept) + +# check for const_cast +AC_MSG_CHECKING([if ${CXX-c++} supports template (required)]) +AC_TRY_COMPILE( +[ + template T foo (T &i) { return i++; }; +],[ + int i = 0; + double d = 0.0; + foo(i); foo(d); +],[ + ac_template=yes +],[ + AC_WARN(${CXX-c++} template does not work) + config_error=yes +]) +AC_MSG_RESULT([$ac_template]) + +# check for const_cast +AC_MSG_CHECKING([if ${CXX-c++} supports const_cast<> (required)]) +AC_TRY_COMPILE( +[ + class foo; +],[ + const foo *c=0; + foo *c1=const_cast(c); +],[ + ac_const_cast=yes +],[ + AC_WARN(${CXX-c++} const_cast<> does not work) + config_error=yes +]) +AC_MSG_RESULT([$ac_const_cast]) + +# check for static_cast<> +AC_MSG_CHECKING(if ${CXX-c++} supports static_cast<> (required)) +AC_TRY_COMPILE( +[ + class foo; +],[ + foo *c = 0; + void *c1 = static_cast(c); +],[ + ac_static_cast=yes +],[ + AC_WARN(${CXX-c++} static_cast<> does not work) + config_error=yes +]) +AC_MSG_RESULT([$ac_static_cast]) + +# check for dynamic_cast<> +AC_MSG_CHECKING(if ${CXX-c++} supports dynamic_cast<> (required)) +AC_TRY_COMPILE( +[ + class foo {}; + class bar: public foo {}; +],[ + bar *c = 0; + foo *c1 = dynamic_cast(c); +],[ + ac_dynamic_cast=yes +],[ + AC_WARN(${CXX-c++} dynamic_cast<> does not work) + config_error=yes +]) +AC_MSG_RESULT([$ac_dynamic_cast]) + +# check for try +AC_MSG_CHECKING(if ${CXX-c++} supports exception handler (required)) +AC_TRY_COMPILE( +[ + ; +],[ + try { + int i = 0; + } + catch (char *e) { + } + catch (...) { + } +],[ + ac_exception=yes +],[ + AC_WARN(${CXX-c++} exception does not work) + config_error=yes +]) +AC_MSG_RESULT([$ac_exception]) + +# check for namespaces +AC_MSG_CHECKING(if ${CXX-c++} supports namespaces (required) ) +AC_TRY_COMPILE( +[ +namespace Foo { struct A {}; } +using namespace Foo; +],[ +A a; +],[ + ac_namespaces=yes +dnl AC_DEFINE(HAVE_CXX_NAMESPACE) +],[ + config_error=yes + ac_namespaces=no +]) +AC_MSG_RESULT([$ac_namespaces]) + +AC_MSG_CHECKING(if ${CXX-c++} environment provides all required features) +if test "x$config_error" = xyes ; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Your compiler is not powerful enough to compile CRF++. \ + If it should be, see config.log for more information of why it failed.]) +fi +AC_MSG_RESULT([yes]) + +AC_SUBST(datarootdir) +AM_CONFIG_HEADER(config.h) +AC_OUTPUT([Makefile Makefile.msvc swig/version.h]) + diff --git a/CRF/crf_learn b/CRF/crf_learn new file mode 100644 index 0000000000000000000000000000000000000000..90d1c337fe076359c5980c942e3d88403e8ec342 --- /dev/null +++ b/CRF/crf_learn @@ -0,0 +1,148 @@ +#! /bin/sh + +# crf_learn - temporary wrapper script for .libs/crf_learn +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The crf_learn 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. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# 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="(cd /home/weic4/GN/GNR/CRF++; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; LD_RUN_PATH=/netopt/ncbi_tools64/ncbi/shlib; export LD_RUN_PATH; LD_LIBRARY_PATH=/opt/gd-2.0.35/lib64; export LD_LIBRARY_PATH; PATH=/usr/lib64/qt-3.3/bin:/opt/python-2.5/bin:/opt/perl-5.8.8/bin:/opt/graphviz-2.16.1/bin:/am/ncbiapdata/bin:/netopt/ncbi_tools64/bin:/usr/local/nedit/5.5/bin:/usr/local/svnmucc/1.5.7/bin:/usr/local/jove/4.16.0.70/bin:/usr/local/joe/3.7/bin:/usr/local/ctags/5.7/bin:/usr/local/gcc/4.4.2/bin:/usr/local/gdb/6.8/bin:/usr/local/ddd/3.3.11/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/export/home/sybase/utils/bin; export PATH; g++ -O3 -Wall -o \$progdir/\$file crf_learn.o ./.libs/libcrfpp.so -lpthread -lm -Wl,-rpath -Wl,/home/weic4/GN/GNR/CRF++/.libs -Wl,-rpath -Wl,/usr/local/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' libcrfpp.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e '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 "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + 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 + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'crf_learn' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # 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 -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 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 libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/CRF/crf_learn.cpp b/CRF/crf_learn.cpp new file mode 100644 index 0000000000000000000000000000000000000000..06be90d097a0d5197805dd3b6ef2c227946dcd17 --- /dev/null +++ b/CRF/crf_learn.cpp @@ -0,0 +1,12 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: crf_learn.cpp 1587 2007-02-12 09:00:36Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include "crfpp.h" + +int main(int argc, char **argv) { + return crfpp_learn(argc, argv); +} diff --git a/CRF/crf_learn.exe b/CRF/crf_learn.exe new file mode 100644 index 0000000000000000000000000000000000000000..73b81f793ed41a10d3371e8b509419e8de30dca8 Binary files /dev/null and b/CRF/crf_learn.exe differ diff --git a/CRF/crf_learn.o b/CRF/crf_learn.o new file mode 100644 index 0000000000000000000000000000000000000000..22c69f656630e07cfe92fea07c53ac4766485502 Binary files /dev/null and b/CRF/crf_learn.o differ diff --git a/CRF/crf_test b/CRF/crf_test new file mode 100755 index 0000000000000000000000000000000000000000..2e57134a698cafbc3808818adfa5e221d2f74f68 --- /dev/null +++ b/CRF/crf_test @@ -0,0 +1,148 @@ +#! /bin/sh + +# crf_test - temporary wrapper script for .libs/crf_test +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The crf_test 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. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# 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="(cd /panfs/pan1.be-md.ncbi.nlm.nih.gov/loganl/lu-group/wei/ToolsDevelopment/GNormPlus/CRF; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; LD_RUN_PATH=/netopt/ncbi_tools64/ncbi/shlib; export LD_RUN_PATH; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/opt/python-all/bin:/opt/perl/5.16.3/bin:/opt/fcron/bin:/usr/local/graphviz/2.47.0/bin:/usr/local/bazel/2.1.0/bin:/usr/local/apt/1.12.0-20091012/bin:/usr/local/postgres/11.7/bin:/usr/local/mongodb/4.4.6/bin:/usr/local/p7zip/16.02/bin:/usr/local/rar/5.4.0/bin:/opt/ruby/2.0/bin:/usr/local/maven/3.1.0/bin:/usr/local/swig/2.0.4/bin:/usr/local/ant/1.9.3/bin:/netmnt/gridengine/current/bin/lx-amd64:/usr/local/subversion/1.10.6/bin:/usr/local/svnmucc/1.5.7/bin:/usr/local/ninja/1.10.2/bin:/usr/local/nedit/5.5/bin:/netopt/ncbi_tools64/bin:/am/ncbiapdata/bin:/usr/local/joe/3.7/bin:/usr/local/git/2.20.1/bin:/opt/ncbi/gcc/7.3.0/bin:/usr/local/ddd/3.3.12/bin:/usr/local/ctags/5.8/bin:/usr/local/cmake/3.21.2/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/sybase/clients/current/bin:/opt/sybase/utils/bin:/opt/dell/srvadmin/bin; export PATH; g++ -O3 -Wall -o \$progdir/\$file crf_test.o ./.libs/libcrfpp.so -lpthread -lm -Wl,-rpath -Wl,/panfs/pan1.be-md.ncbi.nlm.nih.gov/loganl/lu-group/wei/ToolsDevelopment/GNormPlus/CRF/.libs -Wl,-rpath -Wl,/usr/local/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' libcrfpp.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/sh "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e '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 "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + 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 + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'crf_test' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # 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 -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 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 libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/CRF/crf_test.cpp b/CRF/crf_test.cpp new file mode 100644 index 0000000000000000000000000000000000000000..0383b5feea6624f58ff2be3b1fbbc54c6984fa3a --- /dev/null +++ b/CRF/crf_test.cpp @@ -0,0 +1,12 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: crf_test.cpp 1587 2007-02-12 09:00:36Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include "crfpp.h" + +int main(int argc, char **argv) { + return crfpp_test(argc, argv); +} diff --git a/CRF/crf_test.exe b/CRF/crf_test.exe new file mode 100644 index 0000000000000000000000000000000000000000..ed836bc1e93f36dc11a4c2e23a48b5b5f00d9c3d Binary files /dev/null and b/CRF/crf_test.exe differ diff --git a/CRF/crf_test.o b/CRF/crf_test.o new file mode 100644 index 0000000000000000000000000000000000000000..1d8ab6b225999701da0dc7b29be829ca9093dedd Binary files /dev/null and b/CRF/crf_test.o differ diff --git a/CRF/crfpp.h b/CRF/crfpp.h new file mode 100644 index 0000000000000000000000000000000000000000..d7052dfdd3400f6244e7d98955a494d3c6b5058e --- /dev/null +++ b/CRF/crfpp.h @@ -0,0 +1,293 @@ +/* + CRF++ -- Yet Another CRF toolkit + + $Id: crfpp.h 1592 2007-02-12 09:40:53Z taku $; + + Copyright(C) 2005-2007 Taku Kudo +*/ +#ifndef CRFPP_CRFPP_H__ +#define CRFPP_CRFPP_H__ + +/* C interface */ +#ifdef __cplusplus +#include +#else +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _WIN32 +#include +# ifdef DLL_EXPORT +# define CRFPP_DLL_EXTERN __declspec(dllexport) +# else +# define CRFPP_DLL_EXTERN __declspec(dllimport) +# endif +#endif + +#ifndef CRFPP_DLL_EXTERN +# define CRFPP_DLL_EXTERN extern +#endif + +#ifndef SWIG + typedef struct crfpp_t crfpp_t; + + /* C interface */ + CRFPP_DLL_EXTERN crfpp_t* crfpp_new(int, char**); + CRFPP_DLL_EXTERN crfpp_t* crfpp_new2(const char*); + CRFPP_DLL_EXTERN void crfpp_destroy(crfpp_t*); + CRFPP_DLL_EXTERN bool crfpp_add2(crfpp_t*, size_t, const char **); + CRFPP_DLL_EXTERN bool crfpp_add(crfpp_t*, const char*); + CRFPP_DLL_EXTERN size_t crfpp_size(crfpp_t*); + CRFPP_DLL_EXTERN size_t crfpp_xsize(crfpp_t*); + CRFPP_DLL_EXTERN size_t crfpp_dsize(crfpp_t*); + CRFPP_DLL_EXTERN const float* crfpp_weight_vector(crfpp_t*); + CRFPP_DLL_EXTERN size_t crfpp_result(crfpp_t*, size_t); + CRFPP_DLL_EXTERN size_t crfpp_answer(crfpp_t*, size_t); + CRFPP_DLL_EXTERN size_t crfpp_y(crfpp_t*, size_t); + CRFPP_DLL_EXTERN size_t crfpp_ysize(crfpp_t*); + CRFPP_DLL_EXTERN double crfpp_prob(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_prob2(crfpp_t*, size_t); + CRFPP_DLL_EXTERN double crfpp_prob3(crfpp_t*); + CRFPP_DLL_EXTERN double crfpp_alpha(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_beta(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_emisstion_cost(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_next_transition_cost(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_prev_transition_cost(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_best_cost(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN const int* crfpp_emittion_vector(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN const int* crfpp_next_transition_vector(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN const int* crfpp_prev_transition_vector(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_Z(crfpp_t*); + CRFPP_DLL_EXTERN bool crfpp_parse(crfpp_t*); + CRFPP_DLL_EXTERN bool crfpp_empty(crfpp_t*); + CRFPP_DLL_EXTERN bool crfpp_clear(crfpp_t*); + CRFPP_DLL_EXTERN bool crfpp_next(crfpp_t*); + CRFPP_DLL_EXTERN int crfpp_test(int, char **); + CRFPP_DLL_EXTERN int crfpp_learn(int, char **); + CRFPP_DLL_EXTERN const char* crfpp_strerror(crfpp_t*); + CRFPP_DLL_EXTERN const char* crfpp_yname(crfpp_t*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_y2(crfpp_t*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_x(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN const char** crfpp_x2(crfpp_t*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_parse_tostr(crfpp_t*, const char*); + CRFPP_DLL_EXTERN const char* crfpp_parse_tostr2(crfpp_t*, + const char*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_parse_tostr3(crfpp_t*, const char*, + size_t, char *, size_t); + CRFPP_DLL_EXTERN const char* crfpp_tostr(crfpp_t*); + CRFPP_DLL_EXTERN const char* crfpp_tostr2(crfpp_t*, char *, size_t); + + CRFPP_DLL_EXTERN void crfpp_set_vlevel(crfpp_t *, unsigned int); + CRFPP_DLL_EXTERN unsigned int crfpp_vlevel(crfpp_t *); + CRFPP_DLL_EXTERN void crfpp_set_cost_factor(crfpp_t *, float); + CRFPP_DLL_EXTERN float crfpp_cost_factor(crfpp_t *); + CRFPP_DLL_EXTERN void crfpp_set_nbest(crfpp_t *, size_t); +#endif + +#ifdef __cplusplus +} +#endif + +/* C++ interface */ +#ifdef __cplusplus + +namespace CRFPP { + +class Tagger { + public: +#ifndef SWIG + // open model with parameters in argv[] + // e.g, argv[] = {"CRF++", "-m", "model", "-v3"}; + virtual bool open(int argc, char** argv) = 0; + + // open model with parameter arg, e.g. arg = "-m model -v3"; + virtual bool open(const char* arg) = 0; + + // add str[] as tokens to the current context + virtual bool add(size_t size, const char **str) = 0; + + // close the current model + virtual void close() = 0; + + // return parameter vector. the size should be dsize(); + virtual const float *weight_vector() const = 0; +#endif + + // set vlevel + virtual void set_vlevel(unsigned int vlevel) = 0; + + // get vlevel + virtual unsigned int vlevel() const = 0; + + // set cost factor + virtual void set_cost_factor(float cost_factor) = 0; + + // get cost factor + virtual float cost_factor() const = 0; + + // set nbest + virtual void set_nbest(size_t nbest) = 0; + + // get nbest + virtual size_t nbest() const = 0; + + // add one line to the current context + virtual bool add(const char* str) = 0; + + // return size of tokens(lines) + virtual size_t size() const = 0; + + // return size of column + virtual size_t xsize() const = 0; + + // return size of features + virtual size_t dsize() const = 0; + + // return output tag-id of i-th token + virtual size_t result(size_t i) const = 0; + + // return answer tag-id of i-th token if it is available + virtual size_t answer(size_t i) const = 0; + + // alias of result(i) + virtual size_t y(size_t i) const = 0; + + // return output tag of i-th token as string + virtual const char* y2(size_t i) const = 0; + + // return i-th tag-id as string + virtual const char* yname(size_t i) const = 0; + + // return token at [i,j] as string(i:token j:column) + virtual const char* x(size_t i, size_t j) const = 0; + +#ifndef SWIG + // return an array of strings at i-th tokens + virtual const char** x(size_t) const = 0; +#endif + + // return size of output tags + virtual size_t ysize() const = 0; + + // return marginal probability of j-th tag id at i-th token + virtual double prob(size_t i, size_t j) const = 0; + + // return marginal probability of output tag at i-th token + // same as prob(i, tagger->y(i)); + virtual double prob(size_t i) const = 0; + + // return conditional probability of enter output + virtual double prob() const = 0; + + // return forward log-prob of the j-th tag at i-th token + virtual double alpha(size_t i, size_t j) const = 0; + + // return backward log-prob of the j-th tag at i-th token + virtual double beta(size_t i, size_t j) const = 0; + + // return emission cost of the j-th tag at i-th token + virtual double emission_cost(size_t i, size_t j) const = 0; + + // return transition cost of [j-th tag at i-th token] to + // [k-th tag at(i+1)-th token] + virtual double next_transition_cost(size_t i, + size_t j, size_t k) const = 0; + + // return transition cost of [j-th tag at i-th token] to + // [k-th tag at(i-1)-th token] + virtual double prev_transition_cost(size_t i, + size_t j, size_t k) const = 0; + + // return the best accumulative cost to the j-th tag at i-th token + // used in viterbi search + virtual double best_cost(size_t i, size_t j) const = 0; + +#ifndef SWIG + // return emission feature vector of the j-th tag at i-th token + virtual const int* emission_vector(size_t i, size_t j) const = 0; + + // return transition feature vector of [j-th tag at i-th token] to + // [k-th tag at(i+1)-th token] + virtual const int* next_transition_vector(size_t i, + size_t j, size_t k) const = 0; + + // return transition feature vector of [j-th tag at i-th token] to + // [k-th tag at(i-1)-th token] + virtual const int* prev_transition_vector(size_t i, + size_t j, size_t k) const = 0; +#endif + + // normalizing factor(log-prob) + virtual double Z() const = 0; + + // do parse and change the internal status, if failed, returns false + virtual bool parse() = 0; + + // return true if the context is empty + virtual bool empty() const = 0; + + // clear all context + virtual bool clear() = 0; + + // change the internal state to output next-optimal output. + // calling it n-th times, can get n-best results, + // Neeed to specify -nN option to use this function, where + // N>=2 + virtual bool next() = 0; + + // parse 'str' and return result as string + // 'str' must be written in CRF++'s input format + virtual const char* parse(const char* str) = 0; + +#ifndef SWIG + // return parsed result as string + virtual const char* toString() = 0; + + // return parsed result as string. + // Result is saved in the buffer 'result', 'size' is the + // size of the buffer. if failed, return NULL + virtual const char* toString(char* result , size_t size) = 0; + + // parse 'str' and return parsed result. + // You don't need to delete return value, but the buffer + // is rewritten whenever you call parse method. + // if failed, return NULL + virtual const char* parse(const char *str, size_t size) = 0; + + // parse 'str' and return parsed result. + // The result is stored in the buffer 'result'. + // 'size2' is the size of the buffer. if failed, return NULL + virtual const char* parse(const char *str, size_t size1, + char *result, size_t size2) = 0; +#endif + // return internal error code as string + virtual const char* what() = 0; + + virtual ~Tagger() {} +}; + +/* factory method */ + +// create CRFPP::Tagger instance with parameters in argv[] +// e.g, argv[] = {"CRF++", "-m", "model", "-v3"}; + +CRFPP_DLL_EXTERN Tagger *createTagger(int argc, char **argv); + +// create CRFPP::Tagger instance with parameter in arg +// e.g. arg = "-m model -v3"; +CRFPP_DLL_EXTERN Tagger *createTagger(const char *arg); + +// return error code of createTagger(); +CRFPP_DLL_EXTERN const char* getTaggerError(); +} + +#endif +#endif diff --git a/CRF/darts.h b/CRF/darts.h new file mode 100644 index 0000000000000000000000000000000000000000..73073ac381c72fc547418626ca128d192ed0cfd6 --- /dev/null +++ b/CRF/darts.h @@ -0,0 +1,518 @@ +// +// Darts -- Double-ARray Trie System +// +// $Id: darts.h 1577 2007-01-30 17:01:10Z taku $; +// +// Copyright(C) 2001-2007 Taku Kudo +// +#ifndef DARTS_H_ +#define DARTS_H_ + +#define DARTS_VERSION "0.31" +#include +#include +#include + +#ifdef HAVE_ZLIB_H +namespace zlib { +#include +} +#define SH(p)((unsigned short)(unsigned char)((p)[0]) | ((unsigned short)(unsigned char)((p)[1]) << 8)) +#define LG(p)((unsigned long)(SH(p)) |((unsigned long)(SH((p)+2)) << 16)) +#endif + +namespace CRFPP { +namespace Darts { + +template inline T _max(T x, T y) { return(x > y) ? x : y; } +template inline T* _resize(T* ptr, size_t n, size_t l, T v) { + T *tmp = new T[l]; + for (size_t i = 0; i < n; ++i) tmp[i] = ptr[i]; + for (size_t i = n; i < l; ++i) tmp[i] = v; + delete [] ptr; + return tmp; +} + +template +class Length { + public: size_t operator()(const T *key) const + { size_t i; for (i = 0; key[i] != (T)0; ++i) {} return i; } +}; + +template <> class Length { + public: size_t operator()(const char *key) const + { return std::strlen(key); } +}; + +template > +class DoubleArrayImpl { + private: + + struct node_t { + array_u_type_ code; + size_t depth; + size_t left; + size_t right; + }; + + struct unit_t { + array_type_ base; + array_u_type_ check; + }; + + unit_t *array_; + unsigned char *used_; + size_t size_; + size_t alloc_size_; + node_type_ **key_; + size_t key_size_; + size_t *length_; + array_type_ *value_; + size_t progress_; + size_t next_check_pos_; + bool no_delete_; + int error_; + int (*progress_func_)(size_t, size_t); + + size_t resize(const size_t new_size) { + unit_t tmp; + tmp.base = 0; + tmp.check = 0; + array_ = _resize(array_, alloc_size_, new_size, tmp); + used_ = _resize(used_, alloc_size_, new_size, + static_cast(0)); + alloc_size_ = new_size; + return new_size; + } + + size_t fetch(const node_t &parent, std::vector &siblings) { + if (error_ < 0) return 0; + + array_u_type_ prev = 0; + + for (size_t i = parent.left; i < parent.right; ++i) { + if ((length_ ? length_[i] : length_func_()(key_[i])) < parent.depth) + continue; + + const node_u_type_ *tmp = reinterpret_cast(key_[i]); + + array_u_type_ cur = 0; + if ((length_ ? length_[i] : length_func_()(key_[i])) != parent.depth) + cur = (array_u_type_)tmp[parent.depth] + 1; + + if (prev > cur) { + error_ = -3; + return 0; + } + + if (cur != prev || siblings.empty()) { + node_t tmp_node; + tmp_node.depth = parent.depth + 1; + tmp_node.code = cur; + tmp_node.left = i; + if (!siblings.empty()) siblings[siblings.size()-1].right = i; + + siblings.push_back(tmp_node); + } + + prev = cur; + } + + if (!siblings.empty()) + siblings[siblings.size()-1].right = parent.right; + + return siblings.size(); + } + + size_t insert(const std::vector &siblings) { + if (error_ < 0) return 0; + + size_t begin = 0; + size_t pos = _max((size_t)siblings[0].code + 1, next_check_pos_) - 1; + size_t nonzero_num = 0; + int first = 0; + + if (alloc_size_ <= pos) resize(pos + 1); + + while (true) { + next: + ++pos; + + if (alloc_size_ <= pos) resize(pos + 1); + + if (array_[pos].check) { + ++nonzero_num; + continue; + } else if (!first) { + next_check_pos_ = pos; + first = 1; + } + + begin = pos - siblings[0].code; + if (alloc_size_ <= (begin + siblings[siblings.size()-1].code)) + resize(static_cast(alloc_size_ * + _max(1.05, 1.0 * key_size_ / progress_))); + + if (used_[begin]) continue; + + for (size_t i = 1; i < siblings.size(); ++i) + if (array_[begin + siblings[i].code].check != 0) goto next; + + break; + } + + // -- Simple heuristics -- + // if the percentage of non-empty contents in check between the index + // 'next_check_pos' and 'check' is greater than some constant + // value(e.g. 0.9), + // new 'next_check_pos' index is written by 'check'. + if (1.0 * nonzero_num/(pos - next_check_pos_ + 1) >= 0.95) + next_check_pos_ = pos; + + used_[begin] = 1; + size_ = _max(size_, + begin + + static_cast(siblings[siblings.size() - 1].code + 1)); + + for (size_t i = 0; i < siblings.size(); ++i) + array_[begin + siblings[i].code].check = begin; + + for (size_t i = 0; i < siblings.size(); ++i) { + std::vector new_siblings; + + if (!fetch(siblings[i], new_siblings)) { + array_[begin + siblings[i].code].base = + value_ ? + static_cast(-value_[siblings[i].left]-1) : + static_cast(-siblings[i].left-1); + + if (value_ && (array_type_)(-value_[siblings[i].left]-1) >= 0) { + error_ = -2; + return 0; + } + + ++progress_; + if (progress_func_)(*progress_func_)(progress_, key_size_); + + } else { + size_t h = insert(new_siblings); + array_[begin + siblings[i].code].base = h; + } + } + + return begin; + } + + public: + + typedef array_type_ value_type; + typedef node_type_ key_type; + typedef array_type_ result_type; // for compatibility + + struct result_pair_type { + value_type value; + size_t length; + }; + + explicit DoubleArrayImpl(): array_(0), used_(0), + size_(0), alloc_size_(0), + no_delete_(0), error_(0) {} + ~DoubleArrayImpl() { clear(); } + + void set_result(value_type& x, value_type r, size_t) { + x = r; + } + + void set_result(result_pair_type& x, value_type r, size_t l) { + x.value = r; + x.length = l; + } + + void set_array(void *ptr, size_t size = 0) { + clear(); + array_ = reinterpret_cast(ptr); + no_delete_ = true; + size_ = size; + } + + const void *array() const { + return const_cast(reinterpret_cast(array_)); + } + + void clear() { + if (!no_delete_) + delete [] array_; + delete [] used_; + array_ = 0; + used_ = 0; + alloc_size_ = 0; + size_ = 0; + no_delete_ = false; + } + + size_t unit_size() const { return sizeof(unit_t); } + size_t size() const { return size_; } + size_t total_size() const { return size_ * sizeof(unit_t); } + + size_t nonzero_size() const { + size_t result = 0; + for (size_t i = 0; i < size_; ++i) + if (array_[i].check) ++result; + return result; + } + + int build(size_t key_size, + key_type **key, + size_t *length = 0, + value_type *value = 0, + int (*progress_func)(size_t, size_t) = 0) { + if (!key_size || !key) return 0; + + progress_func_ = progress_func; + key_ = key; + length_ = length; + key_size_ = key_size; + value_ = value; + progress_ = 0; + + resize(8192); + + array_[0].base = 1; + next_check_pos_ = 0; + + node_t root_node; + root_node.left = 0; + root_node.right = key_size; + root_node.depth = 0; + + std::vector siblings; + fetch(root_node, siblings); + insert(siblings); + + size_ += (1 << 8 * sizeof(key_type)) + 1; + if (size_ >= alloc_size_) resize(size_); + + delete [] used_; + used_ = 0; + + return error_; + } + + int open(const char *file, + const char *mode = "rb", + size_t offset = 0, + size_t size = 0) { + std::FILE *fp = std::fopen(file, mode); + if (!fp) return -1; + if (std::fseek(fp, offset, SEEK_SET) != 0) return -1; + + if (!size) { + if (std::fseek(fp, 0L, SEEK_END) != 0) return -1; + size = std::ftell(fp); + if (std::fseek(fp, offset, SEEK_SET) != 0) return -1; + } + + clear(); + + size_ = size; + size_ /= sizeof(unit_t); + array_ = new unit_t[size_]; + if (size_ != std::fread(reinterpret_cast(array_), + sizeof(unit_t), size_, fp)) return -1; + std::fclose(fp); + + return 0; + } + + int save(const char *file, + const char *mode = "wb", + size_t offset = 0) { + if (!size_) return -1; + std::FILE *fp = std::fopen(file, mode); + if (!fp) return -1; + if (size_ != std::fwrite(reinterpret_cast(array_), + sizeof(unit_t), size_, fp)) + return -1; + std::fclose(fp); + return 0; + } + +#ifdef HAVE_ZLIB_H + int gzopen(const char *file, + const char *mode = "rb", + size_t offset = 0, + size_t size = 0) { + std::FILE *fp = std::fopen(file, mode); + if (!fp) return -1; + clear(); + + size_ = size; + if (!size_) { + if (-1L != static_cast(std::fseek(fp, -8, SEEK_END))) { + char buf[8]; + if (std::fread(static_cast(buf), + 1, 8, fp) != sizeof(buf)) { + std::fclose(fp); + return -1; + } + size_ = LG(buf+4); + size_ /= sizeof(unit_t); + } + } + std::fclose(fp); + + if (!size_) return -1; + + zlib::gzFile gzfp = zlib::gzopen(file, mode); + if (!gzfp) return -1; + array_ = new unit_t[size_]; + if (zlib::gzseek(gzfp, offset, SEEK_SET) != 0) return -1; + zlib::gzread(gzfp, reinterpret_cast(array_), + sizeof(unit_t) * size_); + zlib::gzclose(gzfp); + return 0; + } + + int gzsave(const char *file, const char *mode = "wb", + size_t offset = 0) { + zlib::gzFile gzfp = zlib::gzopen(file, mode); + if (!gzfp) return -1; + zlib::gzwrite(gzfp, reinterpret_cast(array_), + sizeof(unit_t) * size_); + zlib::gzclose(gzfp); + return 0; + } +#endif + + template + inline void exactMatchSearch(const key_type *key, + T & result, + size_t len = 0, + size_t node_pos = 0) { + result = exactMatchSearch (key, len, node_pos); + return; + } + + template + inline T exactMatchSearch(const key_type *key, + size_t len = 0, + size_t node_pos = 0) { + if (!len) len = length_func_()(key); + + T result; + set_result(result, -1, 0); + + register array_type_ b = array_[node_pos].base; + register array_u_type_ p; + + for (register size_t i = 0; i < len; ++i) { + p = b +(node_u_type_)(key[i]) + 1; + if (static_cast(b) == array_[p].check) + b = array_[p].base; + else + return result; + } + + p = b; + array_type_ n = array_[p].base; + if (static_cast(b) == array_[p].check && n < 0) + set_result(result, -n-1, len); + + return result; + } + + template + size_t commonPrefixSearch(const key_type *key, + T* result, + size_t result_len, + size_t len = 0, + size_t node_pos = 0) { + if (!len) len = length_func_()(key); + + register array_type_ b = array_[node_pos].base; + register size_t num = 0; + register array_type_ n; + register array_u_type_ p; + + for (register size_t i = 0; i < len; ++i) { + p = b; // + 0; + n = array_[p].base; + if ((array_u_type_) b == array_[p].check && n < 0) { + // result[num] = -n-1; + if (num < result_len) set_result(result[num], -n-1, i); + ++num; + } + + p = b +(node_u_type_)(key[i]) + 1; + if ((array_u_type_) b == array_[p].check) + b = array_[p].base; + else + return num; + } + + p = b; + n = array_[p].base; + + if ((array_u_type_)b == array_[p].check && n < 0) { + if (num < result_len) set_result(result[num], -n-1, len); + ++num; + } + + return num; + } + + value_type traverse(const key_type *key, + size_t &node_pos, + size_t &key_pos, + size_t len = 0) { + if (!len) len = length_func_()(key); + + register array_type_ b = array_[node_pos].base; + register array_u_type_ p; + + for (; key_pos < len; ++key_pos) { + p = b +(node_u_type_)(key[key_pos]) + 1; + if (static_cast(b) == array_[p].check) { + node_pos = p; + b = array_[p].base; + } else { + return -2; // no node + } + } + + p = b; + array_type_ n = array_[p].base; + if (static_cast(b) == array_[p].check && n < 0) + return -n-1; + + return -1; // found, but no value + } +}; + +#if 4 == 2 +typedef Darts::DoubleArrayImpl DoubleArray; +#define DARTS_ARRAY_SIZE_IS_DEFINED 1 +#endif + +#if 4 == 4 && !defined(DARTS_ARRAY_SIZE_IS_DEFINED) +typedef Darts::DoubleArrayImpl DoubleArray; +#define DARTS_ARRAY_SIZE_IS_DEFINED 1 +#endif + +#if 4 == 4 && !defined(DARTS_ARRAY_SIZE_IS_DEFINED) +typedef Darts::DoubleArrayImpl DoubleArray; +#define DARTS_ARRAY_SIZE_IS_DEFINED 1 +#endif + +#if 4 == 8 && !defined(DARTS_ARRAY_SIZE_IS_DEFINED) +typedef Darts::DoubleArrayImpl DoubleArray; +#endif +} +} +#endif diff --git a/CRF/depcomp b/CRF/depcomp new file mode 100644 index 0000000000000000000000000000000000000000..11e2d3bfe1cffc0cfc75109ac2ab67c6fbb26feb --- /dev/null +++ b/CRF/depcomp @@ -0,0 +1,522 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-05-31.23 + +# Copyright (C) 1999, 2000, 2003, 2004 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, 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. + +# Originally written by Alexandre Oliva . + +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 outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +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 + +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. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + 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. +## 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" + ;; + +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. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # 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,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$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" + ;; + +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 + # Dependencies are output in .lo.d with libtool 1.4. + # With libtool 1.5 they are output both in $dir.libs/$base.o.d + # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the + # latter, because the former will be cleaned when $dir.libs is + # erased. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + 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" + ;; + +#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 $1 != '--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 $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + 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. + -*|$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" + cat < "$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 $1 != '--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 '/^# [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, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +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-end: "$" +# End: diff --git a/CRF/doc/crfpp.cfg b/CRF/doc/crfpp.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7449ed9ff6d760ca213257b1a2189722843fed26 --- /dev/null +++ b/CRF/doc/crfpp.cfg @@ -0,0 +1,1356 @@ +# Doxyfile 1.5.5 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = CRF++ + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek, +# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish, +# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, +# and Ukrainian. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../ + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = crfpp.h + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentstion. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = doxygen + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = YES + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = YES + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __cplusplus CRFPP_DLL_EXTERN="" + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is enabled by default, which results in a transparent +# background. Warning: Depending on the platform used, enabling this option +# may lead to badly anti-aliased labels on the edges of a graph (i.e. they +# become hard to read). + +DOT_TRANSPARENT = YES + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/CRF/doc/default.css b/CRF/doc/default.css new file mode 100644 index 0000000000000000000000000000000000000000..6235a52744fbb26c5e9a6cd71cb52d552d7e31d3 --- /dev/null +++ b/CRF/doc/default.css @@ -0,0 +1,178 @@ +@charset "euc-jp"; + +a:link { + text-decoration: none; + color: #006699; +} +a:visited { + text-decoration: none; + color: #cccccc; +} + +a:active { + text-decoration: none; + color: #ff0; +} + +a:hover, a:focus { + color: #000; + text-decoration: underline; +} + +body { + font-family : 'Lucida Sans Unicode', Verdana, '¥Ò¥é¥®¥Î³Ñ¥´ Pro W3', '¥Ò¥é¥®¥Î³Ñ¥´3', sans-serif; + font-size : 10pt; + line-height : 145%; + background-color : #ffffff; + color : #001100; + border-style: none; + margin: 2em 2em 2em 2em; +} + +p { + padding: 0.2em 0.2em 0.0em 1.2em; +} + +li { + padding: 0.1em 0.2em 0.0em 0em; +} + + +h1 { + font-family : '¥Ò¥é¥®¥Î³Ñ¥´ Pro W6', '¥Ò¥é¥®¥Î³Ñ¥´6', Verdana, sans-serif; + margin: 0.2em 0.2em 0.2em 0.2em; + text-align: left; + font-size: 150%; + color: #000; + font-weight: bold; +} + +h2 { + font-family : '¥Ò¥é¥®¥Î³Ñ¥´ Pro W6', '¥Ò¥é¥®¥Î³Ñ¥´6', Verdana, sans-serif; + margin: 1.0em 0.1em 0.2em 0.4em; + padding: 3px; + font-size: 120%; + border-color: #99cccc; + border-width: 0px 0px 1px 0px; + border-style: solid; +} + +h3 { + font-family : '¥Ò¥é¥®¥Î³Ñ¥´ Pro W6', '¥Ò¥é¥®¥Î³Ñ¥´6', Verdana, sans-serif; + margin: 0.2em 0.1em 0.2em 0.8em; + padding: 3px; + font-size: 110%; + border-style: dotted; + border-color: #99cccc; + border-width: 0px 0px 1px 0px; +} + +pre { + white-space: pre; + margin: 0.1em 0.2em 0.8em 1.3em; + padding: 5px; + line-height : 100%; + border-width: 1px 1px 3px 1px; + border-style: double solid double solid; + border-color: #cccccc; + overflow: auto; + background-color: #fcfcfc; +} + +table { + font-family : 'Lucida Sans Unicode', Verdana, '¥Ò¥é¥®¥Î³Ñ¥´ Pro W3', '¥Ò¥é¥®¥Î³Ñ¥´3', sans-serif; + font-size: 80%; + margin: 0.2em 0.2em 0.2em 2em; + line-height: 120%; + border-width: 0em; + border: 0em; +} + +table tr.odd { + background-color: #e0e0de; + vertical-align: top; + border-spacing: 1em; +} + +table tr.even { + background-color: #efefde; + vertical-align: top; + border-spacing: 1em; +} + +ol, dl { + list-style-position : outside; + margin: 0.2em 0.2em 0.2em 2em; +} + +hr { + color : #003300; + height : 1px; +} + +textarea { + margin-left: 1em; + width: 92%; + border-style: solid solid solid solid; + border-color: #cccccc; + border-width: 1px 1px 1px 1px; +} + +div.section p { + line-height: 1.3em; + margin-left: 10px; +} + +div.section p a, a:visited{ + color: #006699; +} + + +div.body dl { + margin-left: 2em; +} + +div.body dt { + margin-bottom: 0.2em; + font-weight: bold; +} + +div.body dd { + margin-left: 1em; + margin-bottom: 0.5em; +} + +div.body blockquote { + border-width: 3px 0px 1px 0px; + border-style: solid solid solid solid; + border-color: #191970; + background-color: transparent; + color: #191970; + font-style:italic; + padding: 8px; +} + +div.main { + width: 80%; + float: left; +} + +div.sidebar { + float: right; + width: 19%; + border-style: solid; + margin-left: 1% + margin-top: 0.5em; + border-width: 0 0 0 0px; +} + +div.sidebar li { font-size: smaller; list-style-type: disc; margin-left: -0.8em; } + +div.sidebar h2 { font-size: 90%; + border-width: 0px 0px 1px 0px; +} +div.sidebar h3 { font-size: 90%; } + +div.book { margin-top: 1em; margin-bottom: 1em; margin-right: 20%; + margin-left: 20%; width: 60%; height: 60%; float: center; } + diff --git a/CRF/doc/doxygen/annotated.html b/CRF/doc/doxygen/annotated.html new file mode 100644 index 0000000000000000000000000000000000000000..d34142b2833738e77d7d1d7effa27e80679dc5f1 --- /dev/null +++ b/CRF/doc/doxygen/annotated.html @@ -0,0 +1,73 @@ + + + + + +CRF++: Class List + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + +
+
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + +
CRFPP::Model
CRFPP::Tagger
+
+ + + + + + diff --git a/CRF/doc/doxygen/bc_s.png b/CRF/doc/doxygen/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..e4018628b5b45cb4301037485a29d7d74ac22138 Binary files /dev/null and b/CRF/doc/doxygen/bc_s.png differ diff --git a/CRF/doc/doxygen/classCRFPP_1_1Model-members.html b/CRF/doc/doxygen/classCRFPP_1_1Model-members.html new file mode 100644 index 0000000000000000000000000000000000000000..1d1d13a267514a654a6f16c344fef1e806dc2083 --- /dev/null +++ b/CRF/doc/doxygen/classCRFPP_1_1Model-members.html @@ -0,0 +1,84 @@ + + + + + +CRF++: Member List + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
+
+
CRFPP::Model Member List
+
+
+This is the complete list of members for CRFPP::Model, including all inherited members. + + + + + + + + +
createTagger() const =0CRFPP::Model [pure virtual]
getTemplate() const =0CRFPP::Model [pure virtual]
open(int argc, char **argv)=0CRFPP::Model [pure virtual]
open(const char *arg)=0CRFPP::Model [pure virtual]
openFromArray(int argc, char **argv, const char *model_buf, size_t model_size)=0CRFPP::Model [pure virtual]
openFromArray(const char *arg, const char *model_buf, size_t model_size)=0CRFPP::Model [pure virtual]
what()=0CRFPP::Model [pure virtual]
~Model()CRFPP::Model [inline, virtual]
+ + + + + + diff --git a/CRF/doc/doxygen/classCRFPP_1_1Model.html b/CRF/doc/doxygen/classCRFPP_1_1Model.html new file mode 100644 index 0000000000000000000000000000000000000000..f6005c8a24929c7e203088374f402c387b1d7a3c --- /dev/null +++ b/CRF/doc/doxygen/classCRFPP_1_1Model.html @@ -0,0 +1,278 @@ + + + + + +CRF++: CRFPP::Model Class Reference + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
+ +
+
CRFPP::Model Class Reference
+
+
+ +

#include <crfpp.h>

+ +

List of all members.

+ + + + + + + + + + +

+Public Member Functions

virtual bool open (int argc, char **argv)=0
virtual bool open (const char *arg)=0
virtual bool openFromArray (int argc, char **argv, const char *model_buf, size_t model_size)=0
virtual bool openFromArray (const char *arg, const char *model_buf, size_t model_size)=0
virtual const char * getTemplate () const =0
virtual TaggercreateTagger () const =0
virtual const char * what ()=0
virtual ~Model ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
virtual CRFPP::Model::~Model () [inline, virtual]
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
virtual Tagger* CRFPP::Model::createTagger () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual const char* CRFPP::Model::getTemplate () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual bool CRFPP::Model::open (int argc,
char ** argv 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual bool CRFPP::Model::open (const char * arg) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool CRFPP::Model::openFromArray (int argc,
char ** argv,
const char * model_buf,
size_t model_size 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool CRFPP::Model::openFromArray (const char * arg,
const char * model_buf,
size_t model_size 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual const char* CRFPP::Model::what () [pure virtual]
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/CRF/doc/doxygen/classCRFPP_1_1Tagger-members.html b/CRF/doc/doxygen/classCRFPP_1_1Tagger-members.html new file mode 100644 index 0000000000000000000000000000000000000000..d0f28411c4e19bc845efd9e6f709a98a97ef2657 --- /dev/null +++ b/CRF/doc/doxygen/classCRFPP_1_1Tagger-members.html @@ -0,0 +1,126 @@ + + + + + +CRF++: Member List + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
+
+
CRFPP::Tagger Member List
+
+
+This is the complete list of members for CRFPP::Tagger, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
add(size_t size, const char **str)=0CRFPP::Tagger [pure virtual]
add(const char *str)=0CRFPP::Tagger [pure virtual]
alpha(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
answer(size_t i) const =0CRFPP::Tagger [pure virtual]
best_cost(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
beta(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
clear()=0CRFPP::Tagger [pure virtual]
close()=0CRFPP::Tagger [pure virtual]
cost_factor() const =0CRFPP::Tagger [pure virtual]
dsize() const =0CRFPP::Tagger [pure virtual]
emission_cost(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
emission_vector(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
empty() const =0CRFPP::Tagger [pure virtual]
nbest() const =0CRFPP::Tagger [pure virtual]
next()=0CRFPP::Tagger [pure virtual]
next_transition_cost(size_t i, size_t j, size_t k) const =0CRFPP::Tagger [pure virtual]
next_transition_vector(size_t i, size_t j, size_t k) const =0CRFPP::Tagger [pure virtual]
open(int argc, char **argv)=0CRFPP::Tagger [pure virtual]
open(const char *arg)=0CRFPP::Tagger [pure virtual]
parse()=0CRFPP::Tagger [pure virtual]
parse(const char *str)=0CRFPP::Tagger [pure virtual]
parse(const char *str, size_t size)=0CRFPP::Tagger [pure virtual]
parse(const char *str, size_t size1, char *result, size_t size2)=0CRFPP::Tagger [pure virtual]
penalty(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
prev_transition_cost(size_t i, size_t j, size_t k) const =0CRFPP::Tagger [pure virtual]
prev_transition_vector(size_t i, size_t j, size_t k) const =0CRFPP::Tagger [pure virtual]
prob(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
prob(size_t i) const =0CRFPP::Tagger [pure virtual]
prob() const =0CRFPP::Tagger [pure virtual]
result(size_t i) const =0CRFPP::Tagger [pure virtual]
set_cost_factor(float cost_factor)=0CRFPP::Tagger [pure virtual]
set_model(const Model &model)=0CRFPP::Tagger [pure virtual]
set_nbest(size_t nbest)=0CRFPP::Tagger [pure virtual]
set_penalty(size_t i, size_t j, double penalty)=0CRFPP::Tagger [pure virtual]
set_vlevel(unsigned int vlevel)=0CRFPP::Tagger [pure virtual]
size() const =0CRFPP::Tagger [pure virtual]
toString()=0CRFPP::Tagger [pure virtual]
toString(char *result, size_t size)=0CRFPP::Tagger [pure virtual]
vlevel() const =0CRFPP::Tagger [pure virtual]
weight_vector() const =0CRFPP::Tagger [pure virtual]
what()=0CRFPP::Tagger [pure virtual]
x(size_t i, size_t j) const =0CRFPP::Tagger [pure virtual]
x(size_t) const =0CRFPP::Tagger [pure virtual]
xsize() const =0CRFPP::Tagger [pure virtual]
y(size_t i) const =0CRFPP::Tagger [pure virtual]
y2(size_t i) const =0CRFPP::Tagger [pure virtual]
yname(size_t i) const =0CRFPP::Tagger [pure virtual]
ysize() const =0CRFPP::Tagger [pure virtual]
Z() const =0CRFPP::Tagger [pure virtual]
~Tagger()CRFPP::Tagger [inline, virtual]
+ + + + + + diff --git a/CRF/doc/doxygen/classCRFPP_1_1Tagger.html b/CRF/doc/doxygen/classCRFPP_1_1Tagger.html new file mode 100644 index 0000000000000000000000000000000000000000..bd689f53e27883d0f17c4b9b95a0573e8711e159 --- /dev/null +++ b/CRF/doc/doxygen/classCRFPP_1_1Tagger.html @@ -0,0 +1,1194 @@ + + + + + +CRF++: CRFPP::Tagger Class Reference + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
+ +
+
CRFPP::Tagger Class Reference
+
+
+ +

#include <crfpp.h>

+ +

List of all members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual bool open (int argc, char **argv)=0
virtual bool open (const char *arg)=0
virtual bool add (size_t size, const char **str)=0
virtual void close ()=0
virtual const float * weight_vector () const =0
virtual bool set_model (const Model &model)=0
virtual void set_vlevel (unsigned int vlevel)=0
virtual unsigned int vlevel () const =0
virtual void set_cost_factor (float cost_factor)=0
virtual float cost_factor () const =0
virtual void set_nbest (size_t nbest)=0
virtual size_t nbest () const =0
virtual bool add (const char *str)=0
virtual size_t size () const =0
virtual size_t xsize () const =0
virtual size_t dsize () const =0
virtual size_t result (size_t i) const =0
virtual size_t answer (size_t i) const =0
virtual size_t y (size_t i) const =0
virtual const char * y2 (size_t i) const =0
virtual const char * yname (size_t i) const =0
virtual const char * x (size_t i, size_t j) const =0
virtual const char ** x (size_t) const =0
virtual size_t ysize () const =0
virtual double prob (size_t i, size_t j) const =0
virtual double prob (size_t i) const =0
virtual double prob () const =0
virtual void set_penalty (size_t i, size_t j, double penalty)=0
virtual double penalty (size_t i, size_t j) const =0
virtual double alpha (size_t i, size_t j) const =0
virtual double beta (size_t i, size_t j) const =0
virtual double emission_cost (size_t i, size_t j) const =0
virtual double next_transition_cost (size_t i, size_t j, size_t k) const =0
virtual double prev_transition_cost (size_t i, size_t j, size_t k) const =0
virtual double best_cost (size_t i, size_t j) const =0
virtual const int * emission_vector (size_t i, size_t j) const =0
virtual const int * next_transition_vector (size_t i, size_t j, size_t k) const =0
virtual const int * prev_transition_vector (size_t i, size_t j, size_t k) const =0
virtual double Z () const =0
virtual bool parse ()=0
virtual bool empty () const =0
virtual bool clear ()=0
virtual bool next ()=0
virtual const char * parse (const char *str)=0
virtual const char * toString ()=0
virtual const char * toString (char *result, size_t size)=0
virtual const char * parse (const char *str, size_t size)=0
virtual const char * parse (const char *str, size_t size1, char *result, size_t size2)=0
virtual const char * what ()=0
virtual ~Tagger ()
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
virtual CRFPP::Tagger::~Tagger () [inline, virtual]
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual bool CRFPP::Tagger::add (size_t size,
const char ** str 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual bool CRFPP::Tagger::add (const char * str) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::alpha (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual size_t CRFPP::Tagger::answer (size_t i) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::best_cost (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::beta (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual bool CRFPP::Tagger::clear () [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual void CRFPP::Tagger::close () [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual float CRFPP::Tagger::cost_factor () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual size_t CRFPP::Tagger::dsize () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::emission_cost (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual const int* CRFPP::Tagger::emission_vector (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual bool CRFPP::Tagger::empty () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual size_t CRFPP::Tagger::nbest () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual bool CRFPP::Tagger::next () [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::next_transition_cost (size_t i,
size_t j,
size_t k 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual const int* CRFPP::Tagger::next_transition_vector (size_t i,
size_t j,
size_t k 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual bool CRFPP::Tagger::open (int argc,
char ** argv 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual bool CRFPP::Tagger::open (const char * arg) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual bool CRFPP::Tagger::parse () [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual const char* CRFPP::Tagger::parse (const char * str) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual const char* CRFPP::Tagger::parse (const char * str,
size_t size 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
virtual const char* CRFPP::Tagger::parse (const char * str,
size_t size1,
char * result,
size_t size2 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::penalty (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::prev_transition_cost (size_t i,
size_t j,
size_t k 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual const int* CRFPP::Tagger::prev_transition_vector (size_t i,
size_t j,
size_t k 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual double CRFPP::Tagger::prob (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual double CRFPP::Tagger::prob (size_t i) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual double CRFPP::Tagger::prob () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual size_t CRFPP::Tagger::result (size_t i) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual void CRFPP::Tagger::set_cost_factor (float cost_factor) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual bool CRFPP::Tagger::set_model (const Modelmodel) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual void CRFPP::Tagger::set_nbest (size_t nbest) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void CRFPP::Tagger::set_penalty (size_t i,
size_t j,
double penalty 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual void CRFPP::Tagger::set_vlevel (unsigned int vlevel) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual size_t CRFPP::Tagger::size () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual const char* CRFPP::Tagger::toString () [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual const char* CRFPP::Tagger::toString (char * result,
size_t size 
) [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual unsigned int CRFPP::Tagger::vlevel () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual const float* CRFPP::Tagger::weight_vector () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual const char* CRFPP::Tagger::what () [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
virtual const char* CRFPP::Tagger::x (size_t i,
size_t j 
) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual const char** CRFPP::Tagger::x (size_t ) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual size_t CRFPP::Tagger::xsize () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual size_t CRFPP::Tagger::y (size_t i) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual const char* CRFPP::Tagger::y2 (size_t i) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + + +
virtual const char* CRFPP::Tagger::yname (size_t i) const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual size_t CRFPP::Tagger::ysize () const [pure virtual]
+
+
+ +
+
+ +
+
+ + + + + + + +
virtual double CRFPP::Tagger::Z () const [pure virtual]
+
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + + + diff --git a/CRF/doc/doxygen/classes.html b/CRF/doc/doxygen/classes.html new file mode 100644 index 0000000000000000000000000000000000000000..685af44632870524e1d8873063c7b48a4ded4a90 --- /dev/null +++ b/CRF/doc/doxygen/classes.html @@ -0,0 +1,79 @@ + + + + + +CRF++: Class Index + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + +
+
+
+
Class Index
+
+
+
M | T
+ + + + + +
  M  
+
  T  
+
Model (CRFPP)   Tagger (CRFPP)   
+
M | T
+
+ + + + + + diff --git a/CRF/doc/doxygen/closed.png b/CRF/doc/doxygen/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..b7d4bd9fef2272c74b94762c9e2496177017775e Binary files /dev/null and b/CRF/doc/doxygen/closed.png differ diff --git a/CRF/doc/doxygen/crfpp_8h-source.html b/CRF/doc/doxygen/crfpp_8h-source.html new file mode 100644 index 0000000000000000000000000000000000000000..6752cc6367ab29ce8ea5a366a46d9f3fcd0611ed --- /dev/null +++ b/CRF/doc/doxygen/crfpp_8h-source.html @@ -0,0 +1,315 @@ + + +CRF++: /home/taku/proj/crfpp/crfpp.h Source File + + + + + +
Generated on Sun Apr 19 17:43:24 2009 for CRF++ by  + +doxygen 1.5.6
+ + diff --git a/CRF/doc/doxygen/crfpp_8h.html b/CRF/doc/doxygen/crfpp_8h.html new file mode 100644 index 0000000000000000000000000000000000000000..bd3f315f20d673d49fc525d856c08d6e0a8c2900 --- /dev/null +++ b/CRF/doc/doxygen/crfpp_8h.html @@ -0,0 +1,1762 @@ + + + + + +CRF++: /home/taku/proj/crfpp/crfpp.h File Reference + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + +
+
+ +
+
/home/taku/proj/crfpp/crfpp.h File Reference
+
+
+
#include <cstdio>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  CRFPP::Model
class  CRFPP::Tagger

+Namespaces

namespace  CRFPP

+Defines

#define CRFPP_DLL_EXTERN   extern
#define CRFPP_DLL_CLASS_EXTERN

+Typedefs

typedef struct crfpp_t crfpp_t
typedef struct crfpp_model_t crfpp_model_t

+Functions

CRFPP_DLL_EXTERN crfpp_model_tcrfpp_model_new (int, char **)
CRFPP_DLL_EXTERN crfpp_model_tcrfpp_model_new2 (const char *)
CRFPP_DLL_EXTERN crfpp_model_tcrfpp_model_from_array_new (int, char **, const char *, size_t)
CRFPP_DLL_EXTERN crfpp_model_tcrfpp_model_from_array_new2 (const char *, const char *, size_t)
CRFPP_DLL_EXTERN const char * crfpp_model_get_template (crfpp_model_t *)
CRFPP_DLL_EXTERN void crfpp_model_destroy (crfpp_model_t *)
CRFPP_DLL_EXTERN const char * crfpp_model_strerror (crfpp_model_t *)
CRFPP_DLL_EXTERN crfpp_tcrfpp_model_new_tagger (crfpp_model_t *)
CRFPP_DLL_EXTERN crfpp_tcrfpp_new (int, char **)
CRFPP_DLL_EXTERN crfpp_tcrfpp_new2 (const char *)
CRFPP_DLL_EXTERN void crfpp_destroy (crfpp_t *)
CRFPP_DLL_EXTERN int crfpp_set_model (crfpp_t *, crfpp_model_t *)
CRFPP_DLL_EXTERN int crfpp_add2 (crfpp_t *, size_t, const char **)
CRFPP_DLL_EXTERN int crfpp_add (crfpp_t *, const char *)
CRFPP_DLL_EXTERN size_t crfpp_size (crfpp_t *)
CRFPP_DLL_EXTERN size_t crfpp_xsize (crfpp_t *)
CRFPP_DLL_EXTERN size_t crfpp_dsize (crfpp_t *)
CRFPP_DLL_EXTERN const float * crfpp_weight_vector (crfpp_t *)
CRFPP_DLL_EXTERN size_t crfpp_result (crfpp_t *, size_t)
CRFPP_DLL_EXTERN size_t crfpp_answer (crfpp_t *, size_t)
CRFPP_DLL_EXTERN size_t crfpp_y (crfpp_t *, size_t)
CRFPP_DLL_EXTERN size_t crfpp_ysize (crfpp_t *)
CRFPP_DLL_EXTERN double crfpp_prob (crfpp_t *, size_t, size_t)
CRFPP_DLL_EXTERN double crfpp_prob2 (crfpp_t *, size_t)
CRFPP_DLL_EXTERN double crfpp_prob3 (crfpp_t *)
CRFPP_DLL_EXTERN void crfpp_set_penalty (crfpp_t *, size_t i, size_t j, double penalty)
CRFPP_DLL_EXTERN double crfpp_penalty (crfpp_t *, size_t i, size_t j)
CRFPP_DLL_EXTERN double crfpp_alpha (crfpp_t *, size_t, size_t)
CRFPP_DLL_EXTERN double crfpp_beta (crfpp_t *, size_t, size_t)
CRFPP_DLL_EXTERN double crfpp_emisstion_cost (crfpp_t *, size_t, size_t)
CRFPP_DLL_EXTERN double crfpp_next_transition_cost (crfpp_t *, size_t, size_t, size_t)
CRFPP_DLL_EXTERN double crfpp_prev_transition_cost (crfpp_t *, size_t, size_t, size_t)
CRFPP_DLL_EXTERN double crfpp_best_cost (crfpp_t *, size_t, size_t)
CRFPP_DLL_EXTERN const int * crfpp_emittion_vector (crfpp_t *, size_t, size_t)
CRFPP_DLL_EXTERN const int * crfpp_next_transition_vector (crfpp_t *, size_t, size_t, size_t)
CRFPP_DLL_EXTERN const int * crfpp_prev_transition_vector (crfpp_t *, size_t, size_t, size_t)
CRFPP_DLL_EXTERN double crfpp_Z (crfpp_t *)
CRFPP_DLL_EXTERN int crfpp_parse (crfpp_t *)
CRFPP_DLL_EXTERN int crfpp_empty (crfpp_t *)
CRFPP_DLL_EXTERN int crfpp_clear (crfpp_t *)
CRFPP_DLL_EXTERN int crfpp_next (crfpp_t *)
CRFPP_DLL_EXTERN int crfpp_test (int, char **)
CRFPP_DLL_EXTERN int crfpp_test2 (const char *)
CRFPP_DLL_EXTERN int crfpp_learn (int, char **)
CRFPP_DLL_EXTERN int crfpp_learn2 (const char *)
CRFPP_DLL_EXTERN const char * crfpp_strerror (crfpp_t *)
CRFPP_DLL_EXTERN const char * crfpp_yname (crfpp_t *, size_t)
CRFPP_DLL_EXTERN const char * crfpp_y2 (crfpp_t *, size_t)
CRFPP_DLL_EXTERN const char * crfpp_x (crfpp_t *, size_t, size_t)
CRFPP_DLL_EXTERN const char ** crfpp_x2 (crfpp_t *, size_t)
CRFPP_DLL_EXTERN const char * crfpp_parse_tostr (crfpp_t *, const char *)
CRFPP_DLL_EXTERN const char * crfpp_parse_tostr2 (crfpp_t *, const char *, size_t)
CRFPP_DLL_EXTERN const char * crfpp_parse_tostr3 (crfpp_t *, const char *, size_t, char *, size_t)
CRFPP_DLL_EXTERN const char * crfpp_tostr (crfpp_t *)
CRFPP_DLL_EXTERN const char * crfpp_tostr2 (crfpp_t *, char *, size_t)
CRFPP_DLL_EXTERN void crfpp_set_vlevel (crfpp_t *, unsigned int)
CRFPP_DLL_EXTERN unsigned int crfpp_vlevel (crfpp_t *)
CRFPP_DLL_EXTERN void crfpp_set_cost_factor (crfpp_t *, float)
CRFPP_DLL_EXTERN float crfpp_cost_factor (crfpp_t *)
CRFPP_DLL_EXTERN void crfpp_set_nbest (crfpp_t *, size_t)
CRFPP_DLL_EXTERN Tagger * CRFPP::createTagger (int argc, char **argv)
CRFPP_DLL_EXTERN Tagger * CRFPP::createTagger (const char *arg)
CRFPP_DLL_EXTERN Model * CRFPP::createModel (int argc, char **argv)
CRFPP_DLL_EXTERN Model * CRFPP::createModelFromArray (int argc, char **argv, const char *model_buf, size_t model_size)
CRFPP_DLL_EXTERN Model * CRFPP::createModel (const char *arg)
CRFPP_DLL_EXTERN Model * CRFPP::createModelFromArray (const char *arg, const char *model_buf, size_t model_size)
CRFPP_DLL_EXTERN const char * CRFPP::getTaggerError ()
CRFPP_DLL_EXTERN const char * CRFPP::getLastError ()
+

Define Documentation

+ +
+
+ + + + +
#define CRFPP_DLL_CLASS_EXTERN
+
+
+ +
+
+ +
+
+ + + + +
#define CRFPP_DLL_EXTERN   extern
+
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct crfpp_model_t crfpp_model_t
+
+
+ +
+
+ +
+
+ + + + +
typedef struct crfpp_t crfpp_t
+
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_add (crfpp_t,
const char *  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_add2 (crfpp_t,
size_t ,
const char **  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_alpha (crfpp_t,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN size_t crfpp_answer (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_best_cost (crfpp_t,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_beta (crfpp_t,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_clear (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN float crfpp_cost_factor (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN void crfpp_destroy (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN size_t crfpp_dsize (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_emisstion_cost (crfpp_t,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const int* crfpp_emittion_vector (crfpp_t,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_empty (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_learn (int ,
char **  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_learn2 (const char * )
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN void crfpp_model_destroy (crfpp_model_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_from_array_new (int ,
char ** ,
const char * ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_from_array_new2 (const char * ,
const char * ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_model_get_template (crfpp_model_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_new (int ,
char **  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_new2 (const char * )
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_model_strerror (crfpp_model_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN crfpp_t* crfpp_new (int ,
char **  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN crfpp_t* crfpp_new2 (const char * )
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_next (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_next_transition_cost (crfpp_t,
size_t ,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const int* crfpp_next_transition_vector (crfpp_t,
size_t ,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_parse (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_parse_tostr (crfpp_t,
const char *  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_parse_tostr2 (crfpp_t,
const char * ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_parse_tostr3 (crfpp_t,
const char * ,
size_t ,
char * ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_penalty (crfpp_t,
size_t i,
size_t j 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_prev_transition_cost (crfpp_t,
size_t ,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const int* crfpp_prev_transition_vector (crfpp_t,
size_t ,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_prob (crfpp_t,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_prob2 (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_prob3 (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN size_t crfpp_result (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN void crfpp_set_cost_factor (crfpp_t,
float  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_set_model (crfpp_t,
crfpp_model_t 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN void crfpp_set_nbest (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN void crfpp_set_penalty (crfpp_t,
size_t i,
size_t j,
double penalty 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN void crfpp_set_vlevel (crfpp_t,
unsigned int 
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN size_t crfpp_size (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_strerror (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_test (int ,
char **  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN int crfpp_test2 (const char * )
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_tostr (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_tostr2 (crfpp_t,
char * ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN unsigned int crfpp_vlevel (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN const float* crfpp_weight_vector (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_x (crfpp_t,
size_t ,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char** crfpp_x2 (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN size_t crfpp_xsize (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN size_t crfpp_y (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_y2 (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN const char* crfpp_yname (crfpp_t,
size_t  
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN size_t crfpp_ysize (crfpp_t)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN double crfpp_Z (crfpp_t)
+
+
+ +
+
+
+ + + + + + diff --git a/CRF/doc/doxygen/crfpp_8h_source.html b/CRF/doc/doxygen/crfpp_8h_source.html new file mode 100644 index 0000000000000000000000000000000000000000..7289fd059da451ba8caa54993578ef3ba29e7db1 --- /dev/null +++ b/CRF/doc/doxygen/crfpp_8h_source.html @@ -0,0 +1,448 @@ + + + + + +CRF++: /home/taku/proj/crfpp/crfpp.h Source File + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + +
+
+
+
/home/taku/proj/crfpp/crfpp.h
+
+
+Go to the documentation of this file.
00001 /*
+00002   CRF++ -- Yet Another CRF toolkit
+00003 
+00004   $Id: crfpp.h 1592 2007-02-12 09:40:53Z taku $;
+00005 
+00006   Copyright(C) 2005-2007 Taku Kudo <taku@chasen.org>
+00007 */
+00008 #ifndef CRFPP_CRFPP_H_
+00009 #define CRFPP_CRFPP_H_
+00010 
+00011 /* C interface  */
+00012 #ifdef __cplusplus
+00013 #include <cstdio>
+00014 #else
+00015 #include <stdio.h>
+00016 #endif
+00017 
+00018 #ifdef __cplusplus
+00019 extern "C" {
+00020 #endif
+00021 
+00022 #ifdef _WIN32
+00023 #include <windows.h>
+00024 #  ifdef DLL_EXPORT
+00025 #    define CRFPP_DLL_EXTERN  __declspec(dllexport)
+00026 #    define CRFPP_DLL_CLASS_EXTERN  __declspec(dllexport)
+00027 #  else
+00028 #    define CRFPP_DLL_EXTERN  __declspec(dllimport)
+00029 #  endif
+00030 #endif
+00031 
+00032 #ifndef CRFPP_DLL_EXTERN
+00033 #  define CRFPP_DLL_EXTERN extern
+00034 #endif
+00035 
+00036 #ifndef CRFPP_DLL_CLASS_EXTERN
+00037 #  define CRFPP_DLL_CLASS_EXTERN
+00038 #endif
+00039 
+00040 #ifndef SWIG
+00041   typedef struct crfpp_t crfpp_t;
+00042   typedef struct crfpp_model_t crfpp_model_t;
+00043 
+00044   /* C interface */
+00045   CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_new(int,  char**);
+00046   CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_new2(const char*);
+00047   CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_from_array_new(int,  char**, const char *, size_t);
+00048   CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_from_array_new2(const char*, const char *, size_t);
+00049   CRFPP_DLL_EXTERN const char *   crfpp_model_get_template(crfpp_model_t*);
+00050   CRFPP_DLL_EXTERN void           crfpp_model_destroy(crfpp_model_t*);
+00051   CRFPP_DLL_EXTERN const char *   crfpp_model_strerror(crfpp_model_t *);
+00052   CRFPP_DLL_EXTERN crfpp_t*       crfpp_model_new_tagger(crfpp_model_t *);
+00053 
+00054   CRFPP_DLL_EXTERN crfpp_t* crfpp_new(int,  char**);
+00055   CRFPP_DLL_EXTERN crfpp_t* crfpp_new2(const char*);
+00056   CRFPP_DLL_EXTERN void     crfpp_destroy(crfpp_t*);
+00057   CRFPP_DLL_EXTERN int      crfpp_set_model(crfpp_t *, crfpp_model_t *);
+00058   CRFPP_DLL_EXTERN int      crfpp_add2(crfpp_t*, size_t, const char **);
+00059   CRFPP_DLL_EXTERN int      crfpp_add(crfpp_t*, const char*);
+00060   CRFPP_DLL_EXTERN size_t   crfpp_size(crfpp_t*);
+00061   CRFPP_DLL_EXTERN size_t   crfpp_xsize(crfpp_t*);
+00062   CRFPP_DLL_EXTERN size_t   crfpp_dsize(crfpp_t*);
+00063   CRFPP_DLL_EXTERN const float* crfpp_weight_vector(crfpp_t*);
+00064   CRFPP_DLL_EXTERN size_t   crfpp_result(crfpp_t*, size_t);
+00065   CRFPP_DLL_EXTERN size_t   crfpp_answer(crfpp_t*, size_t);
+00066   CRFPP_DLL_EXTERN size_t   crfpp_y(crfpp_t*, size_t);
+00067   CRFPP_DLL_EXTERN size_t   crfpp_ysize(crfpp_t*);
+00068   CRFPP_DLL_EXTERN double   crfpp_prob(crfpp_t*, size_t, size_t);
+00069   CRFPP_DLL_EXTERN double   crfpp_prob2(crfpp_t*, size_t);
+00070   CRFPP_DLL_EXTERN double   crfpp_prob3(crfpp_t*);
+00071   CRFPP_DLL_EXTERN void     crfpp_set_penalty(crfpp_t *, size_t i, size_t j, double penalty);
+00072   CRFPP_DLL_EXTERN double   crfpp_penalty(crfpp_t *, size_t i, size_t j);
+00073   CRFPP_DLL_EXTERN double   crfpp_alpha(crfpp_t*, size_t, size_t);
+00074   CRFPP_DLL_EXTERN double   crfpp_beta(crfpp_t*, size_t, size_t);
+00075   CRFPP_DLL_EXTERN double   crfpp_emisstion_cost(crfpp_t*, size_t, size_t);
+00076   CRFPP_DLL_EXTERN double   crfpp_next_transition_cost(crfpp_t*, size_t,
+00077                                                        size_t, size_t);
+00078   CRFPP_DLL_EXTERN double   crfpp_prev_transition_cost(crfpp_t*, size_t,
+00079                                                        size_t, size_t);
+00080   CRFPP_DLL_EXTERN double   crfpp_best_cost(crfpp_t*, size_t, size_t);
+00081   CRFPP_DLL_EXTERN const int* crfpp_emittion_vector(crfpp_t*, size_t, size_t);
+00082   CRFPP_DLL_EXTERN const int* crfpp_next_transition_vector(crfpp_t*, size_t,
+00083                                                            size_t, size_t);
+00084   CRFPP_DLL_EXTERN const int* crfpp_prev_transition_vector(crfpp_t*, size_t,
+00085                                                            size_t, size_t);
+00086   CRFPP_DLL_EXTERN double   crfpp_Z(crfpp_t*);
+00087   CRFPP_DLL_EXTERN int      crfpp_parse(crfpp_t*);
+00088   CRFPP_DLL_EXTERN int      crfpp_empty(crfpp_t*);
+00089   CRFPP_DLL_EXTERN int      crfpp_clear(crfpp_t*);
+00090   CRFPP_DLL_EXTERN int      crfpp_next(crfpp_t*);
+00091   CRFPP_DLL_EXTERN int      crfpp_test(int, char **);
+00092   CRFPP_DLL_EXTERN int      crfpp_test2(const char *);
+00093   CRFPP_DLL_EXTERN int      crfpp_learn(int, char **);
+00094   CRFPP_DLL_EXTERN int      crfpp_learn2(const char *);
+00095   CRFPP_DLL_EXTERN const char*  crfpp_strerror(crfpp_t*);
+00096   CRFPP_DLL_EXTERN const char*  crfpp_yname(crfpp_t*, size_t);
+00097   CRFPP_DLL_EXTERN const char*  crfpp_y2(crfpp_t*, size_t);
+00098   CRFPP_DLL_EXTERN const char*  crfpp_x(crfpp_t*, size_t, size_t);
+00099   CRFPP_DLL_EXTERN const char** crfpp_x2(crfpp_t*, size_t);
+00100   CRFPP_DLL_EXTERN const char*  crfpp_parse_tostr(crfpp_t*, const char*);
+00101   CRFPP_DLL_EXTERN const char*  crfpp_parse_tostr2(crfpp_t*,
+00102                                                    const char*, size_t);
+00103   CRFPP_DLL_EXTERN const char*  crfpp_parse_tostr3(crfpp_t*, const char*,
+00104                                                    size_t, char *, size_t);
+00105   CRFPP_DLL_EXTERN const char*  crfpp_tostr(crfpp_t*);
+00106   CRFPP_DLL_EXTERN const char*  crfpp_tostr2(crfpp_t*, char *, size_t);
+00107 
+00108   CRFPP_DLL_EXTERN void crfpp_set_vlevel(crfpp_t *, unsigned int);
+00109   CRFPP_DLL_EXTERN unsigned int crfpp_vlevel(crfpp_t *);
+00110   CRFPP_DLL_EXTERN void crfpp_set_cost_factor(crfpp_t *, float);
+00111   CRFPP_DLL_EXTERN float crfpp_cost_factor(crfpp_t *);
+00112   CRFPP_DLL_EXTERN void crfpp_set_nbest(crfpp_t *, size_t);
+00113 #endif
+00114 
+00115 #ifdef __cplusplus
+00116 }
+00117 #endif
+00118 
+00119 /* C++ interface */
+00120 #ifdef __cplusplus
+00121 
+00122 namespace CRFPP {
+00123 
+00124 class Tagger;
+00125 
+00126 class CRFPP_DLL_CLASS_EXTERN Model {
+00127  public:
+00128 #ifndef SWIG
+00129   // open model with parameters in argv[]
+00130   // e.g, argv[] = {"CRF++", "-m", "model", "-v3"};
+00131   virtual bool open(int argc,  char** argv) = 0;
+00132 
+00133   // open model with parameter arg, e.g. arg = "-m model -v3";
+00134   virtual bool open(const char* arg) = 0;
+00135 
+00136   // open model with parameters in argv[].
+00137   // e.g, argv[] = {"CRF++", "-v3"};
+00138   virtual bool openFromArray(int argc,  char** argv,
+00139                              const char *model_buf,
+00140                              size_t model_size) = 0;
+00141 
+00142   // open model with parameter arg, e.g. arg = "-m model -v3";
+00143   virtual bool openFromArray(const char* arg,
+00144                              const char *model_buf,
+00145                              size_t model_size) = 0;
+00146 #endif
+00147   // return template string embedded in this model file.
+00148   virtual const char *getTemplate() const = 0;
+00149 
+00150   // create Tagger object. Returned object shared the same
+00151   // model object
+00152   virtual Tagger *createTagger() const = 0;
+00153 
+00154   virtual const char* what() = 0;
+00155 
+00156   virtual ~Model() {}
+00157 };
+00158 
+00159 class CRFPP_DLL_CLASS_EXTERN Tagger {
+00160  public:
+00161 #ifndef SWIG
+00162   // open model with parameters in argv[]
+00163   // e.g, argv[] = {"CRF++", "-m", "model", "-v3"};
+00164   virtual bool open(int argc,  char** argv) = 0;
+00165 
+00166   // open model with parameter arg, e.g. arg = "-m model -v3";
+00167   virtual bool open(const char* arg) = 0;
+00168 
+00169   // add str[] as tokens to the current context
+00170   virtual bool add(size_t size, const char **str) = 0;
+00171 
+00172   // close the current model
+00173   virtual void close() = 0;
+00174 
+00175   // return parameter vector. the size should be dsize();
+00176   virtual const float *weight_vector() const = 0;
+00177 #endif
+00178 
+00179   // set Model
+00180   virtual bool set_model(const Model &model) = 0;
+00181 
+00182   // set vlevel
+00183   virtual void set_vlevel(unsigned int vlevel) = 0;
+00184 
+00185   // get vlevel
+00186   virtual unsigned int vlevel() const = 0;
+00187 
+00188   // set cost factor
+00189   virtual void set_cost_factor(float cost_factor) = 0;
+00190 
+00191   // get cost factor
+00192   virtual float cost_factor() const = 0;
+00193 
+00194   // set nbest
+00195   virtual void set_nbest(size_t nbest) = 0;
+00196 
+00197   // get nbest
+00198   virtual size_t nbest() const = 0;
+00199 
+00200   // add one line to the current context
+00201   virtual bool add(const char* str) = 0;
+00202 
+00203   // return size of tokens(lines)
+00204   virtual size_t size() const = 0;
+00205 
+00206   // return size of column
+00207   virtual size_t xsize() const = 0;
+00208 
+00209   // return size of features
+00210   virtual size_t dsize() const = 0;
+00211 
+00212   // return output tag-id of i-th token
+00213   virtual size_t result(size_t i) const = 0;
+00214 
+00215   // return answer tag-id of i-th token if it is available
+00216   virtual size_t answer(size_t i) const = 0;
+00217 
+00218   // alias of result(i)
+00219   virtual size_t y(size_t i) const = 0;
+00220 
+00221   // return output tag of i-th token as string
+00222   virtual const char*   y2(size_t i) const = 0;
+00223 
+00224   // return i-th tag-id as string
+00225   virtual const char*   yname(size_t i) const = 0;
+00226 
+00227   // return token at [i,j] as string(i:token j:column)
+00228   virtual const char*   x(size_t i, size_t j) const = 0;
+00229 
+00230 #ifndef SWIG
+00231   // return an array of strings at i-th tokens
+00232   virtual const char**  x(size_t) const = 0;
+00233 #endif
+00234 
+00235   // return size of output tags
+00236   virtual size_t ysize() const = 0;
+00237 
+00238   // return marginal probability of j-th tag id at i-th token
+00239   virtual double prob(size_t i, size_t j) const = 0;
+00240 
+00241   // return marginal probability of output tag at i-th token
+00242   // same as prob(i, tagger->y(i));
+00243   virtual double prob(size_t i) const = 0;
+00244 
+00245   // return conditional probability of enter output
+00246   virtual double prob() const = 0;
+00247 
+00248   // set token-level penalty. It would be useful for implementing
+00249   // Dual decompositon decoding.
+00250   // e.g.
+00251   // "Dual Decomposition for Parsing with Non-Projective Head Automata"
+00252   // Terry Koo Alexander M. Rush Michael Collins Tommi Jaakkola David Sontag
+00253   virtual void set_penalty(size_t i, size_t j, double penalty) = 0;
+00254   virtual double penalty(size_t i, size_t j) const = 0;
+00255 
+00256   // return forward log-prob of the j-th tag at i-th token
+00257   virtual double alpha(size_t i, size_t j) const = 0;
+00258 
+00259   // return backward log-prob of the j-th tag at i-th token
+00260   virtual double beta(size_t i, size_t j) const = 0;
+00261 
+00262   // return emission cost of the j-th tag at i-th token
+00263   virtual double emission_cost(size_t i, size_t j) const = 0;
+00264 
+00265   // return transition cost of [j-th tag at i-th token] to
+00266   // [k-th tag at(i+1)-th token]
+00267   virtual double next_transition_cost(size_t i,
+00268                                       size_t j, size_t k) const = 0;
+00269 
+00270   // return transition cost of [j-th tag at i-th token] to
+00271   // [k-th tag at(i-1)-th token]
+00272   virtual double prev_transition_cost(size_t i,
+00273                                       size_t j, size_t k) const = 0;
+00274 
+00275   //  return the best accumulative cost to the j-th tag at i-th token
+00276   // used in viterbi search
+00277   virtual double best_cost(size_t i, size_t j) const = 0;
+00278 
+00279 #ifndef SWIG
+00280   // return emission feature vector of the j-th tag at i-th token
+00281   virtual const int* emission_vector(size_t i, size_t j) const = 0;
+00282 
+00283   // return transition feature vector of [j-th tag at i-th token] to
+00284   // [k-th tag at(i+1)-th token]
+00285   virtual const int* next_transition_vector(size_t i,
+00286                                             size_t j, size_t k) const = 0;
+00287 
+00288   // return transition feature vector of [j-th tag at i-th token] to
+00289   // [k-th tag at(i-1)-th token]
+00290   virtual const int* prev_transition_vector(size_t i,
+00291                                             size_t j, size_t k) const = 0;
+00292 #endif
+00293 
+00294   // normalizing factor(log-prob)
+00295   virtual double Z() const = 0;
+00296 
+00297   // do parse and change the internal status, if failed, returns false
+00298   virtual bool parse() = 0;
+00299 
+00300   // return true if the context is empty
+00301   virtual bool empty() const = 0;
+00302 
+00303   // clear all context
+00304   virtual bool clear() = 0;
+00305 
+00306   // change the internal state to output next-optimal output.
+00307   // calling it n-th times, can get n-best results,
+00308   // Neeed to specify -nN option to use this function, where
+00309   // N>=2
+00310   virtual bool next() = 0;
+00311 
+00312   // parse 'str' and return result as string
+00313   // 'str' must be written in CRF++'s input format
+00314   virtual const char* parse(const char* str) = 0;
+00315 
+00316 #ifndef SWIG
+00317   // return parsed result as string
+00318   virtual const char* toString() = 0;
+00319 
+00320   // return parsed result as string.
+00321   // Result is saved in the buffer 'result', 'size' is the
+00322   // size of the buffer. if failed, return NULL
+00323   virtual const char* toString(char* result , size_t size) = 0;
+00324 
+00325   // parse 'str' and return parsed result.
+00326   // You don't need to delete return value, but the buffer
+00327   // is rewritten whenever you call parse method.
+00328   // if failed, return NULL
+00329   virtual const char* parse(const char *str, size_t size) = 0;
+00330 
+00331   // parse 'str' and return parsed result.
+00332   // The result is stored in the buffer 'result'.
+00333   // 'size2' is the size of the buffer. if failed, return NULL
+00334   virtual const char* parse(const char *str, size_t size1,
+00335                             char *result, size_t size2) = 0;
+00336 #endif
+00337   // return internal error code as string
+00338   virtual const char* what() = 0;
+00339 
+00340   virtual ~Tagger() {}
+00341 };
+00342 
+00343 /* factory method */
+00344 
+00345 // create CRFPP::Tagger instance with parameters in argv[]
+00346 // e.g, argv[] = {"CRF++", "-m", "model", "-v3"};
+00347 CRFPP_DLL_EXTERN Tagger *createTagger(int argc, char **argv);
+00348 
+00349 // create CRFPP::Tagger instance with parameter in arg
+00350 // e.g. arg = "-m model -v3";
+00351 CRFPP_DLL_EXTERN Tagger *createTagger(const char *arg);
+00352 
+00353 // create CRFPP::Model instance with parameters in argv[]
+00354 // e.g, argv[] = {"CRF++", "-m", "model", "-v3"};
+00355 CRFPP_DLL_EXTERN Model *createModel(int argc, char **argv);
+00356 
+00357 // load model from [buf, buf+size].
+00358 CRFPP_DLL_EXTERN Model *createModelFromArray(int argc, char **argv,
+00359                                              const char *model_buf,
+00360                                              size_t model_size);
+00361 
+00362 // create CRFPP::Model instance with parameter in arg
+00363 // e.g. arg = "-m model -v3";
+00364 CRFPP_DLL_EXTERN Model *createModel(const char *arg);
+00365 
+00366 // load model from [buf, buf+size].
+00367 CRFPP_DLL_EXTERN Model *createModelFromArray(const char *arg,
+00368                                              const char *model_buf,
+00369                                              size_t model_size);
+00370 
+00371 // return error code of createTagger();
+00372 CRFPP_DLL_EXTERN const char *getTaggerError();
+00373 
+00374 // alias of getTaggerError();
+00375 CRFPP_DLL_EXTERN const char *getLastError();
+00376 }
+00377 
+00378 #endif
+00379 #endif
+
+ + + + + + diff --git a/CRF/doc/doxygen/doxygen.css b/CRF/doc/doxygen/doxygen.css new file mode 100644 index 0000000000000000000000000000000000000000..cee0d06b574232a9643807924ac94f322fda9df9 --- /dev/null +++ b/CRF/doc/doxygen/doxygen.css @@ -0,0 +1,949 @@ +/* The standard CSS for doxygen */ + +body, table, div, p, dl { + font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; + font-size: 13px; + line-height: 1.3; +} + +/* @group Heading Levels */ + +h1 { + font-size: 150%; +} + +.title { + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2 { + font-size: 120%; +} + +h3 { + font-size: 100%; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +.fragment { + font-family: monospace, fixed; + font-size: 105%; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 8px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memItemLeft, .memItemRight, .memTemplParams { + border-top: 1px solid #C4CFE5; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; +} + +.memname { + white-space: nowrap; + font-weight: bold; + margin-left: 6px; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 8px; + border-top-left-radius: 8px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 8px; + -moz-border-radius-topleft: 8px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 8px; + -webkit-border-top-left-radius: 8px; + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 2px 5px; + background-color: #FBFCFD; + border-top-width: 0; + /* opera specific markup */ + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 8px; + -moz-border-radius-bottomright: 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7); + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 8px; + -webkit-border-bottom-right-radius: 8px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7)); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} + +.params, .retval, .exception, .tparams { + border-spacing: 6px 2px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + + + + +/* @end */ + +/* @group Directory (tree) */ + +/* for the tree view */ + +.ftvtree { + font-family: sans-serif; + margin: 0px; +} + +/* these are for tree view when used as main index */ + +.directory { + font-size: 9pt; + font-weight: bold; + margin: 5px; +} + +.directory h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +/* +The following two styles can be used to replace the root node title +with an image of your choice. Simply uncomment the next two styles, +specify the name of your image and be sure to set 'height' to the +proper pixel height of your image. +*/ + +/* +.directory h3.swap { + height: 61px; + background-repeat: no-repeat; + background-image: url("yourimage.gif"); +} +.directory h3.swap span { + display: none; +} +*/ + +.directory > h3 { + margin-top: 0; +} + +.directory p { + margin: 0px; + white-space: nowrap; +} + +.directory div { + display: none; + margin: 0px; +} + +.directory img { + vertical-align: -30%; +} + +/* these are for tree view when not used as main index */ + +.directory-alt { + font-size: 100%; + font-weight: bold; +} + +.directory-alt h3 { + margin: 0px; + margin-top: 1em; + font-size: 11pt; +} + +.directory-alt > h3 { + margin-top: 0; +} + +.directory-alt p { + margin: 0px; + white-space: nowrap; +} + +.directory-alt div { + display: none; + margin: 0px; +} + +.directory-alt img { + vertical-align: -30%; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; +} + +table.fieldtable { + width: 100%; + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + margin-left: 5px; + font-size: 8pt; + padding-left: 5px; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 7px; +} + +dl +{ + padding: 0 0 0 10px; +} + +dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug +{ + border-left:4px solid; + padding: 0 0 0 6px; +} + +dl.note +{ + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + border-color: #00D000; +} + +dl.deprecated +{ + border-color: #505050; +} + +dl.todo +{ + border-color: #00C0E0; +} + +dl.test +{ + border-color: #3030E0; +} + +dl.bug +{ + border-color: #C08050; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } + pre.fragment + { + overflow: visible; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + } +} + diff --git a/CRF/doc/doxygen/doxygen.png b/CRF/doc/doxygen/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..635ed52fce7057ac24df92ec7664088a881fa5d0 Binary files /dev/null and b/CRF/doc/doxygen/doxygen.png differ diff --git a/CRF/doc/doxygen/files.html b/CRF/doc/doxygen/files.html new file mode 100644 index 0000000000000000000000000000000000000000..9e570afcfe12d9c39f44c76a3f897e75e5283144 --- /dev/null +++ b/CRF/doc/doxygen/files.html @@ -0,0 +1,72 @@ + + + + + +CRF++: File List + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + +
+
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+ +
/home/taku/proj/crfpp/crfpp.h [code]
+
+ + + + + + diff --git a/CRF/doc/doxygen/functions.html b/CRF/doc/doxygen/functions.html new file mode 100644 index 0000000000000000000000000000000000000000..62b33001f90189cba872b61e7673ff897c0f7fed --- /dev/null +++ b/CRF/doc/doxygen/functions.html @@ -0,0 +1,302 @@ + + + + + +CRF++: Class Members + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + + +
+
+
Here is a list of all class members with links to the classes they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- g -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+ + +

- w -

+ + +

- x -

+ + +

- y -

+ + +

- z -

+ + +

- ~ -

+
+ + + + + + diff --git a/CRF/doc/doxygen/functions_func.html b/CRF/doc/doxygen/functions_func.html new file mode 100644 index 0000000000000000000000000000000000000000..c52afdedc144c847722068007921edfa483670c1 --- /dev/null +++ b/CRF/doc/doxygen/functions_func.html @@ -0,0 +1,302 @@ + + + + + +CRF++: Class Members - Functions + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + + +
+
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- g -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+ + +

- w -

+ + +

- x -

+ + +

- y -

+ + +

- z -

+ + +

- ~ -

+
+ + + + + + diff --git a/CRF/doc/doxygen/globals.html b/CRF/doc/doxygen/globals.html new file mode 100644 index 0000000000000000000000000000000000000000..0d809d6763d1122e4e88a637b45e95c50ad9fc71 --- /dev/null +++ b/CRF/doc/doxygen/globals.html @@ -0,0 +1,274 @@ + + + + + +CRF++: File Members + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + + +
+
+
Here is a list of all file members with links to the files they belong to:
+ +

- c -

+
+ + + + + + diff --git a/CRF/doc/doxygen/globals_defs.html b/CRF/doc/doxygen/globals_defs.html new file mode 100644 index 0000000000000000000000000000000000000000..984db69b86803b68f42c350d084b42df0b93c917 --- /dev/null +++ b/CRF/doc/doxygen/globals_defs.html @@ -0,0 +1,81 @@ + + + + + +CRF++: File Members + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
    +
  • CRFPP_DLL_CLASS_EXTERN +: crfpp.h +
  • +
  • CRFPP_DLL_EXTERN +: crfpp.h +
  • +
+
+ + + + + + diff --git a/CRF/doc/doxygen/globals_func.html b/CRF/doc/doxygen/globals_func.html new file mode 100644 index 0000000000000000000000000000000000000000..7ed46a8c76cc5882f53fc2d17a979a5bc4144187 --- /dev/null +++ b/CRF/doc/doxygen/globals_func.html @@ -0,0 +1,262 @@ + + + + + +CRF++: File Members + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + + +
+
+  + +

- c -

+
+ + + + + + diff --git a/CRF/doc/doxygen/globals_type.html b/CRF/doc/doxygen/globals_type.html new file mode 100644 index 0000000000000000000000000000000000000000..5c61f3a225c5303e8523954c0e12a2754d710b5b --- /dev/null +++ b/CRF/doc/doxygen/globals_type.html @@ -0,0 +1,81 @@ + + + + + +CRF++: File Members + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
+
+ + + + + + diff --git a/CRF/doc/doxygen/index.html b/CRF/doc/doxygen/index.html new file mode 100644 index 0000000000000000000000000000000000000000..1e961ac29882a13916f9d41367c8118334199564 --- /dev/null +++ b/CRF/doc/doxygen/index.html @@ -0,0 +1,63 @@ + + + + + +CRF++: Main Page + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + +
+
+
+
CRF++ Documentation
+
+
+
+ + + + + + diff --git a/CRF/doc/doxygen/namespaceCRFPP.html b/CRF/doc/doxygen/namespaceCRFPP.html new file mode 100644 index 0000000000000000000000000000000000000000..de83dd62a3af5ffdeac009d6d496022016f04355 --- /dev/null +++ b/CRF/doc/doxygen/namespaceCRFPP.html @@ -0,0 +1,281 @@ + + + + + +CRF++: CRFPP Namespace Reference + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + +
+
+ +
+
CRFPP Namespace Reference
+
+
+ + + + + + + + + + + + + +

+Classes

class  Model
class  Tagger

+Functions

CRFPP_DLL_EXTERN TaggercreateTagger (int argc, char **argv)
CRFPP_DLL_EXTERN TaggercreateTagger (const char *arg)
CRFPP_DLL_EXTERN ModelcreateModel (int argc, char **argv)
CRFPP_DLL_EXTERN ModelcreateModelFromArray (int argc, char **argv, const char *model_buf, size_t model_size)
CRFPP_DLL_EXTERN ModelcreateModel (const char *arg)
CRFPP_DLL_EXTERN ModelcreateModelFromArray (const char *arg, const char *model_buf, size_t model_size)
CRFPP_DLL_EXTERN const char * getTaggerError ()
CRFPP_DLL_EXTERN const char * getLastError ()
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN Model* CRFPP::createModel (int argc,
char ** argv 
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN Model* CRFPP::createModel (const char * arg)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN Model* CRFPP::createModelFromArray (int argc,
char ** argv,
const char * model_buf,
size_t model_size 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN Model* CRFPP::createModelFromArray (const char * arg,
const char * model_buf,
size_t model_size 
)
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
CRFPP_DLL_EXTERN Tagger* CRFPP::createTagger (int argc,
char ** argv 
)
+
+
+ +
+
+ +
+
+ + + + + + + + +
CRFPP_DLL_EXTERN Tagger* CRFPP::createTagger (const char * arg)
+
+
+ +
+
+ +
+
+ + + + + + + +
CRFPP_DLL_EXTERN const char* CRFPP::getLastError ()
+
+
+ +
+
+ +
+
+ + + + + + + +
CRFPP_DLL_EXTERN const char* CRFPP::getTaggerError ()
+
+
+ +
+
+
+ + + + + + diff --git a/CRF/doc/doxygen/namespacemembers.html b/CRF/doc/doxygen/namespacemembers.html new file mode 100644 index 0000000000000000000000000000000000000000..b8d3e222a5f2e601083cd043a500c1a439a90fa5 --- /dev/null +++ b/CRF/doc/doxygen/namespacemembers.html @@ -0,0 +1,88 @@ + + + + + +CRF++: Namespace Members + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
+
Here is a list of all namespace members with links to the namespace documentation for each member:
    +
  • createModel() +: CRFPP +
  • +
  • createModelFromArray() +: CRFPP +
  • +
  • createTagger() +: CRFPP +
  • +
  • getLastError() +: CRFPP +
  • +
  • getTaggerError() +: CRFPP +
  • +
+
+ + + + + + diff --git a/CRF/doc/doxygen/namespacemembers_func.html b/CRF/doc/doxygen/namespacemembers_func.html new file mode 100644 index 0000000000000000000000000000000000000000..185359019ea96f1eb72d48c97113888fc438b814 --- /dev/null +++ b/CRF/doc/doxygen/namespacemembers_func.html @@ -0,0 +1,88 @@ + + + + + +CRF++: Namespace Members + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + + +
+
    +
  • createModel() +: CRFPP +
  • +
  • createModelFromArray() +: CRFPP +
  • +
  • createTagger() +: CRFPP +
  • +
  • getLastError() +: CRFPP +
  • +
  • getTaggerError() +: CRFPP +
  • +
+
+ + + + + + diff --git a/CRF/doc/doxygen/namespaces.html b/CRF/doc/doxygen/namespaces.html new file mode 100644 index 0000000000000000000000000000000000000000..0425ad05ab4c716627f43e8b3423c3823a7fe421 --- /dev/null +++ b/CRF/doc/doxygen/namespaces.html @@ -0,0 +1,72 @@ + + + + + +CRF++: Namespace List + + + + + + + + +
+ + +
+ + + + + + + + + + + +
+
CRF++ + +
+ +
+
+ + + + +
+
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+ +
CRFPP
+
+ + + + + + diff --git a/CRF/doc/doxygen/nav_f.png b/CRF/doc/doxygen/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..1b07a16207e67c95fe2ee17e7016e6d08ac7ac99 Binary files /dev/null and b/CRF/doc/doxygen/nav_f.png differ diff --git a/CRF/doc/doxygen/nav_h.png b/CRF/doc/doxygen/nav_h.png new file mode 100644 index 0000000000000000000000000000000000000000..01f5fa6a596e36bd12c2d6ceff1b0169fda7e699 Binary files /dev/null and b/CRF/doc/doxygen/nav_h.png differ diff --git a/CRF/doc/doxygen/open.png b/CRF/doc/doxygen/open.png new file mode 100644 index 0000000000000000000000000000000000000000..7b35d2c2c389743089632fe24c3104f2173d97af Binary files /dev/null and b/CRF/doc/doxygen/open.png differ diff --git a/CRF/doc/doxygen/tab_a.png b/CRF/doc/doxygen/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..2d99ef23fed78c7683f0b5aa803d937060d288c4 Binary files /dev/null and b/CRF/doc/doxygen/tab_a.png differ diff --git a/CRF/doc/doxygen/tab_b.gif b/CRF/doc/doxygen/tab_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d623483ffdf5f9f96900108042a7ab0643fe2a3 Binary files /dev/null and b/CRF/doc/doxygen/tab_b.gif differ diff --git a/CRF/doc/doxygen/tab_b.png b/CRF/doc/doxygen/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..b2c3d2be3c7e518fbca6bb30f571882e72fc506d Binary files /dev/null and b/CRF/doc/doxygen/tab_b.png differ diff --git a/CRF/doc/doxygen/tab_h.png b/CRF/doc/doxygen/tab_h.png new file mode 100644 index 0000000000000000000000000000000000000000..c11f48f19bbe1f178d95397b98075bdd6d989328 Binary files /dev/null and b/CRF/doc/doxygen/tab_h.png differ diff --git a/CRF/doc/doxygen/tab_l.gif b/CRF/doc/doxygen/tab_l.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b1e6337c9299a700401a2a78a2c6ffced475216 Binary files /dev/null and b/CRF/doc/doxygen/tab_l.gif differ diff --git a/CRF/doc/doxygen/tab_r.gif b/CRF/doc/doxygen/tab_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9dd9f533cb5486d6941844f442b59d4a9e9175 Binary files /dev/null and b/CRF/doc/doxygen/tab_r.gif differ diff --git a/CRF/doc/doxygen/tab_s.png b/CRF/doc/doxygen/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..978943ac807718de0e69e5a585a8f0a1e5999285 Binary files /dev/null and b/CRF/doc/doxygen/tab_s.png differ diff --git a/CRF/doc/doxygen/tabs.css b/CRF/doc/doxygen/tabs.css new file mode 100644 index 0000000000000000000000000000000000000000..21920562a831f80ad5df7d913b1d3d64db994510 --- /dev/null +++ b/CRF/doc/doxygen/tabs.css @@ -0,0 +1,59 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/CRF/doc/index.html b/CRF/doc/index.html new file mode 100644 index 0000000000000000000000000000000000000000..cbd80377a114ccc2ee6efadac4fd6b2747ec5730 --- /dev/null +++ b/CRF/doc/index.html @@ -0,0 +1,831 @@ + + + + + + CRF++: Yet Another CRF toolkit + + + + +

CRF++: Yet Another CRF toolkit

+ +

Introduction

+ +

CRF++ is a simple, customizable, and open source + implementation of Conditional Random Fields (CRFs) + for segmenting/labeling sequential data. CRF++ is designed for generic purpose and will be applied to a variety of NLP tasks, such as + Named Entity Recognition, Information Extraction and Text Chunking. + +

Table of contents

+ + +

Features

+ +
    +
  • Can redefine feature sets
  • +
  • Written in C++ with STL
  • +
  • Fast training based on LBFGS, a quasi-newton algorithm + for large scale numerical optimization problem
  • +
  • Less memory usage both in training and testing
  • +
  • encoding/decoding in practical time
  • +
  • Can perform n-best outputs
  • +
  • Can perform single-best MIRA training
  • +
  • Can output marginal probabilities for all candidates
  • +
  • Available as an open source software
  • +
+ +

News

+
    + + 2013-02-13: CRF++ 0.58 Released
    +
      +
    • Added createModelFromArray() method to load model file from fixed buffer. +
    • Added getTemplate() method to get template string. +
    + + 2012-03-25
    +
      +
    • Fixed build issue around libtool. +
    • Fixed C++11 compatible issue. +
    + + 2012-02-24
    +
      +
    • Added CRFPP:Tagger::set_model() method. +
    • Fixed minor bugs +
    + + + 2012-02-15: CRF++ 0.55
    +
      +
    • Added new CRFPP:Model class so that multiple threads can share single CRF++ model. +
    • Added Tagger::set_penalty and Tagger::penalty() method for dual decompositon decoding +
    • Fixed crash bug on Windows +
    • Fixed minor bugs +
    + + 2010-05-16: CRF++ 0.54 Released
    +
      +
    • fixed the bug in L1 regularization. Reported by Fujii Yasuhisa
    • +
    + + 2009-05-06: CRF++ 0.5 Released
    +
      +
    • fixed build failure on libtool +
    + + 2009-04-19: CRF++ 0.52
    +
      +
    • Code clean up +
    • replaced obsolete sstream with stringstream +
    + + 2007-07-12: CRF++ 0.51
    +
      +
    • Fixed a compilation error on gcc 4.3 +
    + + 2007-12-09: CRF++ 0.50
    +
      +
    • Bug fix in --convert mode (Could not generate model from text file) +
    + + 2007-08-18: CRF++ 0.49
    +
      +
    • Added setter/getter for nbest, cost_factor and vlevel to API +
    + + 2007-07-07: CRF++ 0.48 Released
    +
      +
    • Support L1-CRF. use -a CRF-L1 option to enable L1 regularization. +
    + + 2007-03-07: CRF++ 0.47 Released
    +
      +
    • Fixed a bug in MIRA training +
    + + 2007-02-12: CRF++ 0.46 Released
    +
      +
    • Changed the licence from LGPL to LGPL/BSD dual + license +
    • Perl/Ruby/Python/Java binding supports (see + perl/ruby/python/java directory respectively) +
    • Code refactoring +
    + + 2006-11-26: CRF++ 0.45
    +
      +
    • Support 1-best MIRA training (use -a MIRA option) +
    + + 2006-08-18: CRF++ 0.44
    +
      +
    • Fixed a bug in feature extraction
    • +
    • Allowed redundant spaces in training/test files
    • +
    • Determined real column size by looking at template
    • +
    • Added sample code of API (sdk/example.cpp) +
    • Described usage of each API function (crfpp.h) +
    + 2006-08-07: CRF++ 0.43
    +
      +
    • implemented several API functions to get lattice + information
    • +
    • added -c option to control cost-factor +
    + + 2006-03-31: CRF++ 0.42
    +
      +
    • Fixed a bug in feature extraction
    • +
    + + 2006-03-30: CRF++ 0.41
    +
      +
    • Support parallel training
    • +
    + + 2006-03-21: CRF++ 0.40
    +
      +
    • Fixed a fatal memory leak bug
    • +
    • make CRF++ API
    • +
    + + 2005-10-29: CRF++ 0.3 +
      +
    • added -t option that enables you to have not only binary + model but also text model +
    • added -C option for converting a text model to a binary model +
    + + 2005-07-04: CRF++ 0.2 + Released
    +
      +
    • Fixed several bugs
    • +
    + + 2005-05-28: CRF++ 0.1 + Released
    +
      +
    • Initial Release
    • +
    +
+ +

Download

+ + + +

Installation

+ +
    +
  • + Requirements + +
      +
    • C++ compiler (gcc 3.0 or higher)
    • +
    +
  • + +
  • + How to make +
    +% ./configure 
    +% make
    +% su
    +# make install
    +
    + You can change default install path by using --prefix + option of configure script.
    + Try --help option for finding out other options. +
  • +
+ +

Usage

+ +

Training and Test file formats

+ +

Both the training file and the test file need to be in a + particular format for CRF++ to work properly. + Generally speaking, training and test file must consist of + multiple tokens. In addition, a token + consists of multiple (but fixed-numbers) columns. The + definition of tokens depends on tasks, however, in + most of typical cases, they simply correspond to + words. Each token must be represented in one line, + with the columns separated by white space (spaces or + tabular characters). A sequence of token becomes a + sentence. To identify the boundary between + sentences, an empty line is put.

+ +

You can give as many columns as you like, however the + number of columns must be fixed through all tokens. + Furthermore, there are some kinds of "semantics" among the + columns. For example, 1st column is 'word', second column + is 'POS tag' third column is 'sub-category of POS' and so + on.

+ +

The last column represents a true answer tag which is going + to be trained by CRF.

+ +

Here's an example of such a file: (data for CoNLL shared + task)

+
+He        PRP  B-NP
+reckons   VBZ  B-VP
+the       DT   B-NP
+current   JJ   I-NP
+account   NN   I-NP
+deficit   NN   I-NP
+will      MD   B-VP
+narrow    VB   I-VP
+to        TO   B-PP
+only      RB   B-NP
+#         #    I-NP
+1.8       CD   I-NP
+billion   CD   I-NP
+in        IN   B-PP
+September NNP  B-NP
+.         .    O
+
+He        PRP  B-NP
+reckons   VBZ  B-VP
+..
+
+ +

There are 3 columns for each token.

+ +
    +
  • The word itself (e.g. reckons);
  • +
  • part-of-speech associated with the word (e.g. VBZ);
  • +
  • Chunk(answer) tag represented in IOB2 format;
  • +
+ +

The following data is invalid, since the number of + columns of second and third are 2. (They have no POS + column.) The number of columns should be fixed.

+
+He        PRP  B-NP
+reckons   B-VP
+the       B-NP
+current   JJ   I-NP
+account   NN   I-NP
+..
+
+ +

Preparing feature templates

+

+ As CRF++ is designed as a general purpose tool, you have to + specify the feature templates in advance. This file describes + which features are used in training and testing. +

+ +
    +
  • Template basic and macro
  • +

    + Each line in the template file denotes one template. + In each template, special macro %x[row,col] will be + used to specify a token in the input data. row specfies the + relative position from the current focusing token + and col specifies the absolute position of the column. +

    + +

    Here you can find some examples for the replacements

    +
    +Input: Data
    +He        PRP  B-NP
    +reckons   VBZ  B-VP
    +the       DT   B-NP << CURRENT TOKEN
    +current   JJ   I-NP 
    +account   NN   I-NP
    +
    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    templateexpanded feature
    %x[0,0]the
    %x[0,1]DT
    %x[-1,0]rokens
    %x[-2,1]PRP
    %x[0,0]/%x[0,1]the/DT
    ABC%x[0,1]123ABCDT123
    +

    +
    + + +
  • Template type
  • +

    Note also that there are two types of templates. + The types are specified with the first character of templates. +

    +
      + +
    • Unigram template: first character, 'U'
    • +

      + This is a template to describe unigram features. + When you give a template "U01:%x[0,1]", CRF++ automatically + generates a set of feature functions (func1 ... funcN) like: +

      + +
      +func1 = if (output = B-NP and feature="U01:DT") return 1 else return 0
      +func2 = if (output = I-NP and feature="U01:DT") return 1 else return 0
      +func3 = if (output = O and feature="U01:DT") return 1  else return 0
      +....
      +funcXX = if (output = B-NP and feature="U01:NN") return 1  else return 0
      +funcXY = if (output = O and feature="U01:NN") return 1  else return 0
      +...
      + +

      + The number of feature functions generated by a template amounts to + (L * N), where L is the number of output classes and N is the + number of unique string expanded from the given template. +

      + +
    • Bigram template: first character, 'B'
    • +

      + This is a template to describe bigram features. + With this template, a combination of the current output token and previous output token + (bigram) is automatically generated. Note that this type of template generates a total of + (L * L * N) distinct features, where L is the + number of output classes and N is the number + of unique features generated by the templates. + When the number of classes is large, this type of templates would produce + a tons of distinct features that would cause inefficiency both + in training/testing. +

      + +
    • What is the diffrence between unigram and bigram features?
    • +

      + The words unigram/bigram are confusing, since a macro for unigram-features + does allow you to write word-level bigram like %x[-1,0]%x[0,0]. Here, + unigram and bigram features mean uni/bigrams of output tags.

      +
        +
      • unigram: |output tag| x |all possible strings expanded with a macro|
      • +
      • bigram: |output tag| x |output tag| x |all possible strings expanded with a macro|
      • +
      +

      +
    + +
  • Identifiers for distinguishing relative positions
  • +

    +You also need to put an identifier in templates when relative positions of +tokens must be distinguished. +

    +

    +In the following case, the macro "%x[-2,1]" and "%x[1,1]" will be replaced +into "DT". But they indicates different "DT". +

    +
    +The       DT  B-NP
    +pen       NN  I-NP
    +is        VB  B-VP << CURRENT TOKEN
    +a         DT  B-NP
    +
    + +

    To distinguish both two, put an unique identifier (U01: or U02:) in the +template:

    +
    +U01:%x[-2,1]
    +U02:%x[1,1]
    +
    +

    +In this case both two templates are regarded as different ones, as +they are expanded into different features, "U01:DT" and "U02:DT". +You can use any identifier whatever you like, but +it is useful to use numerical numbers to manage them, because they simply +correspond to feature IDs. +

    + +

    +If you want to use "bag-of-words" feature, in other words, +not to care the relative position of features, You don't need to +put such identifiers. +

    + +
  • Example
  • +

    Here is the template example for CoNLL 2000 shared task and Base-NP chunking +task. Only one bigram template ('B') is used. This means that +only combinations of previous output token and current token are +used as bigram features. The lines starting from # or empty lines are +discarded as comments

    +
    +# Unigram
    +U00:%x[-2,0]
    +U01:%x[-1,0]
    +U02:%x[0,0]
    +U03:%x[1,0]
    +U04:%x[2,0]
    +U05:%x[-1,0]/%x[0,0]
    +U06:%x[0,0]/%x[1,0]
    +
    +U10:%x[-2,1]
    +U11:%x[-1,1]
    +U12:%x[0,1]q
    +U13:%x[1,1]
    +U14:%x[2,1]
    +U15:%x[-2,1]/%x[-1,1]
    +U16:%x[-1,1]/%x[0,1]
    +U17:%x[0,1]/%x[1,1]
    +U18:%x[1,1]/%x[2,1]
    +
    +U20:%x[-2,1]/%x[-1,1]/%x[0,1]
    +U21:%x[-1,1]/%x[0,1]/%x[1,1]
    +U22:%x[0,1]/%x[1,1]/%x[2,1]
    +
    +# Bigram
    +B
    +
    +
+ + + +

Training (encoding)

+ +

Use crf_learn command: +

+% crf_learn template_file train_file model_file
+
+

+where template_file and train_file +are the files you need to prepare in advance. +crf_learn generates the trained model file in +model_file. +

+ +

crf_learn outputs the following information.

+
+CRF++: Yet Another CRF Tool Kit
+Copyright(C) 2005 Taku Kudo, All rights reserved.
+
+reading training data: 100.. 200.. 300.. 400.. 500.. 600.. 700.. 800.. 
+Done! 1.94 s
+
+Number of sentences: 823
+Number of features:  1075862
+Number of thread(s): 1
+Freq:                1
+eta:                 0.00010
+C:                   1.00000
+shrinking size:      20
+Algorithm:           CRF
+
+iter=0 terr=0.99103 serr=1.00000 obj=54318.36623 diff=1.00000
+iter=1 terr=0.35260 serr=0.98177 obj=44996.53537 diff=0.17161
+iter=2 terr=0.35260 serr=0.98177 obj=21032.70195 diff=0.53257
+iter=3 terr=0.23879 serr=0.94532 obj=13642.32067 diff=0.35138
+iter=4 terr=0.15324 serr=0.88700 obj=8985.70071 diff=0.34134
+iter=5 terr=0.11605 serr=0.80680 obj=7118.89846 diff=0.20775
+iter=6 terr=0.09305 serr=0.72175 obj=5531.31015 diff=0.22301
+iter=7 terr=0.08132 serr=0.68408 obj=4618.24644 diff=0.16507
+iter=8 terr=0.06228 serr=0.59174 obj=3742.93171 diff=0.18953
+
+ +
    +
  • iter: number of iterations processed
  • +
  • terr: error rate with respect to tags. (# of error tags/# of all tag)
  • +
  • serr: error rate with respect to sentences. (# of error sentences/# + of all sentences)
  • +
  • obj: current object value. When this value converges to a + fixed point, CRF++ stops the iteration.
  • +
  • diff: relative difference from the previous object value.
  • +
+ +

+There are 4 major parameters to control the training condition +

    +
  • -a CRF-L2 or CRF-L1:
    + Changing the regularization algorithm. Default setting is L2. + Generally speaking, L2 performs slightly better than L1, while + the number of non-zero features in L1 is drastically smaller than + that in L2. +
  • -c float:
    + With this option, you can change the hyper-parameter for the CRFs. + With larger C value, CRF tends to overfit to the give training corpus. + This parameter trades the balance between overfitting and + underfitting. The results will significantly be influenced by + this parameter. You can find an optimal value by using + held-out data or more general model selection method such as + cross validation. +
  • -f NUM:
    + This parameter sets the cut-off threshold for the features. + CRF++ uses the features that occurs no less than NUM times + in the given training data. The default value is 1. + When you apply CRF++ to large data, the number of unique features + would amount to several millions. This option is useful in such cases. +
  • -p NUM:
    + If the PC has multiple CPUs, you can make the training faster + by using multi-threading. NUM is the number of threads. +
+ +

Here is the example where these two parameters are used.

+
+% crf_learn -f 3 -c 1.5 template_file train_file model_file
+
+

Since version 0.45, CRF++ supports single-best MIRA training. +MIRA training is used when -a MIRA option is set. +

+% crf_learn -a MIRA template train.data model
+CRF++: Yet Another CRF Tool Kit
+Copyright(C) 2005 Taku Kudo, All rights reserved.
+
+reading training data: 100.. 200.. 300.. 400.. 500.. 600.. 700.. 800.. 
+Done! 1.92 s
+
+Number of sentences: 823
+Number of features:  1075862
+Number of thread(s): 1
+Freq:                1
+eta:                 0.00010
+C:                   1.00000
+shrinking size:      20
+Algorithm:           MIRA
+
+iter=0 terr=0.11381 serr=0.74605 act=823 uact=0 obj=24.13498 kkt=28.00000
+iter=1 terr=0.04710 serr=0.49818 act=823 uact=0 obj=35.42289 kkt=7.60929
+iter=2 terr=0.02352 serr=0.30741 act=823 uact=0 obj=41.86775 kkt=5.74464
+iter=3 terr=0.01836 serr=0.25881 act=823 uact=0 obj=47.29565 kkt=6.64895
+iter=4 terr=0.01106 serr=0.17011 act=823 uact=0 obj=50.68792 kkt=3.81902
+iter=5 terr=0.00610 serr=0.10085 act=823 uact=0 obj=52.58096 kkt=3.98915
+iter=0 terr=0.11381 serr=0.74605 act=823 uact=0 obj=24.13498 kkt=28.00000
+...
+
+ +
    +
  • iter, terr, serror: same as CRF training
  • +
  • act: number of active examples in working set
  • +
  • uact: number of examples whose dual parameters reach soft margin + upper-bound C. 0 uact suggests that given training data was + linear separable
  • +
  • obj: current object value, ||w||^2
  • +
  • kkt: max kkt violation value. When it gets 0.0, MIRA training finishes
  • +
+ +

There are some parameters to control the MIRA training condition

+
    +
  • -c float:
    + Changes soft margin parameter, which is an analogue to the soft margin + parameter C in Support Vector Machines. + The definition is basically the same as -c option in CRF training. + With larger C value, MIRA tends to overfit to the give training + corpus. +
  • -f NUM:
    + Same as CRF +
  • -H NUM:
    + Changes shrinking size. When a training sentence is not used + in updating parameter vector NUM times, we can consider that the + instance doesn't contribute training any more. MIRA tries to + remove such instances. The process is called + "shrinking". When setting smaller NUM, shrinking occurs in early + stage, which drastically reduces + training time. However, too small NUM is not recommended. + When training finishes, MIRA tries to go through all training + examples again to know whether or not all KKT conditions are really + satisfied. Too small NUM would increase the chances of recheck. +
+ +

Testing (decoding)

+ +

Use crf_test command: +

+% crf_test -m model_file test_files ...
+
+

+where model_file is the file crf_learncreates. +In the testing, you don't need to specify the template file, +because the model file has the same information for the template. +test_file is the test data you want to assign sequential tags. +This file has to be written in the same format as training file. +

+ + +

+Here is an output of crf_test:

+ +
+% crf_test -m model test.data
+Rockwell        NNP     B       B
+International   NNP     I       I
+Corp.   NNP     I       I
+'s      POS     B       B
+Tulsa   NNP     I       I
+unit    NN      I       I
+..
+
+ +

The last column is given (estimated) tag. +If the 3rd column is true answer tag , you can evaluate the accuracy +by simply seeing the difference between the 3rd and 4th columns.

+ + +
    +
  • verbose level
  • +

    The -v option sets verbose level. default +value is 0. By increasing the level, you can have an +extra information from CRF++

    + +
      +
    • level 1
      + You can also have marginal probabilities for each tag + (a kind of confidece measure for each output tag) + and a conditional probably for the output (confidence measure for + the entire output). +
      +% crf_test -v1 -m model test.data| head
      +# 0.478113
      +Rockwell        NNP     B       B/0.992465
      +International   NNP     I       I/0.979089
      +Corp.   NNP     I       I/0.954883
      +'s      POS     B       B/0.986396
      +Tulsa   NNP     I       I/0.991966
      +...
      +
      +

      +The first line "# 0.478113" shows the conditional probably for the output. +Also, each output tag has a probability represented like "B/0.992465". +

      + +
    • level 2
      +

      You can also have marginal probabilities for all other candidates.

      +
      +% crf_test -v2 -m model test.data
      +# 0.478113
      +Rockwell        NNP     B       B/0.992465      B/0.992465      I/0.00144946    O/0.00608594
      +International   NNP     I       I/0.979089      B/0.0105273     I/0.979089      O/0.0103833
      +Corp.   NNP     I       I/0.954883      B/0.00477976    I/0.954883      O/0.040337
      +'s      POS     B       B/0.986396      B/0.986396      I/0.00655976    O/0.00704426
      +Tulsa   NNP     I       I/0.991966      B/0.00787494    I/0.991966      O/0.00015949
      +unit    NN      I       I/0.996169      B/0.00283111    I/0.996169      O/0.000999975
      +..
      +
      +
    + +
  • N-best outputs
  • +

    +With the -n option, you can obtain N-best results +sorted by the conditional probability of CRF. +With n-best output mode, CRF++ first gives one additional line like "# N prob", where N means that +rank of the output starting from 0 and prob denotes the conditional +probability for the output.

    + +

    Note that CRF++ sometimes +discards enumerating N-best results if it cannot find candidates any +more. This is the case when you give CRF++ a short +sentence.

    + +

    CRF++ uses a combination of forward Viterbi and backward A* search. This combination +yields the exact list of n-best results.

    + +

    Here is the example of the N-best results.

    +
    +% crf_test -n 20 -m model test.data
    +# 0 0.478113
    +Rockwell        NNP     B       B
    +International   NNP     I       I
    +Corp.   NNP     I       I
    +'s      POS     B       B
    +...
    +
    +# 1 0.194335
    +Rockwell        NNP     B       B
    +International   NNP     I       I
    +
    +
+ + +

Tips

+
    +
  • CRF++ uses the exactly same data format as YamCha uses. + You may use both two toolkits for an input data and compare the + performance between CRF and SVM +
  • The output of CRF++ is also compatible to CoNLL 2000 shared task. + This allows us to use the perl script + + conlleval.pl to + evaluate system outputs. This script is very useful and + give us a list of F-measures for all chunk types +
+ +

Case studies

+

+ In the example directories, you can find three case studies, baseNP + chunking, Text Chunking, and Japanese named entity recognition, to use CRF++. +

+ +

+ In each directory, please try the following commands +

+ +
 % crf_learn template train model
+ % crf_test  -m model test 
+ +

To Do

+ + +

References

+ +
+ +

$Id: index.html,v 1.23 2003/01/06 13:11:21 taku-ku Exp + $;

+ +
+ taku@chasen.org +
+ + + diff --git a/CRF/encoder.cpp b/CRF/encoder.cpp new file mode 100644 index 0000000000000000000000000000000000000000..868a603b2420d2b45aa7c2d49a1f50ec16235706 --- /dev/null +++ b/CRF/encoder.cpp @@ -0,0 +1,440 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: encoder.cpp 1601 2007-03-31 09:47:18Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include +#include "param.h" +#include "encoder.h" +#include "timer.h" +#include "tagger.h" +#include "lbfgs.h" +#include "common.h" +#include "feature_index.h" +#include "scoped_ptr.h" +#include "thread.h" + +namespace { +bool toLower(std::string *s) { + for (size_t i = 0; i < s->size(); ++i) { + char c = (*s)[i]; + if ((c >= 'A') && (c <= 'Z')) { + c += 'a' - 'A'; + (*s)[i] = c; + } + } + return true; +} +} + +namespace CRFPP { + +class CRFEncoderThread: public thread { + public: + TaggerImpl **x; + unsigned short start_i; + unsigned short thread_num; + int zeroone; + int err; + size_t size; + double obj; + std::vector expected; + + void run() { + obj = 0.0; + err = zeroone = 0; + std::fill(expected.begin(), expected.end(), 0.0); + for (size_t i = start_i; i < size; i += thread_num) { + obj += x[i]->gradient(&expected[0]); + int error_num = x[i]->eval(); + err += error_num; + if (error_num) ++zeroone; + } + } +}; + +bool runMIRA(const std::vector &x, + EncoderFeatureIndex *feature_index, + double *alpha, + size_t maxitr, + float C, + double eta, + unsigned short shrinking_size, + unsigned short thread_num) { + std::vector shrink(x.size()); + std::vector upper_bound(x.size()); + std::vector expected(feature_index->size()); + + std::fill(upper_bound.begin(), upper_bound.end(), 0.0); + std::fill(shrink.begin(), shrink.end(), 0); + + int converge = 0; + int all = 0; + for (size_t i = 0; i < x.size(); ++i) all += x[i]->size(); + + for (size_t itr = 0; itr < maxitr; ++itr) { + int zeroone = 0; + int err = 0; + int active_set = 0; + int upper_active_set = 0; + double max_kkt_violation = 0.0; + + feature_index->clear(); + + for (size_t i = 0; i < x.size(); ++i) { + if (shrink[i] >= shrinking_size) continue; + + ++active_set; + std::fill(expected.begin(), expected.end(), 0.0); + double cost_diff = x[i]->collins(&expected[0]); + int error_num = x[i]->eval(); + err += error_num; + if (error_num) ++zeroone; + + if (error_num == 0) { + ++shrink[i]; + } else { + shrink[i] = 0; + double s = 0.0; + for (size_t k = 0; k < expected.size(); ++k) + s += expected[k] * expected[k]; + + double mu = _max(0.0, (error_num - cost_diff) / s); + + if (upper_bound[i] + mu > C) { + mu = C - upper_bound[i]; + ++upper_active_set; + } else { + max_kkt_violation = _max(error_num - cost_diff, + max_kkt_violation); + } + + if (mu > 1e-10) { + upper_bound[i] += mu; + upper_bound[i] = _min(C, upper_bound[i]); + for (size_t k = 0; k < expected.size(); ++k) + alpha[k] += mu * expected[k]; + } + } + } + + double obj = 0.0; + for (size_t i = 0; i < feature_index->size(); ++i) + obj += alpha[i] * alpha[i]; + + std::cout << "iter=" << itr + << " terr=" << 1.0 * err / all + << " serr=" << 1.0 * zeroone / x.size() + << " act=" << active_set + << " uact=" << upper_active_set + << " obj=" << obj + << " kkt=" << max_kkt_violation << std::endl; + + if (max_kkt_violation <= 0.0) { + std::fill(shrink.begin(), shrink.end(), 0); + converge++; + } else { + converge = 0; + } + + if (itr > maxitr || converge == 2) break; // 2 is ad-hoc + } + + return true; +} + +bool runCRF(const std::vector &x, + EncoderFeatureIndex *feature_index, + double *alpha, + size_t maxitr, + float C, + double eta, + unsigned short shrinking_size, + unsigned short thread_num, + bool orthant) { + double old_obj = 1e+37; + int converge = 0; + LBFGS lbfgs; + std::vector thread(thread_num); + + for (size_t i = 0; i < thread_num; i++) { + thread[i].start_i = i; + thread[i].size = x.size(); + thread[i].thread_num = thread_num; + thread[i].x = const_cast(&x[0]); + thread[i].expected.resize(feature_index->size()); + } + + size_t all = 0; + for (size_t i = 0; i < x.size(); ++i) all += x[i]->size(); + + for (size_t itr = 0; itr < maxitr; ++itr) { + feature_index->clear(); + + for (size_t i = 0; i < thread_num; ++i) thread[i].start(); + for (size_t i = 0; i < thread_num; ++i) thread[i].join(); + + for (size_t i = 1; i < thread_num; ++i) { + thread[0].obj += thread[i].obj; + thread[0].err += thread[i].err; + thread[0].zeroone += thread[i].zeroone; + } + + for (size_t i = 1; i < thread_num; ++i) { + for (size_t k = 0; k < feature_index->size(); ++k) + thread[0].expected[k] += thread[i].expected[k]; + } + + size_t num_nonzero = 0; + if (orthant) { // L1 + for (size_t k = 0; k < feature_index->size(); ++k) { + thread[0].obj += std::abs(alpha[k] / C); + if (alpha[k] != 0.0) ++num_nonzero; + } + } else { + num_nonzero = feature_index->size(); + for (size_t k = 0; k < feature_index->size(); ++k) { + thread[0].obj += (alpha[k] * alpha[k] /(2.0 * C)); + thread[0].expected[k] += alpha[k] / C; + } + } + + double diff = (itr == 0 ? 1.0 : + std::abs(old_obj - thread[0].obj)/old_obj); + std::cout << "iter=" << itr + << " terr=" << 1.0 * thread[0].err / all + << " serr=" << 1.0 * thread[0].zeroone / x.size() + << " act=" << num_nonzero + << " obj=" << thread[0].obj + << " diff=" << diff << std::endl; + old_obj = thread[0].obj; + + if (diff < eta) + converge++; + else + converge = 0; + + if (itr > maxitr || converge == 3) break; // 3 is ad-hoc + + if (lbfgs.optimize(feature_index->size(), + &alpha[0], + thread[0].obj, + &thread[0].expected[0], orthant, C) <= 0) + return false; + } + + return true; +} + +bool Encoder::convert(const char* textfilename, + const char *binaryfilename) { + EncoderFeatureIndex feature_index(1); + CHECK_FALSE(feature_index.convert(textfilename, binaryfilename)) + << feature_index.what(); + + return true; +} + +bool Encoder::learn(const char *templfile, + const char *trainfile, + const char *modelfile, + bool textmodelfile, + size_t maxitr, + size_t freq, + double eta, + double C, + unsigned short thread_num, + unsigned short shrinking_size, + int algorithm) { + std::cout << COPYRIGHT << std::endl; + + CHECK_FALSE(eta > 0.0) << "eta must be > 0.0"; + CHECK_FALSE(C >= 0.0) << "C must be >= 0.0"; + CHECK_FALSE(shrinking_size >= 1) << "shrinking-size must be >= 1"; + CHECK_FALSE(thread_num > 0) << "thread must be > 0"; + +#ifndef CRFPP_USE_THREAD + CHECK_FALSE(thread_num == 1) + << "This architecture doesn't support multi-thrading"; +#endif + + CHECK_FALSE(algorithm == CRF_L2 || algorithm == CRF_L1 || + (algorithm == MIRA && thread_num == 1)) + << "MIRA doesn't support multi-thrading"; + + EncoderFeatureIndex feature_index(thread_num); + std::vector x; + + std::cout.setf(std::ios::fixed, std::ios::floatfield); + std::cout.precision(5); + +#define WHAT_ERROR(msg) do { \ + for (std::vector::iterator it = x.begin(); \ + it != x.end(); ++it) \ + delete *it; \ + std::cerr << msg << std::endl; \ + return false; } while (0) + + CHECK_FALSE(feature_index.open(templfile, trainfile)) + << feature_index.what(); + + { + progress_timer pg; + + std::ifstream ifs(trainfile); + CHECK_FALSE(ifs) << "cannot open: " << trainfile; + + std::cout << "reading training data: " << std::flush; + size_t line = 0; + while (ifs) { + TaggerImpl *_x = new TaggerImpl(); + _x->open(&feature_index); + if (!_x->read(&ifs) || !_x->shrink()) + WHAT_ERROR(_x->what()); + + if (!_x->empty()) + x.push_back(_x); + else + delete _x; + + _x->set_thread_id(line % thread_num); + + if (++line % 100 == 0) std::cout << line << ".. " << std::flush; + } + + ifs.close(); + std::cout << "\nDone!"; + } + + feature_index.shrink(freq); + + std::vector alpha(feature_index.size()); // parameter + std::fill(alpha.begin(), alpha.end(), 0.0); + feature_index.set_alpha(&alpha[0]); + + std::cout << "Number of sentences: " << x.size() << std::endl; + std::cout << "Number of features: " << feature_index.size() << std::endl; + std::cout << "Number of thread(s): " << thread_num << std::endl; + std::cout << "Freq: " << freq << std::endl; + std::cout << "eta: " << eta << std::endl; + std::cout << "C: " << C << std::endl; + std::cout << "shrinking size: " << shrinking_size + << std::endl; + + progress_timer pg; + + switch (algorithm) { + case MIRA: + if (!runMIRA(x, &feature_index, &alpha[0], + maxitr, C, eta, shrinking_size, thread_num)) + WHAT_ERROR("MIRA execute error"); + break; + case CRF_L2: + if (!runCRF(x, &feature_index, &alpha[0], + maxitr, C, eta, shrinking_size, thread_num, false)) + WHAT_ERROR("CRF_L2 execute error"); + break; + case CRF_L1: + if (!runCRF(x, &feature_index, &alpha[0], + maxitr, C, eta, shrinking_size, thread_num, true)) + WHAT_ERROR("CRF_L1 execute error"); + break; + } + + for (std::vector::iterator it = x.begin(); + it != x.end(); ++it) + delete *it; + + if (!feature_index.save(modelfile, textmodelfile)) + WHAT_ERROR(feature_index.what()); + + std::cout << "\nDone!"; + + return true; +} +} + +int crfpp_learn(int argc, char **argv) { + static const CRFPP::Option long_options[] = { + {"freq", 'f', "1", "INT", + "use features that occuer no less than INT(default 1)" }, + {"maxiter" , 'm', "100000", "INT", + "set INT for max iterations in LBFGS routine(default 10k)" }, + {"cost", 'c', "1.0", "FLOAT", + "set FLOAT for cost parameter(default 1.0)" }, + {"eta", 'e', "0.0001", "FLOAT", + "set FLOAT for termination criterion(default 0.0001)" }, + {"convert", 'C', 0, 0, + "convert text model to binary model" }, + {"textmodel", 't', 0, 0, + "build also text model file for debugging" }, + {"algorithm", 'a', "CRF", "(CRF|MIRA)", "select training algorithm" }, + {"thread", 'p', "1", "INT", "number of threads(default 1)" }, + {"shrinking-size", 'H', "20", "INT", + "set INT for number of iterations variable needs to " + " be optimal before considered for shrinking. (default 20)" }, + {"version", 'v', 0, 0, "show the version and exit" }, + {"help", 'h', 0, 0, "show this help and exit" }, + {0, 0, 0, 0, 0} + }; + + CRFPP::Param param; + + param.open(argc, argv, long_options); + + if (!param.help_version()) return 0; + + const bool convert = param.get("convert"); + + const std::vector &rest = param.rest_args(); + if (param.get("help") || + (convert && rest.size() != 2) || (!convert && rest.size() != 3)) { + std::cout << param.help(); + return 0; + } + + const size_t freq = param.get("freq"); + const size_t maxiter = param.get("maxiter"); + const double C = param.get("cost"); + const double eta = param.get("eta"); + const bool textmodel = param.get("textmodel"); + const unsigned short thread = param.get("thread"); + const unsigned short shrinking_size = param.get("shrinking-size"); + std::string salgo = param.get("algorithm"); + + toLower(&salgo); + + int algorithm = CRFPP::Encoder::MIRA; + if (salgo == "crf" || salgo == "crf-l2") { + algorithm = CRFPP::Encoder::CRF_L2; + } else if (salgo == "crf-l1") { + algorithm = CRFPP::Encoder::CRF_L1; + } else if (salgo == "mira") { + algorithm = CRFPP::Encoder::MIRA; + } else { + std::cerr << "unknown alogrithm: " << salgo << std::endl; + return -1; + } + + CRFPP::Encoder encoder; + if (convert) { + if (!encoder.convert(rest[0].c_str(), rest[1].c_str())) { + std::cerr << encoder.what() << std::endl; + return -1; + } + } else { + if (!encoder.learn(rest[0].c_str(), + rest[1].c_str(), + rest[2].c_str(), + textmodel, + maxiter, freq, eta, C, thread, shrinking_size, + algorithm)) { + std::cerr << encoder.what() << std::endl; + return -1; + } + } + + return 0; +} diff --git a/CRF/encoder.h b/CRF/encoder.h new file mode 100644 index 0000000000000000000000000000000000000000..da8d48e0a318241528fda00ba145edc690bff44c --- /dev/null +++ b/CRF/encoder.h @@ -0,0 +1,33 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: encoder.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_ENCODER_H_ +#define CRFPP_ENCODER_H_ + +#include "common.h" + +namespace CRFPP { +class Encoder { + private: + whatlog what_; + + public: + enum { CRF_L2, CRF_L1, MIRA }; + bool learn(const char *, const char *, + const char *, + bool, size_t, size_t, + double, double, + unsigned short, + unsigned short, int); + + bool convert(const char *text_file, + const char* binary_file); + + const char* what() { return what_.str(); } +}; +} +#endif diff --git a/CRF/encoder.lo b/CRF/encoder.lo new file mode 100644 index 0000000000000000000000000000000000000000..89d66e85f4b911493e991cb2a85d22e78197f9e4 --- /dev/null +++ b/CRF/encoder.lo @@ -0,0 +1,12 @@ +# encoder.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/encoder.o' + +# Name of the non-PIC object +non_pic_object='encoder.o' + diff --git a/CRF/encoder.o b/CRF/encoder.o new file mode 100644 index 0000000000000000000000000000000000000000..d83d23d4d46de3352a04d7fb1f16093bde47ae95 Binary files /dev/null and b/CRF/encoder.o differ diff --git a/CRF/example/JapaneseNE/exec.sh b/CRF/example/JapaneseNE/exec.sh new file mode 100644 index 0000000000000000000000000000000000000000..b4e9f5ccfdfc738d5d3fefab94f7c7f0ffd7cb1e --- /dev/null +++ b/CRF/example/JapaneseNE/exec.sh @@ -0,0 +1,7 @@ +#!/bin/sh +../../crf_learn -p2 -f 3 -c 4.0 template train.data model +../../crf_test -m model test.data + +../../crf_learn -a MIRA -f 3 template train.data model +../../crf_test -m model test.data +rm -f model diff --git a/CRF/example/JapaneseNE/template b/CRF/example/JapaneseNE/template new file mode 100644 index 0000000000000000000000000000000000000000..40358403c6d9dd14e53370a07f2bf5125dfc9154 --- /dev/null +++ b/CRF/example/JapaneseNE/template @@ -0,0 +1,41 @@ +# Unigram +U00:%x[-2,0] +U01:%x[-1,0] +U02:%x[0,0] +U03:%x[1,0] +U04:%x[2,0] +U05:%x[-1,0]/%x[0,0] +U06:%x[0,0]/%x[1,0] + +U10:%x[-2,1] +U11:%x[-1,1] +U12:%x[0,1] +U13:%x[1,1] +U14:%x[2,1] +U15:%x[-2,1]/%x[-1,1] +U16:%x[-1,1]/%x[0,1] +U17:%x[0,1]/%x[1,1] +U18:%x[1,1]/%x[2,1] + +U20:%x[-2,1]/%x[-1,1]/%x[0,1] +U21:%x[-1,1]/%x[0,1]/%x[1,1] +U22:%x[0,1]/%x[1,1]/%x[2,1] + +U30:%x[-2,2] +U31:%x[-1,2] +U32:%x[0,2] +U33:%x[1,2] +U34:%x[2,2] +U35:%x[-2,2]/%x[-1,2] +U36:%x[-1,2]/%x[0,2] +U37:%x[0,2]/%x[1,2] +U38:%x[1,2]/%x[2,2] + +U40:%x[-2,2]/%x[-1,2]/%x[0,2] +U41:%x[-1,2]/%x[0,2]/%x[1,2] +U42:%x[0,2]/%x[1,2]/%x[2,2] + +U50:%x[0,1]/%x[0,2] + +# Bigram +B diff --git a/CRF/example/JapaneseNE/test.data b/CRF/example/JapaneseNE/test.data new file mode 100644 index 0000000000000000000000000000000000000000..28d371d969ecdc30ec319c2b1e4f589ebee70e25 --- /dev/null +++ b/CRF/example/JapaneseNE/test.data @@ -0,0 +1,13178 @@ +¡¡ S13 µ­¹æ-¶õÇò O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½ÐÀè M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅÅÏà M1 ̾»ì-¥µÊÑÀܳ O +²óÀþ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¥Ç¡¼¥¿ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á÷¤ì¤ë T1-9 Æ°»ì-¼«Î© O +·ÈÂÓ M1 ̾»ì-¥µÊÑÀܳ O +üËö M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ÈÅÅ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥³¥ó¥Ô¥å¡¼¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í»¹ç M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µ­²± M1 ̾»ì-¥µÊÑÀܳ O +ÍÆÎÌ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Â礭¤Ê T1-9 Ï¢Âλì O +¸÷¥Ç¥£¥¹¥¯ T1-10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»È¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥Þ¥ë¥Á¥á¥Ç¥£¥¢ M10 ̾»ì-°ìÈÌ O +µ¡´ï M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³«È¯ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸¡Æ¤ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÆüËÜ¥¢¥¤¡¦¥Ó¡¼¡¦¥¨¥à T2-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥Ñ¥ï¡¼£Ð£Ã T10-7 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹­¤¬¤ì T1-9 Æ°»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ûÍ× M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÈôÌö M1 ̾»ì-¥µÊÑÀܳ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áý¤¨ T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£Í£Ð£Õ M7 ̾»ì-°ìÈÌ O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â礭¤Ê T1-9 Ï¢Âλì O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð¤ë T1-9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +´üÂÔ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡ú S2 µ­¹æ-°ìÈÌ O +¡Î S2 µ­¹æ-³ç¸Ì³« O +¥Ö¥é¥ó¥É M10 ̾»ì-°ìÈÌ B-ARTIFACT +ʪ¸ì M1 ̾»ì-°ìÈÌ I-ARTIFACT +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¥½¥Ë¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ O +¡¡ S13 µ­¹æ-¶õÇò O +¡á S2 µ­¹æ-°ìÈÌ O +ÄÔËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Æõö M1 ̾»ì-¥µÊÑÀܳ O +»ö̳½ê M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÄÔËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +°ìµÁ T6-1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ç S9 ½õÆ°»ì O +¥é¥¸¥ª M10 ̾»ì-°ìÈÌ O +ÊüÁ÷ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«»Ï M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ì¶åÆó¸Þ M6 ̾»ì-¿ô O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÂçÀµ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-DATE +½½ S6 ̾»ì-¿ô I-DATE +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ I-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤ì¤«¤é M9 Àܳ»ì O +»°½½Ç¯¸å T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Þ¤À M9 Éû»ì-½õ»ìÎàÀܳ O +¿¿¶õ M1 ̾»ì-°ìÈÌ O +´É S1 ̾»ì-°ìÈÌ O +¼° S1 ̾»ì-°ìÈÌ O +¥é¥¸¥ª M10 ̾»ì-°ìÈÌ O +Á´À¹ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»þÂå M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñ»º M1 ̾»ì-°ìÈÌ O +½é S1 ÀÜƬ»ì-̾»ìÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥È¥é¥ó¥¸¥¹¥¿¥é¥¸¥ª M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³«È¯ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À®¸ù M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¾®¤µ¤Ê T1-9 Ï¢Âλì O +¥Ù¥ó¥Á¥ã¡¼ M10 ̾»ì-°ìÈÌ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤Ã M9 ´¶Æ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î M9 Ï¢Âλì O +̾ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÅìµþÄÌ¿®¹©¶È M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡£ S2 µ­¹æ-¶çÅÀ O + +º£¤ä T1-9 Éû»ì-°ìÈÌ O +À¤³¦ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÃÎ S1 ̾»ì-°ìÈÌ O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¥½¥Ë¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ËÜ¼Ò M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Åì S1 ̾»ì-°ìÈÌ B-LOCATION +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +ÉÊÀî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +¶è S1 ̾»ì-°ìÈÌ I-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âç²ì M1 ̾»ì-°ìÈÌ B-PERSON +ŵͺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¼ÒĹ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Á°¿È M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Àï¸å M1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÁÏ S1 Æ°»ì-¼«Î© O +¶È¼Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°æ¿¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Âç S1 ÀÜƬ»ì-̾»ìÀܳ I-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÆüËܶ¶ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÇòÌÚ²° M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¸½ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÅìµÞ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +É´²ßŹ T6-1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»°³¬ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Ú¤ê T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥é¥¸¥ª M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½¤Íý M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +²þ¤ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼ê³Ý¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º£Æü M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âè°ìÊâ T6-1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î¸å T9-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñ»º M1 ̾»ì-°ìÈÌ O +½é S1 ÀÜƬ»ì-̾»ìÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Æ¡¼¥×¥ì¥³¡¼¥À¡¼ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³«È¯ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ÃíÌÜ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¸¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸Þ¸Þǯ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +Ä´ºº M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¾¦ÃÌ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸½ S1 ÀÜƬ»ì-̾»ìÀܳ O +̾ÍÀ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +²ñĹ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À¹ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¾¼É× M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅÏÊÆ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤ËºÝ¤·¤Æ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á´ S1 ÀÜƬ»ì-̾»ìÀܳ O +À½ÉÊ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Ó£Ï£Î£Ù M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Þ¡¼¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤ì¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È¤Ë M9 Éû»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÅìµþÄÌ¿®¹©¶È M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¢¤ë¤¤¤Ï M9 Àܳ»ì O +ÅìÄ̹© M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤È¤¤ M9 ̾»ì-°ìÈÌ O +¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥á¥ê¥« M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Àµ¤·¤¯ T1-9 Éû»ì-°ìÈÌ O +ȯ²» M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸ÀÍÕ M1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +Ʊ¤¸ T1-9 Ï¢Âλì O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æɤá T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȯ²» M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­¤ë M9 Æ°»ì-¼«Î© O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +Ëö S1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Ó£Ï£Î£Ù M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +²» S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɽ¤¹ T1-9 Æ°»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Ó£Ï M7 ̾»ì-°ìÈÌ O +£Î S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +£É£Ã M7 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸ì¸» M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥é¥Æ¥ó¸ì T10-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Ó£Ï£Î£Õ£Ó M7 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥½¥Ì¥¹ M10 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾®¤µ¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤È¤« M9 ½õ»ì-ÊÂΩ½õ»ì O +Ë·¤ä T1-9 ̾»ì-°ìÈÌ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +°ÕÌ£ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Ó£Ï M7 ̾»ì-°ìÈÌ B-ORGANIZATION +£Î S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È I-ORGANIZATION +£Î£Ù M7 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤± M9 Æ°»ì-¼«Î© O +¹ç¤ï¤» T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¸ì M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ñ¼Ò M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Èó¾ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾®¤µ¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤ì¤Ë M9 Àܳ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +Áý¤· T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Ï¤Ä¤é¤Ä M9 Éû»ì-½õ»ìÎàÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¼ã¼Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½¸¤Þ¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɽ¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸ÞȬǯ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñºÝ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ȯŸ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ê¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¼Ò̾ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥½¥Ë¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êѹ¹ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡á S2 µ­¹æ-°ìÈÌ O +ÄÔËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Æõö M1 ̾»ì-¥µÊÑÀܳ O +»ö̳½ê M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÄÔËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +°ìµÁ T6-1 ̾»ì-°ìÈÌ O + +¡ú S2 µ­¹æ-°ìÈÌ O +¡Î S2 µ­¹æ-³ç¸Ì³« O +¿©Âî M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ìÉÊ T6-1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¥ï¥±¥® M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶Ó S1 ̾»ì-°ìÈÌ O +´¬¤­ T1-9 Æ°»ì-¼«Î© O +¡á S2 µ­¹æ-°ìÈÌ O +ÀÖËÙ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÇîÈþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¤Ì¤¿ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºàÎÁ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Î¥ê M10 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Çö¾Æ¤­ T1-9 ̾»ì-°ìÈÌ O +Íñ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +´¬¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Ò¤È M9 ̾»ì-°ìÈÌ O +»® S1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Þ¥°¥í M10 ̾»ì-°ìÈÌ O +°Ê³° M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µû²ðÎà M1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¹ç¤¤ T1-9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ô S2 µ­¹æ-³ç¸Ì³« O +ºàÎÁ M1 ̾»ì-°ìÈÌ O +¡Õ S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£´ S5 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +ʬ S1 Æ°»ì-¼«Î© O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥ï¥±¥® M10 ̾»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +« S1 ̾»ì-°ìÈÌ O +¢¦ S2 µ­¹æ-°ìÈÌ O +Íñ S1 ̾»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +¸Ä S1 ̾»ì-°ìÈÌ O +¢¦ S2 µ­¹æ-°ìÈÌ O +±ö S1 ̾»ì-°ìÈÌ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¥µ¥é¥ÀÌý T10-1 ̾»ì-°ìÈÌ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¥Þ¥°¥í M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +»É¤·¿È T9-1 ̾»ì-°ìÈÌ O +ÍÑ S1 ̾»ì-°ìÈÌ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +£² S5 ̾»ì-¿ô O +¥°¥é¥à M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¥Î¥ê M10 ̾»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¢¦ S2 µ­¹æ-°ìÈÌ O +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Çò¤ß¤½ T1-9 ̾»ì-°ìÈÌ O +£¶ S5 ̾»ì-¿ô O +¥°¥é¥à M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º½Åü M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Ý S1 ̾»ì-°ìÈÌ O +Â礵¤¸ T1-9 ̾»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¢¦ S2 µ­¹æ-°ìÈÌ O +±ö S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Ý S1 ̾»ì-°ìÈÌ O +³Æ S1 ÀÜƬ»ì-̾»ìÀܳ O +Ŭµ¹ M1 ̾»ì-Éû»ì²Äǽ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¥·¥ç¥¦¥¬ M10 ̾»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +ÊÒ S1 ÀÜƬ»ì-̾»ìÀܳ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ô S2 µ­¹æ-³ç¸Ì³« O +ºî¤êÊý T9-1 ̾»ì-°ìÈÌ O +¡Õ S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥ï¥±¥® M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Î¥ê M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Éý S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÚ¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤µ¤Ã¤È M9 Éû»ì-°ìÈÌ O +¤æ¤Ç M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +±ö S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Ý S1 ̾»ì-°ìÈÌ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤±¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +Íñ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³ä¤ê¤Û¤°¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±ö S1 ̾»ì-°ìÈÌ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²Ã¤¨ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥µ¥é¥ÀÌý T10-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ò¤¤ M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +Íñ¾Æ¤­ T1-9 ̾»ì-°ìÈÌ O +Æé S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Çö¾Æ¤­ T1-9 ̾»ì-°ìÈÌ O +Íñ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¾Æ¤¯ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥Þ¥°¥í M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£± S5 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +£µ S5 ̾»ì-¿ô O +¥»¥ó¥Á M10 ̾»ì-°ìÈÌ O +³Ñ S1 ·ÁÍÆ»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ËÀ¾õ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÚ¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±ö S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Ý S1 ̾»ì-°ìÈÌ O +³Æ S1 ÀÜƬ»ì-̾»ìÀܳ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤±¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£´ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +Ä´Ì£ M1 ̾»ì-¥µÊÑÀܳ O +ÎÁ S1 Æ°»ì-¼«Î© O +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º®¤¼¹ç¤ï¤» T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Ý¤ß¤½ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºî¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£µ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥·¥ç¥¦¥¬ M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤»¤óÀÚ¤ê T1-9 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£¶ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +´¬¤­¤¹ T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Î¥ê M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¤ª¤­ M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +¾å S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Çö¾Æ¤­ T1-9 ̾»ì-°ìÈÌ O +Íñ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¤ª¤¯ M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥ï¥±¥® M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿åµ¤ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤­¤ê M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£± S5 ̾»ì-¿ô O +¡¿ S2 µ­¹æ-°ìÈÌ O +£² S5 ̾»ì-¿ô O +ÎÌ S1 Æ°»ì-¼«Î© O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾å¤Î T1-9 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¼êÁ° M1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹­¤² T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤­ M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +¾å S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Þ¥°¥í M10 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥·¥ç¥¦¥¬ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ȾÎÌ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ª¤¤ M9 ´¶Æ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¼êÁ° M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Î¥ê´¬¤­ T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´¬¤¯ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£· S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£¶ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿©¤Ù T1-9 Æ°»ì-¼«Î© O +¤ä¤¹¤¤ M9 ·ÁÍÆ»ì-Èó¼«Î© O +Â礭 T1-9 ·ÁÍÆ»ì-¼«Î© O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÚ¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ï S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À¹¤ê T1-9 ̾»ì-°ìÈÌ O +¿Ý¤ß¤½ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤±¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ô S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô O +¿ÍÅö¤¿¤ê T1-9 ̾»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +¥­¥í¥«¥í¥ê¡¼ M10 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¡Õ S2 µ­¹æ-³ç¸ÌÊÄ O + +¥Æ¥ì¥¯¥é M10 ̾»ì-°ìÈÌ O +·Ð±Ä M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Éû S1 ÀÜƬ»ì-̾»ìÀܳ O +»ÎĹ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ĩ²üÌÈ M1 ̾»ì-°ìÈÌ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +¹âÄÐ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¾ÃËÉ M1 ̾»ì-°ìÈÌ O +ËÜÉô M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÉÜ S1 ̾»ì-°ìÈÌ I-LOCATION +¹âÄÐ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¾ÃËÉ M1 ̾»ì-°ìÈÌ O +ËÜÉô M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸ÞÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥À¥¤¥ä¥ë£Ñ£² T7-5 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÍøÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¥Æ¥ì¥Û¥ó¥¯¥é¥Ö M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·Ð±Ä M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Ʊ»Ô M1 ̾»ì-°ìÈÌ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¾ÃËɽð M1 ̾»ì-°ìÈÌ O +Âç´§ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +ʬ½ð M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ÃËÉ M1 ̾»ì-°ìÈÌ O +Éû S1 ÀÜƬ»ì-̾»ìÀܳ O +»ÎĹ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£´ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ĩ²ü M1 ̾»ì-¥µÊÑÀܳ O +ÌÈ¿¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ȯɽ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¾ÃËÉ M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +¾å»Ê M1 ̾»ì-°ìÈÌ O +¼· S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +´ÆÆÄ M1 ̾»ì-¥µÊÑÀܳ O +ÀÕǤ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ì䤤 T1-9 ̾»ì-°ìÈÌ O +·±¹ð M1 ̾»ì-¥µÊÑÀܳ O +½èʬ M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Éû S1 ÀÜƬ»ì-̾»ìÀܳ O +»ÎĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½èʬ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉÔÉþ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¾ÃËÉ M1 ̾»ì-°ìÈÌ O +ËÜÉô M1 ̾»ì-°ìÈÌ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +Éû S1 ÀÜƬ»ì-̾»ìÀܳ O +»ÎĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¶å·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +»Ô S1 ̾»ì-°ìÈÌ O +ÅìÍäÀî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¶èÆâ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Þ¥ó¥·¥ç¥ó M10 ̾»ì-°ìÈÌ O +°ì¼¼ T6-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÊ S1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +̾µÁ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¼Ú¤ê T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥À¥¤¥ä¥ë£Ñ£² T7-5 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æ󽽻ͲóÀþ³«Àß T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿ô S1 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ͧ¿Í M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶¦Æ± M1 ̾»ì-¥µÊÑÀܳ O +·Ð±Ä M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Éû S1 ÀÜƬ»ì-̾»ìÀܳ O +»ÎĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +¸Þ S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð»ñ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +·î S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ì S6 ̾»ì-¿ô B-MONEY +ÀéËü M6 Éû»ì-°ìÈÌ B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¶á¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Çä¤ê¾å¤² T1-9 ̾»ì-°ìÈÌ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ËÜÉô M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ŭˡ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±Ä¶È M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ï¤¤ M9 ´¶Æ°»ì O +¤¨ S9 ¥Õ¥£¥é¡¼ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾ÃËÉ M1 ̾»ì-°ìÈÌ O +¿¦°÷ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÉÊ°Ì M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãø¤·¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +Äã²¼ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃÏÊý M1 ̾»ì-°ìÈÌ B-ARTIFACT +¸ø̳°÷ M1 ̾»ì-°ìÈÌ I-ARTIFACT +Ë¡ S1 ̾»ì-°ìÈÌ I-ARTIFACT +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿®ÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¼ºÄÆ M1 ̾»ì-¥µÊÑÀܳ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¶Ø»ß M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +±ÄÍø M1 ̾»ì-°ìÈÌ O +´ë¶È M1 ̾»ì-°ìÈÌ O +Åù S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½¾»ö M1 ̾»ì-¥µÊÑÀܳ O +À©¸Â M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äñ¿¨ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Éû S1 ÀÜƬ»ì-̾»ìÀܳ O +»ÎĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Ñ£² T7-5 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ŭˡ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÅÅÏà M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆâÍÆ M1 ̾»ì-°ìÈÌ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤â S9 ½õ»ì-·¸½õ»ì O +ʬ¤«¤é T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +°­¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï¤· M9 ̾»ì-°ìÈÌ O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ËÜÉô M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ïä· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¥á¡¼¥ë¥Ü¥Ã¥¯¥¹ M10 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +ËÜ S1 ̾»ì-°ìÈÌ O +õ¤· T1-9 Æ°»ì-¼«Î© O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +»þÂå M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ȭ S6 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¤Û¤É M9 ½õ»ì-Éû½õ»ì I-DATE +Á° S1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¯¼£ M1 ̾»ì-°ìÈÌ O +Éô S1 ̾»ì-°ìÈÌ O +µ­¼Ô M1 ̾»ì-°ìÈÌ O +»þÂå M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ñ¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÃæÁ¾º¬ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +À¯¸¢ M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¡» S2 µ­¹æ-°ìÈÌ O +Ï» S6 ̾»ì-¿ô O +Æü S1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ËÜ¤Ë T1-9 Éû»ì-°ìÈÌ O +Ãíʸ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íè S1 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤ì¤â M9 Àܳ»ì O +¥í¥ó¥É¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +±Ñ¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½÷À­ M1 ̾»ì-°ìÈÌ O +À¯¼£ M1 ̾»ì-°ìÈÌ O +³Ø¼Ô M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ï¤¬ M9 Ï¢Âλì O +¼Ò S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥í¥ó¥É¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÆÃÇÉ M1 ̾»ì-¥µÊÑÀܳ O +°÷ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +°ì»þ T6-1 ̾»ì-Éû»ì²Äǽ O +µ¢¹ñ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿¤é M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +ËÜ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +õ¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¯¤ì M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +°ÍÍê M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤é¤·¤¤ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°õºþ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ï¤º¤« M9 Éû»ì-½õ»ìÎàÀܳ O +¸ÞÀéÉô T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +ɾȽ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿¤· M9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á´¤¯ T1-9 Éû»ì-½õ»ìÎàÀܳ O +Çä¤ì T1-9 Æ°»ì-¼«Î© O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÆÃÇÉ M1 ̾»ì-¥µÊÑÀܳ O +°÷ S1 ̾»ì-°ìÈÌ O +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÍ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤½¤ó¤Ê M9 Ï¢Âλì O +ËÜ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ñ¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤ó¤Æ M9 ½õ»ì-Éû½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»×¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â¤ß M9 ̾»ì-°ìÈÌ O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿¤é¤·¤¤ M9 ·ÁÍÆ»ì-ÀÜÈø O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +±ó¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¥í¥ó¥É¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +±£¤ì T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +ÌÂÃø M1 ̾»ì-°ìÈÌ O +¡© S2 µ­¹æ-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸ºß M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʬ¤«¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿ʬ M1 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á´ S1 ÀÜƬ»ì-̾»ìÀܳ O +À¤³¦ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ʸ¸¥ M1 ̾»ì-°ìÈÌ O +¸¡º÷ M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²Äǽ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ê M9 Æ°»ì-¼«Î© O +¤Ä¤Ä M9 ½õ»ì-Àܳ½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÌÂÃø M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +É®¼Ô M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ç¡¼¥¿¥Ù¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤ª±¢ T9-1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿ô¾¯¤Ê¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÆÉ¼Ô M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³ÍÆÀ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤ï¤± M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ºÇ¶á M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿È¶á M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¿Þ½ñ´Û M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î¤¾¤¤ M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ß¤Æ M9 Æ°»ì-¼«Î© O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ËÜ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æɤà T1-9 Æ°»ì-¼«Î© O +¤È¤³¤í M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¾ðÊó M1 ̾»ì-°ìÈÌ O +¸¡º÷ M1 ̾»ì-¥µÊÑÀܳ O +üËö M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊѤï¤ê T1-9 Æ°»ì-¼«Î© O +¤Ä¤Ä M9 ½õ»ì-Àܳ½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¿¥¤¥È¥ë M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʬ¤«¤é T1-9 Æ°»ì-¼«Î© O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãø¼Ô M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʬ¤«¤é T1-9 Æ°»ì-¼«Î© O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤¤¤Ä M9 ̾»ì-Éû»ì²Äǽ O +¤´¤í M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +ʬÌî M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤ó¤Ê M9 Ï¢Âλì O +¥Æ¡¼¥Þ M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥­¡¼¥ï¡¼¥É M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Íߤ·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ËÜ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¸¡º÷ M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ù¡¹¤Ë T2-9 Éû»ì-°ìÈÌ O +²Äǽ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤½¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ư¤¯ T1-9 Æ°»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +»Ê½ñ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¿¦¶È M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÊѤï¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿Þ½ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ý½¸ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À°Íý M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÝ´É M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±ÜÍ÷ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë´Ø¤¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¶È̳ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÃÏÌ£ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +»Å»ö M1 ̾»ì-¥µÊÑÀܳ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¤¤Þ¤ä M9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +üËö M1 ̾»ì-°ìÈÌ O +µ¡ S1 ̾»ì-°ìÈÌ O +Áê¼ê M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +õÄå M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÍøÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼êÅÁ¤¤ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Î㤨¤Ð T1-9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Þ½ñ´Û M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸¦µæ M1 ̾»ì-¥µÊÑÀܳ O +ÁÈ¿¥ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤ë¤¤¤Ï M9 Àܳ»ì O +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ñ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤ª S9 ÀÜƬ»ì-̾»ìÀܳ O +µá¤á T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ðÊó M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +õ¤·Åö¤Æ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥É¥Ð¥¤¥¹ M10 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Àèü M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥µ¡¼¥Ó¥¹ M10 ̾»ì-¥µÊÑÀܳ O +¶È S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +»Ê½ñ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤«¤â M9 ½õ»ì-Éû½õ»ì O +¤·¤ì M9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ËÒ S1 ̾»ì-°ìÈÌ B-PERSON +ÂÀϺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡á S2 µ­¹æ-°ìÈÌ O +¥Ë¥Õ¥Æ¥£ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-OPTIONAL +£É£Ä M7 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +£Ó£Ç M7 ̾»ì-°ìÈÌ O +£Ø S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +£°£²£±£²£° M5 ̾»ì-¿ô O + +µÀ±à M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +Éñµ¸ M1 ̾»ì-°ìÈÌ O +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡È S2 µ­¹æ-³ç¸Ì³« O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +ÄóÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£µ S5 ̾»ì-¿ô O +ǯ´Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½¤¶È M1 ̾»ì-°ìÈÌ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃÖ¤­²° T9-1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Ò¤É¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +»ÅÂǤÁ T1-9 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +µÀ±à M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +Éñµ¸ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤Þ¤¤¤³ M9 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¸Þ S6 ̾»ì-¿ô O +ǯ´Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½¤¶È M1 ̾»ì-°ìÈÌ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ò¤É¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +»ÅÂǤÁ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¯³² M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃÖ¤­²° T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·Ð±Ä M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áê¼ê¼è¤ê T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°Ö¼Õ M1 ̾»ì-¥µÊÑÀܳ O +ÎÁ S1 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ëµ· M1 ̾»ì-°ìÈÌ O +¶â S1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +·× S1 ÀÜƬ»ì-¿ôÀܳ O +ÀéÉ´Ëü±ß T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»³² M1 ̾»ì-¥µÊÑÀܳ O +Çå½þ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá¤á¤ë T1-9 Æ°»ì-¼«Î© O +Áʾ٠M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ÞÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +ÃÏºÛ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¯¤³¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Áʤ¨ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +Å컳 M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +¶è S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹âÌÚ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¹á¿¥ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Áʾõ M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹âÌÚ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ì¶åȬ¶åǯ T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»³¸ý M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ I-LOCATION +²¼´Ø M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãæ³Ø M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´¶È M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µÀ±à M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÖ¤­²° T9-1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿·°æ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½»¤ß¹þ¤ó T1-9 Æ°»ì-¼«Î© O +¤Ç S9 ½õÆ°»ì O +Éñµ¸ M1 ̾»ì-°ìÈÌ O +¸«½¬ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ìǯ¸å T6-1 ̾»ì-¿ô O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ʀ S1 ̾»ì-°ìÈÌ O +°é S1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̾Á° M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤ªÃã²° T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÂÉß M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð S1 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤È¤³¤í¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃÖ¤­²° T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·Ð±Ä M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤µ¤¤ M9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +´é S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ê¿¼êÂǤÁ T1-9 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤¿¤ê M9 ½õ»ì-ÊÂΩ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ͧ¿Í M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ê»æ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¾¡¼ê M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«Éõ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +˽¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¦¤¨ M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²á¹ó M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ϫƯ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯Í× M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿¤¿¤á M9 Æ°»ì-¼«Î© O +ÂѤ¨ T1-9 ̾»ì-°ìÈÌ O +¤­¤ì M9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¸Þ·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ƨ¤²½Ð¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤Î´Ö T9-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µëÍ¿ M1 ̾»ì-¥µÊÑÀܳ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +·î S1 ̾»ì-°ìÈÌ O +¸Þ S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ùµë M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·Ý¼Ô M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +Éñµ¸ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼­¤á¤ë T1-9 Æ°»ì-¼«Î© O +»þ¤Ë T1-9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Â࿦ M1 ̾»ì-¥µÊÑÀܳ O +¶â S1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÃÖ¤­²° T9-1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅϤµ T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +´·Îã M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µÒ S1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½Ëµ· M1 ̾»ì-°ìÈÌ O +¶â S1 ̾»ì-°ìÈÌ O +·× S1 ÀÜƬ»ì-¿ôÀܳ O +¸Þ S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅϤµ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°Ö¼Õ M1 ̾»ì-¥µÊÑÀܳ O +ÎÁ S1 Æ°»ì-¼«Î© O +¸Þ S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È¤È¤â¤Ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +½Ëµ· M1 ̾»ì-°ìÈÌ O +¶â S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊÖ´Ô M1 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +µá¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃÖ¤­²° T9-1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊÛ¸î»Î M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÃÖ¤­²° T9-1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½¤¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ì S1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¹Ô¤­²á¤® T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +½÷À­ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ÜÀß M1 ̾»ì-¥µÊÑÀܳ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥É¡¼¥ó M10 Éû»ì-½õ»ìÎàÀܳ O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥í¥Ó¡¼ M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡È S2 µ­¹æ-³ç¸Ì³« O +¥¯¥¤¥º M10 ̾»ì-°ìÈÌ O +·Á¼° M1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êɲè M1 ̾»ì-°ìÈÌ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤Î¤Û¤É M9 ̾»ì-Éû»ì²Äǽ O +³«´Û M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +Á´¹ñ M1 ̾»ì-°ìÈÌ O +ºÇÂç M1 ̾»ì-°ìÈÌ O +µ¬ÌÏ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½÷À­ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ÜÀß M1 ̾»ì-¥µÊÑÀܳ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥É¡¼¥ó M10 Éû»ì-½õ»ìÎàÀܳ O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÉÜΩ M1 ̾»ì-°ìÈÌ O +½÷À­ M1 ̾»ì-°ìÈÌ O +Áí¹ç M1 ̾»ì-¥µÊÑÀܳ O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ O +Ãæ±û M1 ̾»ì-°ìÈÌ O +¶è S1 ̾»ì-°ìÈÌ O +Âç¼ê M1 ̾»ì-°ìÈÌ O +Á° S1 ̾»ì-Éû»ì²Äǽ O +°ì S6 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì S6 ̾»ì-¿ô O +³¬ S1 ̾»ì-°ìÈÌ O +¥í¥Ó¡¼ M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì¸« T6-1 ̾»ì-¥µÊÑÀܳ O +¤½¤Ã¤¯¤ê M9 Éû»ì-½õ»ìÎàÀܳ O +¤À¤¬ M9 Àܳ»ì O +¤è¤¯ M9 Éû»ì-°ìÈÌ O +¸«¤ë T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +²¿ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¥«½ê T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +°ã¤¤ T1-9 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¼¼Æâ M1 ̾»ì-°ìÈÌ O +É÷·Ê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æó¤Ä T6-9 ̾»ì-°ìÈÌ O +ÁȤ߹ç¤ï¤» T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¥æ¥Ë¡¼¥¯ M10 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¡È S2 µ­¹æ-³ç¸Ì³« O +¥¯¥¤¥º M10 ̾»ì-°ìÈÌ O +·Á¼° M1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êɲè M1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¼Ì¿¿ M1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀßÃÖ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ã¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +½÷À­ M1 ̾»ì-°ìÈÌ O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÏÃÂê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤é M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ì S6 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +¼·»° M6 ̾»ì-°ìÈÌ O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡ß S2 µ­¹æ-°ìÈÌ O +Ï» S6 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âçºî M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¥¿¥¤¥È¥ë M10 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¥º¥Ð¥ê M10 Éû»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¡© S2 µ­¹æ-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +À©ºî M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°Â°æ¾Þ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¼õ¾Þ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿·¿Ê M1 ̾»ì-°ìÈÌ O +½÷À­ M1 ̾»ì-°ìÈÌ O +²è²È M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ê¡ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÈþÍö M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡á S2 µ­¹æ-°ìÈÌ O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ºß½» M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +½÷À­ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼«Î© M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼Ò²ñ M1 ̾»ì-°ìÈÌ O +»²²Ã M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µòÅÀ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Õ¤µ¤ï¤·¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +ºîÉÊ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µá¤á T1-9 Æ°»ì-¼«Î© O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±þ¤¸ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´Õ¾Þ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ñ¤Ë T1-9 Éû»ì-°ìÈÌ O +¸«¤ë T1-9 Æ°»ì-¼«Î© O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¹Í¤¨¤ë T1-9 Æ°»ì-¼«Î© O +¡È S2 µ­¹æ-³ç¸Ì³« O +»²²Ã M1 ̾»ì-¥µÊÑÀܳ O +·¿ S1 ̾»ì-°ìÈÌ O +³¨²è M1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¥¢¥¤¥Ç¥¢ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ò¤Í¤ê½Ð¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +Éôʬ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½÷À­ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ȱ¤ÎÌÓ T9-1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¼· S6 ̾»ì-¿ô O +¥«½ê T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤µ¤Æ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +¤Û¤« M9 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¡© S2 µ­¹æ-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£° S5 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +£¹ S5 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +£¸£¶£²£µ M5 ̾»ì-¿ô O +¡á S2 µ­¹æ-°ìÈÌ O +¿åÍË M1 ̾»ì-Éû»ì²Äǽ O +µÙ´Û M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½½Æü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æ󽽸ÞÆü T6-1 ̾»ì-¿ô O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +Åêɼ M1 ̾»ì-¥µÊÑÀܳ O +È¢ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀßÃÖ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +²òÅú M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ê罸 M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àµ²ò M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÃêÁª M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ê¡ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤Æ¤­ M9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¥°¥Ã¥º M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£ S1 Æ°»ì-¼«Î© O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¥¹¥Ý¡¼¥Ä M10 ̾»ì-°ìÈÌ O +¼ÁÌä M1 ̾»ì-¥µÊÑÀܳ O +È¢ S1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¥¢¡¼¥Á¥§¥ê¡¼ M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤É¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤ä¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¾¡ÇÔ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á¤ë T1-9 Æ°»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤¹¤« M9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¡¤ S2 µ­¹æ-ÆÉÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¢¡¼¥Á¥§¥ê¡¼ M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ð¥ë¥»¥í¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸ÞÎØ T6-1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»î¹ç M1 ̾»ì-¥µÊÑÀܳ O +·Á¼° M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊѤï¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤½¤¦¤Ç¤¹¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤É¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤ä¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¾¡ÇÔ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á¤ë T1-9 Æ°»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤¹¤« M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +£Ñ S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¡¤ S2 µ­¹æ-ÆÉÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¢¡¼¥Á¥§¥ê¡¼ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ɸŪ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÃË»Ò M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£¹ S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£· S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£µ S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£³ S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½÷»Ò M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£· S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£¶ S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£µ S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£³ S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ť¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +µ÷Î¥ M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +û¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +µ÷Î¥ M1 ̾»ì-°ìÈÌ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Æ S1 ÀÜƬ»ì-̾»ìÀܳ O +£³ S5 ̾»ì-¿ô O +ËÜ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ìð S1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +ÅÀ S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +ËþÅÀ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Í¤Æ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·× S1 ÀÜƬ»ì-¿ôÀܳ O +£±£´£´£° M5 ̾»ì-¿ô O +ÅÀ S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤È¤Ê¤ê M9 ̾»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ì¶åȬ¼·Ç¯ T6-1 ̾»ì-¿ô O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¸ÞÎØ T6-1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¤³¦ M1 ̾»ì-°ìÈÌ O +Áª¼ê¸¢ M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +À¤³¦ M1 ̾»ì-°ìÈÌ O +¥ì¥Ù¥ë M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âç²ñ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¤³¤Î M9 Ï¢Âλì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥·¥ó¥°¥ë M10 ̾»ì-°ìÈÌ O +¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +²ó S1 Æ°»ì-¼«Î© O +·«¤êÊÖ¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥À¥Ö¥ë M10 ̾»ì-°ìÈÌ O +¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£²£¸£¸£° M5 ̾»ì-¿ô O +ÅÀ S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +ËþÅÀ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +Áè¤ï T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤Þ M9 ̾»ì-Éû»ì²Äǽ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊǯ M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À¤³¦ M1 ̾»ì-°ìÈÌ O +Áª¼ê¸¢ M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾¡¤ÁÈ´¤­ T1-9 ̾»ì-°ìÈÌ O +Àï S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼è¤êÆþ¤ì T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥°¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Â»Ü M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +·è¾¡ M1 ̾»ì-°ìÈÌ O +¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì S6 ̾»ì-¿ô O +²óÀï M1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½à¡¹ T1-2 ÀÜƬ»ì-̾»ìÀܳ O +·è¾¡ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½à·è¾¡ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¿Ê¤ß T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·è¾¡ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +£¸ S5 ̾»ì-¿ô O +Áª¼ê M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£´ S5 ̾»ì-¿ô O +µ÷Î¥ M1 ̾»ì-°ìÈÌ O +£¹ S5 ̾»ì-¿ô O +¼Í S1 Æ°»ì-¼«Î© O +¤º¤Ä M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£³ S5 ̾»ì-¿ô O +ÅÀ S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +ËþÅÀ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Á褦 T1-9 Æ°»ì-¼«Î© O +·Á¼° M1 ̾»ì-°ìÈÌ O +¤Ç¤· M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥Ð¥ë¥»¥í¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸ÞÎØ T6-1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÎÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +¥ª¥ê¥ó¥Ô¥Ã¥¯ M10 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Î£Ï£Ò M7 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ͽÁª M1 ̾»ì-°ìÈÌ O +¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À®ÀÓ M1 ̾»ì-°ìÈÌ O +½ç°Ì M1 ̾»ì-°ìÈÌ O +¤Ë½¾¤¤ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¾å°Ì M1 ̾»ì-°ìÈÌ O +£³ S5 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¾¡ M1 ̾»ì-°ìÈÌ O +¥é¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Ê½Ð M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ì°Ì T6-1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»°½½Æó°Ì T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æó S6 ̾»ì-¿ô O +°Ì S1 ̾»ì-Éû»ì²Äǽ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»° S6 ̾»ì-¿ô O +°ì°Ì T6-1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¾å°Ì M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +²¼°Ì M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£² S5 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤º¤Ä M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂÐÀï M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£· S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£± S5 ̾»ì-¿ô O +¼Í S1 Æ°»ì-¼«Î© O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô O +ÅÀ S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +ËþÅÀ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +·è¾¡ M1 ̾»ì-°ìÈÌ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥È¡¼¥Ê¥á¥ó¥È M10 ̾»ì-°ìÈÌ O +Àï S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤¤ T1-9 ̾»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ñĴ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¸« S1 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Æ¤ª¤â¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤í¤¯¤Ê M9 Ï¢Âλì O +¤¤¤È M9 Éû»ì-°ìÈÌ O +¸À S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤­¤¿ M9 ̾»ì-°ìÈÌ O +¥¢¡¼¥Á¥§¥ê¡¼ M10 ̾»ì-°ìÈÌ O +¤Ç¤¹¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ÑµÒ M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¥Æ¥ì¥Ó M10 ̾»ì-°ìÈÌ O +Êü±Ç M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°Õ¼± M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +»î¤ß T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¹¥É¾ M1 ̾»ì-°ìÈÌ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²ð¸î M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ìó« M1 ̾»ì-¥µÊÑÀܳ O +¼é¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¯¤ì M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÆñÉ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̼ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤· T1-9 Æ°»ì-¼«Î© O +Éã¿Æ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹³µÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¢Âð M1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +ʼ¸Ë M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +Æôºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾®³Ø¹» M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÆñÉ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥ß¥È¥³¥ó¥É¥ê¥¢ M10 ̾»ì-°ìÈÌ B-LOCATION +¶Ú S1 ̾»ì-°ìÈÌ I-LOCATION +¾É S1 ̾»ì-ÀÜÈø-°ìÈÌ I-LOCATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¥Ù¥Ã¥É M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿² S1 Æ°»ì-¼«Î© O +¤¿¤Þ M9 ̾»ì-°ìÈÌ O +¤Þ S9 ¥Õ¥£¥é¡¼ O +¿Í¹© M1 ̾»ì-°ìÈÌ O +¸ÆµÛ M1 ̾»ì-¥µÊÑÀܳ O +´ï S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤± M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Æ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉÕ¤­ T1-9 ̾»ì-°ìÈÌ O +ź¤ï¤ì T1-9 Æ°»ì-¼«Î© O +ʼ¸Ë M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¸© S1 ̾»ì-°ìÈÌ I-ORGANIZATION +Æôºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +»ÔΩ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¾®±à¾® M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ I-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÅÚë M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÀµÍø M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¹»Ä¹ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +¼ø¶È M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +Ʊ»Ô M1 ̾»ì-°ìÈÌ O +¼ã²¦»û M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ê¿ËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Êâ S1 ̾»ì-°ìÈÌ I-PERSON +¤Á¤ã¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£¸¤Ä T5-9 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡á S2 µ­¹æ-°ìÈÌ O +»° S6 ̾»ì-¿ô O +ǯÀ¸ M1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¡á S2 µ­¹æ-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Éã S1 ̾»ì-°ìÈÌ O +¹°ÉÚÈþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£µ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +»Ô S1 ̾»ì-°ìÈÌ O +¶µ°Ñ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÉÕ¤­Åº¤¤ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤·¤Ê¤¤ M9 ̾»ì-°ìÈÌ O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë¤È M9 Àܳ»ì O +Ìó« M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Ê¤¬¤é M9 ½õ»ì-Àܳ½õ»ì O +²¿ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤â¤· M9 Éû»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +º£ S1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾õÂÖ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +º¹ÊÌ M1 ̾»ì-¥µÊÑÀܳ O +¤À S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Åй» M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Êâ S1 ̾»ì-°ìÈÌ O +¤Á¤ã¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Ø¹» M1 ̾»ì-°ìÈÌ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +µ¢Âð M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡È S2 µ­¹æ-³ç¸Ì³« O +¶¯¹Å M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¼êÃÊ M1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Êâ S1 ̾»ì-°ìÈÌ O +¤Á¤ã¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¾ã³² M1 ̾»ì-°ìÈÌ O +»ù S1 ̾»ì-°ìÈÌ O +³Øµé M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°¤¹¤ë T1-9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æþ³Ø M1 ̾»ì-¥µÊÑÀܳ O +°ÊÍè M1 ̾»ì-Éû»ì²Äǽ O +»° S6 ̾»ì-¿ô I-DATE +ǯ´Ö M1 ̾»ì-°ìÈÌ I-DATE +¾ï»þ M1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Éã¿Æ M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +»Ù±ç M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉÕ¤­Åº¤¤ T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂçȾ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉáÄÌ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +³Øµé M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¼ø¶È M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ì S6 ̾»ì-¿ô O +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿ô²ó M1 ̾»ì-°ìÈÌ O +¤¿¤ó M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ï¶ñ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +µÛ¤¤¼è¤ë T1-9 Æ°»ì-¼«Î© O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½èÃÖ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ξ¿Æ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÉÕ¤­Åº¤¤ T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¿Æ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ééô M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â礭¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +̼ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼«Î© M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +˸¤²¤ë T1-9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +»Ô S1 ̾»ì-°ìÈÌ O +¶µ°Ñ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²ð¸î M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í×˾ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +Ȭ·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿Æ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÉÕ¤­Åº¤¤ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤·¤Ê¤¤ M9 ̾»ì-°ìÈÌ O +¾ò·ï M1 ̾»ì-°ìÈÌ O +À°È÷ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸þ¤± T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +ÅØÎÏ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤È¤³¤í¤¬ M9 Àܳ»ì O +°ì¸þ¤Ë T1-9 Éû»ì-°ìÈÌ O +²þÁ± M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ξ¿Æ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»Ô S1 ̾»ì-°ìÈÌ O +¶µ°Ñ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¿ô²ó M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ïä·¹ç¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î¸å T9-1 ̾»ì-Éû»ì²Äǽ O +¤â S9 ½õ»ì-·¸½õ»ì O +Êâ¤ß´ó¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Êâ S1 ̾»ì-°ìÈÌ O +¤Á¤ã¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹³µÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¢Âð M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤Î M9 Ï¢Âλì O +Æü S1 ̾»ì-°ìÈÌ O +³Ø¹» M1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Êâ S1 ̾»ì-°ìÈÌ O +¤Á S9 Æ°»ì-¼«Î© O +¤ã¤ó¤Î¤¿¤ó¤ò¤È¤ë¤³¤È¤Ê¤É¤Ï M9 ̾»ì-°ìÈÌ O +°åÎÅ M1 ̾»ì-°ìÈÌ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ð¸î M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µñÈÝ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹°ÉÚÈþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ý¥±¥Ã¥È¥Ù¥ë M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Á T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +ÅÔÅÙ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸Æ¤Ó½Ð¤¹ T1-9 Æ°»ì-¼«Î© O +ÂÖÀª M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +²á¾ê M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +ËÉ±Ò M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¡ S13 µ­¹æ-¶õÇò O +ÃËÀ­ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µÕž M1 ̾»ì-¥µÊÑÀܳ O +̵ºá M1 ̾»ì-°ìÈÌ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +˽¹Ô M1 ̾»ì-¥µÊÑÀܳ O +»ö·ï M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ºÇ¹âºÛ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION + +¡¡ S13 µ­¹æ-¶õÇò O +ȱ¤ÎÌÓ T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤« M9 Æ°»ì-¼«Î© O +¤ó¤Ç M9 ½õ»ì-Àܳ½õ»ì O +°ú¤­²ó¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +½÷ S1 ̾»ì-°ìÈÌ O +ͧã M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½õ¤±¤ë T1-9 Æ°»ì-¼«Î© O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ò S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿ì¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +Áê¼ê M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃËÀ­ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +˽¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +½ý³² M1 ̾»ì-¥µÊÑÀܳ O +ºá S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìä S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +Åì S1 ̾»ì-°ìÈÌ B-LOCATION +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +ʸµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +¶è S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹©°÷ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾å¹ð M1 ̾»ì-¥µÊÑÀܳ O +¿³ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ºÇ¹âºÛ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Âè S1 ÀÜƬ»ì-¿ôÀܳ O +»°¾®Ë¡Äî T6-1 ̾»ì-¿ô O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÂçÌî M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÀµÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +ºÛȽ M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²á¾ê M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +ËÉ±Ò M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +ĨÌò M1 ̾»ì-°ìÈÌ B-DATE +½½·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼¹¹Ô M1 ̾»ì-¥µÊÑÀܳ O +ͱͽ M1 ̾»ì-¥µÊÑÀܳ O +Æó S6 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æó¿³È½·è T6-1 ̾»ì-¿ô O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÇË´þ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µÕž M1 ̾»ì-¥µÊÑÀܳ O +̵ºá M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸À¤¤ÅϤ· T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Äɤ¤ÂǤÁ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤± M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +½Å½ý M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éé¤ï¤» T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +Ãç´Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¦ËÅ M1 ̾»ì-¥µÊÑÀܳ O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À®Î© M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤É¤¦¤« M9 Éû»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÁèÅÀ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ºÇ½é M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +È¿·â M1 ̾»ì-¥µÊÑÀܳ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÄÉ·â M1 ̾»ì-¥µÊÑÀܳ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʬΥ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +È¿·â M1 ̾»ì-¥µÊÑÀܳ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÀµÅö M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +ËÉ±Ò M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÄÉ·â M1 ̾»ì-¥µÊÑÀܳ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿·¤¿ T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¶¦ËÅ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +À®Î© M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ǧÄê M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì S6 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æó¿³È½·è T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½ÅÂç M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +»ö¼Â M1 ̾»ì-Éû»ì²Äǽ O +¸íǧ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ØŦ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤Î M9 Ï¢Âλì O +¹©°÷ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ȬȬǯ½½·îÆó½½»°Æṳ̈ÌÀ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ʸµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¶èÆâ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ï©¾å M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãæ³Ø M1 ̾»ì-°ìÈÌ O +»þÂå M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ƱÁëÀ¸ M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +½÷ S1 ̾»ì-°ìÈÌ O +ͧã M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»¨ÃÌ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ä̤ê³Ý¤«¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ÃËÀ­ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥È¥é¥Ö¥ë M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½÷ S1 ̾»ì-°ìÈÌ O +ͧã M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȱ¤ÎÌÓ T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ú¤­²ó¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿¤¿¤á M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãç´Ö M1 ̾»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +°ì S6 ̾»ì-¿ô O +¿³ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¼¹¹Ô M1 ̾»ì-¥µÊÑÀܳ O +ͱͽ M1 ̾»ì-¥µÊÑÀܳ O +ÉÕ¤­ T1-9 ̾»ì-°ìÈÌ O +Í­ºá M1 ̾»ì-°ìÈÌ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³ÎÄê M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤È¤â¤Ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÃËÀ­ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +˽¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +Ω¤Áµî¤í T1-9 Æ°»ì-¼«Î© O +¤¦¤È¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ÃËÀ­ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´é S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãç´Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì¿Í T6-1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¥¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿¤¿¤á M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃËÀ­ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +žÅÝ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +ƬÉô M1 ̾»ì-°ìÈÌ O +¹üÀÞ M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +¼· S6 ̾»ì-¿ô O +¥«·î T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +Ⱦ S1 ̾»ì-°ìÈÌ B-PERCENT +¤Î¤± M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +Í«³ÚÄ¢ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +Ê⤯ T1-9 Æ°»ì-¼«Î© O +® S1 ·ÁÍÆ»ì-¼«Î© O +¤µ S9 ½õ»ì-½ª½õ»ì O + +¡¡ S13 µ­¹æ-¶õÇò O +¿ô S1 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +Á° S1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç S9 ½õÆ°»ì O +¶Ð̳ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +»þ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ñ̯ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +·Ð¸³ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ä̶РM1 ̾»ì-¥µÊÑÀܳ O +ÅÓ¾å M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á° S1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤«¤«¤È M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ƨ¤ß¤Ä¤±¤ë T1-9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°­¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤È¤­¤Ë¤Ï M9 Éû»ì-°ìÈÌ O +¤± S9 ½õ»ì-½ª½õ»ì O +¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤·¤Þ¤¦ M9 Æ°»ì-Èó¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ãϲ¼Æ» M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶¹¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂçÀª M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¸¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿¤» M9 Æ°»ì-¼«Î© O +¤¤¤« M9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤½¤Î»þ T9-1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»×¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤È¤³¤í¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î¸å T9-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ë¥å¡¼¥è¡¼¥¯ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ÐÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +ÀÞ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +º£ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·¤ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤«¤«¤È M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¿¿Í M1 ̾»ì-°ìÈÌ O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤±Èô¤Ð¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼«Âð M1 ̾»ì-°ìÈÌ O +¼þÊÕ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»¨ÌÚÎÓ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾®Æ» M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»¶Êâ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¥À¥é¥À¥é M10 Éû»ì-½õ»ìÎàÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ö¥é¥Ö¥é M10 Éû»ì-½õ»ìÎàÀܳ O +Ê⤯ T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +·ù¤¤ T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +Êý S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤À¤«¤é M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ê⤯ T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +®¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Êý S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ë¥å¡¼ M10 ̾»ì-°ìÈÌ O +¥è S10 ½õ»ì-½ª½õ»ì O +¡¼¥«¡¼¤Ë¤«¤«¤È¤ò¤±¤é¤ì¤¿¤¦¤¨¤Ë T10-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Äɤ¤±Û¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¹Ô¤¯ T1-9 Æ°»ì-¼«Î© O +¥±¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¿ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +²ó S1 Æ°»ì-¼«Î© O +¤â S9 ½õ»ì-·¸½õ»ì O +³¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µÓ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +û¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ÂÎ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊâÉý M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +É餱¤ë T1-9 Æ°»ì-¼«Î© O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǼÆÀ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤È¤³¤í¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ¤¸ T1-9 Ï¢Âλì O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¥µ¥ó¥Õ¥é¥ó¥·¥¹¥³ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í S1 ̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤«¤«¤È M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤±¤é M9 ̾»ì-°ìÈÌ O +¤Ê¤¤¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Äɤ¤±Û¤· T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¹Ô¤« T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç¤Ï M9 Àܳ»ì O +¥µ¥ó¥Õ¥é¥ó¥·¥¹¥³ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ƱÍÍ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾¿Í M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·¤ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤±¤ë M9 ½õÆ°»ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Þ¤¿ M9 Àܳ»ì O +¤±¤é M9 ̾»ì-°ìÈÌ O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¡¹ T1-2 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ê⤯ T1-9 Æ°»ì-¼«Î© O +® S1 ·ÁÍÆ»ì-¼«Î© O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +´·¤ì T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á° S1 ̾»ì-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤¯ T1-9 Æ°»ì-¼«Î© O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÙ¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥¹¥à¡¼¥º M10 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äɤ¤±Û¤· T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¹Ô¤¯ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +À¸¤Þ¤ì¸Î¶¿ T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀŲ¬ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¢¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿¤ê M9 ½õ»ì-ÊÂΩ½õ»ì O +¤¹¤ë¤È M9 Àܳ»ì O +±Ø S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»¨Æ§ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¥¤¥é¥¤¥é M10 Éû»ì-½õ»ìÎàÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Ð¤¨¤ë T1-9 Æ°»ì-¼«Î© O +¤Û¤É M9 ½õ»ì-Éû½õ»ì O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤É¤¦¤â M9 Éû»ì-°ìÈÌ O +ÅÔ»Ô M1 ̾»ì-°ìÈÌ O +¤Ë¤è¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Í¡¹ T1-2 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ê⤯ T1-9 Æ°»ì-¼«Î© O +® S1 ·ÁÍÆ»ì-¼«Î© O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿Í¡¹ T1-2 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ê⤯ T1-9 Æ°»ì-¼«Î© O +® S1 ·ÁÍÆ»ì-¼«Î© O +¤µ¤¬ M9 Æ°»ì-¼«Î© O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤½¤Î M9 Ï¢Âλì O +ÅÔ»Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À¤ÃÎ¿É M1 ·ÁÍÆ»ì-¼«Î© O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Åٹ礤 T1-9 ̾»ì-°ìÈÌ O +¤Ê¤Î M9 Æ°»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤¤¤ä M9 ´¶Æ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅÔ»Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³èÎÏ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ã¤¤ T1-9 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸« S1 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤À¤¬ M9 Àܳ»ì O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¾¾±Ê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¸¬¸ã M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +£± S5 ̾»ì-¿ô O +Àé±ß T6-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +¶â°ϫ¶¨ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ÕÆ® M1 ̾»ì-°ìÈÌ O +Êý¿Ë M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¼«Æ°¼Ö M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Å´¹Ý M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Åŵ¡ M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶â° M1 ̾»ì-°ìÈÌ O +»º¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ï«ÁÈ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·ë½¸ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½ÕÆ® M1 ̾»ì-°ìÈÌ O +Áê¾ì M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â礭¤Ê T1-9 Ï¢Âλì O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +ÎÏ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Ä T1-9 Æ°»ì-¼«Î© O +¶â°ϫ¶¨ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£É£Í£Æ M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¦ S2 µ­¹æ-°ìÈÌ O +£Ê£Ã M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆÀËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µ±¿Í M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆóÉ´¸Þ½½Ëü¿Í T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +ÅÔÆâ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¶¨µÄ M1 ̾»ì-¥µÊÑÀܳ O +°Ñ°÷ M1 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ê¿¶Ñ M1 ̾»ì-¥µÊÑÀܳ O +ľ夲 T1-9 ̾»ì-¥µÊÑÀܳ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +´ð½à M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ìËüÆóÀé±ß T6-1 ̾»ì-¿ô O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +Íè S1 Æ°»ì-¼«Î© O +½ÕÆ® M1 ̾»ì-°ìÈÌ O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ï¢¹ç M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ψ S1 ̾»ì-°ìÈÌ O +ɽ¼¨ M1 ̾»ì-¥µÊÑÀܳ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Û S1 ̾»ì-°ìÈÌ O +ɽ¼¨ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÚ¤êÂؤ¨ T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£Ê£Ã M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤â S9 ½õ»ì-·¸½õ»ì O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ψ S1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Û S1 ̾»ì-°ìÈÌ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÚ¤êÂؤ¨ T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»°½½¸ÞºÐ¶Ð³½½¼·Ç¯ T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ɸ½à M1 ̾»ì-°ìÈÌ O +ϫƯ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ľ夲 T1-9 ̾»ì-¥µÊÑÀܳ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +Æó½½È¬Ëü¼·Àé±ß T6-1 ̾»ì-¿ô O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +Àé±ß T6-1 ̾»ì-°ìÈÌ O +°ú¤­¾å¤² T1-9 ̾»ì-¥µÊÑÀܳ O +Æ󽽶åËü¶åÀé±ß T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +£Ê£Ã M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +ľ夲 T1-9 ̾»ì-¥µÊÑÀܳ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +°ìËüÆóÀé±ß T6-1 ̾»ì-¿ô O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ψ S1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +»Í S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +Æó S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¡£ S2 µ­¹æ-¶çÅÀ O + +¶å S6 ̾»ì-¿ô O +½ÕÆ® M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¸Þ S6 ̾»ì-¿ô B-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¤è¤ê M9 Éû»ì-°ìÈÌ O +¤ä¤ä M9 Éû»ì-°ìÈÌ O +¥À¥¦¥ó M10 ̾»ì-¥µÊÑÀܳ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ʪ²Á M1 ̾»ì-°ìÈÌ O +¾å¾º M1 ̾»ì-¥µÊÑÀܳ O +Ψ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á°Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤è¤ê M9 Éû»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¥Ý¥¤¥ó¥È M10 ̾»ì-°ìÈÌ O +Á°¸å M1 ̾»ì-Éû»ì²Äǽ O +Ä㤯 T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ï¢¹ç M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶å¸Þ½ÕÆ®Í×µáÌÜɸ°ìËü»ÍÀé±ß T6-1 ̾»ì-¿ô O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¼²ó¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤è¤¦¤ä¤¯ M9 Éû»ì-°ìÈÌ O +ÉÔ¶· M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥È¥ó¥Í¥ë M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½Ð¸ý M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤¤¤À¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤â¤Î¤Î M9 ½õ»ì-Àܳ½õ»ì O +¶â° M1 ̾»ì-°ìÈÌ O +»º¶È M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°Û¾ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +±ß S1 ̾»ì-°ìÈÌ O +¹â S1 ·ÁÍÆ»ì-¼«Î© O +¤Ç S9 ½õÆ°»ì O +Á°ÅÓ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ÍÁ³ M1 Éû»ì-°ìÈÌ O +¸·¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¾õ¶· M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÆÀËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +³«²ñ M1 ̾»ì-¥µÊÑÀܳ O +¤¢¤¤¤µ¤Ä M9 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +µ¬À© M1 ̾»ì-¥µÊÑÀܳ O +´ËÏ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤è¤ê M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Æâ³° M1 ̾»ì-°ìÈÌ O +²Á³Ê M1 ̾»ì-°ìÈÌ O +º¹ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À§ S1 ̾»ì-°ìÈÌ O +Àµ¤· T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»º¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶õƶ M1 ̾»ì-°ìÈÌ O +²½ S1 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÁË»ß M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤« M9 Éû»ì-°ìÈÌ O +¤Í¤Ð M9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¿´ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¹¤Þ¤ë T1-9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +£Â£Ç£Í M7 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +Âç³Ø±¡À¸ M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÀÞ³Þ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +³Ð S1 Æ°»ì-¼«Î© I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£³ S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +°ñ¾ë M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ I-LOCATION +¤Ä¤¯¤Ð M9 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥³¥ó¥Ó¥Ë¥¨¥ó¥¹¥¹¥È¥¢ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÍøÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ŹÆâ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +µ¤¤¬ÉÕ¤¯ T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ή¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +£Â£Ç£Í M7 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥í¥Ã¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¥Ý¥Ã¥×¥ß¥å¡¼¥¸¥Ã¥¯ M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤½¤ì¤é M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°­¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤¤¤Ã¤Æ¤¤ M9 ̾»ì-¥µÊÑÀܳ O +¤ë S9 ½õÆ°»ì O +¤ï¤± M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¤Þ¤»¤ó M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¿¤À M9 Àܳ»ì O +²»³Ú M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿´ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º¸±¦ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʹ¤­ T1-9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ö¼Â M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»þ¤È¤·¤Æ T1-9 Éû»ì-°ìÈÌ O +²»³Ú M1 ̾»ì-°ìÈÌ O +¼¡Âè M1 ̾»ì-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +µ¤»ý¤Á T1-9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀŤޤà T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í¥¤· T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¯¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¢¤² M9 Æ°»ì-¼«Î© O +¤¿¤¯ M9 ½õÆ°»ì O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿¤ê M9 ½õ»ì-ÊÂΩ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +È¿ÂÐ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¤Ê¬ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íî¤ÁÃ夫 T1-9 Æ°»ì-¼«Î© O +¤Ê¤¯¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿¤ê M9 ½õ»ì-ÊÂΩ½õ»ì O +¤â¤· M9 Éû»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼ïÎà M1 ̾»ì-°ìÈÌ O +¤Ë¤è¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤Þ¤ê M9 Éû»ì-½õ»ìÎàÀܳ O +˾¤Þ¤·¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +Íßµá M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤­Î©¤Æ¤ë T1-9 Æ°»ì-¼«Î© O +À­¼Á M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤Ç¤·¤ç M9 ½õÆ°»ì O +¤¦ S9 ´¶Æ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤¿¤Þ¤Ë M9 Éû»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̾¶Ê M1 ̾»ì-°ìÈÌ O +µÊÃã M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +Ê·°Ïµ¤ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿´²¹¤Þ¤ë T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤·¤Æ M9 Àܳ»ì O +¿´ S1 ̾»ì-°ìÈÌ O +Àö S1 ̾»ì-°ìÈÌ O +¤ï¤ì¤ë M9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¶Ê S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ή¤¹ T1-9 Æ°»ì-¼«Î© O +¤È¤³¤í M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤ì M9 ´¶Æ°»ì O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¤É¤ó¤Ê¤Ë M9 Éû»ì-°ìÈÌ O +±ó¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ç㤤ʪ T9-1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¢¤² M9 Æ°»ì-¼«Î© O +¤¿¤¤ M9 ½õÆ°»ì O +µ¤Ê¬ M1 ̾»ì-°ìÈÌ O +¤Ê¤Î M9 Æ°»ì-¼«Î© O +¤À¤¬ M9 Àܳ»ì O +¤Ê¤¢ M9 ½õ»ì-½ª½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¹Í¤¨¤ë T1-9 Æ°»ì-¼«Î© O +»þ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤ó¤Ê M9 Ï¢Âλì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Á¤ç¤Ã¤È M9 Éû»ì-½õ»ìÎàÀܳ O +ÊÑ S1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +˾¤ß T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤Ê¤¨ M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¯¤ì¤ë M9 Æ°»ì-Èó¼«Î© O +ŹĹ M1 ̾»ì-°ìÈÌ O +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤«¤Ë M9 ̾»ì-°ìÈÌ O +¤¤¤é¤Ã¤·¤ã¤¤ M9 ̾»ì-°ìÈÌ O +¤Þ¤»¤ó M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤»¤á¤Æ M9 Éû»ì-°ìÈÌ O +¿¼Ìë M1 ̾»ì-Éû»ì²Äǽ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +°Ö°Â M1 ̾»ì-¥µÊÑÀܳ O +ÉØ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âбþ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉÔËþ M1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +»ö̳ M1 ̾»ì-°ìÈÌ O +°÷ S1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÀÄ»³ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-PERSON +ÉÒ¹Ô M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£´ S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Ĺºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ I-LOCATION +º´À¤ÊÝ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æ»Íý M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤é¤ì¤ì M9 Æ°»ì-ÀÜÈø O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸¢Íø M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³ÍÆÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­¤ë M9 Æ°»ì-¼«Î© O +̱¼ç M1 ̾»ì-°ìÈÌ O +¼çµÁ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¡Ç½ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¼Ò²ñ M1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÂÀÊ¿ÍÎÀïÁè M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +»þ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ũ S1 ̾»ì-°ìÈÌ O +¹ṉ̃ M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¶¯À© M1 ̾»ì-¥µÊÑÀܳ O +¼ýÍÆ M1 ̾»ì-¥µÊÑÀܳ O +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³ÖÎ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +Æü·Ï M1 ̾»ì-°ìÈÌ O +ÊÆ¿Í M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àï¸å M1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Çå½þ M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼Õºá M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ºÛȽ M1 ̾»ì-°ìÈÌ O +Æ®Áè M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì¶åȬȬǯ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ì¿ÍÆóËü T1-6 ̾»ì-¿ô B-MONEY +¥É¥ë M10 ̾»ì-°ìÈÌ I-MONEY +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Çå½þ M1 ̾»ì-¥µÊÑÀܳ O +¶â S1 ̾»ì-°ìÈÌ O +»Ùʧ¤¤ T1-9 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼Õºá M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤¤ T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æü·Ï M1 ̾»ì-°ìÈÌ O +ÊÆ¿Í M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾¡¤Á T1-9 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤½¤Î M9 Ï¢Âλì O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¿ÆÌ© M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤É¤¦¤« M9 Éû»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Æü¤Î´Ý T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤ë T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ǿ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éå¤ì T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤Ã¤¿ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +½¾·³ M1 ̾»ì-¥µÊÑÀܳ O +°Ö°Â M1 ̾»ì-¥µÊÑÀܳ O +ÉØ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ú¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +½÷À­ M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î M9 Ï¢Âλì O +¸ÀÍÕ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃΤà T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤È¤­ M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¿¤Þ¤é¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶» S1 ̾»ì-°ìÈÌ O +¤Ä¤«¤¨¤ë M9 Æ°»ì-¼«Î© O +»×¤¤ T1-9 ̾»ì-°ìÈÌ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +½¾·³ M1 ̾»ì-¥µÊÑÀܳ O +°Ö°Â M1 ̾»ì-¥µÊÑÀܳ O +ÉØ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êý¡¹ T1-2 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ƨ¤ß¤Ë¤¸ T1-9 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¿Í´Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +º¸· M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²óÉü M1 ̾»ì-¥µÊÑÀܳ O +¤ËÂФ·¤Æ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ò·è M1 ̾»ì-¥µÊÑÀܳ O +ºÑ¤ß T1-9 Æ°»ì-¼«Î© O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¼ª S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Âߤµ T1-9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºá S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹ṉ̃ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éé¤ï T1-9 Æ°»ì-¼«Î© O +¤»¤ë M9 Æ°»ì-ÀÜÈø O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +̱´Ö M1 ̾»ì-°ìÈÌ O +´ð¶â M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÀÕǤ M1 ̾»ì-°ìÈÌ O +²óÈò M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êýºö M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂǤÁ½Ð¤½ T1-9 Æ°»ì-¼«Î© O +¤¦ S9 ´¶Æ°»ì O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¶µ·± M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Ø¤Ü T1-9 Æ°»ì-¼«Î© O +¤¦¤È¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Þ¤¿ M9 Àܳ»ì O +Ʊ¤¸ T1-9 Ï¢Âλì O +²á¤Á T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·«¤êÊÖ¤¹ T1-9 Æ°»ì-¼«Î© O +¤È¤¤ M9 ̾»ì-°ìÈÌ O +¤ï¤ì¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +³°¹ñ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¿ÏÇ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÌÜ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¸«¤ë T1-9 Æ°»ì-¼«Î© O +¤Î¤â M9 Æ°»ì-¼«Î© O +ÅöÁ³ M1 Éû»ì-½õ»ìÎàÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +ÃçȪ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ή S1 Æ°»ì-¼«Î© O +¡¦ S2 µ­¹æ-°ìÈÌ O +Ëüǽ T6-1 ̾»ì-°ìÈÌ O +ÀîÌø M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡ù S2 µ­¹æ-°ìÈÌ O +°õ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½¨°ï M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÃçȪ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µ®»Ö M1 ̾»ì-°ìÈÌ O +Áª S1 Æ°»ì-¼«Î© O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡ù S2 µ­¹æ-°ìÈÌ O +ɤà T1-9 Æ°»ì-¼«Î© O +Êì S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +²¿¤«¤È T1-9 Éû»ì-°ìÈÌ O +ËÍ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ê S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°®¤ë T1-9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÅçÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÂçÀÐ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +º£ÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +£³ S5 ̾»ì-¿ô O +Éà S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +µã¤±¤ë T1-9 Æ°»ì-¼«Î© O +Æõ» M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Ä T1-9 Æ°»ì-¼«Î© O +½÷ S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¶áÆ£ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +·Ã¼Â»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¥Æ¥ì¥Ó M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½Ð S1 Æ°»ì-¼«Î© O +¤Ì S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸À¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¿ S9 ½õÆ°»ì O +Àäĺ M1 ̾»ì-°ìÈÌ O +´ü S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÁêÌϸ¶ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¿åÌî M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¥¿¥±¥· M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +»Ò S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Æ¥¹¥È M10 ̾»ì-¥µÊÑÀܳ O +±£¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤È¤³ M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊÖ¤· T1-9 Æ°»ì-¼«Î© O +¤È¤¯ M9 Éû»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ȬÆü»Ô¾ì T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +ÎÓ S1 ̾»ì-°ìÈÌ O +ÀµÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ãó¶Ø M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ú S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±£¤¹ T1-9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¼«Æ°¼Ö M1 ̾»ì-°ìÈÌ O +»ß¤á T1-9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¹âÄÐ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +´Ø S1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +·¼°ìϺ T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¸«±É M1 ̾»ì-°ìÈÌ O +¤¸¤ã M9 Àܳ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +°ÕÃÏ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤»¤í T1-9 Æ°»ì-¼«Î© O +¤è S9 ½õ»ì-½ª½õ»ì O +¤ª¤¤ M9 ´¶Æ°»ì O +©»Ò M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¸ÍÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¾®¾¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¿Âå M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +²Ç¤¤ T1-9 Æ°»ì-¼«Î© O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¤ªÃë T9-1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ËèÆü M1 ̾»ì-Éû»ì²Äǽ O +¿©¤Ù T1-9 Æ°»ì-¼«Î© O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¯¤ë M9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +·²ÇÏ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¾®ÎÓ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ãÌé M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¥¿¥ì¥ó¥È M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÁÇ´é M1 ̾»ì-°ìÈÌ O +ÃΤà T1-9 Æ°»ì-¼«Î© O +¤Æ¤ë M9 Æ°»ì-Èó¼«Î© O +¥Þ¥Í¥¸¥ã¡¼ M10 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÉÍǼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +°ì¹¨ T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¥¢¥Ê¾ì T10-1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸À S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¿¤é M9 ½õÆ°»ì O +¤â¤¦ M9 Éû»ì-°ìÈÌ O +¥¢¥Ê¾ì T10-1 ̾»ì-°ìÈÌ O +¤¸¤ã M9 Àܳ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +´Øº¬ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¿¿µÝ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +ÃΤé T1-9 Æ°»ì-¼«Î© O +¤Ì S9 ½õÆ°»ì O +¿Í S1 ̾»ì-°ìÈÌ O +²¶ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +±½ S1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¶ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +»Í¾òÆí T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÌîÅÌ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +²»Íý M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¥­¥Æ¥£¤Á¤ã¤ó T10-9 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +½¸¤á¤ë T1-9 Æ°»ì-¼«Î© O +²æ¤¬ T1-9 Ï¢Âλì O +̼ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ǯ S1 ̾»ì-°ìÈÌ O +¤¤¤¨ M9 ´¶Æ°»ì O +¤Ì S9 ½õÆ°»ì O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +»³¸ý M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¹­Ãæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +±Ù»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +ÈäϪ±ã M1 ̾»ì-°ìÈÌ O +²Ç S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤¬¤» M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¾·¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +°Ëð M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +²¬ S1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¹¨ÌÀ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +ÍÛ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Åö¤¿¤ë T1-9 Æ°»ì-¼«Î© O +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ O +Áª¤ó T1-9 Æ°»ì-¼«Î© O +¤Ç S9 ½õÆ°»ì O +ΩÏà M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Ë̳¤Æ» M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÄÅÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»þÂå M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÅÜÌĤé T1-9 Æ°»ì-¼«Î© O +¤Ê¤¯¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¿´ÇÛ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤»¤ë M9 Æ°»ì-ÀÜÈø O +É× S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +½ÂÀî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÇßÂô M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Á± S1 ·ÁÍÆ»ì-¼«Î© O +Æó S6 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +µã¤¯ T1-9 Æ°»ì-¼«Î© O +»Ò S1 ̾»ì-°ìÈÌ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +µã¤± T1-9 Æ°»ì-¼«Î© O +̵¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Êì S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿È S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ä¤é¤µ M9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +À¾ÏÆ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÅìÌî M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÇîÀã M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¸á¸å M1 ̾»ì-Éû»ì²Äǽ O +¸Þ»þ T6-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²á¤® T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Îɤ¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +°ß S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä´»Ò M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +µÜºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +½½²Ï»°ÏÂ»Ò T6-1 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¥­¥å¥í¥Ã¥È M10 ̾»ì-°ìÈÌ O +¥¹¥« M10 ̾»ì-°ìÈÌ O +¡¼¥È¤Ê¤Î¥Ñ¥ó¥Ä¤Ê¤Î T10-9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¿À¸Í M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +À¾¶¿ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +δͺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¾¯½÷ M1 ̾»ì-°ìÈÌ O +²Î¼ê M1 ̾»ì-°ìÈÌ O +Îø S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÃΤ餺 T1-9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Îø S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +±´ S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÀŲ¬ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¿ù»³ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Äç°ì T1-6 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +Ʊ´ü M1 ̾»ì-Éû»ì²Äǽ O +¤Ê¤Î¤Ë M9 Àܳ»ì O +£± S5 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤â S9 ½õ»ì-·¸½õ»ì O +º¹ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¼ÂÀÓ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +´ð½à M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +¾¾²¼ÅÅ´ï M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ÝĹ M1 ̾»ì-°ìÈÌ O +°Ê¾å M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +À©ÅÙ M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +º£Åß M1 ̾»ì-Éû»ì²Äǽ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Â»Ü M1 ̾»ì-¥µÊÑÀܳ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ʊ´ü M1 ̾»ì-Éû»ì²Äǽ O +Æþ¼Ò M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ⱦ´ü M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ü¡¼¥Ê¥¹ M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +É´¸Þ½½Ëü±ß T6-1 ̾»ì-¿ô O +¤â S9 ½õ»ì-·¸½õ»ì O +³«¤­ T1-9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð¤ë T1-9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¾¾²¼ÅŴﻺ¶È M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ÝĹ M1 ̾»ì-°ìÈÌ O +°Ê¾å M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ÉÍý M1 ̾»ì-¥µÊÑÀܳ O +¿¦ S1 ̾»ì-°ìÈÌ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +°ìËü°ìÀé¿Í T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ùµë M1 ̾»ì-¥µÊÑÀܳ O +³Û S1 ̾»ì-°ìÈÌ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶È̳ M1 ̾»ì-°ìÈÌ O +¼ÂÀÓ M1 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ð½à M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á¤ë T1-9 Æ°»ì-¼«Î© O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£Åß M1 ̾»ì-Éû»ì²Äǽ O +»Ùµë M1 ̾»ì-¥µÊÑÀܳ O +ʬ¤«¤é T1-9 Æ°»ì-¼«Î© O +ËÜ³Ê M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +½¾Íè M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ǯ¸ù½øÎó M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼ÂÀÓ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆóËÜΩ¤Æ T1-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +³Û S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ǽÎÏ M1 ̾»ì-°ìÈÌ O +¼çµÁ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Å°Äì M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Þ¤ë T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÁÀ¤¤ T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥ê¥¹¥È¥é M10 ̾»ì-¥µÊÑÀܳ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +»ö¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +¹½ÃÛ M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂÐ¾Ý M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Ãæ´Ö M1 ̾»ì-°ìÈÌ O +´ÉÍý M1 ̾»ì-¥µÊÑÀܳ O +¿¦ S1 ̾»ì-°ìÈÌ O +¤Ë¤È¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Þ¤¹¤Þ¤¹ M9 Éû»ì-½õ»ìÎàÀܳ O +¸·¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ê M9 Æ°»ì-¼«Î© O +¤½¤¦¤À M9 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¾¾²¼ÅÅ´ï M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ÉÍý M1 ̾»ì-¥µÊÑÀܳ O +¿¦ S1 ̾»ì-°ìÈÌ O +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +ǯ¸ù½øÎó M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ÂÀÓ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +È¿±Ç M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +´´Éô M1 ̾»ì-°ìÈÌ B-ARTIFACT +¿¦ S1 ̾»ì-°ìÈÌ I-ARTIFACT +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ I-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹½À® M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +ÈæΨ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ⱦ¡¹ T1-2 ̾»ì-°ìÈÌ B-OPTIONAL +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ǯ¸ù½øÎó M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +³Û S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤Þ¤ê T1-9 Æ°»ì-¼«Î© O +Ʊ´ü M1 ̾»ì-Éû»ì²Äǽ O +Æþ¼Ò M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ì M9 ´¶Æ°»ì O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¤Û¤È¤ó¤É M9 Éû»ì-°ìÈÌ O +ÊѤï¤é T1-9 Æ°»ì-¼«Î© O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²ÝĹ M1 ̾»ì-°ìÈÌ O +°Ê¾å M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ç¤Ï M9 Àܳ»ì O +¤¹¤Ù¤Æ M9 ̾»ì-Éû»ì²Äǽ O +ÇÑ»ß M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ÂÀÓ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â¤È M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á¤ë T1-9 Æ°»ì-¼«Î© O +´´Éô M1 ̾»ì-°ìÈÌ O +¿¦ S1 ̾»ì-°ìÈÌ O +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ìËܲ½ T6-1 ̾»ì-¿ô O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î M9 Ï¢Âλì O +ɾ²Á M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ê£¿ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾å»Ê M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åö¤¿¤ê T1-9 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸Þ S6 ̾»ì-¿ô O +Ãʳ¬ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤É¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥é¥ó¥¯ M10 ̾»ì-°ìÈÌ O +ÉÕ¤± T1-9 ̾»ì-°ìÈÌ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ü¡¼¥Ê¥¹ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³Û S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤Þ¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Î㤨¤Ð T1-9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÉôĹ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºÇÂç M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +É´¸Þ½½Ëü±ß T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ÝĹ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +É´ S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³Êº¹ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤¯ M9 Æ°»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ºòÅß M1 ̾»ì-Éû»ì²Äǽ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»î¸³ M1 ̾»ì-¥µÊÑÀܳ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +ÆóÆü»Ùµëʬ T6-1 ̾»ì-¿ô O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ËÜ³Ê M1 ̾»ì-°ìÈÌ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ƨ¤ßÀڤà T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤¿¤À M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µëÍ¿ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½¾Íè M1 ̾»ì-Éû»ì²Äǽ O +Ä̤ê T1-9 ̾»ì-°ìÈÌ O +ǯ¸ù½øÎó M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ðËÜ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÉôĹ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²Æ S1 ̾»ì-Éû»ì²Äǽ O +Åß S1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ÞÍ¿ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ǯ¼ý M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Í S6 ̾»ì-¿ô O +¡» S2 µ­¹æ-°ìÈÌ O +¡½ S2 µ­¹æ-°ìÈÌ O +¸Þ S6 ̾»ì-¿ô O +¡» S2 µ­¹æ-°ìÈÌ B-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àê¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ¼Ò M1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +²È·× M1 ̾»ì-°ìÈÌ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ª°Æ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ìµ¤¤Ë T1-9 Éû»ì-°ìÈÌ O +É´¸Þ½½Ëü±ß T6-1 ̾»ì-¿ô O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +º¹ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤¯ M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Èò¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Á´ S1 ÀÜƬ»ì-̾»ìÀܳ O +¹ë S1 ·ÁÍÆ»ì-¼«Î© O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +Ÿ˾ M1 ̾»ì-¥µÊÑÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¶¯²½ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Æ¤Ó³Ý¤± T1-9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥á¥ë¥Ü¥ë¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-DATE +£¶ S5 ̾»ì-¿ô I-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +ÀÆÆ£ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¹Ôµð M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +À¤³¦ M1 ̾»ì-°ìÈÌ O +½½ S6 ̾»ì-¿ô O +¥«¹ñ T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À¯¼£ M1 ̾»ì-°ìÈÌ O +²È S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +¿Í S1 ̾»ì-°ìÈÌ O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +ÀéÆóÉ´¿Í T6-1 ̾»ì-¿ô O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»²²Ã M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥ª¡¼¥¹¥È¥é¥ê¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +´Ö S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +Â¥¿Ê M1 ̾»ì-¥µÊÑÀܳ O +ºö S1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +õ¤ë T1-9 Æ°»ì-¼«Î© O +Á´ S1 ÀÜƬ»ì-̾»ìÀܳ O +¹ë S1 ·ÁÍÆ»ì-¼«Î© O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +Ÿ˾ M1 ̾»ì-¥µÊÑÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¸á¸å M1 ̾»ì-Éû»ì²Äǽ B-TIME +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»° S6 ̾»ì-¿ô O +Æü´Ö M1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆüÄø M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥á¥ë¥Ü¥ë¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +»ÔÆâ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ñºÝ M1 ̾»ì-°ìÈÌ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¾ì S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +»Ï¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÂçÀ¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÀµÊ¸ M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¾¦¹© M1 ̾»ì-°ìÈÌ I-ORGANIZATION +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ I-ORGANIZATION +²ñƬ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÄĹ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +Âåɽ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +ÃÄ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +Æó½½¸Þ¿Í T6-1 ̾»ì-¿ô O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»²²Ã M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¶¯²½ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Æ¤Ó¤«¤±¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¹ë½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼çºÅ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ºÇÂç M1 ̾»ì-°ìÈÌ O +µ¬ÌÏ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æó²óÌÜ T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +¹ë½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ü¤¯ T1-9 Æ°»ì-¼«Î© O +»²²Ã M1 ̾»ì-¥µÊÑÀܳ O +½½ S6 ̾»ì-¿ô O +¥«¹ñ T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¶å S6 ̾»ì-¿ô O +¥«¹ñ T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +½ô¹ñ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ¹ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +½Å»ë M1 ̾»ì-¥µÊÑÀܳ O +À¯ºö M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +È¿±Ç M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +º£²ó M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ï¥¤¥é¥¤¥È M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ȬÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¥»¥Ã¥·¥ç¥ó M10 ̾»ì-°ìÈÌ I-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀâÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¹ñ S1 ̾»ì-°ìÈÌ O +ÊÌ S1 ̾»ì-°ìÈÌ O +ʬ²Ê M1 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Í£°ì T1-6 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÏ°è M1 ̾»ì-°ìÈÌ O +ÊÌ S1 ̾»ì-°ìÈÌ O +ʬ²Ê M1 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +´ØÀ¾¹ñºÝ¶õ¹Á M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-OPTIONAL +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³«¹Á M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ¹ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥ó¥»¥Ã¥È¹Ò¶õ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥«¥ó¥¿¥¹¹Ò¶õ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ľ¹Ô M1 ̾»ì-¥µÊÑÀܳ O +ÊØ S1 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Â¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¢¤Ã M9 ´¶Æ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ë½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +·ÐºÑ M1 ̾»ì-°ìÈÌ O +³¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ø¿´ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ö¶È M1 ̾»ì-°ìÈÌ O +³ÈÂç M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÁÀ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +ÆÃÊÌ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÏ°è M1 ̾»ì-°ìÈÌ O +ÊÌ S1 ̾»ì-°ìÈÌ O +ʬ²Ê M1 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àߤ± T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +³°Ì³ M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +¾Ê S1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +ÉÜ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +»Ô S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´Ø·ÐÏ¢ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +´´Éô M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»²²Ã M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +³«²ñ M1 ̾»ì-¥µÊÑÀܳ O +¼° S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀèΩ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +µ­¼Ô M1 ̾»ì-°ìÈÌ O +²ñ¸« M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¥Ü¥Ö M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ I-PERSON +¥Þ¥¯¥Þ¥é¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +Áê S1 ÀÜƬ»ì-Æ°»ìÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÆÃ¤Ë T1-9 Éû»ì-°ìÈÌ O +Ãæ¾® M1 ̾»ì-°ìÈÌ O +´ë¶È M1 ̾»ì-°ìÈÌ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¨¤ì T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¹ë½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶å S6 ̾»ì-¿ô B-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +°Ê¾å M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãæ¾® M1 ̾»ì-°ìÈÌ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¹ë½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +·ÐºÑ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À®Ä¹ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ãæ¾® M1 ̾»ì-°ìÈÌ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°éÀ® M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉԲķç M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Í¢½Ð M1 ̾»ì-¥µÊÑÀܳ O +Â¥¿Ê M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ù±ç M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤¯ M9 Æ°»ì-Èó¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥µ¥Ã¥«¡¼ M10 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +£Ê¥ê¡¼¥° T7-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-OPTIONAL +¡¡ S13 µ­¹æ-¶õÇò O +¥¢¥ë¥·¥ó¥É M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àîºê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Æþ¤ê T1-9 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +´õ˾ M1 ̾»ì-¥µÊÑÀܳ O + +¡¡ S13 µ­¹æ-¶õÇò O +£Ê¥ê¡¼¥° T7-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-OPTIONAL +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼¯Åç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂàÃÄ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µî½¢ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃíÌÜ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¥¢¥ë¥·¥ó¥É M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àîºê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-PERSON +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ÜÀÒ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´õ˾ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àîºê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿¹²¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¼ÒĹ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÌÀ¤é¤« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿¹²¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¼ÒĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼¯Åç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¥¢¥ë¥·¥ó¥É M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊÝ S1 ̾»ì-°ìÈÌ O +Í­¸¢ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥Ñ¥¹ M10 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥ë¥·¥ó¥É M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼¯Åç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ö S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +²ò·è M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àè·è M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤· S9 Æ°»ì-¼«Î© O +¤Ê¤¬¤é M9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³ÍÆÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Õ»× M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɽÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¢¥ë¥·¥ó¥É M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ö¥é¥¸¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¢¹ñ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ͽÄê M1 ̾»ì-¥µÊÑÀܳ O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +Æü S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂåÍý¿Í M1 ̾»ì-°ìÈÌ O +¤òÄ̤·¤Æ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Àîºê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ÜÀÒ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´õ˾ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿¹²¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¼ÒĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤¢¤ì M9 ´¶Æ°»ì O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áª¼ê M1 ̾»ì-°ìÈÌ O +¤Ê¤Î¤Ç M9 Àܳ»ì O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ç S9 ½õÆ°»ì O +¥×¥ì¡¼ M10 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +µ¡²ñ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í¿ S1 Æ°»ì-¼«Î© O +¤¨¤¿¤¤ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­¤ì M9 Æ°»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ïä· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¢¥ë¥·¥ó¥É M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥¸¡¼¥³ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿äÁ¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +»°·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ö¥é¥¸¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥°¥ì¥ß¥ª M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼¯Åç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +£± S5 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +ÌÜ S1 ̾»ì-°ìÈÌ I-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºòµ¨ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£² S5 ̾»ì-¿ô O +ÆÀÅÀ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£µ¨ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤â S9 ½õ»ì-·¸½õ»ì O +£² S5 ̾»ì-¿ô O +ÆÀÅÀ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µó¤² T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¤¤º¤ì M9 Éû»ì-½õ»ìÎàÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÆÀÅÀ M1 ̾»ì-¥µÊÑÀܳ O +²¦ S1 ̾»ì-°ìÈÌ O +Á褤 T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æó S6 ̾»ì-¿ô O +°Ì S1 ̾»ì-Éû»ì²Äǽ O +¤Ë¤Ä¤±¤ë M9 Æ°»ì-¼«Î© O +³èÌö M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤» T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Àè·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ǯÊð M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¿äÄê M1 ̾»ì-¥µÊÑÀܳ O +£³£°£°£° M5 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥Ã¥× M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼¯Åç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸ò¾Ä M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À®Î© M1 ̾»ì-¥µÊÑÀܳ O +¤» S9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·ÀÌó M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂǤÁÀڤà T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿¹²¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¼ÒĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ǯÊð M1 ̾»ì-°ìÈÌ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Àîºê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ð½à M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Ï䷹礦 T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÅÁ¤¨ T1-9 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +£± S5 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤Ï S9 ½õ»ì-·¸½õ»ì O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¶áÆ£ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Ãéͺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÂáÊá M1 ̾»ì-¥µÊÑÀܳ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +½»Í§¶ä¹Ô M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶²³å M1 ̾»ì-¥µÊÑÀܳ O +̤¿ë M1 ̾»ì-°ìÈÌ O +ÍƵ¿ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O + +¡¡ S13 µ­¹æ-¶õÇò O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°¦ÃÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ξ S1 ÀÜƬ»ì-̾»ìÀܳ O +Éܸ©·Ù M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶¦Æ± M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +Áܺº M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +ËÜÉô M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½»Í§¶ä¹Ô M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¼èÄùÌò M1 ̾»ì-°ìÈÌ O +̾¸Å²° M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»ÙŹ M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȪÃæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÏÂʸ M1 ̾»ì-°ìÈÌ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Åö»þ M1 ̾»ì-Éû»ì²Äǽ O +¸Þ½½»ÍºÐ T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼Í»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¡½Ò M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +̾¸Å²° M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +̾Åì M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +¶è S1 ̾»ì-°ìÈÌ I-LOCATION +Ëܶ¿ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-LOCATION +»° S6 ̾»ì-¿ô I-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̵¿¦ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶áÆ£ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Ãéͺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£· S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡á S2 µ­¹æ-°ìÈÌ O +½ÆÅá M1 ̾»ì-°ìÈÌ B-ARTIFACT +Ë¡ S1 ̾»ì-°ìÈÌ I-ARTIFACT +°ãÈ¿ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºá S1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +ÃÏºÛ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¯ÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¡á S2 µ­¹æ-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿ÈÊÁ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°¦ÃÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¸©·Ù M1 ̾»ì-°ìÈÌ I-ORGANIZATION +ËÜÉô M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°Ü¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤ËÂФ¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¶²³å M1 ̾»ì-¥µÊÑÀܳ O +̤¿ë M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¿¤¤ T1-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÂáÊá M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ìÊý T6-1 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ƱÆü M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȪÃæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +»¦³² M1 ̾»ì-¥µÊÑÀܳ O +¸½¾ì M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +½ÆÃÆ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÍƵ¿ M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ê»ý M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +£Ó¡õ£× T2-7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥¹¥ß¥¹¡¦¥¢¥ó¥É¡¦¥¦¥¨¥Ã¥½¥ó T2-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¼Ò S1 ̾»ì-°ìÈÌ O +À½ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»°È¬¸ý·Â²óž¼° T6-1 ̾»ì-¿ô O +¤±¤ó½Æ T9-1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȯ¼Í M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿¤È M9 Æ°»ì-¼«Î© O +¤¹¤ë M9 Æ°»ì-¼«Î© O +·Ù»¡Ä£ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +²Ê³Ø·Ù»¡¸¦µæ½ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Àµ¼° M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +´ÕÄê M1 ̾»ì-¥µÊÑÀܳ O +·ë²Ì M1 ̾»ì-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð S1 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ä´¤Ù T1-9 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÍƵ¿ M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Àè·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +¾å½Ü M1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +ÅÔÆâ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ʊ¹Ô M1 ̾»ì-¥µÊÑÀܳ O +Ƭ¼è M1 ̾»ì-°ìÈÌ O +¤¢¤Æ M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²æ¡¹ T1-2 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½»Í§¶ä¹Ô M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¼¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +º¨¤ß T1-9 Æ°»ì-¼«Î© O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êú¤­ T1-9 Æ°»ì-¼«Î© O +Éü½² M1 ̾»ì-¥µÊÑÀܳ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤Õ¤¯¤·¤å¤¦ M9 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ç° S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +dz¤¨ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ºÇ½é M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¿¡¼¥²¥Ã¥È M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +´°Á´ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ò¥Ã¥È M10 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½ñ¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¶¼Ç÷ M1 ̾»ì-¥µÊÑÀܳ O +¾õ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +͹Á÷ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +½½°ìÆü¸á¸åÆó»þȾ T6-1 ̾»ì-¿ô O +¤´¤í M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ O +Ãæ±û M1 ̾»ì-°ìÈÌ O +¶è S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ʊ¹Ô M1 ̾»ì-¥µÊÑÀܳ O +ËÜŹ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ˬ¤ì T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶¼Ç÷ M1 ̾»ì-¥µÊÑÀܳ O +¾õ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ñ¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +ÆâÍÆ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶¼Ç÷ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤¤ T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ȪÃæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ä¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤ª¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥°¥ë¡¼¥× M10 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¶¼¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Í»»ñ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̾ÌÜ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Ʊ¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶â S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¼¤·¼è¤í T1-9 Æ°»ì-¼«Î© O +¤¦¤È¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +µ¿¤¤ T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ä´¤Ù T1-9 ̾»ì-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÍƵ¿ M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ƭ¼è M1 ̾»ì-°ìÈÌ O +¤¢¤Æ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶¼Ç÷ M1 ̾»ì-¥µÊÑÀܳ O +¾õ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +½ñ¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +½Ð¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¶¡½Ò M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂáÊá M1 ̾»ì-¥µÊÑÀܳ O +»ö¼Â M1 ̾»ì-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Û¤Ü M9 Éû»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +£¹ S5 ̾»ì-¿ô B-DATE +¡½ S2 µ­¹æ-°ìÈÌ I-DATE +£¹ S5 ̾»ì-¿ô I-DATE +ǯÅÙ M1 ̾»ì-°ìÈÌ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÏÊý M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àè¹Ô M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +¡¡ S13 µ­¹æ-¶õÇò I-ORGANIZATION +Í¿ÅÞ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¸¡Æ¤ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +°Ñ S1 ̾»ì-ÀÜÈø-°ìÈÌ I-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ðËÜ M1 ̾»ì-°ìÈÌ O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +À°È÷ M1 ̾»ì-¥µÊÑÀܳ O +¿·´´Àþ M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +Í¿ÅÞ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À°È÷ M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +¿·´´Àþ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¸¡Æ¤ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +°Ñ°÷ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì¶å¶å¸ÞǯÅÙ°Ê¹ß T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À°È÷ M1 ̾»ì-¥µÊÑÀܳ O +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ðËÜ M1 ̾»ì-°ìÈÌ O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Ç¤á T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¸½¹Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºâ¸» M1 ̾»ì-°ìÈÌ O +Ééô M1 ̾»ì-¥µÊÑÀܳ O +³ä¹ç M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÃÏÊý M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ééô M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +°ì S6 ̾»ì-¿ô B-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÏÈÆâ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¶å S6 ̾»ì-¿ô B-DATE +¡½ S2 µ­¹æ-°ìÈÌ I-DATE +¶å S6 ̾»ì-¿ô I-DATE +ǯÅÙ M1 ̾»ì-°ìÈÌ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àè¹Ô M1 ̾»ì-¥µÊÑÀܳ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤»¤ë M9 Æ°»ì-ÀÜÈø O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¶å¼·Ç¯ÅÙ°Ê¹ß T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£Ê£Ò M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊÝ S1 ̾»ì-°ìÈÌ O +Í­¤¹¤ë T1-9 Æ°»ì-¼«Î© O +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤«¤ë M9 Æ°»ì-¼«Î© O +¸ÇÄê M1 ̾»ì-¥µÊÑÀܳ O +»ñ»º M1 ̾»ì-°ìÈÌ O +ÀÇ S1 ̾»ì-°ìÈÌ O +ʬ S1 Æ°»ì-¼«Î© O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ð S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆÃÄê M1 ̾»ì-¥µÊÑÀܳ O +ºâ¸» M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÁϽРM1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æó S6 ̾»ì-¿ô O +ÅÀ S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ë¤è¤ê M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +Â¥¿Ê M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Þ¤ë T1-9 Æ°»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +À°È÷ M1 ̾»ì-¥µÊÑÀܳ O +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸½ºß M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÌΦ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹âºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡½ S2 µ­¹æ-°ìÈÌ O +ĹÌî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +´Ö S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï¤¸¤á M9 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅìËÌ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶å½£ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +»°Àþ¸Þ¶è´Ö T6-1 ̾»ì-¿ô O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Ê¤á T1-9 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µµ°æ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÀŹá M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +±¿Í¢ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +Áê S1 ÀÜƬ»ì-Æ°»ìÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯¹Å M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ÍèǯÅÙ M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»°Àþ¸Þ¶è´Ö°Ê³° T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ã幩 M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶å S6 ̾»ì-¿ô B-DATE +ǯÅÙ M1 ̾»ì-°ìÈÌ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶å½£ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·§ËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +±Ø S1 ̾»ì-°ìÈÌ I-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÌΦ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÉÙ»³ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ê¡°æ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾®¾¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +±Ø S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãå¼ê M1 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +À°È÷ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅìËÌ¿·´´Àþ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ȭ¹ÃÅÄ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¥È¥ó¥Í¥ë M10 ̾»ì-°ìÈÌ I-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶å½£ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¿·´´Àþ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀÔ¿¶ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤»¤Õ¤ê M9 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥È¥ó¥Í¥ë M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä´ºº M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤¦ T1-9 Æ°»ì-¼«Î© O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Æ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤Ç¤Ë M9 Éû»ì-°ìÈÌ O +¤Þ¤È¤á M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ƱÆü M1 ̾»ì-Éû»ì²Äǽ O +¸áÁ° M1 ̾»ì-Éû»ì²Äǽ B-TIME +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±¿Í¢ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âç¢ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«¼£ M1 ̾»ì-°ìÈÌ O +»°¾Ê T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ôÅö M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ò¤¨ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +²ñ¹ç M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤ì¤é M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀâÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +±¿Í¢¾Ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÍèǯÅÙ M1 ̾»ì-Éû»ì²Äǽ O +ͽ»» M1 ̾»ì-°ìÈÌ O +³µ»» M1 ̾»ì-¥µÊÑÀܳ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áí S1 ÀÜƬ»ì-̾»ìÀܳ O +»ö¶È M1 ̾»ì-°ìÈÌ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ÆóÀéÆóÉ´¼·½½Ï»²¯±ß T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»°Àþ¸Þ¶è´Ö°Ê³°Ê¬ T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¼¤Æ¤ë T1-9 Æ°»ì-¼«Î© O +¿ô S1 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤Ò¤Í¤ê½Ð¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãå¼ê M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿¤¤ M9 Æ°»ì-¼«Î© O +¹½¤¨ T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +²¤ÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¼çƳ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-ORGANIZATION +ÉÔËþ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡¡ S13 µ­¹æ-¶õÇò I-ORGANIZATION +Ê¿Ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ I-ORGANIZATION +°Ý»ý M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +·³ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ïÀß M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¶¨µÄ M1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +£Ã£Ó£Ã£Å M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥Ö¥À¥Ú¥¹¥È M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +£· S5 ̾»ì-¿ô O +Æü¹â M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Ȫ S1 ̾»ì-°ìÈÌ I-PERSON +¾¼ÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ë¸ý M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ĹÀ¤ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +ÊÄËë M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¥Ö¥À¥Ú¥¹¥È M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Á´²¤ M1 ̾»ì-°ìÈÌ O +°ÂÊÝ M1 ̾»ì-°ìÈÌ O +¶¨ÎÏ M1 ̾»ì-¥µÊÑÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Ã£Ó£Ã£Å M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¼óǾ M1 ̾»ì-°ìÈÌ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +µì S1 ÀÜƬ»ì-̾»ìÀܳ B-LOCATION +¥½Ï¢ T10-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ I-LOCATION +¥¢¥¼¥ë¥Ð¥¤¥¸¥ã¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʶÁè M1 ̾»ì-¥µÊÑÀܳ O +ÃÏ°è M1 ̾»ì-°ìÈÌ O +¥Ê¥´¥ë¥Î¥«¥é¥Ð¥Õ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£Ã£Ó£Ã£Å M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Ê¿Ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ I-ORGANIZATION +°Ý»ý M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +·³ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +Çɸ¯ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ðËÜ M1 ̾»ì-°ìÈÌ O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +·èÎö M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´íµ¡ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²óÈò M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤â¤Î¤Î M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼óǾ M1 ̾»ì-°ìÈÌ O +³°¸ò M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +²¤ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¼çƳ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ÂÁ´ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +Êݾã M1 ̾»ì-¥µÊÑÀܳ O +Àïά M1 ̾»ì-°ìÈÌ O +¤ËÂФ¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÉÔËþ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ê®½Ð M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +·ë²Ì M1 ̾»ì-Éû»ì²Äǽ O +¤È¤Ê¤ê M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ʬÃÇ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +²¤½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¼Â¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìܻؤ¹ T1-9 Æ°»ì-¼«Î© O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·ë« M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ÅÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +²ÝÂê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åꤲ¤«¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¼óǾ M1 ̾»ì-°ìÈÌ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +ÎäÀï M1 ̾»ì-°ìÈÌ O +½ª·ë M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +º®Íð M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·Ð¤Æ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤É¤Î M9 Ï¢Âλì O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +°ÂÊÝ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ÅÁÈ¤ß T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤¯¤ë M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾ÇÅÀ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ϫ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²¤½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»°ËÜ T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Ãì S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +°ÂÁ´ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +Êݾã M1 ̾»ì-¥µÊÑÀܳ O +µ¡´Ø M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤¯¤ë M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼ç´ã M1 ̾»ì-°ìÈÌ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î M9 Ï¢Âλì O +Åú¤¨ T1-9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á´²¤ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +°ÂÊÝ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¶¨ÎÏ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +µ¡¹½ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Ï£Ó£Ã£Å M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +ʸ½ñ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ê¥´¥ë¥Î¥«¥é¥Ð¥Õ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ê¿Ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +°Ý»ý M1 ̾»ì-¥µÊÑÀܳ O +·³ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¹ñÏ¢ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +°ÂÊÝÍý M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À¯¼£ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +»Ù±ç M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾ò·ï M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾ïÀß M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +Íý»ö M1 ̾»ì-°ìÈÌ I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼ÂºÝ M1 Éû»ì-½õ»ìÎàÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºîÀï M1 ̾»ì-°ìÈÌ O +»Ø´ø M1 ̾»ì-¥µÊÑÀܳ O +¸¢ S1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Ä T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +°Ý»ý M1 ̾»ì-¥µÊÑÀܳ O +·³ S1 ̾»ì-°ìÈÌ O +Çɸ¯ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£Ï£Ó£Ã£Å M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ÅÁÈ¤ß T1-9 ̾»ì-°ìÈÌ O +¤Å¤¯¤ê M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»î¶âÀÐ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ»þ¤Ë T1-9 Éû»ì-°ìÈÌ O +¼óǾ M1 ̾»ì-°ìÈÌ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Í轩 M1 ̾»ì-Éû»ì²Äǽ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾ïÀß M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +Ê¿Ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ I-ORGANIZATION +°Ý»ý M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +·³ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´Þ¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +£Ï£Ó£Ã£Å M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆùÉÕ¤± T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +·Ñ³ M1 ̾»ì-¥µÊÑÀܳ O +¶¨µÄ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È¤Ë M9 Éû»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¼è¼¡ M1 ̾»ì-°ìÈÌ O +ÈÖ S1 ̾»ì-°ìÈÌ O +Æü»ï M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +·Ä±þÂç³Ø M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¾ÅÆî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +Æ£Âô M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¥­¥ã¥ó¥Ñ¥¹ M10 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +·Ä±þÂç³Ø M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¾ÅÆî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +Æ£Âô M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¥­¥ã¥ó¥Ñ¥¹ M10 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +»Í·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½é¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´¶ÈÀ¸ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á÷¤ê½Ð¤· T1-9 Æ°»ì-¼«Î© O +¤¿¤Ð¤«¤ê M9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ã¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Âç³Ø M1 ̾»ì-°ìÈÌ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»°ÅÄ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +ÆüµÈ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÃÏÍý M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Î¥¤ì T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶µ°é M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ÅÁÈ¤ß T1-9 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³ØÀ¸ M1 ̾»ì-°ìÈÌ O +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÆÈΩ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +Âç³Ø M1 ̾»ì-°ìÈÌ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +°Õ¼± M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ã˽÷ M1 ̾»ì-°ìÈÌ O +¿ô S1 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ïà S1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʹ¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤¿¤é M9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +¥­¥ã¥ó¥Ñ¥¹ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Ó£Æ£Ã M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥¨¥¹¥¨¥Õ¥·¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç¤Ï M9 Àܳ»ì O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ïä· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âç·î M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÊÔ½¸ M1 ̾»ì-¥µÊÑÀܳ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½é¤á T1-9 ̾»ì-Éû»ì²Äǽ O +¤­¤ç¤È¤ó M9 Éû»ì-½õ»ìÎàÀܳ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤Þ M9 ̾»ì-Éû»ì²Äǽ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Æþ³Ø M1 ̾»ì-¥µÊÑÀܳ O +¸å¤Ë T1-9 Éû»ì-°ìÈÌ O +¥Ï¡¼¥É M10 ̾»ì-°ìÈÌ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ÊÙ¶¯ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤»¤ë M9 Æ°»ì-ÀÜÈø O +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥¢¥á¥ê¥« M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¼° S1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥é¥¯¥í¥¹ M10 ̾»ì-°ìÈÌ O +¤Ï¤¸¤á M9 ̾»ì-Éû»ì²Äǽ O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +¥¹¥Ý¡¼¥Ä M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ȯ¿® M1 ̾»ì-¥µÊÑÀܳ O +ÃÏ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¥µ¡¼¥¯¥ë M10 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +À¹¤ó T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤é¤·¤¤ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿ʬ M1 Éû»ì-°ìÈÌ O +°ìÀ¸ T6-1 ̾»ì-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +º£ S1 ̾»ì-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ìÈÖ T6-1 ̾»ì-Éû»ì²Äǽ O +Ë»¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¾Ð¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +³ØÀ¸ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¤¤Þ M9 ̾»ì-Éû»ì²Äǽ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÙ¶¯ M1 ̾»ì-¥µÊÑÀܳ O +¹¥¤­ T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ç S9 ½õÆ°»ì O +Ë»¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +À¸³è M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ʊ¤¸ T1-9 Ï¢Âλì O +·Ä±þ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +»°ÅÄ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +ÆüµÈ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³ØÀ¸ M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÄÁ¤·¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +´¶¤¸ T1-9 ̾»ì-°ìÈÌ O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤È¤³¤í¤Ç M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥­¥ã¥ó¥Ñ¥¹ M10 ̾»ì-°ìÈÌ O +¥Í¥Ã¥È M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ìÈÖ T6-1 ̾»ì-Éû»ì²Äǽ O +º®»¨ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸áÁ° M1 ̾»ì-Éû»ì²Äǽ O +Îí»þ M1 ̾»ì-°ìÈÌ O +¤´¤í M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¤À S9 ½õÆ°»ì O +¤½¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Âΰé M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ø¶È M1 ̾»ì-¥µÊÑÀܳ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Í¥Ã¥È M10 ̾»ì-°ìÈÌ O +¤òÄ̤¸ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¿ S9 ½õÆ°»ì O +ÀèÃå M1 ̾»ì-¥µÊÑÀܳ O +½ç S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ͽÌó M1 ̾»ì-¥µÊÑÀܳ O +À© S1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼õ¤±ÉÕ¤± T1-9 ̾»ì-¥µÊÑÀܳ O +³«»Ï M1 ̾»ì-¥µÊÑÀܳ O +»þ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¸áÁ° M1 ̾»ì-Éû»ì²Äǽ O +Îí»þ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»¦Åþ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ìÈÖ T6-1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Íµ¤ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¶á¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥´¥ë¥Õ M10 ̾»ì-°ìÈÌ O +Îý½¬ M1 ̾»ì-¥µÊÑÀܳ O +¾ì S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂǤÁ¤ÃÊü¤· T1-9 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¤½¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +´§ S1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +ºÐ·î M1 ̾»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ç S1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê¤­ M9 ·ÁÍÆ»ì-¼«Î© O +½ªËë M1 ̾»ì-°ìÈÌ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +¥í¥Ã¥­¡¼¥É M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +»ö·ï M1 ̾»ì-°ìÈÌ O +´Ý¹È M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¥ë¡¼¥È M10 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ºÇ¹âºÛ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¡ S13 µ­¹æ-¶õÇò O +¾å¹ð M1 ̾»ì-¥µÊÑÀܳ O +¿³ S1 ̾»ì-°ìÈÌ O +ÊÛÏÀ M1 ̾»ì-¥µÊÑÀܳ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ť«¤Ã T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ºÇ¹âºÛ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Âç S1 ÀÜƬ»ì-̾»ìÀܳ O +Ë¡Äî M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊÛÏÀ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á° S1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +É°»³ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¹­¸µ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +´Ý¹È M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +²ñĹ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£¸ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +±ÝËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÉÒÉ× M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +¼óÁê M1 ̾»ì-°ìÈÌ O +Èë½ñ´± M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£¶ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÛ¸î M1 ̾»ì-¥µÊÑÀܳ O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¯¤·¤¯¤â M9 Éû»ì-°ìÈÌ O +Ʊ¤¸ T1-9 Ï¢Âλì O +¸ÀÍÕ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ϳ¤é¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î´Ö T9-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¼çÌò M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÅÄÃæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +³Ñ±É M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +¼óÁê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï¤¸¤á M9 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µ¯ÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +½½ S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¦¤Á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¸Þ S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ë´¤¯¤Ê¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +½½È¬Ç¯Á° T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÎóÅç M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾×·â M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶î¤±È´¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥í¥Ã¥­¡¼¥É M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +»ö·ï M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊÛÏÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¼ç S1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤¢¤ë¤¸ M9 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤­ M9 ·ÁÍÆ»ì-¼«Î© O +½ªËë M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸þ¤«¤¦ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸áÁ° M1 ̾»ì-Éû»ì²Äǽ O +½½»þ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³«Äî M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +½½ S6 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÛȽ´± M1 ̾»ì-°ìÈÌ O +ÀÊ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¦¤Á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +»°¤Ä T6-9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶õÀÊ M1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÂçÇò M1 ̾»ì-°ìÈÌ O +¾¡ S1 ̾»ì-°ìÈÌ O +ºÛȽ´± M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ɵ¤ M1 ̾»ì-¥µÊÑÀܳ O +Æþ±¡ M1 ̾»ì-¥µÊÑÀܳ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸¡»¡´± M1 ̾»ì-°ìÈÌ O +½Ð¿È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂçËÙ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-PERSON +À¿°ì T1-6 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º¬´ß M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +½Å¼£ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +ξ S1 ÀÜƬ»ì-̾»ìÀܳ O +ºÛȽ´± M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Áܺº M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸øȽ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ØÍ¿ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿¤¿¤á M9 Æ°»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²óÈò M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½½ S6 ̾»ì-¿ô O +ºÛȽ´± M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¸À¤¤ÅϤµ T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¡£ S2 µ­¹æ-¶çÅÀ O + +ξ S1 ÀÜƬ»ì-̾»ìÀܳ O +Èï¹ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½ÐÄî M1 ̾»ì-¥µÊÑÀܳ O +¤» S9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÛ¸î M1 ̾»ì-¥µÊÑÀܳ O +ÃÄ S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ºÇ¹â¸¡ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¸¡»ö M1 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÄÄ½Ò M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÀŤ« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¿´¶­ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ť¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ǯ·î M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤± M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤À¤«¤é M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀµÅö M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿³Íý M1 ̾»ì-¥µÊÑÀܳ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +´üÂÔ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +É° S1 ̾»ì-°ìÈÌ O +»³¸µ M1 ̾»ì-°ìÈÌ O +²ñĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÊÛ¸î M1 ̾»ì-¥µÊÑÀܳ O +ÃÄ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ì¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +½½°ì·î T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +Ãæ½Ü M1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊÛ¸î»Î M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¿©»ö M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +ºÝ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ºÛȽ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ìÀÚ T6-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÀèÀ¸ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ǥ¤»¤ë T1-9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÂÎÄ´ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤è¤¯ M9 Éû»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿´Â¡ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¿ô¥«·î T10-1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +­ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äˤ¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ä¤¨ M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤¬¤é M9 ½õ»ì-Àܳ½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»¶Êâ M1 ̾»ì-¥µÊÑÀܳ O +¤â¤· M9 Éû»ì-°ìÈÌ O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤â¤¦ M9 Éû»ì-°ìÈÌ O +°ì¿Í T6-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +±Ý S1 ̾»ì-°ìÈÌ O +Ëܸµ M1 ̾»ì-°ìÈÌ O +Èë½ñ´± M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÊÛ¸î M1 ̾»ì-¥µÊÑÀܳ O +ÃÄ S1 ̾»ì-°ìÈÌ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º¸ S1 ̾»ì-°ìÈÌ O +Ⱦ¿È M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉÔ¼«Í³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃȤ«¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Æü S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥¹¥Æ¥Ã¥­ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤¤¤Æ M9 Æ°»ì-¼«Î© O +¤æ¤Ã¤¯¤ê¤È M9 Éû»ì-°ìÈÌ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +°ì S6 ̾»ì-¿ô O +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»¶Êâ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥í S10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¼Ò S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¼óǾ M1 ̾»ì-°ìÈÌ O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾üÂ÷ M1 ̾»ì-¥µÊÑÀܳ O +¿ÒÌä M1 ̾»ì-¥µÊÑÀܳ O +Ä´½ñ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +²¼µé M1 ̾»ì-°ìÈÌ O +¿³ S1 ̾»ì-°ìÈÌ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ǼÆÀ M1 ̾»ì-¥µÊÑÀܳ O +¤¤¤« M9 Éû»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +°ÕÌ£ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÛȽ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤¿¤«¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ïä· T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¡¦ S2 µ­¹æ-°ìÈÌ I-ORGANIZATION +ÂÀÊ¿ÍÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¿Í¸¢ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¾ðÊó M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ I-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥ª¡¼¥×¥ó M10 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÂÀÊ¿ÍÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÃÏ°è M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ò·è M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +¤Ë´Ø¤¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¾ðÊó M1 ̾»ì-°ìÈÌ O +½¸ÀÑ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìܻؤ¹ T1-9 Æ°»ì-¼«Î© O +ºâÃÄ M1 ̾»ì-°ìÈÌ O +Ë¡¿Í M1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¡¦ S2 µ­¹æ-°ìÈÌ I-ORGANIZATION +ÂÀÊ¿ÍÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¿Í¸¢ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¾ðÊó M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ I-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +²ñĹ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Éð¼Ô¾®Ï© M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¸ø½¨ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +ÌÀ¼£³Ø±¡Âç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¶µ¼ø M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥ª¡¼¥×¥ó M10 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +»ö̳ M1 ̾»ì-°ìÈÌ O +¶É S1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÖ¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¹Á S1 ̾»ì-°ìÈÌ O +¶è S1 ̾»ì-°ìÈÌ O +ÊÛÅ· M1 ̾»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥ª¡¼¥¯£²£°£° T10-5 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¥Ó¥ë M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +µ­Ç° M1 ̾»ì-¥µÊÑÀܳ O +¼°Åµ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +ÉÜ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̱´Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +ÃÄÂÎ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãæ¿´ M1 ̾»ì-°ìÈÌ O +¤È¤Ê¤ê M9 ̾»ì-°ìÈÌ O +ÀßΩ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ζëÂç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶âÅì·® M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¶µ¼ø M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½êĹ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¢Ç¤ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅöÌÌ M1 ̾»ì-Éû»ì²Äǽ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +½½¿Í T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ï¶Ð M1 ̾»ì-¥µÊÑÀܳ O +½ê°÷ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±¿±Ä M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤¢¤¿¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Äó¾§ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñÏ¢ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +ôÅö M1 ̾»ì-¥µÊÑÀܳ O +´± S1 ̾»ì-°ìÈÌ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¸Î S1 ÀÜƬ»ì-̾»ìÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +µ×ÊÝÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÍÎ S1 ̾»ì-°ìÈÌ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³¤³° M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë´Ø¤¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¢½ñ M1 ̾»ì-¥µÊÑÀܳ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +ÆóÀéºý T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ó£ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +µ×ÊÝÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ʸ¸Ë M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀßÃÖ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤Û¤« M9 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ë¡ S1 ̾»ì-°ìÈÌ O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +£Î£Ç M7 ̾»ì-°ìÈÌ O +£Ï S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Èó S1 ÀÜƬ»ì-̾»ìÀܳ O +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +ÁÈ¿¥ M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +³èÆ° M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë´Ø¤¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ʸ¸¥ M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éý¹­¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¼ý½¸ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +º£¸å M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËܸì M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±Ñ¸ì M1 ̾»ì-°ìÈÌ O +³Æ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÈÇ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ë¥å¡¼¥¹¥ì¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äê´ü M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȯ´© M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÂÀÊ¿ÍÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +ǯ´Õ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +´©¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +»Ô̱ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂÐ¾Ý M1 ̾»ì-°ìÈÌ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¥»¥ß¥Ê¡¼ M10 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +³èȯ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤¯ T1-9 Æ°»ì-¼«Î© O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +³«´Û M1 ̾»ì-¥µÊÑÀܳ O +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸áÁ° M1 ̾»ì-Éû»ì²Äǽ O +¶å»þȾ T6-1 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +¸á¸å M1 ̾»ì-Éû»ì²Äǽ B-TIME +¸Þ»þ T6-1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅÚ S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüÍËÆü M1 ̾»ì-Éû»ì²Äǽ O +µÙ´Û M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÅÅÏà M1 ̾»ì-¥µÊÑÀܳ O +£° S5 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +£µ S5 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +£³£µ£·£¸ M5 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +ºÐ½Ð M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£´ S5 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¿­¤Ó T1-9 ̾»ì-°ìÈÌ O +Ψ S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +£² S5 ̾»ì-¿ô B-PERCENT +¡¥ S2 µ­¹æ-¶çÅÀ I-PERCENT +£¸ S5 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÍÞÀ© M1 ̾»ì-¥µÊÑÀܳ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +Âç¢¾Ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÍèǯÅÙ M1 ̾»ì-Éû»ì²Äǽ O +ͽ»» M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +Âç¢¾Ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì¶å¶å¸ÞǯÅÙͽ»» T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ìÈ̺нÐÁí³Û T6-1 ̾»ì-¿ô O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Í½½°ìÃû¶åÀ鲯±ßÂæ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á°Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +Åö½é M1 ̾»ì-Éû»ì²Äǽ O +ͽ»» M1 ̾»ì-°ìÈÌ O +Èæ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿­¤Ó T1-9 ̾»ì-°ìÈÌ O +Ψ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Æó S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +Ȭ S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +Á°¸å M1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÍÞ S1 Éû»ì-°ìÈÌ O +À©¤¹¤ë T1-9 Æ°»ì-¼«Î© O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Ç¤á T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +·Êµ¤ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÇÛθ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Û¤Ü M9 Éû»ì-°ìÈÌ O +º£Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +ÊÂ¤ß T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Í S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +°ì S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +ÄøÅÙ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿­¤Ó T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³ÎÊÝ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¸ø¶¦ M1 ̾»ì-°ìÈÌ O +»ö¶È M1 ̾»ì-°ìÈÌ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñÀªÄ´ºº M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +ºÐ½Ð M1 ̾»ì-°ìÈÌ O +Áý S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æüì M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +Í×°ø M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ü¤± T1-9 Æ°»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿­¤Ó T1-9 ̾»ì-°ìÈÌ O +Ψ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Û¤È¤ó¤É M9 Éû»ì-°ìÈÌ O +²£¤Ð¤¤ T1-9 ̾»ì-¥µÊÑÀܳ O +¤È¤Ê¤ê M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼Â¼Á M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ķ S1 ÀÜƬ»ì-̾»ìÀܳ O +¶Û½Ì M1 ̾»ì-¥µÊÑÀܳ O +·¿ S1 ̾»ì-°ìÈÌ O +ͽ»» M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤¿¤À M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÇÀ¶È M1 ̾»ì-°ìÈÌ O +Âкö M1 ̾»ì-¥µÊÑÀܳ O +ͽ»» M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä´À° M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºÇ½ª M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»Í½½ÆóÃû±ßÂæ T6-1 ̾»ì-¿ô O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¾åÀÑ¤ß T1-9 ̾»ì-¥µÊÑÀܳ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +²Äǽ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +À­ S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +ºÐ½Ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +²ñ·× M1 ̾»ì-¥µÊÑÀܳ O +ºÐ½Ð M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÏÊý M1 ̾»ì-°ìÈÌ O +¸òÉÕ M1 ̾»ì-¥µÊÑÀܳ O +ÀÇ S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¹ñºÄ M1 ̾»ì-°ìÈÌ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ü¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¹ÔÀ¯ M1 ̾»ì-°ìÈÌ O +·ÐÈñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áí³Û M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶å»ÍǯÅÙÅö½éͽ»» T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +ºÐ½Ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á°Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +Èæ S1 ̾»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +»° S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +Áý S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Í½½ÃûȬÀé¸ÞÉ´»Í½½È¬²¯±ß T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +³µ»» M1 ̾»ì-¥µÊÑÀܳ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +ºÐ½Ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +»Í S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +Ȭ S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +Áý S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Í½½ÆóÃûȬÀéÆóÉ´¼·½½¸Þ²¯±ß T6-1 ̾»ì-¿ô O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶å S6 ̾»ì-¿ô B-DATE +ǯÅÙ M1 ̾»ì-°ìÈÌ I-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀǼý M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Á°Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ä¤ä M9 Éû»ì-°ìÈÌ O +¾å²ó¤ë T1-9 Æ°»ì-¼«Î© O +¸Þ½½»°Ãû±ßÂæ¸åȾ T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤É¤Þ¤ë M9 Æ°»ì-¼«Î© O +¸ø»» M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â礭¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºâ¸» M1 ̾»ì-°ìÈÌ O +³ÎÊÝ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æñ¹Ò M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ¾Ê M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +ºÐ½Ð M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³µ»» M1 ̾»ì-¥µÊÑÀܳ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +³Û S1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶åÀ鲯±ß T6-1 ̾»ì-¿ô O +¤Û¤É M9 ½õ»ì-Éû½õ»ì O +°µ½Ì M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼Â¼Á M1 ̾»ì-°ìÈÌ O +¿­¤Ó T1-9 ̾»ì-°ìÈÌ O +Ψ S1 ̾»ì-°ìÈÌ O +¥¼¥í M10 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¬ÌÏ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÍÞ S1 Éû»ì-°ìÈÌ O +À©¤¹¤ë T1-9 Æ°»ì-¼«Î© O +Êý¸þ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ËÉ±Ò M1 ̾»ì-¥µÊÑÀܳ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +°Æ S1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +³µ»» M1 ̾»ì-¥µÊÑÀܳ O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +´ð½à M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡» S2 µ­¹æ-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¶å S6 ̾»ì-¿ô B-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +Áý S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿­¤Ó T1-9 ̾»ì-°ìÈÌ O +Ψ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º½Å M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Í¿ÅÞ M1 ̾»ì-°ìÈÌ O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +°µ½Ì M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìܻؤ¹ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸ø³² M1 ̾»ì-°ìÈÌ O +ËÉ»ß M1 ̾»ì-¥µÊÑÀܳ O +ºö S1 ̾»ì-°ìÈÌ O +¥Á¥§¥Ã¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +»Ô S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á´¹ñ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +½é¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ðÌä M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +»Ô S1 ̾»ì-°ìÈÌ O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +´ðËÜ M1 ̾»ì-°ìÈÌ O +¾òÎã M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ü³Ê M1 ̾»ì-°ìÈÌ O +ºî¤ê T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Ê¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +»Ô S1 ̾»ì-°ìÈÌ B-ORGANIZATION +´Ä¶­ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¿³µÄ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +²ñĹ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÀÆÆ£ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¹ÔÀµ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +Âçºå»ÔΩÂç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¶µ¼ø M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸ø³² M1 ̾»ì-°ìÈÌ O +ËÉ»ß M1 ̾»ì-¥µÊÑÀܳ O +ºö S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Á¥§¥Ã¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +´ÉÍý M1 ̾»ì-¥µÊÑÀܳ O +´Æºº M1 ̾»ì-¥µÊÑÀܳ O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +¾òÎã M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À¹¤ê¹þ¤à T1-9 Æ°»ì-¼«Î© O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Ç¤á T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼«¼£ÂÎ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾òÎã M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤³¤Î M9 Ï¢Âλì O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÎÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Á´¹ñ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +½é¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥±¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +´ÉÍý M1 ̾»ì-¥µÊÑÀܳ O +´Æºº M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ø³² M1 ̾»ì-°ìÈÌ O +ËÉ»ß M1 ̾»ì-¥µÊÑÀܳ O +ºö S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï¤¸¤á M9 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ñ¸» M1 ̾»ì-°ìÈÌ O +¥ê¥µ¥¤¥¯¥ë M10 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥´¥ß M10 ̾»ì-°ìÈÌ O +·Ú¸º M1 ̾»ì-¥µÊÑÀܳ O +²½ S1 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÌÜɸ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºöÄê M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ë¶È M1 ̾»ì-°ìÈÌ O +Æȼ« M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +ÊÝÁ´ M1 ̾»ì-¥µÊÑÀܳ O +·×²è M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ω¤Æ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼Â¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤»¤ë M9 Æ°»ì-ÀÜÈø O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼«¼£ÂÎ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³°Éô M1 ̾»ì-°ìÈÌ O +´Æºº M1 ̾»ì-¥µÊÑÀܳ O +µ¡´Ø M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àߤ± T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ãÀ® M1 ̾»ì-¥µÊÑÀܳ O +ÅÙ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Îǧ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÌÜɸ M1 ̾»ì-°ìÈÌ O +ÃÍ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ãÀ® M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +´ð½à M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¯¥ê¥¢ M10 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡È S2 µ­¹æ-³ç¸Ì³« O +ǧ¾Ú M1 ̾»ì-¥µÊÑÀܳ O +¥Þ¡¼¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸òÉÕ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤Î M9 Ï¢Âλì O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤è¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +ÊÝÁ´ M1 ̾»ì-¥µÊÑÀܳ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÅØÎÏ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â¥¤¹ T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ʊ»þ¤Ë T1-9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾ÃÈñ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ÂÁ´ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¾¦ÉÊ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áª¤Ö T1-9 Æ°»ì-¼«Î© O +ÌÜ°Â M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í¿ S1 Æ°»ì-¼«Î© O +¤¨¤¿¤¤ M9 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Þ¤¿ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Ë¤È¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«¼Ò M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ O +À½ÉÊ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¤¥á¡¼¥¸¥¢¥Ã¥× M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤Ê¤¬¤ë M9 Æ°»ì-¼«Î© O +¥á¥ê¥Ã¥È M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆÀ S1 ̾»ì-°ìÈÌ O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤Î M9 Ï¢Âλì O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +²¤½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç¤Ï M9 Àܳ»ì O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²¤½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +Ï¢¹ç M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Å£Õ M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤â S9 ½õ»ì-·¸½õ»ì O +Íèǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +»Ô S1 ̾»ì-°ìÈÌ B-ORGANIZATION +´Ä¶­ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¿³µÄ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +À¤³¦ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤¹¤¦Àª T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àè¼è¤ê T1-9 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +·Á S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À©ÅÙ M1 ̾»ì-°ìÈÌ O +²½ S1 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìܻؤ· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»Ô S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +´Ä¶­ M1 ̾»ì-°ìÈÌ O +´ðËÜ M1 ̾»ì-°ìÈÌ O +¾òÎã M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íè½Õ M1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À©Äê M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +Íê¤â¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ä¤Ê¤®Éþ T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ã¼Ô M1 ̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +ÍïÇÀ M1 ̾»ì-°ìÈÌ O +¶È S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¾¾ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Þ¤ê»Ò T9-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£´ S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +²¬»³ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +ËÒÁð M1 ̾»ì-°ìÈÌ O +ÃÏ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾¯¤Ê¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¿åÅÄ M1 ̾»ì-°ìÈÌ O +ÍïÇÀ M1 ̾»ì-°ìÈÌ O +ÃÏÂÓ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +°ð S1 ̾»ì-°ìÈÌ O +¥ï¥é M10 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +µ®½Å M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ÁÆ S1 ·ÁÍÆ»ì-¼«Î© O +»ôÎÁ M1 ̾»ì-°ìÈÌ O +¤È¤Ê¤ê M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²æ¤¬²È T9-1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤½¤Î M9 Ï¢Âλì O +¼è¤êÆþ¤ì T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÇÀ¹ M1 ̾»ì-°ìÈÌ O +´ü S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·Þ¤¨ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¿·µ¬ M1 ̾»ì-°ìÈÌ O +½¢ÇÀ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ĹÃË M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ĺ½÷ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤â¤Á¤í¤ó M9 Éû»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÒ¾ì M1 ̾»ì-°ìÈÌ O +¥Õ¥¡¥ó¥¯¥é¥Ö M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ò¶¡ M1 ̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡È S2 µ­¹æ-³ç¸Ì³« O +¤Þ¤«¤» M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤± M9 Æ°»ì-Èó¼«Î© O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ð¤«¤ê M9 ½õ»ì-Éû½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½õ¤Ã¿Í T9-1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ä¤Ã¤ÆÍè¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÃË¤Î»Ò T9-1 ̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Û¤È¤ó¤É M9 Éû»ì-°ìÈÌ O +¤Ä¤Ê¤®Éþ T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃåÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +½÷¤Î»Ò T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì¿Í T6-1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ä¤Ê¤®Éþ T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾®¸¯¤¤ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï¤¿¤¤ M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¼«Á° M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÍÑ°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¼ã¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¿Í S1 ̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ä¤Ê¤®Éþ T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãå S1 ̾»ì-¥µÊÑÀܳ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +ÇÀºî¶È M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´À S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ή¤¹ T1-9 Æ°»ì-¼«Î© O +¸÷·Ê M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤È¤Æ¤â M9 Éû»ì-½õ»ìÎàÀܳ O +´¶Æ° M1 ̾»ì-¥µÊÑÀܳ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ìë S1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀöÂõ M1 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÆóÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ʬ¤È T1-9 Æ°»ì-¼«Î© O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ä¤Ê¤®Éþ T9-1 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +½½ S6 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +´³¤¹ T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +°Å¤¬¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +´³¤· T1-9 ÀÜƬ»ì-̾»ìÀܳ O +¤Ê¤¬¤é M9 ½õ»ì-Àܳ½õ»ì O +Î϶¯ M1 ·ÁÍÆ»ì-¼«Î© O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Â´¶ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤·¤Þ¤¦ M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Èô¤ÓÆþ¤ê T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½õ¤Ã¿Í T9-1 ̾»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ä¤Ã¤ÆÍè T9-1 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ÆüÍËÆü M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºî¶È M1 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤«¤Ê¤ê M9 Éû»ì-°ìÈÌ O +¤Ï¤«¤É¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î M9 Ï¢Âλì O +Æó S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ç¿Í M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤³¤Î M9 Ï¢Âλì O +´À¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Ư¤¯ T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤³¤½ M9 ½õ»ì-·¸½õ»ì O +À¸¤­¤ë T1-9 Æ°»ì-¼«Î© O +¸¶ÅÀ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ïä· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ð S1 ̾»ì-°ìÈÌ O +¥ï¥é M10 ̾»ì-°ìÈÌ O +½¸¤á T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½ÅϫƯ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ä¤Ê¤®Éþ T9-1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤·¤Æ M9 Àܳ»ì O +¤µ¤ï¤ä¤« M9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +´À S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃΤë T1-9 Æ°»ì-¼«Î© O +½¼¼Â M1 ̾»ì-¥µÊÑÀܳ O +´¶ S1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¸½Âå M1 ̾»ì-°ìÈÌ O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +˺¤ì T1-9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +²¿ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅÁ¤¨ T1-9 ̾»ì-°ìÈÌ O +¤é¤ì¤ì M9 Æ°»ì-ÀÜÈø O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»×¤¦ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Àï¸å M1 ̾»ì-Éû»ì²Äǽ B-DATE +½èÍý M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»à·º M1 ̾»ì-°ìÈÌ O +¼¹¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ØÏ¢ M1 ̾»ì-¥µÊÑÀܳ O +À­ S1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¹© S1 ̾»ì-°ìÈÌ O +»ö¶È M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¾®³Þ¸¶ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-PERSON +½Óʸ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£´ S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Åì S1 ̾»ì-°ìÈÌ B-LOCATION +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»°Âë T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +½¾·³ M1 ̾»ì-¥µÊÑÀܳ O +°Ö°Â M1 ̾»ì-¥µÊÑÀܳ O +ÉØ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜÀÖ½½»ú¼Ò T6-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ð¶â M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àߤ± T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸«Éñ M1 ̾»ì-¥µÊÑÀܳ O +¶â S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£¤ë T1-9 Æ°»ì-¼«Î© O +¹½ÁÛ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸¡Æ¤ M1 ̾»ì-¥µÊÑÀܳ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤·¤Æ M9 Àܳ»ì O +°ì S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤Ö¤ê M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»à·º M1 ̾»ì-°ìÈÌ O +¼¹¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ï¢Æü M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ë¥å¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼»³ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +À¯¸¢ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À­³Ê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·èÄêŪ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅÁ¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤³¤Î M9 Ï¢Âλì O +Æó S6 ̾»ì-¿ô O +·ï S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´ØÏ¢¤Å¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ß¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÀÕǤ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ËÂФ¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂÖÅÙ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɽ¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»×¤¦ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸«Éñ M1 ̾»ì-¥µÊÑÀܳ O +¶â S1 ̾»ì-°ìÈÌ O +¹½ÁÛ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºÛȽ M1 ̾»ì-°ìÈÌ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +µ¯¤³¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Àµ¼° M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¼Õºá M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Êä½þ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +Áê¼ê M1 ̾»ì-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Êä½þ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̾ÌÜ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤é M9 ½õÆ°»ì O +¥«¥Í M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð S1 Æ°»ì-¼«Î© O +¤·¤Æ¤ä¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÂÖÅÙ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»×¤¨¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°­¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¥ä¥Ä M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»¦¤» T1-9 Æ°»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¤¹¤à M9 Æ°»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Ç¤· M9 ½õÆ°»ì O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÈȺá M1 ̾»ì-°ìÈÌ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂÐ S1 ̾»ì-Àܳ»ìŪ O +½è¤· T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¼Ò²ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅöÁ³ M1 Éû»ì-½õ»ìÎàÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸Â³¦ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»à·º M1 ̾»ì-°ìÈÌ O +¸³ M1 ̾»ì-¥µÊÑÀܳ O +ÏÀ S1 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ï¤È¤¦ T1-9 ̾»ì-°ìÈÌ O +¶ç S1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Èï³² M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÈȺá M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÍÞ»ß M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼Ò²ñ M1 ̾»ì-°ìÈÌ O +ÁíÂÎ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À®½Ï M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤±¤ì M9 ·ÁÍÆ»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +²ò·è M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Èï³² M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¿¤Ë T1-9 Éû»ì-°ìÈÌ O +µá¤á¤ë T1-9 Æ°»ì-¼«Î© O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²á¹ó M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +Âθ³ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Í S1 ̾»ì-°ìÈÌ O +¤´¤È M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤È¤» M9 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O +¤º S9 ½õÆ°»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¦Í­ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¼Ò²ñ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Àï¸å M1 ̾»ì-Éû»ì²Äǽ B-DATE +½èÍý M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»à·º M1 ̾»ì-°ìÈÌ O +ÇÑ»ß M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È¤â¤Ë M9 Éû»ì-°ìÈÌ O +¿·¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¼Ò²ñ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÛ¤¯ T1-9 Æ°»ì-¼«Î© O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ì·Àè M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ü¥¹¥Ë¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¡¡ S13 µ­¹æ-¶õÇò O +²¤ÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âбþ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ì·â T6-1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +¥Þ¥ì¡¼¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Þ¥Ï¥Æ¥£¡¼¥ë M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¼óÁê M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥¸¥ã¥«¥ë¥¿ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +£· S5 ̾»ì-¿ô O +ÆüÂç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-PERSON +ÄÍ S1 ̾»ì-°ìÈÌ I-PERSON +ÃÒɧ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +ÅìÆ¥¸¥¢ T1-10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡È S2 µ­¹æ-³ç¸Ì³« O +°ì¸Àµï»Î T6-1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¥Þ¥ì¡¼¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Þ¥Ï¥Æ¥£¡¼¥ë M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¼óÁê M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÏÂÊ¿ M1 ̾»ì-°ìÈÌ O +¸ò¾Ä M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ì¸þ¤Ë T1-9 Éû»ì-°ìÈÌ O +¿ÊŸ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤Ê¤¤ M9 ̾»ì-°ìÈÌ O +¥Ü¥¹¥Ë¥¢¡¦¥Ø¥ë¥Ä¥§¥´¥Ó¥Ê T2-10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²¤ÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âбþ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÄËÎõ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÈãȽ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥Þ¥ì¡¼¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊóÆ» M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¯¥¢¥é¥ë¥ó¥×¡¼¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç S9 ½õÆ°»ì O +»Ï¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¹ñºÝ M1 ̾»ì-°ìÈÌ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ðÄ´ M1 ̾»ì-°ìÈÌ O +¹Ö±é M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +¼óÁê M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²¤ÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥¯¥¦¥§¡¼¥È M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼«¹ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Íø±× M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ľÀÜ M1 ̾»ì-Éû»ì²Äǽ O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤Ê¤¤ M9 ̾»ì-°ìÈÌ O +¸Â¤ê T1-9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̱¼ç M1 ̾»ì-°ìÈÌ O +¼çµÁ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´íµ¡ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ó¤é M9 Éû»ì-°ìÈÌ O +¥ê¥¹¥¯ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÇØÉ餪 T1-9 Æ°»ì-¼«Î© O +¤¦¤È¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤ó¤Ê M9 Ï¢Âλì O +¹ñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̱¼ç M1 ̾»ì-°ìÈÌ O +¼çµÁ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +´¶·ã M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤Ù M9 ̾»ì-°ìÈÌ O +¤­¤â¤Î M9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»ØŦ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¥Ü¥¹¥Ë¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç S9 ½õÆ°»ì O +¥¤¥¹¥é¥à M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¶µÅÌ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ľÌÌ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +´íµ¡ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¾õ¶· M1 ̾»ì-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¶õÇú M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ͦµ¤ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤È¤³¤í M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤» T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤¤ M9 ´¶Æ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤È M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +űÂà M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¹ñÏ¢ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤³¤Î M9 Ï¢Âλì O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤ËÂФ¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Âнè M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ÅÊý M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +²¤ÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̱¼ç M1 ̾»ì-°ìÈÌ O +¼çµÁ M1 ̾»ì-°ìÈÌ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +µ¶Á± M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÌÀ¤é¤« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¾Úµò M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸À¤¤Àڤà T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥Þ¥Ï¥Æ¥£¡¼¥ë M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¼óÁê M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ǰƬ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½½°ì·î T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÂÀÊ¿ÍÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +·ÐºÑ M1 ̾»ì-°ìÈÌ O +¶¨ÎÏ M1 ̾»ì-¥µÊÑÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Á£Ð£Å£Ã M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +ÂÐΩ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ȿȯ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +³Î¼Â M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +¼óÁê M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥À¥Ö¥ë M10 ̾»ì-°ìÈÌ O +¥¹¥¿¥ó¥À¡¼¥É M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²¤ÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +»×ÁÛ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼õ¤±Æþ¤ì¤ë T1-9 Æ°»ì-¼«Î© O +¤ï¤± M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï¤¤ M9 ´¶Æ°»ì O +¤«¤Ê¤¤ M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¸¢ M1 ̾»ì-°ìÈÌ O +¤Ë´Ø¤¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +²ÁÃÍ M1 ̾»ì-°ìÈÌ O +´Ñ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿·¤¿ T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Í¤¨¤ë T1-9 Æ°»ì-¼«Î© O +¤Ù¤­ M9 ½õÆ°»ì O +¤À S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÃǸǤ¿¤ë T1-9 Ï¢Âλì O +Á¼ÃÖ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ø¼¨ M1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥â¥¹¥¯¥ï M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-DATE +£· S5 ̾»ì-¿ô I-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +ÈÓÅç M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +°ì¹§ T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¥¨¥ê¥Ä¥£¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Á¥§¥Á¥§¥ó¶¦Ï¹ñ T10-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸¡Æ¤ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¹ñ²È M1 ̾»ì-°ìÈÌ O +°ÂÊÝ M1 ̾»ì-°ìÈÌ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ë¡ S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ãá½ø M1 ̾»ì-°ìÈÌ O +°Ý»ý M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +·ûË¡ M1 ̾»ì-°ìÈÌ B-ARTIFACT +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äê¤á T1-9 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¤¢¤é¤æ¤ë M9 Ï¢Âλì O +¼êÃÊ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼è¤ë T1-9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +»Ø¼¨ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Èó¾ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +»öÂÖ M1 ̾»ì-°ìÈÌ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´Þ¤á T1-9 Æ°»ì-¼«Î© O +ÃǸǤ¿¤ë T1-9 Ï¢Âλì O +Á¼ÃÖ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ì¿¤¸ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºÆ¤Ó T1-9 Éû»ì-½õ»ìÎàÀܳ O +¶ÛÇ÷ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +»öÂÖ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥°¥é¥Á¥ç¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¹ñËÉ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +Áê S1 ÀÜƬ»ì-Æ°»ìÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¥É¥¥¥À¥¨¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ñÃÌ M1 ̾»ì-¥µÊÑÀܳ O +·ë²Ì M1 ̾»ì-Éû»ì²Äǽ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êó¹ð M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¨¥ê¥Ä¥£¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +ôÅö M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Éû S1 ÀÜƬ»ì-̾»ìÀܳ O +¼óÁê M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¨¥´¥í¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +̱² M1 ̾»ì-°ìÈÌ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÃÏ°è M1 ̾»ì-°ìÈÌ O +À¯ºö M1 ̾»ì-°ìÈÌ O +Áê S1 ÀÜƬ»ì-Æ°»ìÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ǥ̿ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȯɽ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¹ñ²È M1 ̾»ì-°ìÈÌ O +°ÂÊÝ M1 ̾»ì-°ìÈÌ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +À¼ÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ö S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʶÁè M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÆâÉô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸¢ÎÏ M1 ̾»ì-°ìÈÌ O +Æ®Áè M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»ØŦ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ŨÂÐ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ÉðÁõ M1 ̾»ì-¥µÊÑÀܳ O +¥°¥ë¡¼¥× M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¹¤Ù¤Æ M9 ̾»ì-Éû»ì²Äǽ O +°ãË¡ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ìÊý T6-1 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼óÅÔ M1 ̾»ì-°ìÈÌ O +¥°¥í¥º¥Ì¥¤ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊóÆ» M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¸á¸å M1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ O +·³µ¡ M1 ̾»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô O +µ¡ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÈôÍè M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹Ù³° M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÇúÃÆ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åê²¼ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¶õ¹Á M1 ̾»ì-°ìÈÌ O +¶á¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀÐÌý M1 ̾»ì-°ìÈÌ O +Ãù¢ M1 ̾»ì-¥µÊÑÀܳ O +´ðÃÏ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÁÀ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿¤È M9 Æ°»ì-¼«Î© O +¤ß¤Æ M9 Æ°»ì-¼«Î© O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Ááʬ¤«¤ê T1-9 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÅöÌÌ M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥À¥Ö¥ë M10 ̾»ì-°ìÈÌ O +²ÃÌÁ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +À¤³¦ M1 ̾»ì-°ìÈÌ O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +µ¡´Ø M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Íèǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +£±·î T5-1 ̾»ì-Éû»ì²Äǽ I-DATE +£± S5 ̾»ì-¿ô I-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +ȯ­ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +²¿ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊѤï¤ë T1-9 Æ°»ì-¼«Î© O +¤Î¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥·¥ê¡¼¥º M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Êó¹ð M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +£Ñ S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O + +¡¡ S13 µ­¹æ-¶õÇò O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +ȯ­ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +´ØÀÇ M1 ̾»ì-°ìÈÌ O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +¶¨Äê M1 ̾»ì-¥µÊÑÀܳ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¸Å¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +µ¡´Ø M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼«Æ°Åª M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾ÃÌÇ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O + +¡¡ S13 µ­¹æ-¶õÇò O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¹¥¿¡¼¥È M10 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£± S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤Û¤É M9 ½õ»ì-Éû½õ»ì O +»Ä¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÅöÌÌ M1 ̾»ì-Éû»ì²Äǽ O +ξÊý M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥À¥Ö¥ë M10 ̾»ì-°ìÈÌ O +²ÃÌÁ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +Êý¸þ M1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¸½ºß M1 ̾»ì-Éû»ì²Äǽ O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +²ÃÌÁ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£± S5 ̾»ì-¿ô O +¥«¹ñ T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +²¤½£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +Ï¢¹ç M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Å£Õ M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¦¤Á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¹¥¤¥¹ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¥Ö¥é¥¸¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¿ô¥«¹ñ T10-1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¶¨Äê M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ǯÆâ M1 ̾»ì-°ìÈÌ O +Èã½Ú M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º¤Æñ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸« S1 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤«¤é¤À M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¾è¤êÃÙ¤ì T1-9 ̾»ì-°ìÈÌ O +ÁÈ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼õ¤±»® T9-1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Þ¤¿ M9 Àܳ»ì O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʶÁè M1 ̾»ì-¥µÊÑÀܳ O +½èÍý M1 ̾»ì-¥µÊÑÀܳ O +µ¡´Ø M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +·¸Áè M1 ̾»ì-¥µÊÑÀܳ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Æ·ï M1 ̾»ì-°ìÈÌ O +°ú¤­·Ñ¤® T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +°ìÄê T6-1 ̾»ì-¥µÊÑÀܳ O +´ü´Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʻ¸ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Åö½é M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +ȯ­ M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ʊ»þ¤Ë T1-9 Éû»ì-°ìÈÌ O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +æÂà M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ɽ S1 ̾»ì-°ìÈÌ O +ÌÀ¤· T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿·¤·¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +À¹ S1 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¥µ¡¼¥Ó¥¹ M10 ̾»ì-¥µÊÑÀܳ O +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Å»ë M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÅÓ¾å M1 ̾»ì-°ìÈÌ O +¹ñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Áá´ü M1 ̾»ì-°ìÈÌ O +Èã½Ú M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°µÎÏ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤±¤ë M9 Æ°»ì-¼«Î© O +ÌÜŪ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÄÌ»º¾Ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¿¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ñ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅöÌÌ M1 ̾»ì-Éû»ì²Äǽ O +ξÊý M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²ÃÌÁ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +º£·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +½é¤á T1-9 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +µÄ²ñ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾µÇ§ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¼Â»Ü M1 ̾»ì-¥µÊÑÀܳ O +Ë¡ S1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +ȯ­ M1 ̾»ì-¥µÊÑÀܳ O +¸å¤Ë T1-9 Éû»ì-°ìÈÌ O +æÂà M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȯ­ M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤¤¤Ä M9 ̾»ì-Éû»ì²Äǽ O +æÂà M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÛÎÌ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ǥ¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +£×£Ô£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¶¨Äê M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȯ¸ú M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +£² S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +°ÊÆâ M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ÃÌÁ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸¶ S1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« O +²ÃÌÁ M1 ̾»ì-¥µÊÑÀܳ O +¹ñ S1 ̾»ì-°ìÈÌ O +°·¤¤ T1-9 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î¸å T9-1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²þ¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¸·¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +²ÃÆþ M1 ̾»ì-¥µÊÑÀܳ O +¸ò¾Ä M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Äê¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¬¥Ã¥È M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ä¸ M1 ̾»ì-¥µÊÑÀܳ O +´ü´Ö M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ºÇĹ M1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +£² S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ÅÌÛ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£¸ S5 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¥¸¥å¥Í¡¼¥Ö M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +·èÄê M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ͽÄê M1 ̾»ì-¥µÊÑÀܳ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡ú S2 µ­¹æ-°ìÈÌ O +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤³¤É¤â M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +£´ S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤«¤± M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Æþ½Î M1 ̾»ì-°ìÈÌ O +·è°Õ M1 ̾»ì-¥µÊÑÀܳ O +¡á S2 µ­¹æ-°ìÈÌ O +Å·Ìî M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +½¨ÆÁ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡ã S2 µ­¹æ-³ç¸Ì³« O +³Ø½¬ M1 ̾»ì-¥µÊÑÀܳ O +½Î S1 ̾»ì-°ìÈÌ O +¶µ»Õ M1 ̾»ì-°ìÈÌ O +¡ä S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¹¯¹­ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Î S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È¤Ë M9 Éû»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Èà S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¤¤Þ M9 ̾»ì-Éû»ì²Äǽ O +Ãæ³Ø M1 ̾»ì-°ìÈÌ O +°ìǯÀ¸ T6-1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶µ¼¼ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ǯ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æó S6 ̾»ì-¿ô O +ÅÙ S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½ÎÀ¸ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ϲ¨ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¯¤Ã¤Ä¤¤ M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Íè S1 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +»Í S6 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¤â S9 ½õ»ì-·¸½õ»ì O +Á° S1 ̾»ì-Éû»ì²Äǽ O +¤«¤é¤À M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Íè¤ë T1-9 Æ°»ì-¼«Î© O +ÅÙ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ϲ¨ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ʊ¤¸ T1-9 Ï¢Âλì O +¥×¥ê¥ó¥È M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤±¼è¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì½ï T6-1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ä¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤æ¤¯ M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤æ¤Ã¤¯¤ê¤È M9 Éû»ì-°ìÈÌ O +¹Í¤¨¤ë T1-9 Æ°»ì-¼«Î© O +¥¿¥¤¥× M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µ¤ÉÕ¤¯ T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³§ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +½ª¤ï¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤ê¸ý T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤È¤³¤í¤Ç M9 Àܳ»ì O +»ß¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +°Åµ­ M1 ̾»ì-¥µÊÑÀܳ O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Ä¤³¤Ä M9 Éû»ì-°ìÈÌ O +Îý½¬ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +´Á»ú M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶ì¼ê M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ŵ·¿ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Íî¤Á¤³¤Ü¤ì T1-9 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¸õÊä M1 ̾»ì-°ìÈÌ O +À¸ S1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸ý¿ô M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾¯¤Ê¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½Î S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ê·°Ïµ¤ M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +Èà S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤É¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +±Ç¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÉÔÌÀ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ϲ¨ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ͷ¤¤ T1-9 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾è¤ê T1-9 ̾»ì-°ìÈÌ O +¤½¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿¤³ M9 ̾»ì-°ìÈÌ O +¤È¤â M9 ½õ»ì-Éû½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹¯¹­ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +¾®³Ø¹» M1 ̾»ì-°ìÈÌ O +»þÂå M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ä¤¤¤Ë M9 Éû»ì-°ìÈÌ O +½Î S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æþ¤é T1-9 Æ°»ì-¼«Î© O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Æþ½Î M1 ̾»ì-°ìÈÌ O +ÌÌÀÜ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤È¤­ M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹¯¹­ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +³Ø¹» M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ʊ¤¸ T1-9 Ï¢Âλì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éݤ«¤Ã T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¤³¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ʬ¤«¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +½Î S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +´èÄ¥¤ì T1-9 Æ°»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÙ¶¯ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ç¤­¤ë M9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +µ¤ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤Æ¤­ M9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸À¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¹¯¹­ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Í S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤¬¤«¤ê M9 Æ°»ì-ÀÜÈø O +¤Ç S9 ½õÆ°»ì O +Æþ½Î M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á¤ë T1-9 Æ°»ì-¼«Î© O +»Ò S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹ç S1 ̾»ì-°ìÈÌ O +¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë¤« M9 ̾»ì-°ìÈÌ O +¤É¤¦¤« M9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êý S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»î¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤¤¤¨ M9 ´¶Æ°»ì O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µîǯ M1 ̾»ì-Éû»ì²Äǽ O +Æþ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +αÈþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤â S9 ½õ»ì-·¸½õ»ì O +ÌÌÀÜ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¸å¤Ë T1-9 Éû»ì-°ìÈÌ O +Íè S1 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ºÇ¶á M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Æ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Õ¸þ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ͧã M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ͷ¤ï T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Íè¤ë T1-9 Æ°»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Áª¤ó T1-9 Æ°»ì-¼«Î© O +¤Ç S9 ½õÆ°»ì O +Íè¤ë T1-9 Æ°»ì-¼«Î© O +»Ò S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»Ò¶¡ M1 ̾»ì-°ìÈÌ O +ËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Î S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÉÊÄê¤á T1-9 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +»þÂå M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡ú S2 µ­¹æ-°ìÈÌ O +¡Î S2 µ­¹æ-³ç¸Ì³« O +¿©Âî M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ìÉÊ T6-1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¥°¥ì¡¼¥×¥Õ¥ë¡¼¥Ä M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥µ¥é¥À M10 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +ÀÖËÙ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÇîÈþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤ì¤«¤é M9 Éû»ì-½õ»ìÎàÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ñ¡¼¥Æ¥£ M10 ̾»ì-¥µÊÑÀܳ O +¡¼¥·¡¼¥º¥ó¤Ë¥°¥ì¡¼¥×¥Õ¥ë¡¼¥Ä¤Î¥«¥Ã¥×¤ò T10-9 ̾»ì-°ìÈÌ O +»È¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥µ¥é¥À M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +´ï S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±ø¤µ T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +Èó¾ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½õ¤«¤ê T1-9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ô S2 µ­¹æ-³ç¸Ì³« O +ºàÎÁ M1 ̾»ì-°ìÈÌ O +¡Õ S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£´ S5 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +ʬ S1 Æ°»ì-¼«Î© O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥°¥ì¡¼¥×¥Õ¥ë¡¼¥Ä M10 ̾»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +¸Ä S1 ̾»ì-°ìÈÌ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¥»¥í¥ê M10 ̾»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +¡¿ S2 µ­¹æ-°ìÈÌ O +£² S5 ̾»ì-¿ô O +ËÜ S1 ̾»ì-°ìÈÌ O +¢¦ S2 µ­¹æ-°ìÈÌ O +À¸ S1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¥Þ¥Ã¥·¥å¥ë¡¼¥à M10 ̾»ì-°ìÈÌ O +£¸ S5 ̾»ì-¿ô O +¸Ä S1 ̾»ì-°ìÈÌ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¥ì¥â¥ó M10 ̾»ì-°ìÈÌ O +½Á S1 ̾»ì-°ìÈÌ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¾®¥¨¥Ó T1-10 ̾»ì-°ìÈÌ O +£¸ S5 ̾»ì-¿ô O +ɤ S1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¢¦ S2 µ­¹æ-°ìÈÌ O +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥¯¥ê¡¼¥à¥Á¡¼¥º M10 ̾»ì-°ìÈÌ O +£¶ S5 ̾»ì-¿ô O +¥°¥é¥à M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¸¥¯¥ê¡¼¥à T1-10 ̾»ì-°ìÈÌ O +Â礵¤¸ T1-9 ̾»ì-°ìÈÌ O +£³ S5 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥ì¥â¥ó M10 ̾»ì-°ìÈÌ O +½Á S1 ̾»ì-°ìÈÌ O +¾®¤µ¤¸ T1-9 ̾»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ï¤Á¤ß¤Ä M9 ̾»ì-°ìÈÌ O +¾®¤µ¤¸ T1-9 ̾»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±ö S1 ̾»ì-°ìÈÌ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¢¦ S2 µ­¹æ-°ìÈÌ O +¥¨¥ó¥À¥¤¥Ö M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤Þ¤¿¤Ï M9 Àܳ»ì O +¥µ¥Ë¡¼¥ì¥¿¥¹ M10 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +Ŭµ¹ M1 ̾»ì-Éû»ì²Äǽ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ô S2 µ­¹æ-³ç¸Ì³« O +ºî¤êÊý T9-1 ̾»ì-°ìÈÌ O +¡Õ S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥°¥ì¡¼¥×¥Õ¥ë¡¼¥Ä M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +²£ S1 ̾»ì-°ìÈÌ O +£²¤Ä T5-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÚ¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¯¤êÈ´¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +²ÌÆù M1 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤È¤ê M9 Æ°»ì-¼«Î© O +½Ð¤¹ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥»¥í¥ê M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¹¤¸ M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÇöÀÚ¤ê T1-9 ̾»ì-¥µÊÑÀܳ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¿å S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤é¤¹ M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥Þ¥Ã¥·¥å¥ë¡¼¥à M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÀФŤ­ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÇöÀÚ¤ê T1-9 ̾»ì-¥µÊÑÀܳ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¥ì¥â¥ó M10 ̾»ì-°ìÈÌ O +½Á S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤± M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤¯ M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£´ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¾®¥¨¥Ó T1-10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Çؤ錄 T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤µ¤Ã¤È M9 Éû»ì-°ìÈÌ O +±ö¤æ¤Ç T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Îä¤á T1-9 Æ°»ì-¼«Î© O +¤¿¤é M9 ½õÆ°»ì O +³Ì S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤à¤­ M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±ö S1 ̾»ì-°ìÈÌ O +¾¯¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Õ¤ë M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£µ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥¯¥ê M10 ̾»ì-°ìÈÌ O +¡¼¥à¥Á¡¼¥º¤ò¤ä¤ï¤é¤«¤¯¤·¤Æ T10-9 ̾»ì-°ìÈÌ O +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºàÎÁ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º®¤¼¹ç¤ï¤»¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£¶ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£µ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥½¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¥Þ¥Ã¥·¥å¥ë¡¼¥à M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥»¥í¥ê M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥°¥ì¡¼¥×¥Õ¥ë¡¼¥Ä M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ÌÆù M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ϥ¨ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥°¥ì¡¼¥×¥Õ¥ë¡¼¥Ä M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥«¥Ã¥× M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À¹¤ê¤Ä¤± T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¨¥ó¥À¥¤¥Ö M10 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ź¤¨¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ô S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô O +¿ÍÅö¤¿¤ê T1-9 ̾»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +¥­¥í¥«¥í¥ê¡¼ M10 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¡Õ S2 µ­¹æ-³ç¸ÌÊÄ O + +¿·Ìô M1 ̾»ì-°ìÈÌ O +»î¸³ M1 ̾»ì-¥µÊÑÀܳ O +£¼ýÏÅ M1 ̾»ì-°ìÈÌ O +»ö·ï M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +½¬»ÖÌî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +ɱ¡ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿ùÎÓ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¾¼ÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +ÍƵ¿ M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥«¥ë¥Æ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Í¤Ä¤ T9-1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +¹â¾¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +Ãϸ¡ M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +À½Ìô M1 ̾»ì-°ìÈÌ O +²ñ¼Ò M1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÆüËÜ¥°¥é¥¯¥½ T1-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ËÜ¼Ò M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Åì S1 ̾»ì-°ìÈÌ B-ORGANIZATION +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +Ãæ±û M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¶è S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿·Ìô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·ì°µ M1 ̾»ì-°ìÈÌ O +¹ß S1 Æ°»ì-¼«Î© O +²¼ºÞ M1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥é¥·¥¸¥Ô¥ó M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Î×¾² M1 ̾»ì-°ìÈÌ O +»î¸³ M1 ̾»ì-¥µÊÑÀܳ O +¤ò¤á¤°¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +±ø¿¦ M1 ̾»ì-°ìÈÌ O +»ö·ï M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹â¾¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +Ãϸ¡ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ýÏÅ M1 ̾»ì-¥µÊÑÀܳ O +ÍƵ¿ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÂáÊá M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¹ñΩ M1 ̾»ì-°ìÈÌ B-LOCATION +½¬»ÖÌî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +ɱ¡ M1 ̾»ì-°ìÈÌ I-LOCATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÀéÍÕ¸©½¬»ÖÌî»Ô T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½Û´Ä M1 ̾»ì-¥µÊÑÀܳ O +´ï S1 ̾»ì-°ìÈÌ O +²Ê S1 ̾»ì-°ìÈÌ O +°åĹ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿ùÎÓ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¾¼ÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +ÍƵ¿ M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£µ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Î×¾² M1 ̾»ì-°ìÈÌ O +»î¸³ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +´µ¼Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥«¥ë¥Æ M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ÂºÝ M1 Éû»ì-½õ»ìÎàÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¬Äê M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +·ì°µ M1 ̾»ì-°ìÈÌ O +ÃÍ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ­Æþ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æͤ­»ß¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ãϸ¡ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿ùÎÓ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +°åĹ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥° S10 ̾»ì-°ìÈÌ O +¼Ò S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿·Ìô M1 ̾»ì-°ìÈÌ O +¾µÇ§ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í­Íø M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¥«¥ë¥Æ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆâÍÆ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Í¤Ä¤ T9-1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +Ʊ¼Ò M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äó½Ð M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +Ä´ºº M1 ̾»ì-¥µÊÑÀܳ O +ɽ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆâÍÆ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Í¤Ä¤ T9-1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤ß¤Æ M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÄÉµÚ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¿ùÎÓ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +°åĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì¶å¶å°ìǯ T6-1 ̾»ì-¿ô O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶å S6 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¤Ë¤«¤±¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥é¥·¥¸¥Ô¥ó M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Î×¾² M1 ̾»ì-°ìÈÌ O +»î¸³ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Þ S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´µ¼Ô M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·× S1 ÀÜƬ»ì-¿ôÀܳ O +Ï» S6 ̾»ì-¿ô O +Îã S1 ̾»ì-°ìÈÌ O +¼Â»Ü M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¤¦¤Á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ìÉô T6-1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´µ¼Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥«¥ë¥Æ M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¬¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +·ì°µ M1 ̾»ì-°ìÈÌ O +ÃÍ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ­Æþ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²¡¼ý M1 ̾»ì-¥µÊÑÀܳ O +»ñÎÁ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʬÀÏ M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´µ¼Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʹ¤­¼è¤ê T1-9 Æ°»ì-¼«Î© O +Ä´ºº M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +ʬ¤«¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¼ýÏÅ M1 ̾»ì-¥µÊÑÀܳ O +ºá S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +º£·î M1 ̾»ì-Éû»ì²Äǽ O +°ìÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µ¯ÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¹áÀî°å²ÊÂç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +½õ¼ê M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿¼ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +±ÑÍø M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ä´ºº M1 ̾»ì-¥µÊÑÀܳ O +ɽ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ç¡¼¥¿ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²þ¤¶¤ó T1-9 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥«¥ë¥Æ M10 ̾»ì-°ìÈÌ O +¤½¤Î¤â¤Î M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼ê S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤± M9 ̾»ì-°ìÈÌ O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Þ¥ê¥Õ¥¢¥Ê M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +½ê»ý M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ÂáÊá M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆüËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»à·º M1 ̾»ì-°ìÈÌ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +Èæ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÏºÛ M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥Þ¥Ë¥é M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +£· S5 ̾»ì-¿ô O +ÆüÂç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-PERSON +Ìî S1 ̾»ì-°ìÈÌ I-PERSON +½Ó S1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¥Õ¥£¥ê¥Ô¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÃæÉô M1 ̾»ì-°ìÈÌ O +¥Í¥°¥í¥¹ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +Åç S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ð¥³¥í¥ÉÃÏÊýºÛȽ½ê T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·ÆüËãÌô¼èÄùË¡ T6-1 ̾»ì-¿ô O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +½ê»ý M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +°ãÈ¿ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºá S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̾¸Å²° M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +Å·Çò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-LOCATION +¶è S1 ̾»ì-°ìÈÌ I-LOCATION +¸µÈ¬»ö T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̵¿¦ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÎëÌÚ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +±Ñ»Ê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»à·º M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸À¤¤ÅϤ· T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ¹ñ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»à·º M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éü³è M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +°ÊÍè M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»à·º M1 ̾»ì-°ìÈÌ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸À¤¤ÅϤµ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½é¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÎëÌÚ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +̵¼Â M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹µÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¾åµé M1 ̾»ì-°ìÈÌ O +¿³ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +¿³Íý M1 ̾»ì-¥µÊÑÀܳ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¸«Ä̤· T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÎëÌÚ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +»Í·î½½ÆóÆü T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¾¥Í¥°¥í¥¹ T1-10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +½£ S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½£ÅÔ M1 ̾»ì-°ìÈÌ O +¥Ð¥³¥í¥É M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶õ¹Á M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Þ¥ê¥Õ¥¢¥Ê M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +¶å S6 ̾»ì-¿ô O +¥­¥í M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤È¤³¤í M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸½¹Ô M1 ̾»ì-°ìÈÌ O +ÈÈ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ÂáÊá M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µ¯ÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +Èï¹ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ãæ¿È M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸« S1 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Õ¥£¥ê¥Ô¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +½÷À­ M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²Û»Ò M1 ̾»ì-°ìÈÌ O +È¢ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â¤é¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Þ¥ê¥Õ¥¢¥Ê M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥ï¥Ê M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï¤á M9 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì´Ó T6-1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +̵¼Â M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Èæ S1 ̾»ì-°ìÈÌ B-ORGANIZATION +»ÊË¡¾Ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä´¤Ù T1-9 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼· S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤Ö¤ê M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»à·º M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éü³è M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +Ëö S1 ̾»ì-Éû»ì²Äǽ I-DATE +°ÊÍè M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶¯Åð M1 ̾»ì-°ìÈÌ O +ºá S1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Èï¹ð M1 ̾»ì-°ìÈÌ O +»Í S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»à·º M1 ̾»ì-°ìÈÌ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸À¤¤ÅϤµ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·º S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼¹¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Þ¤À M9 Éû»ì-½õ»ìÎàÀܳ O +¹Ô S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ¹ñ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +»à·º M1 ̾»ì-°ìÈÌ O +ÂÐ¾Ý M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +ËãÌô M1 ̾»ì-°ìÈÌ B-ARTIFACT +¼èÄù M1 ̾»ì-¥µÊÑÀܳ I-ARTIFACT +Ë¡ S1 ̾»ì-°ìÈÌ I-ARTIFACT +°ãÈ¿ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿ÈÊÁ M1 ̾»ì-°ìÈÌ O +¹´Â« M1 ̾»ì-¥µÊÑÀܳ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆüËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Û¤« M9 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Ê£¿ô M1 ̾»ì-°ìÈÌ O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃíÌÜ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +»³ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +½ç»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÅöÁª M1 ̾»ì-¥µÊÑÀܳ O +̵¸ú M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¾å¹ð M1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +Ãæ±ûÁª´É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êý¿Ë M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ãæ±û M1 ̾»ì-°ìÈÌ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +´ÉÍý M1 ̾»ì-¥µÊÑÀܳ O +²ñ S1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ËÙ²È M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +²ÅϺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +°Ñ°÷ M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ȬÆü¸áÁ° T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«¼£ M1 ̾»ì-°ìÈÌ O +¾ÊÆâ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãæ±ûÁª´É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆüËÜ¿·ÅÞ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»³ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +½ç»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +±ß S1 ̾»ì-°ìÈÌ B-PERSON +¤è¤ê»Ò T9-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +»²±¡ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +µÄ°÷ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·«¤ê¾å¤² T1-9 Æ°»ì-¼«Î© O +ÅöÁª M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·èÄê M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +̵¸ú M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤· S9 Æ°»ì-¼«Î© O +¾¾ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ůµ× M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÅÞ S1 ̾»ì-°ìÈÌ O +ÁÈ¿¥ M1 ̾»ì-¥µÊÑÀܳ O +°Ñ°÷ M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áʤ¨ T1-9 Æ°»ì-¼«Î© O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +Àè·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +Æ󽽶åÆü T6-1 ̾»ì-¿ô I-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¹âºÛ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âбþ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¨µÄ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ãæ±ûÁª´É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·èÄê M1 ̾»ì-¥µÊÑÀܳ O +¼«ÂÎ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸í¤ê T1-9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿¤È M9 Æ°»ì-¼«Î© O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñ²ñ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +µÄ°÷ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Èʬ M1 ̾»ì-°ìÈÌ O +¤Ë´Ø¤¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +½ÅÂç M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ç S9 ½õÆ°»ì O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¶Ë¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +Â礭¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +ºÇ¹âºÛ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ȽÃÇ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶Ä¤° T1-9 Æ°»ì-¼«Î© O +¤Ù¤­ M9 ½õÆ°»ì O +¤À S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¾å¹ð M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +Êý¿Ë M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ˡ̳¾Ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤È¤â M9 ½õ»ì-Éû½õ»ì O +¶¨µÄ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¶á¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +ºÇ¹âºÛ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾å¹ð M1 ̾»ì-¥µÊÑÀܳ O +¼ê³¤­ T1-9 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»³ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄ°÷ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ˡŪ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +ÃÏ°Ì M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ºÇ¹âºÛ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤Î M9 Ï¢Âλì O +ºÛȽ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì¶å¶åÆóǯ¼··î T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»²±¡ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +ÈæÎã M1 ̾»ì-¥µÊÑÀܳ O +Âåɽ M1 ̾»ì-¥µÊÑÀܳ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¸õÊä M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +̾Êí M1 ̾»ì-°ìÈÌ O +¸Þ°Ì T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅÐºÜ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤Ê¤¬¤é M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î¸å T9-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅÞ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ü̾ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¾¾ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +½ü̾ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÉÔÅö M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +̾Êí M1 ̾»ì-°ìÈÌ O +½ç°Ì M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¼ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»³ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·«¤ê¾å¤² T1-9 Æ°»ì-¼«Î© O +ÅöÁª M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãæ±ûÁª´É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·èÄê M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +̵¸ú M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãæ±ûÁª´É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áê¼ê M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÄóÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¹âºÛ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +½ü̾ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +̱¼ç M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤«¤Ä M9 Àܳ»ì O +¸øÀµ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¼ê³¤­ T1-9 ̾»ì-¥µÊÑÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸ø½øÎɯ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +È¿¤¹¤ë T1-9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ȽÃÇ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»³ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄ°÷ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÅöÁª M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +̵¸ú M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤³¤À¤ï¤ê M9 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¥­¥ó¥¸¡¼ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥·¥ê¡¼¥º M10 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +ÅÄÅç M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +²ÚÂå M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡ã S2 µ­¹æ-³ç¸Ì³« O +ÀîÅ´¾¦»ö M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +´Æºº M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +Éô S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡ä S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +½÷À­ M1 ̾»ì-°ìÈÌ O +»äΩ M1 ̾»ì-°ìÈÌ O +õÄå M1 ̾»ì-¥µÊÑÀܳ O +¥­¥ó¥¸¡¼ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ I-PERSON +¥ß¥ë¥Û¡¼¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ä̶РM1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤ª¶¡ T9-1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +µ×¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¥ß¥¹¥Æ¥ê¡¼ M10 ̾»ì-°ìÈÌ O +ºî²È M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¹ S10 Æ°»ì-¼«Î© O +¡¼¡¦¥°¥é¥Õ¥È¥ó¤Î¥­¥ó¥¸¡¼¡¦¥·¥ê¡¼¥º¤¬¤ª T10-9 ̾»ì-°ìÈÌ O +µ¤¤ËÆþ¤ê T1-9 Æ°»ì-¼«Î© O +¤Ê¤Î M9 Æ°»ì-¼«Î© O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÀéÍÕ¸©ÌÚ¹¹ÄÅ»Ô T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼«Âð M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +É;¾Ä® M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿¦¾ì M1 ̾»ì-°ìÈÌ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +£² S5 ̾»ì-¿ô O +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Æþ¼Ò M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤·¤Ð¤é¤¯ M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ø¥Ã¥É¥Û¥ó¥¹¥Æ¥ì¥ª M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +²»³Ú M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ä°¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿¤ê M9 ½õ»ì-ÊÂΩ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̲¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»Ð S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´«¤á T1-9 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥¢¥ê¥Ð¥¤ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +̥λ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ÊÍè M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£· S5 ̾»ì-¿ô O +´¬ S1 ̾»ì-°ìÈÌ O +ÌÜ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +õÄå M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +£Ç S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +½çÈÖ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´®Ç½ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼ç¿Í¸ø M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ì¥ÎÏ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÃË S1 ̾»ì-°ìÈÌ O +´éÉ餱 T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹Ô S1 ̾»ì-°ìÈÌ O +Æ°ÎÏ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½÷¤é¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +²Ä°¦¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ÌÌ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ê»¤»»ý¤Ä T1-9 Æ°»ì-¼«Î© O +¤È¤³¤í M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +À¸¡¹¤·¤¤ T2-9 ·ÁÍÆ»ì-¼«Î© O +¾ìÌÌ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤Þ¤ê M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Îø°¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¥Ï¥é¥Ï¥é M10 Éû»ì-½õ»ìÎàÀܳ O +¤µ¤»¤ë M9 Æ°»ì-ÀÜÈø O +¥×¥í¥Ã¥È M10 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¤¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ìܲ¼ M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ǻ¤ß T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥·¥ê¡¼¥º M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅÓÃæ M1 ̾»ì-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +ʸ¸ËËÜ M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ï¡¼¥É¥«¥Ð¡¼ M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊѤï¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ä̶РM1 ̾»ì-¥µÊÑÀܳ O +ÅÅ¼Ö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ç¤Ï M9 Àܳ»ì O +¥Ú S10 ̾»ì-°ìÈÌ O +¡¼¥¸¤¬¤á¤¯¤ê¤Ë¤¯¤¤¤· T10-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½Å S1 ·ÁÍÆ»ì-¼«Î© O +¤¤¤· M9 ̾»ì-¥µÊÑÀܳ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤È¤¤ M9 ̾»ì-°ìÈÌ O +¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ª²Û»Ò T9-1 ̾»ì-°ìÈÌ O +¤Å¤¯¤ê M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ËÜ S1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +ÈÈ¿Í M1 ̾»ì-°ìÈÌ O +õ¤· T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ç®Ãæ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Á᤯ T1-9 ·ÁÍÆ»ì-¼«Î© O +ʸ¸Ë M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤«¤Ê M9 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÅÄÅç M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +²ÚÂå M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡ã S2 µ­¹æ-³ç¸Ì³« O +ÀîÅ´¾¦»ö M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +´Æºº M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +Éô S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡ä S2 µ­¹æ-³ç¸ÌÊÄ O + +£Ð£Ì£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥é¥Õ¥¡¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼£°Â M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³ÎÊÝ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á°¸þ¤­ T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡¡ S13 µ­¹æ-¶õÇò O +¥¤¥¹¥é¥¨¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¶¨µÄ M1 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥«¥¤¥í M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-DATE +£¸ S5 ̾»ì-¿ô I-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +ÅÄÖº M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÆÁ¹° M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¥¯¥ê¥¹¥È¥Õ¥¡¡¼ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¹ñ̳ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +Ĺ´± M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¸á¸å M1 ̾»ì-Éû»ì²Äǽ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ñ¥ì¥¹¥Á¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +Àè¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¼«¼£ M1 ̾»ì-°ìÈÌ O +¶è S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¬¥¶ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +Ã϶è M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ˬ¤ì T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ñ¥ì¥¹¥Á¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +²òÊü M1 ̾»ì-¥µÊÑÀܳ O +µ¡¹½ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Ð£Ì£Ï M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥é¥Õ¥¡¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +²ñÃÌ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +Ĺ´± M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¤¥¹¥é¥¨¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ÂÁ´ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +³ÎÊÝ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÏÂÊ¿ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤Ê¤¬¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¢¥é¥Õ¥¡¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íý²ò M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µÄĹ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ÑÀª M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹â¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +ɾ²Á M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¯¥ê¥¹¥È¥Õ¥¡¡¼ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Ĺ´± M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ï» S6 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ñ¥ì¥¹¥Á¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼«¼£ M1 ̾»ì-°ìÈÌ O +³ÈÂç M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÙ±ä M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ö¼Â M1 ̾»ì-Éû»ì²Äǽ O +¾å S1 ̾»ì-°ìÈÌ O +ÍÆǧ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥é¥Õ¥¡¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°µÎÏ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤± M9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¬¥¶ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊóÆ» M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥é¥Õ¥¡¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +²ñÃÌ M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥¤¥¹¥é¥¨¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼£°Â M1 ̾»ì-°ìÈÌ O +³ÎÊÝ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +À­ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Íθ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¤¥¹¥é¥¨¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¾ÜºÙ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Ï䷹礦 T1-9 Æ°»ì-¼«Î© O +ÍÑ°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Þ¤¿ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥Ñ¥ì¥¹¥Á¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÎÎÅÚ M1 ̾»ì-°ìÈÌ O +¤Ë¤ª¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«¼£ M1 ̾»ì-°ìÈÌ O +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¿¤À M9 Àܳ»ì O +°ì¤Ä T6-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤À¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íý²ò M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Ê¤±¤ì M9 ·ÁÍÆ»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸ì¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¤¥¹¥é¥à M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¸¶Íý M1 ̾»ì-°ìÈÌ O +¼çµÁ M1 ̾»ì-°ìÈÌ O +ÁÈ¿¥ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ï¥Þ¥¹ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¾¤ï T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¸Æ¤Ó¤«¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¤¥¹¥é¥¨¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Î×»þ M1 ̾»ì-°ìÈÌ O +³ÕµÄ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ñ¥ì¥¹¥Á¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼«¼£ M1 ̾»ì-°ìÈÌ O +³ÈÂç M1 ̾»ì-¥µÊÑÀܳ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¶¨µÄ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼«¼£ M1 ̾»ì-°ìÈÌ O +³ÈÂç M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥è¥ë¥À¥óÀî T10-1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +À¾´ß M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¤¥¹¥é¥¨¥ë M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-ORGANIZATION +·³ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÇÛÈ÷ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³¤­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ñ¥ì¥¹¥Á¥Ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +Áí S1 ÀÜƬ»ì-̾»ìÀܳ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤ï T1-9 Æ°»ì-¼«Î© O +¤Ê¤±¤ì M9 ·ÁÍÆ»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·³ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÇÛÈ÷ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»ö¼Â M1 ̾»ì-Éû»ì²Äǽ O +¾å¤Î T1-9 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +űÂà M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤Ê¤¬¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¤¥¹¥é¥à M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +²á·ã M1 ̾»ì-°ìÈÌ O +ÇÉ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³èÆ° M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÍÞ»ß M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¶²¤ì T1-9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Õ¸« M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À¯ S1 ̾»ì-°ìÈÌ O +ÉÜÆâ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¶¯¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Î×»þ M1 ̾»ì-°ìÈÌ O +³ÕµÄ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ȬÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤â S9 ½õ»ì-·¸½õ»ì O +¹Ô S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ƱÆü M1 ̾»ì-Éû»ì²Äǽ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·ëÏÀ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð¤¹ T1-9 Æ°»ì-¼«Î© O +¸«Ä̤· T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£² S5 ̾»ì-¿ô O +ÅÙ S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +È÷¤¨ T1-9 ̾»ì-°ìÈÌ O +Âդà T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤é M9 ½õÆ°»ì O +¤Ì S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¥¯¥ê¥ó¥È¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯Ä´ M1 ̾»ì-¥µÊÑÀܳ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿¿¼îÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-DATE +Äɲ± M1 ̾»ì-¥µÊÑÀܳ I-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ I-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡× S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥ï¥·¥ó¥È¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-DATE +£· S5 ̾»ì-¿ô I-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +²ÏÌî M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +½Ó»Ë M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¥¯¥ê¥ó¥È¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +»÷´é³¨ M1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À©Äê M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿¿¼îÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-OPTIONAL +Äɲ± M1 ̾»ì-¥µÊÑÀܳ I-OPTIONAL +¤Î S9 ½õ»ì-Ï¢Âβ½ I-OPTIONAL +Æü S1 ̾»ì-°ìÈÌ I-OPTIONAL +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë¤¢¤¿¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿¿¼îÏÑÀ¸Â¸¼Ô¶¨²ñ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥´¡¼¥ë¥É¥Õ¥¡¡¼¥Ö M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +²ñĹ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ǯ¼¡ M1 ̾»ì-°ìÈÌ O +Áí²ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ñ¾ì M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅÅÏà M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤³¤Î¤Û¤É M9 ̾»ì-Éû»ì²Äǽ O +°ì¶å¶åϻǯ T6-1 ̾»ì-¿ô O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô O +¡» S2 µ­¹æ-°ìÈÌ O +¡» S2 µ­¹æ-°ìÈÌ O +°ì S6 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ñËÉ M1 ̾»ì-°ìÈÌ O +ͽ»» M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô B-MONEY +¥É¥ë M10 ̾»ì-°ìÈÌ I-MONEY +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +ÆóÃû¸ÞÀ鲯±ß T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +Áý³Û M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +Í×µá M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Ô¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯Ä´ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÆóÅÙ¤È T1-9 Éû»ì-°ìÈÌ O +È÷¤¨ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Âդà T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸Æ¤Ó³Ý¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿¿¼îÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-OPTIONAL +Äɲ± M1 ̾»ì-¥µÊÑÀܳ I-OPTIONAL +¤Î S9 ½õ»ì-Ï¢Âβ½ I-OPTIONAL +Æü S1 ̾»ì-°ìÈÌ I-OPTIONAL +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +Ȭ·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾å²¼ M1 ̾»ì-¥µÊÑÀܳ O +ξ±¡ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶¦Æ± M1 ̾»ì-¥µÊÑÀܳ O +·èµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Àè·î M1 ̾»ì-Éû»ì²Äǽ O +Æ󽽶åÆüÉÕ T6-1 ̾»ì-¿ô O +¤Ç S9 ½õÆ°»ì O +ÉÛ¹ð M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +½½Æó·î T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +ȬÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Âè S1 ÀÜƬ»ì-¿ôÀܳ O +Æó¼¡À¤³¦ÂçÀï T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´¬¤­¹þ¤Þ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +Æü S1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ϣˮ M1 ̾»ì-°ìÈÌ O +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +µ¡´Ø M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ó¥ë M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ⱦ´ú M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·Ç¤² T1-9 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿¿¼îÏÑÀ¸Â¸¼Ô¶¨²ñ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¿¿¼îÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¹¶·â M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Âθ³ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +À¸¤­»Ä¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ÂàÌò M1 ̾»ì-¥µÊÑÀܳ O +·³¿Í M1 ̾»ì-°ìÈÌ O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãæ¿´ M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤³¤Î M9 Ï¢Âλì O +Æü S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À©Äê M1 ̾»ì-¥µÊÑÀܳ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¸Þ½½»°Ç¯ T6-1 ̾»ì-¿ô O +¤â S9 ½õ»ì-·¸½õ»ì O +¤«¤«¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£ S1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È¤Æ¤â M9 Éû»ì-½õ»ìÎàÀܳ O +Ëþ­ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¢¤È M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñËÉ M1 ̾»ì-°ìÈÌ O +ͽ»» M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áý³Û M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ÀµÚ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤½¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤Ê¤¿ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +Êý S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¾À· M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Ø¤ó T1-9 Æ°»ì-¼«Î© O +¤À S9 ½õÆ°»ì O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸ì¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÊÛ¸î M1 ̾»ì-¥µÊÑÀܳ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̵ºá M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +£³·î T5-1 ̾»ì-Éû»ì²Äǽ B-DATE +£² S5 ̾»ì-¿ô I-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +Å쳤Âç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +ɱ¡ M1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +°Â³Ú M1 ̾»ì-°ìÈÌ O +»à S1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +»ö·ï M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¿ÀÆàÀî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ I-LOCATION +°ËÀª¸¶ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Å쳤Âç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-LOCATION +ÉÕ° M1 ̾»ì-¥µÊÑÀܳ I-LOCATION +ɱ¡ M1 ̾»ì-°ìÈÌ I-LOCATION +¤Ç S9 ½õÆ°»ì O +°ì¶å¶å°ìǯ»Í·î T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ëö´ü M1 ̾»ì-°ìÈÌ O +¤¬¤ó M9 ̾»ì-°ìÈÌ O +´µ¼Ô M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±ö²½¥«¥ê¥¦¥à T1-10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãí¼Í M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +»àË´ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +»¦¿Í M1 ̾»ì-°ìÈÌ O +ºá S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìä S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¸µ S1 ÀÜƬ»ì-̾»ìÀܳ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ɱ¡ M1 ̾»ì-°ìÈÌ O +Æâ²Ê M1 ̾»ì-°ìÈÌ O +½õ¼ê M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆÁ±Ê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +²í¿Î M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âè S1 ÀÜƬ»ì-¿ôÀܳ O +Æó½½Æó²ó¸øȽ T6-1 ̾»ì-¿ô O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȬÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²£ÉÍ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +ÃÏºÛ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¾¾±º M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÈË S1 ·ÁÍÆ»ì-¼«Î© O +ºÛȽ M1 ̾»ì-°ìÈÌ O +Ĺ S1 ·ÁÍÆ»ì-¼«Î© O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÊÛ¸î M1 ̾»ì-¥µÊÑÀܳ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ºÇ½ª M1 ̾»ì-°ìÈÌ O +ÊÛÏÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²È² M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Í×ÀÁ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Èï¹ð M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°Â³Ú M1 ̾»ì-°ìÈÌ O +»à¤Ë T1-9 Æ°»ì-¼«Î© O +½à¤¸ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȳ¤¹¤ë T1-9 Æ°»ì-¼«Î© O +¤Û¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ãË¡ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +À­ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +²È² M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀÕǤ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìä¤ï T1-9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°å»Õ M1 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +µ¯ÁÊ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÉÔ¸øÊ¿ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¸øÁÊ M1 ̾»ì-¥µÊÑÀܳ O +´þµÑ M1 ̾»ì-¥µÊÑÀܳ O +¤Þ¤¿¤Ï M9 Àܳ»ì O +̵ºá M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +Æü S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¿³Íý M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½ªÎ» M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Íèǯ M1 ̾»ì-Éû»ì²Äǽ O +»°·î T6-1 ̾»ì-Éû»ì²Äǽ O +Æó S6 ̾»ì-¿ô O +½½È¬Æü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ƚ·è M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸À¤¤ÅϤµ T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°Â³Ú M1 ̾»ì-°ìÈÌ O +»à S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +̵±ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»¦¿Í M1 ̾»ì-°ìÈÌ O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ĨÌò M1 ̾»ì-°ìÈÌ O +»° S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá·º M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¸¡»¡ M1 ̾»ì-¥µÊÑÀܳ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÛ¸î M1 ̾»ì-¥µÊÑÀܳ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +»ö·ï M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Á¡¼¥à M10 ̾»ì-°ìÈÌ O +°åÎÅ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êø²õ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ì°ø T6-1 ̾»ì-°ìÈÌ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Þ¤¿ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²È² M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»à´ü M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áá¤á¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÌÀ³Î M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í×ÀÁ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +´µ¼Ô M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ľÁ° M1 ̾»ì-°ìÈÌ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Î¤¿¤¦¤Á²ó¤ë T1-9 Æ°»ì-¼«Î© O +¤Û¤É M9 ½õ»ì-Éû½õ»ì O +¶ìÄË M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤Ã M9 ´¶Æ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ëö´ü M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +°Õ»× M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɽÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶á¿Æ M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Õ»× M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Âå¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¤è¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¾ì¹ç M1 ̾»ì-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°Â³Ú M1 ̾»ì-°ìÈÌ O +»à¤Ë T1-9 Æ°»ì-¼«Î© O +½à¤¸ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¹Ô°Ù M1 ̾»ì-¥µÊÑÀܳ O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼çÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +³¤¯ T1-9 Æ°»ì-¼«Î© O +ºÇ½ª M1 ̾»ì-°ìÈÌ O +ÄÄ½Ò M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆÁ±Ê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Èï¹ð M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤ª S9 ÀÜƬ»ì-̾»ìÀܳ O +Áû¤¬¤» T1-9 Æ°»ì-¼«Î© O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¼¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤ª S9 ÀÜƬ»ì-̾»ìÀܳ O +¤ï¤Ó¤· M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +È¿¾Ê M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤ê M9 Æ°»ì-Èó¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +µö¤µ T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤Ê¤é M9 ½õÆ°»ì O +°åÎÅ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Î×¾² M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸½¾ì M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìá¤ê T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´µ¼Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿ÍÀ¸ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂçÀÚ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÈùÎÏ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Ô¤¯¤· T1-9 Æ°»ì-¼«Î© O +¤¿¤¤ M9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÍÑ°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¥á¥â M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æɤ߾夲 T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Å纬 M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +±×ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +»Ô S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãæ³ØÀ¸ M1 ̾»ì-°ìÈÌ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +»ö·ï M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +»Ô S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ξ¿Æ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º¬Àä M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìó« M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +ϲò M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ãæ³ØÀ¸ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ĹÃË M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹»Æâ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°­¼Á M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶µ»Õ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ëü°ú¤­ T1-9 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¿¤¤ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤± M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +»ö¾ð M1 ̾»ì-°ìÈÌ O +Ä°¼è M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸¶°ø M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Å纬 M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¸© S1 ̾»ì-°ìÈÌ I-ORGANIZATION +±×ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ I-ORGANIZATION +»Ô S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÅÅ´ï M1 ̾»ì-°ìÈÌ O +Ź S1 ̾»ì-°ìÈÌ O +·Ð±Ä M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£³ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ºÊ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±×ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +»Ô S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áê¼ê¼è¤ê T1-9 Æ°»ì-¼«Î© O +°Ö¼Õ M1 ̾»ì-¥µÊÑÀܳ O +ÎÁ S1 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ï¼º M1 ̾»ì-°ìÈÌ O +Íø±× M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +»° S6 ̾»ì-¿ô O +ÀéËü M6 Éû»ì-°ìÈÌ B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ùʧ¤¤ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +»³² M1 ̾»ì-¥µÊÑÀܳ O +Çå½þ M1 ̾»ì-¥µÊÑÀܳ O +ÀÁµá M1 ̾»ì-¥µÊÑÀܳ O +Áʾ٠M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ϲò M1 ̾»ì-¥µÊÑÀܳ O +¸ò¾Ä M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼·Æü T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾¾¹¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÃÏºÛ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ϲò M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À®Î© M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +»Ô S1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶µ»Õ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ö¾ð M1 ̾»ì-°ìÈÌ O +Ä°¼è M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ø²Ì M1 ̾»ì-°ìÈÌ O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ĹÃË M1 ̾»ì-°ìÈÌ O +¤ËÂФ¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤Ã M9 ´¶Æ°»ì O +¤¿ S9 ½õÆ°»ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +°ä´¸ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Õ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɽÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +³Ø¹» M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +º¬Àä M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅØÎÏ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìó« M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ξ¿Æ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Çå½þ M1 ̾»ì-¥µÊÑÀܳ O +ÀÁµá M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êü´þ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Áʾõ M1 ̾»ì-°ìÈÌ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ĹÃË M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +±×ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +»ÔΩ M1 ̾»ì-°ìÈÌ O +Ãæ³Ø M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ³Ø M1 ̾»ì-¥µÊÑÀܳ O +Åö»þ M1 ̾»ì-Éû»ì²Äǽ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¥°¥ë¡¼¥× M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +˽¹Ô M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +»° S6 ̾»ì-¿ô O +ǯÀ¸ M1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +°ìºòǯϻ·îÆó½½ÆóÆü T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²¼µéÀ¸ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¹¡¼¥Ñ¡¼ M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Ëü°ú¤­ T1-9 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ôǤ M1 ̾»ì-¥µÊÑÀܳ O +¶µÍ¡ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Æ¤Ó½Ð¤µ T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ëü°ú¤­ T1-9 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯Í× M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +°Ê¸å M1 ̾»ì-Éû»ì²Äǽ O +»° S6 ̾»ì-¿ô O +Æü´Ö M1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤Ë¤ï¤¿¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +»ö¾ð M1 ̾»ì-°ìÈÌ O +Ä°¼è M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ö¾ð M1 ̾»ì-°ìÈÌ O +Ä°¼è M1 ̾»ì-¥µÊÑÀܳ O +ºÇ½ª M1 ̾»ì-°ìÈÌ B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ʊ·î M1 ̾»ì-Éû»ì²Äǽ O +Æó S6 ̾»ì-¿ô O +½½»ÍÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¼¹» M1 ̾»ì-¥µÊÑÀܳ O +Ï© S1 ̾»ì-°ìÈÌ O +¤ï¤­ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÌÚ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼ó S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +Í«³ÚÄ¢ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¤¢¤Ã M9 ´¶Æ°»ì O +´í¤Ê¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +À¯ S1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤¢ S9 ¥Õ¥£¥é¡¼ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»×¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +½Ö´Ö M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÉñÂæ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿·¼î M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»°ÀéÂå T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂÎ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á°¤Î¤á¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãì S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤·¤¿¤¿¤« M9 ̾»ì-°ìÈÌ O +´é S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂǤà T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Åݤì T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¡¦ S2 µ­¹æ-°ìÈÌ I-ORGANIZATION +·à¾ì M1 ̾»ì-°ìÈÌ I-ORGANIZATION +ÈôÅ· M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +½÷ S1 ̾»ì-°ìÈÌ B-OPTIONAL +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ I-OPTIONAL +¤Î S9 ½õ»ì-Ï¢Âβ½ I-OPTIONAL +Ãé¿Ã¢ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ I-OPTIONAL +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥¯¥·¥Ç¥ó¥È M10 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿·¼î M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +àöÀô±¡ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ìò S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºÇ¸å M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ê̤ì T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤­¤¿ M9 ̾»ì-°ìÈÌ O +ÂçÀÐ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Æ⢽õ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«Á÷¤ë T1-9 Æ°»ì-¼«Î© O +¾ìÌÌ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +­ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â¤Ä¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÅÓÃæ M1 ̾»ì-Éû»ì²Äǽ O +¤À¤¬ M9 Àܳ»ì O +Ëë S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¼¤ê T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +½Å½ý M1 ̾»ì-°ìÈÌ O +¤Ê¤Î M9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤Ð¤é¤¯ M9 Éû»ì-½õ»ìÎàÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Ëë S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾å¤¬¤ë T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÉñÂæ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤µ¤Ã¤­ M9 Éû»ì-½õ»ìÎàÀܳ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÊѤï¤é T1-9 Æ°»ì-¼«Î© O +¤Ì S9 ½õÆ°»ì O +¿·¼î M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´é S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤Ã M9 ´¶Æ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤â M9 Àܳ»ì O +¤½¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂçÀÐ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ºÇ¸å M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ê̤ì T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +àöÀô±¡ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´é S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¾ìÆâ M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤É¤Ã¤È M9 Éû»ì-°ìÈÌ O +Çï¼ê M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¯¤³¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿·¼î M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Á´¤¯ T1-9 Éû»ì-½õ»ìÎàÀܳ O +Æ°¤¸¤ë T1-9 Æ°»ì-¼«Î© O +µ¤ÇÛ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÄÀÃå M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +àöÀô±¡ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±é¤¸ T1-9 Æ°»ì-¼«Î© O +½ª¤¨ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°Åž M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ò¤È¤­¤ï M9 Éû»ì-°ìÈÌ O +¹â¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Çï¼ê M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·à¾ì M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʤ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Äˤ¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¦¤¨ M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÁêÅö M1 Éû»ì-½õ»ìÎàÀܳ O +¤á¤Þ¤¤ M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Ï¤º M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +µÒ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À¼ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤· M9 Àܳ»ì O +¤ß¤¸¤ó M9 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤½¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´¶¤¸ T1-9 ̾»ì-°ìÈÌ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¹¤° M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Çµï M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ù¥Æ¥é¥ó M10 ̾»ì-°ìÈÌ O +¤Ê¤é¤Ç¤Ï M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·à¾ì M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ω¤Á²ó¤ê T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÇÃæ M1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤Ä¤é M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Èô¤ó T1-9 Æ°»ì-¼«Î© O +¤À¤Î M9 ½õ»ì-ÊÂΩ½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸« S1 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿¼¹ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¾ìÌÌ M1 ̾»ì-°ìÈÌ O +¤Ê¤Î¤Ë M9 Àܳ»ì O +Ìò¼Ô M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +µÒ S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Âç¾Ð¤¤ T1-9 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ûÅá M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +È´¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿¤é M9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´Ö°ã¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¾ä S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êý S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°®¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¿Ï S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»×¤ï¤º T1-9 Éû»ì-½õ»ìÎàÀܳ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤¢ S9 ¥Õ¥£¥é¡¼ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¶«¤ó T1-9 Æ°»ì-¼«Î© O +¤À S9 ½õÆ°»ì O +ÃËÍ¥ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÉñÂæ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥¯¥·¥Ç¥ó¥È M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤Ã¤µ M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤É¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¾è¤êÀÚ¤ë T1-9 Æ°»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Ìò¼Ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÏÓ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +´ÑµÒ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤½¤³ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¥É¥é¥Þ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸« S1 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +À¯ S1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤ªºÐÊë T9-1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +ÊñÁõ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ª¤ï¤ë T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥Ý¥±¥Ù¥ë M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÃΤ餻¤ë T1-9 Æ°»ì-¼«Î© O +¥µ¡¼¥Ó¥¹ M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ËÜ³Ê M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +ÆñÇÈ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +¹âÅç²° M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +ºÐÊë M1 ̾»ì-°ìÈÌ O +¾¦Àï M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÃæÈ× M1 ̾»ì-Éû»ì²Äǽ O +Àï S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤ê T1-9 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ð¥Ö¥ë M10 ̾»ì-°ìÈÌ O +Êø²õ M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÄãÌ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ºÐÊë M1 ̾»ì-°ìÈÌ O +¾¦Àï M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾¡¤ÁÈ´¤³ T1-9 Æ°»ì-¼«Î© O +¤¦¤È M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³Æ S1 ÀÜƬ»ì-̾»ìÀܳ O +¥Ç¥Ñ¡¼¥È M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¢¤Î¼ê¤³¤Î¼ê T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾¦Ë¡ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +µÒ S1 ̾»ì-°ìÈÌ O +³ÍÆÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·üÌ¿ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÆñÇÈ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹âÅç²° M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +Ź S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +º£Åß M1 ̾»ì-Éû»ì²Äǽ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºÐÊë M1 ̾»ì-°ìÈÌ O +¾¦ÉÊ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊñÁõ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ÂÔ¤Á»þ´Ö T9-1 ̾»ì-°ìÈÌ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +µÒ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ç㤤ʪ T9-1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â¤é¤ª M9 Æ°»ì-¼«Î© O +¤¦¤È M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊñÁõ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ª¤ï¤ë T1-9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥Ý¥±¥Ù¥ë M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÃΤ餻¤ë T1-9 Æ°»ì-¼«Î© O +¥µ¡¼¥Ó¥¹ M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ËÜ³Ê M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ƳÆþ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äɤï T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +»ÕÁö M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ç㤤ʪ T9-1 ̾»ì-¥µÊÑÀܳ O +µÒ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +»þ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡È S2 µ­¹æ-³ç¸Ì³« O +¶â S1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤ê M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¢¥Ô¡¼¥ë M10 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¿·¼ê M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥®¥Õ¥È M10 ̾»ì-¥µÊÑÀܳ O +¾¦Ë¡ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ɾȽ M1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ƱŹ M1 ̾»ì-°ìÈÌ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ð¥Ö¥ë M10 ̾»ì-°ìÈÌ O +Êø²õ M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ºÐÊë M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ľÀÜ M1 ̾»ì-Éû»ì²Äǽ O +»ý S1 ̾»ì-¥µÊÑÀܳ O +»²¤¹¤ë T1-9 Æ°»ì-¼«Î© O +¾¦Å¹ M1 ̾»ì-°ìÈÌ O +¼ç S1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +²ñ¼Ò M1 ̾»ì-°ìÈÌ O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áý²Ã M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ºòǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»ý¤Áµ¢¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Á°Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Èæ¤Ù T1-9 Æ°»ì-¼«Î© O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +ÆóÉ´·ïÁý T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +»ÍÀé¼·É´·ï T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +㤷 T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸ÞÀé·ï T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ç÷¤ê T1-9 Æ°»ì-¼«Î© O +¤½¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤·¤«¤· M9 Àܳ»ì O +ÊñÁõ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +º®»¨ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë¤È M9 Àܳ»ì O +»° S6 ̾»ì-¿ô O +½½Ê¬ T6-1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +Á°¸å M1 ̾»ì-Éû»ì²Äǽ O +¤«¤«¤ë M9 Æ°»ì-¼«Î© O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂÔ¤Á»þ´Ö T9-1 ̾»ì-°ìÈÌ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤â S9 ½õ»ì-·¸½õ»ì O +¾¤Î T1-9 Ï¢Âλì O +Çä¤ê¾ì T9-1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¥¯¥ê¥¹¥Þ¥¹ M10 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +ÊÌ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾¦ÉÊ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Çã¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â¤é¤ª M9 Æ°»ì-¼«Î© O +¤¦¤È M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»° S6 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +Á° S1 ̾»ì-Éû»ì²Äǽ I-DATE +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ý¥±¥Ù¥ë M10 ̾»ì-°ìÈÌ O +¥µ¡¼¥Ó¥¹ M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»î¸³ M1 ̾»ì-¥µÊÑÀܳ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Â»Ü M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸½ºß M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÍÑ°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¥Ý¥±¥Ù¥ë M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸Þ S6 ̾»ì-¿ô O +Âæ S1 ̾»ì-°ìÈÌ O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´±Ì± M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ü¡¼¥Ê¥¹ M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð¤½¤í¤¦ T1-9 Æ°»ì-¼«Î© O +Ãæ½Ü M1 ̾»ì-Éû»ì²Äǽ B-DATE +°Ê¹ß M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æó½½Âæ T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áý¤ä¤¹ T1-9 Æ°»ì-¼«Î© O +·×²è M1 ̾»ì-¥µÊÑÀܳ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãϲ¼Å´ M1 ̾»ì-°ìÈÌ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ËÄÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¡¡ S13 µ­¹æ-¶õÇò O +¸òÄÌ M1 ̾»ì-°ìÈÌ O +¶É S1 ̾»ì-¥µÊÑÀܳ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¥Ù¥¢ M10 ̾»ì-°ìÈÌ O +¸«Á÷¤ê T1-9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +ºâÀ¯ M1 ̾»ì-°ìÈÌ O +°­²½ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ï«ÁÈ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Ʊ°Õ M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +»Ô±Ä M1 ̾»ì-°ìÈÌ O +Ãϲ¼Å´ M1 ̾»ì-°ìÈÌ O +ÅìÀ¾Àþ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ËÄÄ¥ M1 ̾»ì-¥µÊÑÀܳ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íí¤ß T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¸òÄÌ M1 ̾»ì-°ìÈÌ O +¶É S1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ï«ÁÈ M1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿¦°÷ M1 ̾»ì-°ìÈÌ O +µëÍ¿ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ù¡¼¥¹¥¢¥Ã¥× M10 ̾»ì-°ìÈÌ O +¸«Á÷¤ê T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Äó¼¨ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ȭ S6 ̾»ì-¿ô O +ÆüÌë M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÄÂÎ M1 ̾»ì-°ìÈÌ O +¸ò¾Ä M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +Ï«ÁÈ M1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¶Ð̳ M1 ̾»ì-¥µÊÑÀܳ O +·ÁÂÖ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²þÁ± M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾ò·ï M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«Á÷¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ʊ°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ʊ¶É M1 ̾»ì-°ìÈÌ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ÉÍý M1 ̾»ì-¥µÊÑÀܳ O +¿¦ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´Þ¤à T1-9 Æ°»ì-¼«Î© O +Á´ S1 ÀÜƬ»ì-̾»ìÀܳ O +¿¦°÷ M1 ̾»ì-°ìÈÌ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +ÆóÀéȬɴ¸Þ½½¿Íʬ T6-1 ̾»ì-¿ô O +¤Ç S9 ½õÆ°»ì O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +Æó²¯Ï»ÀéËü±ß T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í·ï M1 ̾»ì-°ìÈÌ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ÀḺ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ÐÍè¤ë T1-9 Æ°»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÅìÀ¾Àþ M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +¤ò¤á¤°¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åö½é M1 ̾»ì-Éû»ì²Äǽ O +·×²è M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +Æó S6 ̾»ì-¿ô B-PERCENT +ÇÜ S1 ̾»ì-°ìÈÌ I-PERCENT +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +»ÍÀé¼·É´²¯±ß T6-1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ËĤì T1-9 Æ°»ì-¼«Î© O +¾å¤¬¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +º£²Æ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȽÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Ù¥¢ M10 ̾»ì-°ìÈÌ O +¸«Á÷¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ¶É M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºâÀ¯ M1 ̾»ì-°ìÈÌ O +ºÆ·ú M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºî¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +»Ô S1 ̾»ì-°ìÈÌ O +¸òÄÌ M1 ̾»ì-°ìÈÌ O +»ö¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·òÁ´ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ B-ARTIFACT +²½ S1 ̾»ì-ÀÜÈø-¥µÊÑÀܳ I-ARTIFACT +·×²è M1 ̾»ì-¥µÊÑÀܳ I-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì´Ä T6-1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸òÄÌ M1 ̾»ì-°ìÈÌ O +Ï«ÁÈ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +ÆóÀé¸ÞÉ´¿Í T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +µþÅÔ»Ô¸òÄ̶ÉÏ«ÁÈ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +É´¿Í T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼¨¤· T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ÔÅÅ M1 ̾»ì-°ìÈÌ O +ÇÑ»ß M1 ̾»ì-¥µÊÑÀܳ O +»þ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +°ì S6 ̾»ì-¿ô B-DATE +¡» S2 µ­¹æ-°ìÈÌ I-DATE +ǯÂå M1 ̾»ì-°ìÈÌ I-DATE +¸åȾ M1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ù¥¢ M10 ̾»ì-°ìÈÌ O +ÀèÁ÷¤ê T1-9 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸«Á÷¤ê T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½é¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ìÊý T6-1 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ÔĹÉô¶É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿åÆ»¶É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¾ S1 ̾»ì-°ìÈÌ O +Éô¶É M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£Ç¯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¶å·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ô S1 ̾»ì-°ìÈÌ B-ORGANIZATION +¿Í»ö M1 ̾»ì-°ìÈÌ I-ORGANIZATION +°Ñ°÷ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +´«¹ð M1 ̾»ì-¥µÊÑÀܳ O +Ä̤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»Í·î T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤«¤Î¤Ü¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +°ì S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +Æó S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +°ú¤­¾å¤²¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Ï«»È M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ê¤¼ M9 Éû»ì-½õ»ìÎàÀܳ O +Ä»½Ã M1 ̾»ì-°ìÈÌ O +Êݸî M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¶î½ü M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤Î¤« M9 Æ°»ì-¼«Î© O +¡á S2 µ­¹æ-°ìÈÌ O +¼«±Ä¶È M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Ìî¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +½¤°ì T1-6 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£´ S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +±§Å﵆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +±üÆü¸÷ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥·¥« M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿©³² M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÀéƬ T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶î½ü M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÌ¤Ë T1-9 Éû»ì-°ìÈÌ O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +¥Ï¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼íÎÄ M1 ̾»ì-¥µÊÑÀܳ O +Ȭ S6 ̾»ì-¿ô O +ɴƬ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ͽÄê M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÊóÆ» M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¤Þ¤· M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·î S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ì²ó T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æü¸÷ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»³¡¹ T1-2 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ê⤤ T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ǼÆÀ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¤¤« M9 Éû»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤È¤³¤í¤¬ M9 Àܳ»ì O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¶î½ü M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ä»½Ã M1 ̾»ì-°ìÈÌ O +Êݸî M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +ϻɴÆó½½Æ¬ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼íÎÄ M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +»°É´È¬½½Æ¬ T6-1 ̾»ì-¿ô O +¤À S9 ½õÆ°»ì O +¤½¤¦¤Ç¤¹¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ê¤¼ M9 Éû»ì-½õ»ìÎàÀܳ O +Ä»½Ã M1 ̾»ì-°ìÈÌ O +Êݸî M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¶î½ü M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Ê¤±¤ì M9 ·ÁÍÆ»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤¹¤« M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿ô S1 ̾»ì-¿ô O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +­¤ê T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤é M9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼íÎÄ M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +°ìÈÌ T6-1 ̾»ì-°ìÈÌ O +¥Ï¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼íÎÄ M1 ̾»ì-¥µÊÑÀܳ O +ʬ S1 Æ°»ì-¼«Î© O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áý¤ä¤¹ T1-9 Æ°»ì-¼«Î© O +¤Ù¤­ M9 ½õÆ°»ì O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ưʪ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À»°è M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÀßÄê M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +Ä»½Ã M1 ̾»ì-°ìÈÌ O +Êݸî M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +Ƨ¤ß¹þ¤à T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µö¤µ T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ç¤·¤ç M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Àã S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Åß S1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥·¥« M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ⱦ¸º M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÌÀ¤é¤« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¾ S1 ̾»ì-°ìÈÌ O +ÃÏ°è M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÄÉ S1 ÀÜƬ»ì-̾»ìÀܳ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¥·¥« M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æü¸÷ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¸¤Þ¤ë T1-9 Æ°»ì-¼«Î© O +¤È¤â M9 ½õ»ì-Éû½õ»ì O +ʹ¤­ T1-9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿©³² M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ò¤É¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»³Ãæ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼«Á³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +ÎÓ S1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÎÓÆ» M1 ̾»ì-°ìÈÌ O +±è¤¤ T1-9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í¼ê M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æþ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +°õ¾Ý M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤â¤· M9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +¶è°è M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤É¤¦¤·¤Æ¤â M9 Éû»ì-°ìÈÌ O +¶î½ü M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ê¤é M9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Êݸî M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Àþ°ú¤­ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²þ¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¼íÎÄ M1 ̾»ì-¥µÊÑÀܳ O +¶è S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êѹ¹ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤Ù M9 ̾»ì-°ìÈÌ O +¤­¤À M9 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âбþ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡© S2 µ­¹æ-°ìÈÌ O +¡ª S2 µ­¹æ-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +ͽÈ÷¹» M1 ̾»ì-°ìÈÌ O +À¸ S1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÌÊÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +³¨Èþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Åì S1 ̾»ì-°ìÈÌ B-LOCATION +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +Ãæ±û M1 ̾»ì-°ìÈÌ I-LOCATION +¶è S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÀÚ¼ê M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Þ°Æ M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¸¶Çú M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥­¥Î¥³ M10 ̾»ì-°ìÈÌ O +±À S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸¶Çú M1 ̾»ì-°ìÈÌ O +Åê²¼ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹ÎÄê M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +ʸ¾Ï M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÎÍÑ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤è¤¦ M9 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ʹ¤­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂçȾ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤ËÂФ·¤Æ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÉÔ²÷ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +´¶ S1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +Ê°¤ê T1-9 Æ°»ì-¼«Î© O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´¶¤¸ T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼ÂºÝ M1 Éû»ì-½õ»ìÎàÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿ÈÆâ M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¼«¿È M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÈïÇú M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¿Í S1 ̾»ì-°ìÈÌ O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÈïÇú M1 ̾»ì-¥µÊÑÀܳ O +¹ñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ṉ̃ M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´¶¾ð M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´Þ¤á T1-9 Æ°»ì-¼«Î© O +¿¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µñÈÝ M1 ̾»ì-¥µÊÑÀܳ O +È¿±þ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼¨¤· T1-9 Æ°»ì-¼«Î© O +¤¿¤È M9 Æ°»ì-¼«Î© O +»×¤¦ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +¡È S2 µ­¹æ-³ç¸Ì³« O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂÐ S1 ̾»ì-Àܳ»ìŪ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Þ¼° M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡È S2 µ­¹æ-³ç¸Ì³« O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂÐ S1 ̾»ì-Àܳ»ìŪ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +½ô¹ñ M1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÖ¤­´¹¤¨ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ß¤ë M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤É¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼ÂºÝ M1 Éû»ì-½õ»ìÎàÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼«¿È M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¿ÈÆâ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Èï³² M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áø¤ï T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +Êý¡¹ T1-2 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤â¤Ã¤È M9 Éû»ì-°ìÈÌ O +¥¹¥È¥ì¡¼¥È M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²Ã³² M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ǧ¼± M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤½¤ì¤Ê¤Î¤Ë M9 Àܳ»ì O +¼¡¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +½Ð S1 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¯¤ë M9 Æ°»ì-¼«Î© O +³Õν M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +ȯ¸À M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤¤¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½¾·³ M1 ̾»ì-¥µÊÑÀܳ O +°Ö°Â M1 ̾»ì-¥µÊÑÀܳ O +ÉØ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âбþ M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤¤¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ƱÍÍ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +°Ê¾å M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤½¤Î M9 Ï¢Âλì O +°Õ¼± M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·ç S1 ̾»ì-°ìÈÌ O +Í T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²Ã³² M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤´¤¦Ëý T9-1 ̾»ì-°ìÈÌ O +¤µ¤¬ M9 Æ°»ì-¼«Î© O +¸ S1 ̾»ì-¥µÊÑÀܳ O +ºß¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Èݤá T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»×¤¦ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +º£¤µ¤é T1-9 ̾»ì-Éû»ì²Äǽ O +¤Ê¤¬¤é M9 ½õ»ì-Àܳ½õ»ì O +ÄË´¶ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +º£²ó M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¡ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Èï³² M1 ̾»ì-°ìÈÌ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Õ¼± M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¨¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +Âбþ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åؤá¤Æ T1-9 Éû»ì-°ìÈÌ O +¤Û¤·¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡È S2 µ­¹æ-³ç¸Ì³« O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Õ¤ê M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¸« S1 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +²æ¤¬ T1-9 Ï¢Âλì O +¤Õ¤ê M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +ľ¤» T1-9 Æ°»ì-¼«Î© O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +²£¿³ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÈãȽ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¤¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤Ç¤Ï M9 Àܳ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¡á S2 µ­¹æ-°ìÈÌ O +¼çÉØ M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Ë̼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Æóµ¬»Ò T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£µ S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +̾¸Å²° M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +ÎÐ S1 ̾»ì-°ìÈÌ I-LOCATION +¶è S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +Æó S6 ̾»ì-¿ô O +Æü¤ÎËÜ T9-1 ̾»ì-°ìÈÌ O +Íó S1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Á° S1 ̾»ì-Éû»ì²Äǽ O +Æó»Ò»³¿ÆÊý T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ȯ¸À M1 ̾»ì-¥µÊÑÀܳ O +¡È S2 µ­¹æ-³ç¸Ì³« O +ͦ¤ß­ T9-1 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç¤Ï M9 Àܳ»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆÉ¤ß T1-9 Æ°»ì-¼«Î© O +¤Þ¤· M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ͦ¤ß­ T9-1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»×¤¤ T1-9 ̾»ì-°ìÈÌ O +¤Þ¤»¤ó M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +²ÖÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +³Ñ³¦ M1 ̾»ì-°ìÈÌ O +¶þ»Ø M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²£¹Ë M1 ̾»ì-°ìÈÌ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿¤È M9 Æ°»ì-¼«Î© O +¤Ï¤¤ M9 ´¶Æ°»ì O +¤¨ S9 ¥Õ¥£¥é¡¼ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸½ºß M1 ̾»ì-Éû»ì²Äǽ O +±£µï M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿È S1 ̾»ì-°ìÈÌ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤â M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹Ö±é M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ì S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Èà S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸Î¶¿ M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ä°½° M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Æó»Ò»³Àª T6-1 ̾»ì-¿ô O +¥Õ¥¡¥ó M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¤«¤Ã T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Þ¤¿ M9 Àܳ»ì O +¤¤¤¦¤Ê¤ì¤Ð M9 Éû»ì-°ìÈÌ O +¡È S2 µ­¹æ-³ç¸Ì³« O +¥Õ¥¡¥ó M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½¸¤¤ T1-9 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤â¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤¦ S9 ´¶Æ°»ì O +¤Ù¤­ M9 ½õÆ°»ì O +¸ª¤Ò¤¸ T1-9 ̾»ì-°ìÈÌ O +Ä¥¤é T1-9 Æ°»ì-¼«Î© O +¤Ì S9 ½õÆ°»ì O +½ê S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ïà S1 ̾»ì-¥µÊÑÀܳ O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +µ®Çµ²Ö M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤â S9 ½õ»ì-·¸½õ»ì O +ºÇ¶á M1 ̾»ì-Éû»ì²Äǽ O +°µÅÝŪ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿¤· M9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àº¿À M1 ̾»ì-°ìÈÌ O +ÌÌ S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¿ïʬ M1 Éû»ì-½õ»ìÎàÀܳ O +À®Ä¹ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + diff --git a/CRF/example/JapaneseNE/train.data b/CRF/example/JapaneseNE/train.data new file mode 100644 index 0000000000000000000000000000000000000000..acd116e0a790b7c1a2aa9e6915d437dd5e6e7017 --- /dev/null +++ b/CRF/example/JapaneseNE/train.data @@ -0,0 +1,4988 @@ +ɱ¡ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãϲ¼Å´ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÂçÉý M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ÀÖ»ú M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð S1 Æ°»ì-¼«Î© O +¤¿¤¿¤á M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Åì S1 ̾»ì-°ìÈÌ O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +»ö¶È M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +²áµî M1 ̾»ì-Éû»ì²Äǽ O +¸Þ S6 ̾»ì-¿ô O +ǯ´Ö M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +·× S1 ÀÜƬ»ì-¿ôÀܳ O +»ÍÀéÉ´²¯±ß·×¾å T6-1 ̾»ì-¿ô O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ÅÚÃÏ M1 ̾»ì-°ìÈÌ O +ÇäµÑ M1 ̾»ì-¥µÊÑÀܳ O +±× S1 ̾»ì-¥µÊÑÀܳ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Á°Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +¸Þ S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶å S6 ̾»ì-¿ô B-DATE +ǯÅÙ M1 ̾»ì-°ìÈÌ I-DATE +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤¯¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â礭¤Ê T1-9 Ï¢Âλì O +Í×°ø M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»ö¶È M1 ̾»ì-°ìÈÌ O +ÊÌ S1 ̾»ì-°ìÈÌ O +³µÍ× M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼¡ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä̤ê T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¿åÆ» M1 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +°ì¿Í T6-1 ̾»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +ÆüÅö¤¿¤ê T1-9 ̾»ì-°ìÈÌ O +»ÈÍÑ M1 ̾»ì-¥µÊÑÀܳ O +ÎÌ S1 Æ°»ì-¼«Î© O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»°É´»°½½È¬ M6 ̾»ì-¿ô O +¥ê¥Ã¥È¥ë M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Á°Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +»°É´»Í½½°ì M6 ̾»ì-¿ô O +¥ê¥Ã¥È¥ë M10 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Îä²Æ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +Ȭ S6 ̾»ì-¿ô B-DATE +¡» S2 µ­¹æ-°ìÈÌ I-DATE +ǯÅÙ M1 ̾»ì-°ìÈÌ I-DATE +°ÊÍè M1 ̾»ì-Éû»ì²Äǽ O +½½ S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤Ö¤ê M9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸º¾¯ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼ý»Ù M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ȭɴ½½°ì²¯±ß T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹õ»ú M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Ãϲ¼Å´ M1 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹âÆ­ M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶å S6 ̾»ì-¿ô O +»ö¶È M1 ̾»ì-°ìÈÌ O +¤¹¤Ù¤Æ M9 ̾»ì-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÖ»ú M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÀÖ»ú M1 ̾»ì-°ìÈÌ O +Áí³Û M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Àé¸ÞÉ´¼·½½»°²¯±ß T6-1 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥Ð¥¹ M10 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +ǯ´Ö M1 ̾»ì-°ìÈÌ O +Í¢Á÷ M1 ̾»ì-¥µÊÑÀܳ O +¿Í°÷ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»° S6 ̾»ì-¿ô O +Ëü¿Í T6-1 ̾»ì-°ìÈÌ O +¸º¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÎÁ¶â M1 ̾»ì-°ìÈÌ O +¼ýÆþ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²£¤Ð¤¤ T1-9 ̾»ì-¥µÊÑÀܳ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿¤³ M9 ̾»ì-°ìÈÌ O +¤È¤â M9 ½õ»ì-Éû½õ»ì O +¤¢¤ê M9 Æ°»ì-¼«Î© O +½½ S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹õ»ú M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +ɱ¡ M1 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¼·É´»°½½È¬»ö¶È T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¦¤Á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¹õ»ú M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»°¸Þ M6 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¸Þ S6 ̾»ì-¿ô B-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÀÖ»ú M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ï» S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +¸Þ S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¡£ S2 µ­¹æ-¶çÅÀ O + +ÀéÉ´»Í½½Æó²¯±ß T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀÖ»ú M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +²¼¿åÆ» M1 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +³Û S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»ÍÃû»ÍÀé¸ÞÉ´½½°ì²¯±ß T6-1 ̾»ì-¿ô O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Á°Ç¯ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +Èæ S1 ̾»ì-°ìÈÌ O +¸ÞÀ鼷ɴȬ½½»°²¯±ßÁý T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÃÏÊý M1 ̾»ì-°ìÈÌ O +¸ø±Ä M1 ̾»ì-°ìÈÌ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +Åê»ñ M1 ̾»ì-¥µÊÑÀܳ O +³Û S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸Þ S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +Æó S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àê¤á¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Î¡¼¥Ù¥ë M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-ARTIFACT +ʸ³Ø M1 ̾»ì-°ìÈÌ I-ARTIFACT +¾Þ S1 ̾»ì-°ìÈÌ I-ARTIFACT +¼ø¾Þ M1 ̾»ì-¥µÊÑÀܳ O +¼° S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âç¹¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +·ò»°Ïº T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÈÕ¤µ¤ó T1-9 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¢¤¤¤µ¤Ä M9 ̾»ì-¥µÊÑÀܳ O +Á´Ê¸ M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +¥Ë¥ë¥¹ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸»»áʪ¸ì M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ä S2 µ­¹æ-°ìÈÌ O +´ç S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ƴ¤¯ T1-9 Æ°»ì-¼«Î© O +º² S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ÔÊý M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¼ø¾Þ M1 ̾»ì-¥µÊÑÀܳ O +¼° S1 ̾»ì-°ìÈÌ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÈÕ¤µ¤ó T1-9 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âç¹¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +´¶¼Õ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¹¥Ô¡¼¥Á M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±Ñ¸ì M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¹Ô¤¦ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î M9 Ï¢Âλì O +Á´Ê¸ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼¡ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä̤ê T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡á S2 µ­¹æ-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡á S2 µ­¹æ-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥Ë¥ë¥¹ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Û¡¼¥²¥ë¥½¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á´ÌÌ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÍÄ S1 ·ÁÍÆ»ì-¼«Î© O +¡¦ S2 µ­¹æ-°ìÈÌ O +¾¯Ç¯ M1 ̾»ì-°ìÈÌ O +»þ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤´¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´ñ̯ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ÆüËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¹¥¦¥§¡¼¥Ç¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Èþ¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ÅÚÃÏ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̾Á° M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÏ̾ M1 ̾»ì-°ìÈÌ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +¾Ü¤·¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¤¤¦ M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +»þ´ü M1 ̾»ì-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤Û¤É M9 ½õ»ì-Éû½õ»ì O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ø S2 µ­¹æ-³ç¸Ì³« O +¸»»áʪ¸ì M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡Ù S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Îäø M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ç¤· M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î M9 Ï¢Âλì O +ºî¼Ô M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥ì¥Ç¥£ M10 ̾»ì-°ìÈÌ O +»ç¼°Éô M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤è¤ê M9 Éû»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥»¥ë¥Þ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ I-PERSON +¥é¡¼¥²¥ë¥ì¡¼¥Ö M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Æ¤·¤ß T1-9 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +·É°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êú¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤Þ M9 ̾»ì-Éû»ì²Äǽ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤È¤³¤í¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ä¤Ï¤ê M9 Éû»ì-°ìÈÌ O +´ç S1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤¬¤ó M9 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãç²ð M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤è¤Ã¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ø S2 µ­¹æ-³ç¸Ì³« O +¸»»áʪ¸ì M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡Ù S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +ȯ¸« M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤½¤Î M9 Ï¢Âλì O +¥Ò¡¼¥í¡¼ M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸÷¸»»á M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ì´ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤¨ M9 ½õ»ì-·¸½õ»ì O +¸½¤ì T1-9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ë´¤¯¤Ê¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +º² S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ÔÊý M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +õ¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¯¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¶õ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Èô¤Ö T1-9 Æ°»ì-¼«Î© O +´ç S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸Æ¤Ó¤«¤± T1-9 Æ°»ì-¼«Î© O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ë¥ë¥¹ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ß¤Á M9 ̾»ì-°ìÈÌ O +¤Ó¤«¤ì¤Æ M9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¾²¤ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʸ³Ø M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â¤È¤á M9 Æ°»ì-¼«Î© O +¤Æ¤­ M9 Æ°»ì-Èó¼«Î© O +¤¿¤Î¤â M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º² S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ÔÊý M1 ̾»ì-°ìÈÌ O +¤Ê¤Î M9 Æ°»ì-¼«Î© O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÆüËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʸ³Ø M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ʸ²½ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +õµæ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¤¤¯¤é¤« M9 Éû»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +À¾²¤ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë¤¿¤¤¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ª¤«¤¨¤· M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ç¤­¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Í¤¬¤Ã M9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Þ¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤½¤Î¤¿¤á M9 Éû»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¡²ñ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +¾Þ S1 ̾»ì-°ìÈÌ O +¤Ï¤¢ M9 ´¶Æ°»ì O +¤¿ S9 ½õÆ°»ì O +¤¨¤Æ M9 Éû»ì-°ìÈÌ O +¤¯¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤Ç¤·¤ç M9 ½õÆ°»ì O +¤¦¤« M9 Æ°»ì-¼«Î© O +¡© S2 µ­¹æ-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Þ¤À M9 Éû»ì-½õ»ìÎàÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤¿¤¨ M9 Æ°»ì-¼«Î© O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Î¤ß M9 ½õ»ì-Éû½õ»ì O +¿¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ª¤«¤¨¤· M9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»Ï¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿¤Ð¤«¤ê M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¤¹¤Ð¤é¤·¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +ÈÕ¤µ¤ó T1-9 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤¿¤¨ M9 Æ°»ì-¼«Î© O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤â¤Î¤Î M9 ½õ»ì-Àܳ½õ»ì O +¤Ò¤È¤Ä M9 ̾»ì-Éû»ì²Äǽ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Ù¥È¥Ê¥à M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥É¥¯ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +¼ê½Ñ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°Ù S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íè½Õ M1 ̾»ì-Éû»ì²Äǽ O +ÍèÆü M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +»ñ¶â M1 ̾»ì-°ìÈÌ O +Ê罸 M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +·ë¹ç M1 ̾»ì-¥µÊÑÀܳ O +ÂÎ S1 ̾»ì-°ìÈÌ O +ÁÐÀ¸»ù M1 ̾»ì-°ìÈÌ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¥Ù¥È¥Ê¥à M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ù¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ I-PERSON +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥É¥¯ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤È¤â¤Ë M9 Éû»ì-°ìÈÌ O +½½ S6 ̾»ì-¿ô O +»°ºÐ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¦¤Á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Äï S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥É¥¯ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼«Á³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +ÇÓÊØ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­¤ë M9 Æ°»ì-¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Íèǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +»Í·î T6-1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÍèÆü M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ê½Ñ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤±¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥É¥¯ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸½ºß M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Í¹© M1 ̾»ì-°ìÈÌ O +¤³¤¦Ìç T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼è¤êÉÕ¤± T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«Á³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +ÇÓÊØ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ȯ°é M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Îɤ¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Ê¤ë M9 Æ°»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +·»Äï M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À¸³è M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¹ñΩ M1 ̾»ì-°ìÈÌ O +¥Ä¡¼¥º¡¼É±¡ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥Û¡¼¥Á¥ß¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥Ù¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤Á¤ã¤ó¤È M9 Éû»ì-°ìÈÌ O +¥É¥¯ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¤Á¤ã¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ȯã M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ I-ORGANIZATION +´ê¤¦ T1-9 Æ°»ì-¼«Î© I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +»ö̳ M1 ̾»ì-°ìÈÌ O +¶É S1 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Ê¡°æ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ O +»°ÊýÄ®¸þ³Þ T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±ç½õ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá¤á¤ë T1-9 Æ°»ì-¼«Î© O +¼ê»æ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆϤ­ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +²ñ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¶á¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +ÅÏ¹Ò M1 ̾»ì-¥µÊÑÀܳ O +ÂÚºß M1 ̾»ì-¥µÊÑÀܳ O +Èñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êç¶â M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ï¤á¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤¹¤Ç¤Ë M9 Éû»ì-°ìÈÌ O +»°½ÅÂç T6-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +°å³ØÉô M1 ̾»ì-°ìÈÌ O +ÉÕ° M1 ̾»ì-¥µÊÑÀܳ O +ɱ¡ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤±Æþ¤ì T1-9 ̾»ì-°ìÈÌ O +½àÈ÷ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ï¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥Ù¥È¥Ê¥à M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÀïÁè M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸Ï¤ìÍÕ T9-1 ̾»ì-°ìÈÌ O +ºÞ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +±Æ¶Á M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +·ë¹ç M1 ̾»ì-¥µÊÑÀܳ O +ÂÎ S1 ̾»ì-°ìÈÌ O +ÁÐÀ¸»ù M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +À¸¤Þ¤ì T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +Æó S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +°ì¶åȬȬǯ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ä¡¼¥º¡¼É±¡ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ç S9 ½õÆ°»ì O +ʬΥ M1 ̾»ì-¥µÊÑÀܳ O +¼ê½Ñ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æó S6 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ʬ¤±¹ç¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿¤¿¤á M9 Æ°»ì-¼«Î© O +ÂçIJ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +û¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Í¹© M1 ̾»ì-°ìÈÌ O +¤³¤¦Ìç T9-1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +À¸³è M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¸½ºß M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ù¥È M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¿²¤¿¤­¤ê T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾õÂÖ M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥É¥¯ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +µÁ­ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ä¤± M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +ɱ¡ M1 ̾»ì-°ìÈÌ O +Æâ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼«Í³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ê⤤ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +û¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ÂçIJ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +±ÉÍÜ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µÛ¼ý M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°­¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ȯ°é M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃÙ¤ì T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¥¬¥¤¥É¥Ö¥Ã¥¯ M10 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +Àõ´Ö²¹Àô M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¹ñºÝ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¥¹¥±¡¼¥È M10 ̾»ì-°ìÈÌ I-ORGANIZATION +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ I-ORGANIZATION + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +¥×¥í¥Õ¥£¥ë M10 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +Åö½é M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÀÄ¿¹ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¸© S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +ͽÄê M1 ̾»ì-¥µÊÑÀܳ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½½¾¡ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +²­ S1 ̾»ì-°ìÈÌ O +ÃÏ¿Ì M1 ̾»ì-°ìÈÌ O +¤Ë¤è¤ê M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +·×²è M1 ̾»ì-¥µÊÑÀܳ O +Ãæ»ß M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¾ì½ê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ĹÌî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ I-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°Ü¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âΰé M1 ̾»ì-°ìÈÌ O +»ÜÀß M1 ̾»ì-¥µÊÑÀܳ O +À°È÷ M1 ̾»ì-¥µÊÑÀܳ O +Êä½õ M1 ̾»ì-¥µÊÑÀܳ O +¶â S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»È¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +£±£¹£¶£¸ M5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +·úÀß M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«»Ï M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Íâ S1 ÀÜƬ»ì-¿ôÀܳ O +£¶ S5 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +£±£±·î T5-1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´°À® M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +À°ÃÏ M1 ̾»ì-¥µÊÑÀܳ O +¹©»ö M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼«±ÒÂâ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¨ÎÏ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ëèǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +£±£²·î T5-1 ̾»ì-Éû»ì²Äǽ I-DATE +Ãæ½Ü M1 ̾»ì-Éû»ì²Äǽ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¹¥Ô¡¼¥É M10 ̾»ì-°ìÈÌ O +¥¹¥±¡¼¥È M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Àõ´Ö M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÁªÈ´ M1 ̾»ì-¥µÊÑÀܳ O +Âç²ñ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤Û¤« M9 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£¹ S5 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥ï¡¼¥ë¥É¥«¥Ã¥× M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£×ÇÕ T7-1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤â S9 ½õ»ì-·¸½õ»ì O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +¤¦¤Ä¤ï M9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +ÉßÃÏ M1 ̾»ì-°ìÈÌ O +ÌÌÀÑ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£³ S5 ̾»ì-¿ô O +Ê¿Êý¥á¡¼¥È¥ë T1-10 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥ê¥ó¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£± S5 ̾»ì-¿ô O +¼þ S1 ̾»ì-°ìÈÌ O +£´ S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥³¡¼¥¹ M10 ̾»ì-°ìÈÌ O +Éý S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£± S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +£¸ S5 ̾»ì-¿ô O +´ð S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾ÈÌÀ M1 ̾»ì-¥µÊÑÀܳ O +Åô S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ê¥¤¥¿¡¼ M10 ̾»ì-°ìÈÌ O +³«ºÅ M1 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +²Äǽ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ë̳¤Æ» M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Èæ¤Ù T1-9 Æ°»ì-¼«Î© O +ÃȤ«¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¾¾ËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¤¸õ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥ê¥ó¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ɹ¼Á M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æð¤é¤«¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñÆâ M1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +Í­¿ô M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ï¥¤¥¹¥Ô¡¼¥É M10 ̾»ì-°ìÈÌ O +¥ê¥ó¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÃÎ S1 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +Ëèǯ M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àõ´Ö M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÁªÈ´ M1 ̾»ì-¥µÊÑÀܳ O +Âç²ñ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¹¥ S1 ÀÜƬ»ì-̾»ìÀܳ O +µ­Ï¿ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À¸¤Þ¤ì¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +£´ S5 ̾»ì-¿ô O +¥­¥í M10 ̾»ì-°ìÈÌ O +Î¥¤ì T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Àõ´Ö M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +²¹Àô¶¿ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼þ°Ï M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Û¥Æ¥ë M10 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾¯¤Ê¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¢¤Ã M9 ´¶Æ°»ì O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶¥µ» M1 ̾»ì-¥µÊÑÀܳ O +²ñ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Áª¼ê M1 ̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +²¹Àô M1 ̾»ì-°ìÈÌ O +ι´Û M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Çñ¤Þ¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +¤È¤³¤í M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¡ S13 µ­¹æ-¶õÇò O +ĹÌî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ I-LOCATION +¾¾ËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +»°ºÍ»³ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +£±£¸£³£° M5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +¤¢ S9 ¥Õ¥£¥é¡¼ O +¡¡ S13 µ­¹æ-¶õÇò O +¤· S9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +£Ê£Ò M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-LOCATION +¾¾ËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +±Ø S1 ̾»ì-°ìÈÌ I-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Ö S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +£³ S5 ̾»ì-¿ô O +ʬ S1 Æ°»ì-¼«Î© O + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +¤Ç¤ó¤ï M9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +£°£²£¶£³ M5 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +£´ S5 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +£° S5 ̾»ì-¿ô O + +Êƽ£ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¥µ¥ß¥Ã¥È M10 ̾»ì-°ìÈÌ O +ÊÄËë M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +Åý¹ç M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°èÆâ M1 ̾»ì-°ìÈÌ O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +ÎÏ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³Êº¹ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊÉ S1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥Þ¥¤¥¢¥ß M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +£± S5 ̾»ì-¿ô O +Æü S1 ̾»ì-°ìÈÌ O +ĬÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Æ»É× M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +Êƽ£¼óǾ²ñµÄ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ç S9 ½õÆ°»ì O +½½°ìÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +£Æ£Ô£Á£Á M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +ÀßΩ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤Î M9 Ï¢Âλì O +¼Â¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ͽÃÇ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µö¤µ T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤â¤Î¤Î M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃæÆîÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÃÏ°è M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +¼«Í³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +²½ S1 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ή¤ì T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Î¸Ç¤¿¤ë T1-9 Ï¢Âλì O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ʊ»þ¤Ë T1-9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂÀÊ¿ÍÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÂÐ´ß M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÃÏ°è M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +Åý¹ç M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Â礭¤Ê T1-9 Ï¢Âλì O +»É·ã M1 ̾»ì-¥µÊÑÀܳ O +¤È¤Ê¤ê M9 ̾»ì-°ìÈÌ O +¤½¤¦¤À M9 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÃæÆîÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +½ô¹ñ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +˾ S1 ̾»ì-°ìÈÌ O +¤ó¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +ËÌÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-OPTIONAL +¼«Í³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ I-OPTIONAL +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ I-OPTIONAL +¶¨Äê M1 ̾»ì-¥µÊÑÀܳ I-OPTIONAL +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Î£Á£Æ£Ô£Á M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³ÈÂç M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÅöÌÌ M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆîÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +Í¥ÅùÀ¸ M1 ̾»ì-°ìÈÌ O +¥Á¥ê M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +°ì S6 ̾»ì-¿ô O +¥«¹ñ T10-1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ÂÄê M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤ò¤á¤°¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥«¥Ê¥À M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥á¥­¥·¥³ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸ò¾Ä M1 ̾»ì-¥µÊÑÀܳ O +½ªÎ» M1 ̾»ì-¥µÊÑÀܳ O +ǯ¸Â M1 ̾»ì-°ìÈÌ O +¤µ¤¨ M9 ½õ»ì-·¸½õ»ì O +ÀßÄê M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Þ¥¯¥é¡¼¥ì¥ó M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¦ S2 µ­¹æ-°ìÈÌ O +¥«¥Ê¥À M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ËÇ°× M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +Áê S1 ÀÜƬ»ì-Æ°»ìÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +µ­¼Ô M1 ̾»ì-°ìÈÌ O +ÃÄ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Íèǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½ªÎ» M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǰƬ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÌÀ¤é¤« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +µÄ²ñ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ù»ý M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÌÀ³Î M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ç S9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +Ãʳ¬ M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +´üÂÔ M1 ̾»ì-¥µÊÑÀܳ O +ÃÍ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹â¤á T1-9 ̾»ì-°ìÈÌ O +¤¹¤®¤ë M9 Æ°»ì-Èó¼«Î© O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +´í¸± M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ËÁ¤» T1-9 Æ°»ì-¼«Î© O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +Åý¹ç M1 ̾»ì-¥µÊÑÀܳ O +ÌäÂê M1 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ç¤Ï M9 Àܳ»ì O +º£¸å M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤È¤Æ¤Ä¤â¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +ºî¶È M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥¯¥ê¥ó¥È¥ó M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɬÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°èÆâ M1 ̾»ì-°ìÈÌ O +³Æ¹ñ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +ÎÏ S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ȯŸ M1 ̾»ì-¥µÊÑÀܳ O +Ãʳ¬ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ƱÍÍ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +³Êº¹ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿ô¿¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Îã³° M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Í¥¶ø M1 ̾»ì-¥µÊÑÀܳ O +Á¼ÃÖ M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Åý¹ç M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +À®Î© M1 ̾»ì-¥µÊÑÀܳ O +¤·¤Ê¤¤ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÌÀ¤é¤« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£Î£Á£Æ£Ô£Á M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥â¥Ç¥ë M10 ̾»ì-°ìÈÌ O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼Â¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¿¤¯ T1-9 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +º¤Æñ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ͽÁÛ M1 ̾»ì-¥µÊÑÀܳ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +º£²ó M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ç°Õ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ÃæÆîÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +½ô¹ñ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +º£¸å M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶¥¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +°ìÃÊ¤È T1-9 Éû»ì-°ìÈÌ O +»Ô¾ì M1 ̾»ì-°ìÈÌ O +¼«Í³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +²½ S1 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Ê¤á¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È¤Ë M9 Éû»ì-°ìÈÌ O +¤Ê¤í M9 Æ°»ì-¼«Î© O +¤¦ S9 ´¶Æ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¢¥¸¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼¡¤° T1-9 Æ°»ì-¼«Î© O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +À®Ä¹ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿ë¤² T1-9 Æ°»ì-¼«Î© O +¤Ä¤Ä M9 ½õ»ì-Àܳ½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +ÃæÆîÊÆ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +°Ï¤¤¹þ¤ß T1-9 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Þ¤ê T1-9 Æ°»ì-¼«Î© O +¤Ä¤Ä M9 ½õ»ì-Àܳ½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°õ¾Ý M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÌȤì T1-9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°è S1 ̾»ì-°ìÈÌ O +³°¹ñ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +̵ S1 ÀÜƬ»ì-̾»ìÀܳ O +´Ø¿´ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤Ï¤¤ M9 ´¶Æ°»ì O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +Æ°¤­ T1-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡ã S2 µ­¹æ-³ç¸Ì³« O +¥¤¥ó¥Õ¥©¥á¡¼¥·¥ç¥ó M10 ̾»ì-°ìÈÌ O +¡ä S2 µ­¹æ-³ç¸ÌÊÄ O +ÆÃÉ® M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥Ð¥ó¥®¥ã¥ë¥É M10 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤â¤¦ M9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤µ¤¹¤¬ M9 Éû»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£· S5 ̾»ì-¿ô O +ǯÂå M1 ̾»ì-°ìÈÌ O +Âçʪ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»Ä¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦ S9 ´¶Æ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»×¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤¿¤é M9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Ö¥é¥¤¥¢¥ó M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Õ¥§¥ê¡¼ M10 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¼Ì¿¿ M1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íè¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¢¥Ð¥ó¥®¥ã¥ë¥É M10 ̾»ì-°ìÈÌ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¥í¥Ã¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ʹ¤«¤» T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¯¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥Ð¥ó¥É M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥í S10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ O +¥­¥· M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¡¼¡¦¥ß¥å¡¼¥¸¥Ã¥¯¤Î¥ê¡¼¥À¡¼¤«¤é¥½¥í¤ò T10-9 ̾»ì-°ìÈÌ O +³¤± T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÍèÆü M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +º£ÅÙ M1 ̾»ì-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +£³ S5 ̾»ì-¿ô O +²ó S1 Æ°»ì-¼«Î© O +ÌÜ S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£· S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤Ö¤ê M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ºÇ¿· M1 ̾»ì-°ìÈÌ O +ºî S1 Æ°»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥Þ¥à¡¼¥Ê M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ãç S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°­¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥Ö¥é¥¤¥¢¥ó M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ I-PERSON +¥¤¡¼¥Î M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON +¤â S9 ½õ»ì-·¸½õ»ì O +¥¸¥ç¥¤¥ó¥È M10 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +£´ S5 ̾»ì-¿ô O +ºÐ S1 ̾»ì-°ìÈÌ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +³Ñ S1 ·ÁÍÆ»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤È¤ì M9 Æ°»ì-¼«Î© O +¤Æ¤­ M9 Æ°»ì-Èó¼«Î© O +¤¿¤«¤Ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤È¤â M9 ½õ»ì-Éû½õ»ì O +»×¤ï¤» T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤Î M9 Ï¢Âλì O +Æ«·Ý M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀèÀ¸ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Êá¤é¤¨ T1-9 Æ°»ì-¼«Î© O +¤É¤³¤í M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +±ü¿¼ M1 ·ÁÍÆ»ì-¼«Î© O +¤µ¤È M9 ·ÁÍÆ»ì-¼«Î© O +´ñ̯ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ÆâŪ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¥¤¥á¡¼¥¸ M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Á T1-9 Æ°»ì-¼«Î© O +³¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥Ð¥Ã¥¯ M10 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Ð¥ó¥É M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ÄÇ° M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ʊ¤¸ T1-9 Ï¢Âλì O +±Ñ¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¥¬¥é¥Ã M10 Éû»ì-½õ»ìÎàÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÌÓ¿§ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¥¸¥ã¥ß¥í¥¯¥ï¥¤ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Û¡¼¥ë M10 ̾»ì-°ìÈÌ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥À¥ó¥¹¥Û¡¼¥ë M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Êý S1 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ª»÷¹ç¤¤ T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥µ¥¦¥ó¥É M10 ̾»ì-°ìÈÌ O +¤Ê¤Î M9 Æ°»ì-¼«Î© O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âçʪ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Á¤ã¤Ã M9 Æ°»ì-¼«Î© O +¤¿¤« M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¸¶ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÃÎÀ¤ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Õ¥é¥ó¥¹¸ì T10-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥·¥ó¥°¥ë M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Á¤ç¤Ã¤È M9 Éû»ì-½õ»ìÎàÀܳ O +¥¯¥ì¥â¥ó¥Æ¥£¡¼¥Ì M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ O +É÷ S1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +»³ºê M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¥Ï¥³ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¸¥ã¥Ñ¥Ë¡¼¥º M10 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Ý¥Ã¥×¥¹ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥«¥Ð¡¼ M10 ̾»ì-¥µÊÑÀܳ O +½¸ S1 Æ°»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +½½È¬ÈÖ T6-1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ú¤Ã²¼¤² T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Åоì M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥ª¥ó M10 ̾»ì-¥µÊÑÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +°æ¾åÍÛ¿å M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸µµ¤ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á´¹ñ M1 ̾»ì-°ìÈÌ O +¥Ä¥¢¡¼ M10 ̾»ì-°ìÈÌ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¨¥³¡¼¥Ù¥ê¡¼ M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½÷À­ M1 ̾»ì-°ìÈÌ O +¥Ü¡¼¥«¥ë M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãæ¿´ M1 ̾»ì-°ìÈÌ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¿·¿Ê M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +±Ñ¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¥Ð¥ó¥É M10 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥¶¥Ã¥× M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¥í¥¸¥ã¡¼ M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ª¤Á¤ã¤á M9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¥Ç¥¸¥¿¥ë M10 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Õ¥¡¥ó¥¯ M10 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Àî S1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¥Ò¥Ã¥È M10 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Ê¥¦ M10 ·ÁÍÆ»ì-¼«Î© O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +¥¹¥¯¥ê¡¼¥ó M10 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +Ʋ¡¹¤¿¤ë T2-9 Ï¢Âλì O +Àаæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +εÌé M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +´ÆÆÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½é S1 ÀÜƬ»ì-̾»ìÀܳ O +ºîÉÊ M1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²ÏƸ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²ÏƸ M1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡á S2 µ­¹æ-°ìÈÌ O +¼Ì¿¿ M1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥á¥¸¥ã¡¼ M10 ̾»ì-°ìÈÌ O +°Ê³° M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +±Ç²è M1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +¿ô¾¯¤Ê¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +Àµ·î M1 ̾»ì-°ìÈÌ O +±Ç²è M1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +´ÆÆÄ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊÆÊƣạ̃գ T1-7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥«¡¼¥ë¥¹¥â¡¼¥­¡¼Àаæ T10-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-PERSON +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Â礭¤Ê T1-9 Ï¢Âλì O +ÏÃÂê M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Àаæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +εÌé M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ËÜ̾ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤º¤Ã¤È M9 Éû»ì-°ìÈÌ O +Á° S1 ̾»ì-Éû»ì²Äǽ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»£¤ê T1-9 Æ°»ì-¼«Î© O +¤¿¤«¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +Âêºà M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼è¤êÁȤó T1-9 Æ°»ì-¼«Î© O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Âè S1 ÀÜƬ»ì-¿ôÀܳ O +°ì²ó T6-1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ÆÆÄ M1 ̾»ì-¥µÊÑÀܳ O +ºîÉÊ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»×¤¨ T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +Ʋ¡¹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +±Ç²è M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +±Ç²è M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²ÏƸ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¨¥¤¥ê¥¢¥ó M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾¯Ç¯ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¿´ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ä̤魯 T1-9 Æ°»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +£Å¡¦£Ô T2-7 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ð¥ê¥¨¡¼¥·¥ç¥ó M10 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤«¤· M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ç¿Í¸ø M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾¯Ç¯ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²ÏƸ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²ñ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Þ¤À M9 Éû»ì-½õ»ìÎàÀܳ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹âÅÙ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +À®Ä¹ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿ë¤²¤ë T1-9 Æ°»ì-¼«Î© O +Á° S1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾¼Ï M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-DATE +Æó½½È¬Ç¯ T6-1 ̾»ì-¿ô O +¤´¤í M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¼«Á³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÎÐ S1 ̾»ì-°ìÈÌ O +¤¢¤Õ¤ì¤ë M9 Æ°»ì-¼«Î© O +¼«Á³ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤³¤½ M9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àаæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +´ÆÆÄ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¹¥¯¥ê¡¼¥ó M10 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÆ S1 ÀÜƬ»ì-̾»ìÀܳ O +¸½¤· T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ß S9 ÀÜƬ»ì-̾»ìÀܳ O +¤¿¤«¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +É÷·Ê M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ã¤¤ T1-9 ̾»ì-¥Ê¥¤·ÁÍÆ»ì¸ì´´ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÁÇËÑ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¿Í¡¹ T1-2 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿´ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Ä¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +»þÂå M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤½¤ó¤Ê M9 Ï¢Âλì O +µ¤»ý¤Á T1-9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤«¤Ä¤Æ M9 Éû»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +É÷·Ê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ß¤º¤ß¤º¤·¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +±ÇÁü M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ºÆ¸½ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Æó S6 ̾»ì-¿ô O +Âå S1 Æ°»ì-¼«Î© O +¤Ë¤ï¤¿¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Éã S1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»Ò S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʪ¸ì M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ÏƸ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ìó« M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½Å S1 ·ÁÍÆ»ì-¼«Î© O +¤µ¤¬ M9 Æ°»ì-¼«Î© O +¸ú¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Ç®¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ÎÞ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤½¤½¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤È¤³¤í¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ÏƸ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤¼ M9 Éû»ì-½õ»ìÎàÀܳ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Íè S1 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +²¿ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤è¤¦ M9 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤Î¤« M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Éôʬ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Á´Á³ M1 Éû»ì-½õ»ìÎàÀܳ O +ʬ¤«¤é T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ºÙ¤«¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¤ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤ê¤À¤¹ M9 Æ°»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ª¼ê¾å¤² T1-9 ̾»ì-°ìÈÌ O +¤Ê¤Î M9 Æ°»ì-¼«Î© O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¸ø³« M1 ̾»ì-¥µÊÑÀܳ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¥Ð¥É¥ß¥ó¥È¥ó M10 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +Á´ÆüËÜ M1 ̾»ì-°ìÈÌ O +Áí¹ç M1 ̾»ì-¥µÊÑÀܳ O +Áª¼ê¸¢ M1 ̾»ì-°ìÈÌ O +Âç²ñ M1 ̾»ì-°ìÈÌ O +¡ã S2 µ­¹æ-³ç¸Ì³« O +ºÇ½ª M1 ̾»ì-°ìÈÌ B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡ä S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +½÷»Ò M1 ̾»ì-°ìÈÌ O +Ê£ S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾¾Èø M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +ºåËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÁÈ S1 ̾»ì-°ìÈÌ I-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½é S1 ÀÜƬ»ì-̾»ìÀܳ O +Í¥¾¡ M1 ̾»ì-¥µÊÑÀܳ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡þ S2 µ­¹æ-°ìÈÌ O +Á´ÆüËÜ M1 ̾»ì-°ìÈÌ O +Áí¹ç M1 ̾»ì-¥µÊÑÀܳ O +¥Ð¥É¥ß¥ó¥È¥ó M10 ̾»ì-°ìÈÌ O +Áª¼ê¸¢ M1 ̾»ì-°ìÈÌ O +Âç²ñ M1 ̾»ì-°ìÈÌ O +ºÇ½ª M1 ̾»ì-°ìÈÌ B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô B-DATE +Æü S1 ̾»ì-°ìÈÌ I-DATE +¡¦ S2 µ­¹æ-°ìÈÌ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÉÜ S1 ̾»ì-°ìÈÌ O +¼é¸ý M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»Ô̱ M1 ̾»ì-°ìÈÌ O +Âΰé´Û M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +ÃË»Ò M1 ̾»ì-°ìÈÌ O +¥·¥ó¥°¥ë¥¹ M10 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¢¦ S2 µ­¹æ-°ìÈÌ O +½à·è¾¡ M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +Ä®ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-PERSON +ʸɧ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Î£Ô£Ô M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +£² S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£° S5 ̾»ì-¿ô O +¿Ü²ì M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +δ¹° M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Î£Ô£Ô M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÜ»³ M1 ̾»ì-°ìÈÌ B-PERSON +½¨¾¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥È¥Ê¥ß±¿Í¢ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +£² S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£° S5 ̾»ì-¿ô B-PERSON +ÎÓ S1 ̾»ì-°ìÈÌ I-PERSON +µ®¾¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÆüÂÎÂç M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¢¦ S2 µ­¹æ-°ìÈÌ O +·è¾¡ M1 ̾»ì-°ìÈÌ O + +Ä®ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +£² S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£´ S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +£° S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +ËÜ»³ M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£² S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Ä®ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +£² S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +Ϣ³ M1 ̾»ì-¥µÊÑÀܳ O +£² S5 ̾»ì-¿ô O +²ó S1 Æ°»ì-¼«Î© O +ÌÜ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Í¥¾¡ M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +½÷»Ò M1 ̾»ì-°ìÈÌ O +¥À¥Ö¥ë¥¹ M10 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¢¦ S2 µ­¹æ-°ìÈÌ O +½à·è¾¡ M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¾¾Èø M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÃÎÈþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +ºåËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +²í»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Î£Ô£Ô M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +£² S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£° S5 ̾»ì-¿ô O +Ã滳 M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÃÒ¹á»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +ÁýÌÐ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¹§»Þ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +»°ÍÎÅŵ¡ T6-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿å°æ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÈÞº´»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¿å°æ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÂÙ»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥Õ¥¸¥Á¥å¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +£² S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£° S5 ̾»ì-¿ô O +°æÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µ®»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +µ®ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Àô S1 ̾»ì-°ìÈÌ I-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +»°ÍÎÅŵ¡ T6-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¢¦ S2 µ­¹æ-°ìÈÌ O +·è¾¡ M1 ̾»ì-°ìÈÌ O + +¾¾Èø M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£² S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£² S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +£° S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +¿å°æ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÈÞ S1 ̾»ì-°ìÈÌ O + +ºåËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£¹ S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¿å°æ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÂÙ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¾¾Èø M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +ºåËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÁÈ S1 ̾»ì-°ìÈÌ I-PERSON +¤Ï S9 ½õ»ì-·¸½õ»ì O +½é S1 ÀÜƬ»ì-̾»ìÀܳ O +Í¥¾¡ M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +º®¹ç M1 ̾»ì-¥µÊÑÀܳ O +¥À¥Ö¥ë¥¹ M10 ̾»ì-°ìÈÌ O +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¢¦ S2 µ­¹æ-°ìÈÌ O +·è¾¡ M1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +º£°æ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¾´¹¨ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£² S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£· S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +¿¢Â¼ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¾¼É§ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¦ S2 µ­¹æ-°ìÈÌ O +¹ÃÈå M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÈþÏ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£± S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÅÄÃæ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +º´µª»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Î£Ô£Ô M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +£± S5 ̾»ì-¿ô O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£Î£Ô£Ô M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION + +¡¦ S2 µ­¹æ-°ìÈÌ O +£Î£Å£Ã M7 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¶å½£ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¦ S2 µ­¹æ-°ìÈÌ O +»°ÍÎÅŵ¡ T6-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +º£°æ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¹ÃÈå M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÁÈ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +£² S5 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +Ϣ³ M1 ̾»ì-¥µÊÑÀܳ O +£² S5 ̾»ì-¿ô O +²ó S1 Æ°»ì-¼«Î© O +ÌÜ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Í¥¾¡ M1 ̾»ì-¥µÊÑÀܳ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¸½¿¦ M1 ̾»ì-°ìÈÌ O +Çˤê T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸½Ìò M1 ̾»ì-°ìÈÌ O +£² S5 ̾»ì-¿ô O +¿ÍÌÜ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½÷À­ M1 ̾»ì-°ìÈÌ O +ĮĹ M1 ̾»ì-°ìÈÌ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÌîÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÀîÄ® M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ǥ´ü M1 ̾»ì-°ìÈÌ O +Ëþλ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȼ¤¦ T1-9 Æ°»ì-¼«Î© O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +ÉÜ S1 ̾»ì-°ìÈÌ O +Í¿¼Õ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +·´ S1 ̾»ì-°ìÈÌ O +ÌîÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÀîÄ® M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ĮĹ M1 ̾»ì-°ìÈÌ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½½°ìÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +Åêɼ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¨Æü M1 ̾»ì-Éû»ì²Äǽ O +³«É¼ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +̵½ê° M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¿·¿Í M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Á° S1 ̾»ì-Éû»ì²Äǽ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +Ä®µÄ²ñ M1 ̾»ì-°ìÈÌ O +µÄĹ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂÀÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-PERSON +µ®Èþ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£´ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»° S6 ̾»ì-¿ô O +Áª S1 Æ°»ì-¼«Î© O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìܻؤ· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +̵½ê° M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸½¿¦ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÌÐ϶ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +·ûϺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£¶ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡á S2 µ­¹æ-°ìÈÌ O +¼«Ì± M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¿äÁ¦ M1 ̾»ì-¥µÊÑÀܳ O +¡á S2 µ­¹æ-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +É´½½È¬É¼º¹ T6-1 ̾»ì-¿ô O +¤Ç S9 ½õÆ°»ì O +Çˤê T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½é S1 ÀÜƬ»ì-̾»ìÀܳ O +ÅöÁª M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²Ì¤¿¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¸½¿¦ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½÷À­ M1 ̾»ì-°ìÈÌ O +ĮĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Á´¹ñ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +Æó S6 ̾»ì-¿ô O +¿ÍÌÜ M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +·ãÀï M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +À©¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ÂÀÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¸øÀµ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +Ê¿Åù M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤à¤Í¤È M9 Éû»ì-°ìÈÌ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ¤»ý¤Á T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÂçÀÚ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¹ÔÀ¯ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Ê¤á T1-9 Æ°»ì-¼«Î© O +¤¿¤¤ M9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÊúÉé M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ì¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò B-PERSON +ÂÀÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +µþÅÔ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»Ô S1 ̾»ì-°ìÈÌ I-LOCATION +½Ð¿È M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Æü¹Ò M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¥¹¥Á¥å¥ï¡¼¥Ç¥¹ M10 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·Ð¤Æ T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ä®µÄ M1 ̾»ì-°ìÈÌ O +»Í´üÌÜ T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +É× S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Éã S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÈòÇ¥ M1 ̾»ì-¥µÊÑÀܳ O +´ï¶ñ M1 ̾»ì-°ìÈÌ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÂÀÅÄ¥ê¥ó¥° T1-10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹Í°Æ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½°±¡ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +µÄ°÷ M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Í¥À¸ M1 ̾»ì-°ìÈÌ B-ARTIFACT +Êݸî M1 ̾»ì-¥µÊÑÀܳ I-ARTIFACT +Ë¡ S1 ̾»ì-°ìÈÌ I-ARTIFACT +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À©Äê M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿Ô¤¯¤· T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¸Î S1 ÀÜƬ»ì-̾»ìÀܳ O +ÂÀÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-PERSON +ŵÎé M1 ̾»ì-°ìÈÌ I-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +°ì S6 ̾»ì-¿ô O +¡û S2 µ­¹æ-°ìÈÌ O +¡û S2 µ­¹æ-°ìÈÌ O +¡½ S2 µ­¹æ-°ìÈÌ O +Ȭ S6 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡£ S2 µ­¹æ-¶çÅÀ O + +µÁÉã M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +½÷À­ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¼Ò²ñ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +»Å»ö M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ý¤Ä T1-9 Æ°»ì-¼«Î© O +¤Ù¤­ M9 ½õÆ°»ì O +¤À S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸ÀÍÕ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿¨È¯ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¯¼£ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æ» S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò B-PERSON +ÂÀÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»°Àéϻɴ»Í½½¸Þɼ T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÌÐ϶ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»°Àé¸ÞÉ´Æó½½¼·É¼ T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÅöÆü M1 ̾»ì-Éû»ì²Äǽ O +Í­¸¢¼Ô M1 ̾»ì-°ìÈÌ O +¿ô S1 ̾»ì-¿ô O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ȬÀé¸ÞÉ´»Í½½¸Þ¿Í T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +Åêɼ M1 ̾»ì-¥µÊÑÀܳ O +Ψ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ȭ S6 ̾»ì-¿ô B-PERCENT +¡¦ S2 µ­¹æ-°ìÈÌ I-PERCENT +Ȭ S6 ̾»ì-¿ô I-PERCENT +¡ó S2 ̾»ì-ÀÜÈø-½õ¿ô»ì I-PERCENT +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +½÷À­ M1 ̾»ì-°ìÈÌ O +¼óĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸½ºß M1 ̾»ì-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ê¡Åç M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¸© S1 ̾»ì-°ìÈÌ I-LOCATION +ÅìÇòÀî M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +·´ S1 ̾»ì-°ìÈÌ I-LOCATION +êÁÒ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-LOCATION +Ä® S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æ£ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Ëþ¼÷·Ã M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +ĮĹ M1 ̾»ì-°ìÈÌ O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +»ÔĹ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ĮĹ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼Ĺ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Æ S1 ÀÜƬ»ì-̾»ìÀܳ O +°ì¿Í T6-1 ̾»ì-°ìÈÌ O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼Â¶È M1 ̾»ì-°ìÈÌ O +ÃÄ S1 ̾»ì-°ìÈÌ O +½÷»Ò M1 ̾»ì-°ìÈÌ O +±ØÅÁ M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +°ì¶è T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ìµ¤ T6-1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âç²ñ M1 ̾»ì-°ìÈÌ O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +¥ê¥¯¥ë¡¼¥È M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +£Ö£² T7-5 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥ê¥¯¥ë¡¼¥È M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°µ¾¡ M1 ̾»ì-¥µÊÑÀܳ O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ì¶è T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ö¿å M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÇ½é M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀÑ¶Ë M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Èô¤Ð¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æó S6 ̾»ì-¿ô O +°Ì S1 ̾»ì-Éû»ì²Äǽ O +¥°¥ë¡¼¥× M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥À¥¤¥Ï¥Ä M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µþ¥»¥é T1-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²£ÉͶä¹Ô M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²­Åŵ¤ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +µÜºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +º¹ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤É¤ó¤É¤ó M9 Éû»ì-½õ»ìÎàÀܳ O +¹­¤² T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶è´Ö M1 ̾»ì-°ìÈÌ O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áö¤ê¤Ç T1-9 Æ°»ì-¼«Î© O +£± S5 ̾»ì-¿ô O +¥á¡¼¥È¥ë M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Ãù¶â M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Æó¶è T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÎëÌÚ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÃÒ¹á»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¿¤¹¤­ M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÅϤ· T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÎëÌÚ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÃÒ¹á»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¥ê¡¼¥É M10 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â礭 T1-9 ·ÁÍÆ»ì-¼«Î© O +¤¯¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +ÂçÀª M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·è¤á T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤È M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æó S6 ̾»ì-¿ô O +°Ì S1 ̾»ì-Éû»ì²Äǽ O +Á褤 T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃíÌÜ M1 ̾»ì-¥µÊÑÀܳ O +¤» S9 Æ°»ì-¼«Î© O +¤¶¤ë M9 ½õÆ°»ì O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆÀ S1 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¥ì¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Æó¶è T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +µþ¥»¥é T1-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»°¶è T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç¤Ï M9 Àܳ»ì O +£· S5 ̾»ì-¿ô O +¿Í S1 ̾»ì-°ìÈÌ O +È´¤­ T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾á S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áö¤ê¤Ç T1-9 Æ°»ì-¼«Î© O +¥Ë¥³¥Ë¥³¥É¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô O +°Ì S1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìö¤ê½Ð T9-1 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»Í¶è T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ç S9 ½õÆ°»ì O +ÃÏÎÏ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +Éٻζä¹Ô M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾å¤¬¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤­¤¿ M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜ¥±¥ß¥³¥ó T1-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·òÆ® M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Þ¤À M9 Éû»ì-½õ»ìÎàÀܳ O +º®¤È¤ó T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¸Þ S6 ̾»ì-¿ô O +¶è S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÊÒ²¬ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²÷Áö M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤è¤¦¤ä¤¯ M9 Éû»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô O +°Ì S1 ̾»ì-Éû»ì²Äǽ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·èÄêŪ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +ºÇ½ª M1 ̾»ì-°ìÈÌ O +Ï» S6 ̾»ì-¿ô O +¶è S1 ̾»ì-°ìÈÌ O +¤Ç¤Ï M9 Àܳ»ì O +²­Åŵ¤ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +µÜºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Å쳤¶ä¹Ô M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +·ã¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +»°°Ì T6-1 ̾»ì-°ìÈÌ O +Á褤 T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Å쳤¶ä¹Ô M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¢¥ó¥«¡¼ M10 ̾»ì-°ìÈÌ O +ËÜÁñ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ãϸµ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ÕÃÏ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤» T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÆȤêι T9-1 ̾»ì-°ìÈÌ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥ê¥¯¥ë¡¼¥È M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +»°¶è T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +¸Þ½½Íò T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶è´Ö M1 ̾»ì-°ìÈÌ O +¿· S1 ÀÜƬ»ì-̾»ìÀܳ O +¤Ç S9 ½õÆ°»ì O +Áö¤ê T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¢¤È M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +µ­Ï¿ M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À襤 T1-9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¶è´Ö M1 ̾»ì-°ìÈÌ O +µ÷Î¥ M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +½ô S1 ÀÜƬ»ì-̾»ìÀܳ O +¾ò·ï M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ã¤¦ T1-9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¨¡¼¥¹ M10 ̾»ì-°ìÈÌ O +µé S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¿¤¹¤­ M9 ̾»ì-°ìÈÌ O +¥ê¥ì¡¼ M10 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +Àè·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹ñºÝ M1 ̾»ì-°ìÈÌ B-ORGANIZATION +ÀéÍÕ T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +±ØÅÁ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +µ­Ï¿ M1 ̾»ì-¥µÊÑÀܳ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +£± S5 ̾»ì-¿ô O +ʬ S1 Æ°»ì-¼«Î© O +Ⱦ S1 ̾»ì-°ìÈÌ B-PERCENT +°Ê¾å M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤â S9 ½õ»ì-·¸½õ»ì O +®¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¸«»ö M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤µ S9 ½õ»ì-½ª½õ»ì O +¤À¤Ã M9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ê S2 µ­¹æ-³ç¸Ì³« O +´ä¸µ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-ARTIFACT +Úñ S1 ̾»ì-°ìÈÌ I-ARTIFACT +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¿ÍÀ¸ M1 ̾»ì-°ìÈÌ B-ARTIFACT +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ I-ARTIFACT +¹Í¤¨Ä¾¤¹ T1-9 Æ°»ì-¼«Î© I-ARTIFACT +ͦµ¤ M1 ̾»ì-°ìÈÌ I-ARTIFACT +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ I-ARTIFACT +Í¿¤¨ T1-9 Æ°»ì-¼«Î© I-ARTIFACT +¤é¤ì M9 Æ°»ì-ÀÜÈø I-ARTIFACT +¤¿ S9 ½õÆ°»ì I-ARTIFACT +¡× S2 µ­¹æ-³ç¸ÌÊÄ I-ARTIFACT +¡½¡½ M2 µ­¹æ-°ìÈÌ I-ARTIFACT +¥Î¡¼¥Ù¥ë M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ I-ARTIFACT +¾Þ S1 ̾»ì-°ìÈÌ I-ARTIFACT +¼õ¾Þ M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âç¹¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +·ò»°Ïº T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥¹¥È¥Ã¥¯¥Û¥ë¥à M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +£± S5 ̾»ì-¿ô O +Æü S1 ̾»ì-°ìÈÌ O +º´Æ£ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ͳµª M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¼«Ê¬ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿ÍÀ¸ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹Í¤¨Ä¾¤¹ T1-9 Æ°»ì-¼«Î© O +ͦµ¤ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í¿¤¨ T1-9 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤¿ S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Âç¹¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +·ò»°Ïº T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½½Æü¸á¸å¸Þ»þȾ T6-1 ̾»ì-¿ô O +¤¹¤® M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +»þ´Ö M1 ̾»ì-Éû»ì²Äǽ O +½½°ìÆü¸áÁ°°ì»þȾ T6-1 ̾»ì-¿ô O +¤¹¤® M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Î¡¼¥Ù¥ë M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ B-ARTIFACT +¾Þ S1 ̾»ì-°ìÈÌ I-ARTIFACT +¼ø¾Þ M1 ̾»ì-¥µÊÑÀܳ O +¼° S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ª¤¨ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥¹¥È¥Ã¥¯¥Û¥ë¥à M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥³¥ó¥µ¡¼¥È¥Û¡¼¥ë M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤³¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¸ì¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Âç¹¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥«¡¼¥ë¡¦¥°¥¹¥¿¥Õ¡¦¥¹¥¦¥§¡¼¥Ç¥ó T2-10 ̾»ì-°ìÈÌ O +¹ñ²¦ M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾Ú½ñ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¶â¥á¥À¥ë T1-10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼êÅϤµ T1-9 Æ°»ì-¼«Î© O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²ñ¾ì M1 ̾»ì-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ò¤È¤­¤ï M9 Éû»ì-°ìÈÌ O +Â礭¤Ê T1-9 Ï¢Âλì O +Çï¼ê M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +µÒÀÊ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Á° S1 ̾»ì-Éû»ì²Äǽ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ï» S6 ̾»ì-¿ô O +ÈÖÌÜ M1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÂ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤æ¤«¤ê M9 ̾»ì-°ìÈÌ O +É×¿Í M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤½¤Ã¤È M9 Éû»ì-°ìÈÌ O +ÌÜƬ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¡¤µ¤¨¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¼ê S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Â礭¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +²£ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹­¤² T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +°ìÈÖ T6-1 ̾»ì-Éû»ì²Äǽ O +ÎÏ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹þ¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +Çï¼ê M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ĹÃË M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸÷ S1 ̾»ì-°ìÈÌ O +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¿¶¤ê¤½¤Ç T1-9 ̾»ì-°ìÈÌ O +»Ñ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ĺ½÷ M1 ̾»ì-°ìÈÌ O +ºÚºÎ»Ò M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¤Ê¤Ä¤ß¤³ M9 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Þ¤Ö¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤½¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éã¿Æ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À²¤ì»Ñ T9-1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤Ä¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¼ø¾Þ M1 ̾»ì-¥µÊÑÀܳ O +¼° S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³¤¤ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +»ÔÄ£¼Ë M1 ̾»ì-°ìÈÌ O +¥Ö¥ë¡¼¥Û¡¼¥ë M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +ÈÕ¤µ¤ó T1-9 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àé S6 ̾»ì-¿ô B-PERSON +»°É´¿Í T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-PERSON +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÀµÁõ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +½ÐÀÊ M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âç¹¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÆüËÜ¿Í M1 ̾»ì-°ìÈÌ O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ʸ³Ø M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ʸ²½ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +õµá M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤¤¤¯¤é¤« M9 Éû»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +À¾²¤ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤ËÂФ·¤Æ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤ªÊÖ¤· T1-9 ̾»ì-¥µÊÑÀܳ O +¤·¤¿¤¤ M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¾Þ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤½¤Î M9 Ï¢Âλì O +µ¡²ñ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í¿¤¨ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¯¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤ªÊÖ¤· T1-9 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»Ï¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿¤Ð¤«¤ê M9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +±Ñ¸ì M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¼Õ¼­ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ò¤Ù T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Âç¹¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤µ¤ó M9 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½½°ìÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Þ¡¼¥ë¥Ð¥Ã¥Ï M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ˬÌä M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½½ S6 ̾»ì-¿ô B-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ I-DATE +½½ S6 ̾»ì-¿ô I-DATE +ξÆü M1 ̾»ì-°ìÈÌ I-DATE +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤½¤ì¤¾¤ì M9 ̾»ì-Éû»ì²Äǽ O +¥¤¥¨¡¼¥Æ¥Ü¥êÂç³Ø T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥ë¥ó¥É M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +Âç³Ø M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¹Ö±é M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤Î¤Á M9 ̾»ì-Éû»ì²Äǽ O +½½»ÍÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²È² M1 ̾»ì-°ìÈÌ O +¤È¤È¤â¤Ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +µ¢¹ñ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÅÓ S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¢¤¯ T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +³Ø¹» M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áë S1 ̾»ì-°ìÈÌ O +¥¬¥é¥¹ M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³ä S1 ̾»ì-°ìÈÌ O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¡¡ S13 µ­¹æ-¶õÇò O +£± S5 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°­¼Á M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤¤¤ä¤¬¤é¤» M9 ̾»ì-°ìÈÌ O +¡© S2 µ­¹æ-°ìÈÌ O +¡½¡½ M2 µ­¹æ-°ìÈÌ O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +ÅìÉôÃæ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION + +¡¡ S13 µ­¹æ-¶õÇò O +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶ì S1 ·ÁÍÆ»ì-¼«Î© O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +Âç²ÏÆâ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +À¶µ± M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£± S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ä̤à T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +°¦ÃÎ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +¸© S1 ̾»ì-°ìÈÌ I-ORGANIZATION +À¾Èø M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-ORGANIZATION +»ÔΩ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +ÅìÉôÃæ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ I-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +´ÖµÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +±Ò S1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¹»Ä¹ M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¡á S2 µ­¹æ-°ìÈÌ O +Ʊ»Ô M1 ̾»ì-°ìÈÌ O +²¼±ÊÎÉ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +Ä® S1 ̾»ì-°ìÈÌ I-LOCATION +À¾¸å M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +Íî S1 ̾»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹»Ä¹ M1 ̾»ì-°ìÈÌ O +¼¼ S1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áë S1 ̾»ì-°ìÈÌ O +¥¬¥é¥¹ M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³ä S1 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½½ÆóÆüÄ« T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸«¤Ä¤«¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤¤¤¸¤á M9 ̾»ì-°ìÈÌ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤ËÂФ¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +³Ø¹» M1 ̾»ì-°ìÈÌ O +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°­¼Á M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤¤¤ä¤¬¤é¤» M9 ̾»ì-°ìÈÌ O +¤È¤â¤ß M9 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³Ø¹» M1 ̾»ì-°ìÈÌ O +ºÆ·ú M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼è¤êÁȤà T1-9 Æ°»ì-¼«Î© O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥·¥ç¥Ã¥¯ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í¿¤¨ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +À¾Èø M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +½ð S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä´¤Ù T1-9 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +³ä S1 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»°Åï T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤¢¤ë M9 Æ°»ì-¼«Î© O +¹»¼Ë M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¦¤Á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ë̦ M1 ̾»ì-°ìÈÌ O +¹»¼Ë M1 ̾»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +³¬ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿¦°÷ M1 ̾»ì-°ìÈÌ O +¼¼ S1 ̾»ì-°ìÈÌ O +Ë̦ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áë S1 ̾»ì-°ìÈÌ O +¥¬¥é¥¹ M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¼· S6 ̾»ì-¿ô O +¥»¥ó¥Á M10 ̾»ì-°ìÈÌ O +¡ß S2 µ­¹æ-°ìÈÌ O +Ï» S6 ̾»ì-¿ô O +¥»¥ó¥Á M10 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¼· S6 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¹»Ä¹ M1 ̾»ì-°ìÈÌ O +¼¼ S1 ̾»ì-°ìÈÌ O +Æî¦ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áë S1 ̾»ì-°ìÈÌ O +¥¬¥é¥¹ M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¼· S6 ̾»ì-¿ô O +¥»¥ó¥Á M10 ̾»ì-°ìÈÌ O +¡ß S2 µ­¹æ-°ìÈÌ O +¶å S6 ̾»ì-¿ô O +¥»¥ó¥Á M10 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¸Þ S6 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤µ¤é¤Ë M9 Éû»ì-½õ»ìÎàÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿¿¤óÃæ T9-1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹»¼Ë M1 ̾»ì-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +³¬ S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»° S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +£Á S7 µ­¹æ-¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È O +ÁÈ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ï­²¼ M1 ̾»ì-°ìÈÌ O +Ë̦ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Áë S1 ̾»ì-°ìÈÌ O +¥¬¥é¥¹ M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +Ȭ S6 ̾»ì-¿ô O +¡¦ S2 µ­¹æ-°ìÈÌ O +¸Þ S6 ̾»ì-¿ô O +¥»¥ó¥Á M10 ̾»ì-°ìÈÌ O +¡ß S2 µ­¹æ-°ìÈÌ O +°ì S6 ̾»ì-¿ô O +¡» S2 µ­¹æ-°ìÈÌ O +¥»¥ó¥Á M10 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +°ì S6 ̾»ì-¿ô O +Ëç S1 ÀÜƬ»ì-¿ôÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·× S1 ÀÜƬ»ì-¿ôÀܳ O +½½ S6 ̾»ì-¿ô O +»°Ëç T6-1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸½¾ì M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÀÐ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +»Ä¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤é M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ËÀ S1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +¤¿¤¿¤­ M9 Æ°»ì-¼«Î© O +³ä S1 ̾»ì-°ìÈÌ O +¤Ã¤¿¤é¤·¤¤ M9 ·ÁÍÆ»ì-ÀÜÈø O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +½½°ìÆü¸á¸å½½°ì»þ»Í½½¸Þʬ T6-1 ̾»ì-¿ô O +¤´¤í M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¶µ»Õ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µ¢Âð M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +»þ¤Ë¤Ï T1-9 Éû»ì-°ìÈÌ O +°Û¾ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤«¤Ã M9 ·ÁÍÆ»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +½½ÆóÆü¸áÁ°Ï»»þ¸Þ½½Ê¬ T6-1 ̾»ì-¿ô O +¤´¤í M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Éô S1 ̾»ì-°ìÈÌ O +³èÆ° M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Åй» M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +À¸ÅÌ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸«¤Ä¤± T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹»Ä¹ M1 ̾»ì-°ìÈÌ O +¤òÄ̤¸ T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¸áÁ° M1 ̾»ì-Éû»ì²Äǽ O +Ȭ»þ T6-1 ̾»ì-°ìÈÌ O +½½Ê¬ T6-1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤´¤í M9 ̾»ì-ÀÜÈø-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ʊ½ð M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆϤ± T1-9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +°ð³À M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +Á±É§ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¶µÆ¬ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +À¶µ± M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ B-PERSON +·¯ S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +³Ø¹» M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀÕǤ M1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»×¤¦ T1-9 Æ°»ì-¼«Î© O +¿Í S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ä¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤«¤â M9 ½õ»ì-Éû½õ»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ÄÇ° M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ç¤¹ M9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ïä· T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Ʊ¹» M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼«»¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Ë´Ø¤¹¤ë T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÅÅÏà M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÉÑÈË M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤«¤«¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¤¢¤ó¤¿ M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤¿¤Á M9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»à¤ó T1-9 Æ°»ì-¼«Î© O +¤Ç¤· M9 ½õÆ°»ì O +¤Þ S9 ¥Õ¥£¥é¡¼ O +¤¨ S9 ¥Õ¥£¥é¡¼ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +²á·ã M1 ̾»ì-°ìÈÌ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¤â¤Î M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¢¤Ã M9 ´¶Æ°»ì O +¤¿ S9 ½õÆ°»ì O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +»º S1 ̾»ì-ÀÜÈø-ÃÏ°è O +¥ê¥ó¥´ M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Íè·î M1 ̾»ì-Éû»ì²Äǽ O +¾åΦ M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +´Å¤¯ T1-9 ·ÁÍÆ»ì-¼«Î© O +»õ¤´¤¿¤¨ T1-9 ̾»ì-°ìÈÌ O +½½Ê¬ T6-1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +¾­Íè M1 ̾»ì-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Äã S1 ·ÁÍÆ»ì-¼«Î© O +²Á³Ê M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +Í¢Æþ M1 ̾»ì-¥µÊÑÀܳ O +²ò¶Ø M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȼ¤¦ T1-9 Æ°»ì-¼«Î© O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +»º S1 ̾»ì-ÀÜÈø-ÃÏ°è O +¥ê¥ó¥´ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âè S1 ÀÜƬ»ì-¿ôÀܳ O +°ì S6 ̾»ì-¿ô O +ÊØ S1 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ǯÌÀ¤± T1-9 ̾»ì-°ìÈÌ B-DATE +Á᡹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì·î T6-1 ̾»ì-Éû»ì²Äǽ O +»°Æü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾åΦ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¸«Ä̤· T1-9 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ȬÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ï» S6 ̾»ì-¿ô O +Æü´Ö M1 ̾»ì-ÀÜÈø-½õ¿ô»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²£ÉÍ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +»Í S6 ̾»ì-¿ô O +¥È¥ó M10 ̾»ì-°ìÈÌ O +Æþ¹Á M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿ô S1 ̾»ì-¿ô O +Æü S1 ̾»ì-°ìÈÌ O +¸å¤Ë T1-9 Éû»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ŹƬ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð²ó¤ë T1-9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤¹¤Ç¤Ë M9 Éû»ì-°ìÈÌ O +¥µ¥ó¥×¥ë M10 ̾»ì-°ìÈÌ O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +Ȭ S6 ̾»ì-¿ô O +¥­¥í M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Êƹñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +Âç»È´Û M1 ̾»ì-°ìÈÌ O +¤¢¤Æ M9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +º£·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +½½°ìÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +ÅþÃå M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸¡ºº M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¹ç³Ê M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +ÅÔÆâ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Àè·î M1 ̾»ì-Éû»ì²Äǽ B-DATE +³«Àß M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¥ï¥·¥ó¥È¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ I-LOCATION +½£ S1 ̾»ì-°ìÈÌ I-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À¸»º M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +ÃÄÂÎ M1 ̾»ì-°ìÈÌ O +¥¢¥Ã¥×¥ë¡¦¥³¥ß¥Ã¥·¥ç¥ó T2-10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­Êó M1 ̾»ì-¥µÊÑÀܳ O +¥»¥ó¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¤Ë¤è¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Í¢Æþ M1 ̾»ì-¥µÊÑÀܳ O +¶È¼Ô M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Âç¼ê M1 ̾»ì-°ìÈÌ O +¥¹ S10 Æ°»ì-¼«Î© O +¡¼¥Ñ¡¼¤Î¥À¥¤¥¨¡¼¤ò¤Ï¤¸¤á T10-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾¦¼Ò M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +Ìó S1 ÀÜƬ»ì-¿ôÀܳ O +¸Þ½½¼Ò T6-1 ̾»ì-¿ô O +¡£ S2 µ­¹æ-¶çÅÀ O + +¥ï¥·¥ó¥È¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +½£ S1 ̾»ì-°ìÈÌ I-LOCATION +ÅìÉô M1 ̾»ì-°ìÈÌ O +¥¦¥§¥Ê¥Ã¥Á M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +»º S1 ̾»ì-ÀÜÈø-ÃÏ°è O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥ì¥Ã¥É¥Ç¥ê¥·¥ã¥¹ M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥´¡¼¥ë¥Ç¥ó¥Ç¥ê¥·¥ã¥¹ M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Í¢Æþ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¾¦¼Ò M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ïà S1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤Ï M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +²Á³Ê M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¾®Çä M1 ̾»ì-¥µÊÑÀܳ O +ÃÍ S1 ̾»ì-°ìÈÌ O +¥Ù¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +°ì S6 ̾»ì-¿ô O +¥­¥í M10 ̾»ì-°ìÈÌ O +»Í S6 ̾»ì-¿ô B-MONEY +±ß S1 ̾»ì-°ìÈÌ I-MONEY +Á°¸å M1 ̾»ì-Éû»ì²Äǽ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸«¹þ M1 ̾»ì-°ìÈÌ O +¤Þ¤ì M9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ñ»º M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +Ʊ S1 ÀÜƬ»ì-̾»ìÀܳ O +¿å½à M1 ̾»ì-°ìÈÌ O +¤« S9 ½õ»ì-Éû½õ»ì¡¿ÊÂΩ½õ»ì¡¿½ª½õ»ì O +¤ä¤ä M9 Éû»ì-°ìÈÌ O +°Â¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +ÄøÅÙ M1 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤·¤Ã¤«¤ê M9 Éû»ì-½õ»ìÎàÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +»õ¤´¤¿¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +ÅüÅÙ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¹â¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +Äã S1 ·ÁÍÆ»ì-¼«Î© O +²Á³Ê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éð´ï M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤·¤¿¤¤ M9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸¡±Ö M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÈÑ»¨ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +¼ê³¤­ T1-9 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¥³¥¹¥È M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¡¤·¾å¤² T1-9 ̾»ì-°ìÈÌ O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +²Ì¼Â M1 ̾»ì-°ìÈÌ O +ÀìÌç M1 ̾»ì-°ìÈÌ O +¾¦¼Ò M1 ̾»ì-°ìÈÌ O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤¤¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¾­Íè M1 ̾»ì-Éû»ì²Äǽ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¹ñ»º M1 ̾»ì-°ìÈÌ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô B-PERCENT +¡½ S2 µ­¹æ-°ìÈÌ I-PERCENT +»° S6 ̾»ì-¿ô I-PERCENT +³ä S1 ̾»ì-°ìÈÌ I-PERCENT +°Â¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¾®¶Ì M1 ̾»ì-°ìÈÌ O +°ì¸Ä¸Þ½½±ß T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ķ S1 ÀÜƬ»ì-̾»ìÀܳ O +Âç¶Ì M1 ̾»ì-°ìÈÌ O +É´ S6 ̾»ì-¿ô O +¡½ S2 µ­¹æ-°ìÈÌ O +É´»°½½±ßÄøÅÙ T6-1 ̾»ì-¿ô O +¤Ç S9 ½õÆ°»ì O +Çä¤ê T1-9 Æ°»ì-¼«Î© O +¤¿¤¤ M9 ½õÆ°»ì O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +°ìÊý T6-1 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·Þ¤¨·â¤Ä T1-9 Æ°»ì-¼«Î© O +¹ñÆâ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥ê¥ó¥´ M10 ̾»ì-°ìÈÌ O +»ºÃÏ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +ÉʼÁ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤â¤È¤è¤ê M9 Éû»ì-°ìÈÌ O +²Á³Ê M1 ̾»ì-°ìÈÌ O +ÌÌ S1 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +Â礭¤Ê T1-9 Ï¢Âλì O +¶¼°Ò M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¤Ê¤é M9 ½õÆ°»ì O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +»×¤¦ T1-9 Æ°»ì-¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÏÃÂê M1 ̾»ì-°ìÈÌ O +À­ S1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¥¹¡¼¥Ñ¡¼ M10 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ë²è M1 ̾»ì-¥µÊÑÀܳ O +ÈÎÇä M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¾ÃÈñ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÄêÃå M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¹Í¤¨ T1-9 ̾»ì-°ìÈÌ O +¤é¤ì¤ë M9 Æ°»ì-ÀÜÈø O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ĹÌ·ÐºÑÏ¢ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ʬÀÏ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +¤ß¤ó¤Ê M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹­¾ì M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O +çÁÂÓ M1 ̾»ì-°ìÈÌ O +·ì´´ M1 ̾»ì-°ìÈÌ O +ºÙ˦ M1 ̾»ì-°ìÈÌ O +°Ü¿¢ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +À®¸ù M1 ̾»ì-¥µÊÑÀܳ O +Îå¤ß T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡á S2 µ­¹æ-°ìÈÌ O +ÃÄÂÎ M1 ̾»ì-°ìÈÌ O +Ìò°÷ M1 ̾»ì-°ìÈÌ O +¡¦ S2 µ­¹æ-°ìÈÌ O +Æ£ËÜ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÏÂÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +£¶ S5 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ËÌ S1 ̾»ì-°ìÈÌ O +¶å½£»ÔȬȨÅì¶è T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +Å쳤Âç³Ø M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +°å³ØÉô M1 ̾»ì-°ìÈÌ O +ÉÕ° M1 ̾»ì-¥µÊÑÀܳ O +ɱ¡ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +µÞÀ­ M1 ̾»ì-°ìÈÌ O +¹ü¿ñ M1 ̾»ì-°ìÈÌ O +À­ S1 ̾»ì-°ìÈÌ O +Çò·ìÉ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´µ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤¤¿ M9 ·ÁÍÆ»ì-¼«Î© O +¸Þ S6 ̾»ì-¿ô O +ºÐ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃË»ù M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +çÁÂÓ M1 ̾»ì-°ìÈÌ O +·ì´´ M1 ̾»ì-°ìÈÌ O +ºÙ˦ M1 ̾»ì-°ìÈÌ O +°Ü¿¢ M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¤ï¤¬¹ñ T9-1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +½é¤á¤Æ T1-9 Éû»ì-°ìÈÌ O +À®¸ù M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÃΤà T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ϯÊó M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿´¤«¤é T1-9 Éû»ì-½õ»ìÎàÀܳ O +´î¤Ó T1-9 ̾»ì-°ìÈÌ O +¤¿¤¤ M9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Æó½½¼·ºÐ T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ß S1 ̾»ì-°ìÈÌ O +¤«¤¤¤è¤¦ M9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼ê½Ñ M1 ̾»ì-¥µÊÑÀܳ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¸Þ½½Æó M6 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O +ºÐ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÀ¤Î¤¦ T1-9 ̾»ì-°ìÈÌ O +Ŧ½Ð M1 ̾»ì-¥µÊÑÀܳ O +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼·²ó³«Ê¢¼ê½Ñ T6-1 ̾»ì-¿ô O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Æó½½Æó²ó T6-1 ̾»ì-¿ô O +¤Ë¤ï¤¿¤ë M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +Ĺ´ü M1 ̾»ì-°ìÈÌ O +Æþ±¡ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âθ³ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Æþ±¡ M1 ̾»ì-¥µÊÑÀܳ O +²ÃÎÅ M1 ̾»ì-¥µÊÑÀܳ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +¼ê½Ñ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¶ì¤·¤ß T1-9 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ê S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿Í S1 ̾»ì-°ìÈÌ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +¾¯¤· T1-9 Éû»ì-½õ»ìÎàÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÃΤà T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤Ä¤â¤ê M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡´ï M1 ̾»ì-°ìÈÌ O +Æâ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Çò·ìµå M1 ̾»ì-°ìÈÌ O +·Ï S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÙ˦ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ºÝ¸Â M1 ̾»ì-°ìÈÌ O +¤Ê¤¯ M9 ·ÁÍÆ»ì-¼«Î© O +̵Ãá½ø M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áý¿£ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +°­À­ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤·¤å¤è¤¦ M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½ÐÍè¤ë T1-9 Æ°»ì-¼«Î© O +Çò·ìÉ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡È S2 µ­¹æ-³ç¸Ì³« O +·ì±Õ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤¬¤ó M9 ̾»ì-°ìÈÌ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸À S1 ̾»ì-°ìÈÌ O +¤ï¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¾ï¼± M1 ̾»ì-°ìÈÌ O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»° S6 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»Í S6 ̾»ì-¿ô O +¼ïÎà M1 ̾»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +Çò·ìÉ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ãæ S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹ü¿ñ M1 ̾»ì-°ìÈÌ O +À­ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼À´µ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ìÈÖ T6-1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆñÉ M1 ̾»ì-°ìÈÌ O +¤À S9 ½õÆ°»ì O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ʹ¤­µÚ¤ó T1-9 Æ°»ì-¼«Î© O +¤Ç S9 ½õÆ°»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +»ä S1 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ëã¿ì M1 ̾»ì-¥µÊÑÀܳ O +²Ê S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¥Ú¥¤¥ó M10 ̾»ì-°ìÈÌ O +¥¯¥ê¥Ë¥Ã¥¯ M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿À·Ð M1 ̾»ì-°ìÈÌ O +¥Ö¥í¥Ã¥¯ M10 ̾»ì-°ìÈÌ O +¼£ÎÅ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸ú¤« T1-9 Æ°»ì-¼«Î© O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¿ÇÃÇ M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤À¤± M9 ½õ»ì-Éû½õ»ì O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°Õµ¤ M1 ̾»ì-°ìÈÌ O +¾ÃÄÀ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +ºòº£ M1 ̾»ì-Éû»ì²Äǽ O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÍĤ¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +À¸Ì¿ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +´èÄ¥¤ê T1-9 Æ°»ì-¼«Î© O +È´¤¯ T1-9 Æ°»ì-¼«Î© O +¤À¤í M9 ½õÆ°»ì O +¤¦ S9 ´¶Æ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +ÍÄ»ù M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³Ø¤Ó T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿´µ¡°ìž T6-1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¿·¤¿ T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ɵ¤ M1 ̾»ì-¥µÊÑÀܳ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æ®¤¤ T1-9 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ä©¤à T1-9 Æ°»ì-¼«Î© O +¤Ä¤â¤ê M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Î S2 µ­¹æ-³ç¸Ì³« O +ÃçȪ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ή S1 Æ°»ì-¼«Î© O +¡¦ S2 µ­¹æ-°ìÈÌ O +Ëüǽ T6-1 ̾»ì-°ìÈÌ O +ÀîÌø M1 ̾»ì-°ìÈÌ O +¡Ï S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡ù S2 µ­¹æ-°ìÈÌ O +°õ S1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½¨°ï M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÃçȪ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µ®»Ö M1 ̾»ì-°ìÈÌ O +Áª S1 Æ°»ì-¼«Î© O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O + +¡ù S2 µ­¹æ-°ìÈÌ O +Îø°¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¿ô S1 ̾»ì-¿ô O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æþ¤ì T1-9 Æ°»ì-¼«Î© O +¤Æ¤ë M9 Æ°»ì-Èó¼«Î© O +ÊÒÁÛ¤¤ T1-9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÄØ S1 ̾»ì-°ìÈÌ O +¹ÀÆó T1-6 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥¹¥Æ¡¼¥­ M10 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»Å¾å¤² T1-9 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ËÒ¾ì M1 ̾»ì-°ìÈÌ O +¸« S1 Æ°»ì-¼«Î© O +³Ø²ñ M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Ê¡²¬ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +»°Ã« T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤æ¤ê¤¨ M9 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O + +¡¡ S13 µ­¹æ-¶õÇò O +º£º¢ M1 ̾»ì-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +²¿¸Î M1 Éû»ì-½õ»ìÎàÀܳ O +¸«¤ë T1-9 Æ°»ì-¼«Î© O +¤¢¤ó¤Ê M9 Ï¢Âλì O +Ì´ S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Ê¡²¬ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +°½Éô M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-PERSON +µ×ͺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¥Õ¥ë¥³¡¼¥¹ M10 ̾»ì-°ìÈÌ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +¾ÆÆù M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»÷¹ç¤¦ T1-9 Æ°»ì-¼«Î© O +Ãç S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Åìµþ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +´Øº¬ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¿¿µÝ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¤¢¤¢ M9 ´¶Æ°»ì O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +»°½½¸ÞÅÙÌÜ T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +½½Æó·î T6-1 ̾»ì-Éû»ì²Äǽ B-DATE +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Æôºê M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +º½ÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¿¿åŹá M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¿Æ»Ò M1 ̾»ì-°ìÈÌ O +¤æ¤¨ M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤è¤±¤¤ M9 Éû»ì-°ìÈÌ O +¤Ë¤Æ M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤ì¤ë M9 Æ°»ì-ÀÜÈø O +»ö S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Í­¤ê T1-9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¤¢¤é¤­ M9 ·ÁÍÆ»ì-¼«Î© O +¤ß¤ä¤³ M9 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÉáÄÌ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤½¤¦ M9 Éû»ì-½õ»ìÎàÀܳ O +¤Ç¤·¤ç M9 ½õÆ°»ì O +¤¦¤È M9 ·ÁÍÆ»ì-¼«Î© O +¶ËÏÀ M1 ̾»ì-¥µÊÑÀܳ O +¸À¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +»ÖÌÚ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¿ù»³ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ε S1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +Îø°¦ M1 ̾»ì-¥µÊÑÀܳ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸Þ S6 ̾»ì-¿ô O +ǯ S1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +·ëº§ M1 ̾»ì-¥µÊÑÀܳ O +°ì S6 ̾»ì-¿ô O +ǯ´Ö M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Âçʬ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +´î S1 ̾»ì-°ìÈÌ O +˾ S1 ̾»ì-°ìÈÌ O +Êö S1 ̾»ì-°ìÈÌ O +»Î S1 ̾»ì-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¼ê S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +â² S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áý¤¨ T1-9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +À¸Ì¿ M1 ̾»ì-°ìÈÌ O +Àþ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿­¤Ó T1-9 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Ä®ÅÄ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¾®À¾ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¾Ïͺ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¤á¤°¤Þ¤ì M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +»Ò S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸°¤Ã»Ò T9-1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤³¤¬¤ì¤ë M9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +Ë̶彣 T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +ÆóµÜËãΤ»Ò T6-1 ̾»ì-¿ô O + +¡¡ S13 µ­¹æ-¶õÇò O +¼ª S1 ̾»ì-°ìÈÌ O +¤â¤È M9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤µ¤µ¤ä¤­¤¢¤Ã M9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤Þ¤À M9 Éû»ì-½õ»ìÎàÀܳ O +¿·º§ M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÅçÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÂçÀÐ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +º£ÃË M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +ξ¿Æ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¤É¤Á¤é M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +»÷ S1 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +²Ä°¦¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +»ù S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÁêÌϸ¶ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¿åÌî M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¥¿¥±¥· M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¿Í S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +·¤ S1 ̾»ì-°ìÈÌ O +·¤¨ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¿Ç»¡ M1 ̾»ì-¥µÊÑÀܳ O +¼õ¤±¤ë T1-9 Æ°»ì-¼«Î© O +Ï· S1 ÀÜƬ»ì-̾»ìÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Èø¶¿ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÌÀ¿å M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +ÀèÀ¸ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µï S1 ̾»ì-°ìÈÌ O +¤¿¤é M9 ½õÆ°»ì O +¿Ê¤Þ T1-9 Æ°»ì-¼«Î© O +¤Ì S9 ½õÆ°»ì O +À¸ÅÌ M1 ̾»ì-°ìÈÌ O +²ñ S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +Ãæ´Ö M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +É÷¤Î²» T9-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-°ìÈÌ O + +¡¡ S13 µ­¹æ-¶õÇò O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +Æó½½ÆüÀµ·îÍÑ T6-1 ̾»ì-¿ô O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âä S1 ̾»ì-°ìÈÌ O +Äà¤é T1-9 Æ°»ì-¼«Î© O +¤Ë¤ã M9 ½õ»ì-Æüì O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÃÓÅÄ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +²¬Éô M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +½¨Íº M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +»Å»ö M1 ̾»ì-¥µÊÑÀܳ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +ºÐÊë M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +ÆϤ¯ T1-9 Æ°»ì-¼«Î© O +Éô²¼ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Û¤· M9 ·ÁÍÆ»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ŷƸ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¾¾±º M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +À¬É× M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +»Ò¶¡ M1 ̾»ì-°ìÈÌ O +¤é S9 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´õ˾ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¥ª¥»¥Á M10 ̾»ì-°ìÈÌ O +Ãæ¿È M1 ̾»ì-°ìÈÌ O +ÊѤ¨ T1-9 Æ°»ì-¼«Î© O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÀÄÇß M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¸¶Åç M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +´î°ì T1-6 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¥«¥Ã¥È M10 ̾»ì-¥µÊÑÀܳ O +¤è¤ê M9 Éû»ì-°ìÈÌ O +¥³¡¼¥Ò¡¼ M10 ̾»ì-°ìÈÌ O +¤¦¤Þ¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +ÈþÍÆ M1 ̾»ì-°ìÈÌ O +¼¼ S1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÁêÌϸ¶ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¿åÌî M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¥æ¥ß M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +¡¡ S13 µ­¹æ-¶õÇò O +¿Æ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Éߤ¯ T1-9 Æ°»ì-¼«Î© O +¥ì¡¼¥ë M10 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ť¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¼õ¸³À¸ M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +ÆÁÅç M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¡ S13 µ­¹æ-¶õÇò O +¡¡ S13 µ­¹æ-¶õÇò O +°æ¾å M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¤Á¤¨¤³ M9 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON + +ÉÔ°Â M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +»Ä¤ë T1-9 Æ°»ì-¼«Î© O +¸¢ÎÏ M1 ̾»ì-°ìÈÌ O +´ðÈ× M1 ̾»ì-°ìÈÌ O +¡¡ S13 µ­¹æ-¶õÇò O +¥É¥¥¥À¥¨¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ľÀÜ M1 ̾»ì-Éû»ì²Äǽ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +¤Ê¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¢Ç¤ M1 ̾»ì-¥µÊÑÀܳ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥â¥¹¥¯¥ï M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +£± S5 ̾»ì-¿ô O +Æü S1 ̾»ì-°ìÈÌ O +ÈÓÅç M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +°ì¹§ T6-1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÆÈΩ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Æ®¤¤ T1-9 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +»ØƳ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +¥É¥¥¥À¥¨¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +¡¦ S2 µ­¹æ-°ìÈÌ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +£µ S5 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¤¥¹¥é¥à M10 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¶µÅÌ M1 ̾»ì-°ìÈÌ O +¼çÂÎ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÁÈ¿¥ M1 ̾»ì-¥µÊÑÀܳ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥Á¥§¥Á¥§¥ó̱²Âç²ñ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸¢ÎÏ M1 ̾»ì-°ìÈÌ O +´ðÈ× M1 ̾»ì-°ìÈÌ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àµµ¬ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ľÀÜ M1 ̾»ì-Éû»ì²Äǽ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¡È S2 µ­¹æ-³ç¸Ì³« O +ÀöÎé M1 ̾»ì-¥µÊÑÀܳ O +¡É S2 µ­¹æ-³ç¸ÌÊÄ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤é M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ˡŪ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +À¯¼£ M1 ̾»ì-°ìÈÌ O +Ū S1 ̾»ì-ÀÜÈø-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¸¢ÎÏ M1 ̾»ì-°ìÈÌ O +´ðÈ× M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +È×ÀÐ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¸À¤¤ T1-9 Æ°»ì-¼«Î© O +Æñ¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥´¥ë¥Ð¥Á¥ç¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +À¯¸¢ M1 ̾»ì-°ìÈÌ O +Ëö´ü M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì S6 ̾»ì-¿ô O +¶å¶å M6 ̾»ì-°ìÈÌ O +¡» S2 µ­¹æ-°ìÈÌ O +ǯ S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥½Ï¢ T10-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¶õ·³ M1 ̾»ì-°ìÈÌ O +¾­·³ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃÏ°Ì M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Î¤Æ T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¶¿Î¤ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ìá¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¥É¥¥¥À¥¨¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Á¥§¥Á¥§¥ó̱²Âç²ñ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ç S9 ½õÆ°»ì O +¼¹¹Ô M1 ̾»ì-¥µÊÑÀܳ O +°Ñ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +µÄĹ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áª½Ð M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¯³¦ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ç¥Ó¥å¡¼ M10 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + +Íâǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥½Ï¢ T10-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +Êݼé M1 ̾»ì-¥µÊÑÀܳ O +ÇÉ S1 ̾»ì-°ìÈÌ O +¥¯¡¼¥Ç¥¿¡¼ M10 ̾»ì-°ìÈÌ O +¼ºÇÔ M1 ̾»ì-¥µÊÑÀܳ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +º®Íð M1 ̾»ì-¥µÊÑÀܳ O +´ü S1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¦»ºÅÞ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +»ØƳ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼ÂÎÏ M1 ̾»ì-°ìÈÌ O +¹Ô»È M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +Äɤ¤½Ð¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Á´¸¢ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°®¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤³¤ì M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤ËÂФ· T1-9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +»Ù±ç M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +È¿ S1 ÀÜƬ»ì-̾»ìÀܳ O +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +ÁÈ¿¥ M1 ̾»ì-¥µÊÑÀܳ O +¡¦ S2 µ­¹æ-°ìÈÌ O +»ÃÄê M1 ̾»ì-¥µÊÑÀܳ B-ORGANIZATION +ɾµÄ M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÁÏÀß M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¥¢¥Õ¥È¥¥¥ë¥Ï¥Î¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +µÄĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +²æ¡¹ T1-2 ̾»ì-Âå̾»ì-°ìÈÌ O +È´¤­ T1-9 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +·è¤á T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Î¤Ç M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +»ØƳ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Ï¤ß M9 ̾»ì-°ìÈÌ O +¤Ê¤· M9 ·ÁÍÆ»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¸À¤¤Àڤà T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +À¯ÉÜ M1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥É¥¥¥À¥¨¥Õ M10 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +»á S1 ̾»ì-ÀÜÈø-¿Í̾ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ľÀÜ M1 ̾»ì-Éû»ì²Äǽ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Áª½Ð M1 ̾»ì-¥µÊÑÀܳ O +¤µ¤ì M9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤È¤·¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀµÅý M1 ̾»ì-°ìÈÌ O +À­ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Àµµ¬ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÂçÅýÎÎ M1 ̾»ì-°ìÈÌ O +Áªµó M1 ̾»ì-¥µÊÑÀܳ O +¼Â»Ü M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´«¹ð M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÆÈΩ M1 ̾»ì-¥µÊÑÀܳ O +Àë¸À M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸·¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +À©ºÛ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼õ¤± T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ë­ÉÙ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê S9 ½õ»ì-½ª½õ»ì O +ÌýÅÄ M1 ̾»ì-°ìÈÌ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÀÐÌý M1 ̾»ì-°ìÈÌ O +ÀºÀ½ M1 ̾»ì-¥µÊÑÀܳ O +´ðÃÏ M1 ̾»ì-°ìÈÌ O +°Ê³° M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +²õÌÇ M1 ̾»ì-¥µÊÑÀܳ O +¾õÂÖ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +´Ù¤Ã T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +¤¿¤á M9 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¥Á¥§¥Á¥§¥ó M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¿Í S1 ̾»ì-°ìÈÌ O +°Ê³° M1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̱² M1 ̾»ì-°ìÈÌ O +¤ä S9 ½õ»ì-ÊÂΩ½õ»ì O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +³¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤«¤é M9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥í¥·¥¢ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´Ø·¸ M1 ̾»ì-¥µÊÑÀܳ O +Àµ¾ï M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +²½ S1 ̾»ì-ÀÜÈø-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +µá¤á¤ë T1-9 Æ°»ì-¼«Î© O +À¼ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶¯¤Þ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥Þ¥Ä¥À M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥¸¥ã¥¬¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +À¸»º M1 ̾»ì-¥µÊÑÀܳ O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¡Ý¡Ý M2 µ­¹æ-°ìÈÌ O +ÊÆ»æ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÊóÆ» M1 ̾»ì-¥µÊÑÀܳ O + +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +¥Ë¥å¡¼¥è¡¼¥¯ M10 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +£± S5 ̾»ì-¿ô O +Æü S1 ̾»ì-°ìÈÌ O +ÅÏÊÕ M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-À« B-PERSON +ÎÉ¹Ô M1 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O +ÊÆ S1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¼«Æ°¼Ö M1 ̾»ì-°ìÈÌ O +¥á¡¼¥«¡¼ M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Õ¥©¡¼¥É M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»±²¼ M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¸¥ã¥¬¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¼¡´ü M1 ̾»ì-°ìÈÌ O +¥â¥Ç¥ë M10 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Þ¥Ä¥À M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¥Ç¥¶¥¤¥ó M10 ̾»ì-¥µÊÑÀܳ O +¤µ¤» M9 Æ°»ì-ÀÜÈø O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÆüËÜ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¹ñÆâ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +À¸»º M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +°Æ S1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¸¡Æ¤ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½½°ìÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¤Þ¤Ç M9 ½õ»ì-Éû½õ»ì O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÌÀ¤é¤« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ê¤Ã M9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÊÆ»æ M1 ̾»ì-°ìÈÌ O +¤Ê¤É M9 ½õ»ì-Éû½õ»ì O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êó¤¸ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +±Ñ¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¸¥ã¥¬¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¹âµé M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¼Ö S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Âå̾»ì M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +°ì¤Ä T6-9 ̾»ì-°ìÈÌ O +¤À¤¬ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ÍǯÁ° T6-1 ̾»ì-¿ô O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Õ¥©¡¼¥É M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Æó S6 ̾»ì-¿ô B-MONEY +¥É¥ë M10 ̾»ì-°ìÈÌ I-MONEY +¡Ê S2 µ­¹æ-³ç¸Ì³« O +ÆóÀé¸ÞÉ´²¯±ß T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Ç S9 ½õÆ°»ì O +Çã¼ý M1 ̾»ì-¥µÊÑÀܳ O +¸å S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +½½ S6 ̾»ì-¿ô B-MONEY +¥É¥ë M10 ̾»ì-°ìÈÌ I-MONEY +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÀÖ»ú M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð¤· T1-9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +À¸»º M1 ̾»ì-¥µÊÑÀܳ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÈÎÇä M1 ̾»ì-¥µÊÑÀܳ O +ÂÎÀ© M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸«Ä¾¤· T1-9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Ç÷ S1 Æ°»ì-¼«Î© O +¤é¤ì M9 Æ°»ì-ÀÜÈø O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +º£²ó M1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹½ÁÛ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Éâ¾å M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +ÇØ·Ê M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Õ¥©¡¼¥É M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ØÏ¢ M1 ̾»ì-¥µÊÑÀܳ O +²ñ¼Ò M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¥Þ¥Ä¥À M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +;¾ê M1 ̾»ì-°ìÈÌ O +À¸»º M1 ̾»ì-¥µÊÑÀܳ O +ÀßÈ÷ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +Êú¤¨ T1-9 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +·Ð±Ä M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¶ì¤·¤¤ T1-9 ·ÁÍÆ»ì-¼«Î© O +¤È¤¤¤¦ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +»ö¾ð M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤Þ¤¿ M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Þ¥Ä¥À M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥Ç¥¶¥¤¥ó M10 ̾»ì-¥µÊÑÀܳ O +ǽÎÏ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Äêɾ M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤ê M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥¸¥ã¥¬¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¥¿¥¤¥× M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +³«È¯ M1 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +²Äǽ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ï¢ÁÛ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤¢¤Ã M9 ´¶Æ°»ì O +¤¿ S9 ½õÆ°»ì O +¤è¤¦ M9 ̾»ì-Èó¼«Î©-½õÆ°»ì¸ì´´ O +¤À S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +¤â¤· M9 Éû»ì-°ìÈÌ O +¼Â¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ì M9 Æ°»ì-¼«Î© O +¤Ð S9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ì¶å¶å¸Þǯ T6-1 ̾»ì-¿ô O +¥â¥Ç¥ë M10 ̾»ì-°ìÈÌ O +¤Ç¤â M9 ½õ»ì-Éû½õ»ì O +ºÇÄã M1 ̾»ì-°ìÈÌ O +²Á³Ê M1 ̾»ì-°ìÈÌ O +¸ÞËü»°Àé M6 ̾»ì-¿ô O +¥É¥ë M10 ̾»ì-°ìÈÌ O +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¸ÞÉ´»°½½Ëü±ß T6-1 ̾»ì-¿ô O +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÃÍ S1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +Ä¥¤ë T1-9 Æ°»ì-¼«Î© O +¥¸¥ã¥¬¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +²Á³Ê M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²¼¤²¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ç¤­ M9 Æ°»ì-¼«Î© O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Þ¥Ä¥À M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ºÆ·ú M1 ̾»ì-¥µÊÑÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤Ä¤Ê¤¬¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤¿¤À M9 Àܳ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¥Þ¥Ä¥À M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Ï S9 ½õ»ì-·¸½õ»ì O +¹½ÁÛ M1 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ǧ¤á T1-9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤ª¤é M9 ̾»ì-Âå̾»ì-°ìÈÌ O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°¦¹¥ M1 ̾»ì-¥µÊÑÀܳ O +¼Ô S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤«¤é¤â M9 Æ°»ì-¼«Î© O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +¥¸¥ã¥¬¡¼ M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¤¥á¡¼¥¸ M10 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +²õ¤ì¤ë T1-9 Æ°»ì-¼«Î© O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÈãȽ M1 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½Ð S1 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥¨¥Ð¹Ò¶õ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +£¹ S5 ̾»ì-¿ô B-DATE +ǯ S1 ̾»ì-°ìÈÌ I-DATE +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +´ØÀ¾¹ñºÝ¶õ¹Á M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾è¤êÆþ¤ì T1-9 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿½ÀÁ M1 ̾»ì-¥µÊÑÀܳ O +¡¡ S13 µ­¹æ-¶õÇò O +Ãæ¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȿȯ M1 ̾»ì-¥µÊÑÀܳ O +¤â S9 ½õ»ì-·¸½õ»ì O +¡¡ S13 µ­¹æ-¶õÇò O +¡Ú S2 µ­¹æ-³ç¸Ì³« O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡Û S2 µ­¹æ-³ç¸ÌÊÄ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +̱´Ö M1 ̾»ì-°ìÈÌ O +¹Ò¶õ M1 ̾»ì-°ìÈÌ O +²ñ¼Ò M1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ĺ±É¹Ò¶õ¸ø»Ê M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥¨¥Ð¹Ò¶õ T10-1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÎÓ S1 ̾»ì-°ìÈÌ B-PERSON +¾Ê»° T1-6 ̾»ì-¸Çͭ̾»ì-¿Í̾-̾ I-PERSON +²ñĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +½½ S6 ̾»ì-¿ô O +ÆóÆü T6-1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Âçºå M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ O +»ÔÆâ M1 ̾»ì-°ìÈÌ O +¤Ç S9 ½õÆ°»ì O +³«¤« T1-9 Æ°»ì-¼«Î© O +¤ì S9 ½õÆ°»ì O +¤¿ S9 ½õÆ°»ì O +Æü S1 ̾»ì-°ìÈÌ O +Âæ S1 ̾»ì-°ìÈÌ O +·ÐºÑ M1 ̾»ì-°ìÈÌ O +³¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸òή M1 ̾»ì-¥µÊÑÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Íèǯ M1 ̾»ì-Éû»ì²Äǽ B-DATE +Á᡹ T1-2 Éû»ì-½õ»ìÎàÀܳ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +´ØÀ¾¹ñºÝ¶õ¹Á M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾è¤êÆþ¤ì T1-9 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¿½ S1 ̾»ì-°ìÈÌ O +ÀÁ¤¹¤ë T1-9 Æ°»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ÌÀ¤é¤« T1-9 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ë¤· M9 ̾»ì-°ìÈÌ O +¤¿ S9 ½õÆ°»ì O +¡£ S2 µ­¹æ-¶çÅÀ O + +ÃÏÊý M1 ̾»ì-°ìÈÌ O +¶õ¹Á M1 ̾»ì-°ìÈÌ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ãæ¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +ÁÐÊý M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹Ò¶õ M1 ̾»ì-°ìÈÌ O +²ñ¼Ò M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾è¤êÆþ¤ì T1-9 ̾»ì-¥µÊÑÀܳ O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¼çÍ× M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¶õ¹Á M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¶õ¹Á M1 ̾»ì-°ìÈÌ I-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¾è¤êÆþ¤ì T1-9 ̾»ì-¥µÊÑÀܳ O +¤Ë¤Ä¤¤¤Æ M9 ½õ»ì-³Ê½õ»ì-Ï¢¸ì O +¤Ï S9 ½õ»ì-·¸½õ»ì O +Ãæ¹ñ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ȿȯ M1 ̾»ì-¥µÊÑÀܳ O +¤¹¤ë M9 Æ°»ì-¼«Î© O +²Äǽ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +À­ S1 ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +¤¢¤ë M9 Æ°»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-ORGANIZATION +·ÐºÑ M1 ̾»ì-°ìÈÌ I-ORGANIZATION +Ï¢¹ç M1 ̾»ì-¥µÊÑÀܳ I-ORGANIZATION +²ñ S1 ̾»ì-°ìÈÌ I-ORGANIZATION +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂçºåËǰײñ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÃæÆü·ÐºÑËÇ°×ȯŸ´ð¶â²ñ M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +³«¤¤ T1-9 Æ°»ì-¼«Î© O +¤¿ S9 ½õÆ°»ì O +Âè S1 ÀÜƬ»ì-¿ôÀܳ O +°ì²ó T6-1 ̾»ì-Éû»ì²Äǽ O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¡¦ S2 µ­¹æ-°ìÈÌ O +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +·ÐºÑ M1 ̾»ì-°ìÈÌ O +¸òή M1 ̾»ì-¥µÊÑÀܳ O +²ñµÄ M1 ̾»ì-¥µÊÑÀܳ O +¤Ç S9 ½õÆ°»ì O +ɽÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¡¡ S13 µ­¹æ-¶õÇò O +ÎÓ S1 ̾»ì-°ìÈÌ O +²ñĹ M1 ̾»ì-°ìÈÌ O +¤Ï S9 ½õ»ì-·¸½õ»ì O +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +Âè S1 ÀÜƬ»ì-¿ôÀܳ O +Ȭ S6 ̾»ì-¿ô O +°Ì S1 ̾»ì-Éû»ì²Äǽ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ë¶È M1 ̾»ì-°ìÈÌ O +¥°¥ë¡¼¥× M10 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ĺ±É M1 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ê S2 µ­¹æ-³ç¸Ì³« O +¥¨¥Ð¥°¥ê¡¼¥ó M10 ̾»ì-¸Çͭ̾»ì-ÁÈ¿¥ B-ORGANIZATION +¡Ë S2 µ­¹æ-³ç¸ÌÊÄ O +¥°¥ë¡¼¥× M10 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¥ª¡¼¥Ê¡¼ M10 ̾»ì-°ìÈÌ O +¡£ S2 µ­¹æ-¶çÅÀ O + +¤³¤Î M9 Ï¢Âλì O +Æü S1 ̾»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +Ê¡²¬¶õ¹Á M1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ B-LOCATION +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ìÈÖ T6-1 ̾»ì-Éû»ì²Äǽ O +µ¡ S1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¾è¤êÆþ¤ì T1-9 ̾»ì-¥µÊÑÀܳ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Â¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤·¤¿ M9 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +¡Ö S2 µ­¹æ-³ç¸Ì³« O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¶õ¹Á M1 ̾»ì-°ìÈÌ I-LOCATION +¡½ S2 µ­¹æ-°ìÈÌ O +ÂæËÌ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +´Ö S1 ̾»ì-Èó¼«Î©-Éû»ì²Äǽ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½µ S1 ̾»ì-°ìÈÌ O +Æ󽽸ÞÊØ T6-1 ̾»ì-¿ô O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +½¢¹Ò M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ S9 ½õ»ì-Àܳ½õ»ì O +¤¤¤ë M9 Æ°»ì-Èó¼«Î© O +¤Î¤Ë M9 ½õ»ì-Àܳ½õ»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +°ä´¸ M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤Ê¤¬¤é M9 ½õ»ì-Àܳ½õ»ì O +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¹Ò¶õ M1 ̾»ì-°ìÈÌ O +²ñ¼Ò M1 ̾»ì-°ìÈÌ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +°ì¼Ò T6-1 ̾»ì-¸Çͭ̾»ì-°ìÈÌ O +¤â S9 ½õ»ì-·¸½õ»ì O +Æþ¤Ã T1-9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¡£ S2 µ­¹æ-¶çÅÀ O + +¸ß·Ã M1 ̾»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +¸¶Â§ M1 ̾»ì-°ìÈÌ O +¤Ë S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +±è¤ï T1-9 Æ°»ì-¼«Î© O +¤º S9 ½õÆ°»ì O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +»ê¶Ë M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +»ÄÇ° M1 ̾»ì-·ÁÍÆÆ°»ì¸ì´´ O +¤À S9 ½õÆ°»ì O +¡× S2 µ­¹æ-³ç¸ÌÊÄ O +¤È S9 ½õ»ì-³Ê½õ»ì-°úÍÑ O +¡¢ S2 µ­¹æ-ÆÉÅÀ O +ÂæÏÑ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-¹ñ B-LOCATION +¦ S1 ̾»ì-ÀÜÈø-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +´ØÀ¾ M1 ̾»ì-¸Çͭ̾»ì-ÃÏ°è-°ìÈÌ B-LOCATION +¶õ¹Á M1 ̾»ì-°ìÈÌ I-LOCATION +¾è¤êÆþ¤ì T1-9 ̾»ì-¥µÊÑÀܳ O +¤¬ S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¼Â¸½ M1 ̾»ì-¥µÊÑÀܳ O +¤· S9 Æ°»ì-¼«Î© O +¤Æ¤¤ M9 ̾»ì-°ìÈÌ O +¤Ê¤¤ M9 ·ÁÍÆ»ì-¼«Î© O +¤³¤È M9 ̾»ì-Èó¼«Î©-°ìÈÌ O +¤Ø S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +¤Î S9 ½õ»ì-Ï¢Âβ½ O +ÉÔËþ M1 ̾»ì-°ìÈÌ O +¤ò S9 ½õ»ì-³Ê½õ»ì-°ìÈÌ O +ɽÌÀ M1 ̾»ì-¥µÊÑÀܳ O +¡£ S2 µ­¹æ-¶çÅÀ O + diff --git a/CRF/example/basenp/exec.sh b/CRF/example/basenp/exec.sh new file mode 100644 index 0000000000000000000000000000000000000000..7005d085a4ddcc0d8997ecf8469c3ae5dd59291f --- /dev/null +++ b/CRF/example/basenp/exec.sh @@ -0,0 +1,7 @@ +#!/bin/sh +../../crf_learn -c 10.0 template train.data model +../../crf_test -m model test.data + +../../crf_learn -a MIRA template train.data model +../../crf_test -m model test.data +rm -f model diff --git a/CRF/example/basenp/template b/CRF/example/basenp/template new file mode 100644 index 0000000000000000000000000000000000000000..7048836996d7fae0e711807c19a230b56dd80e6d --- /dev/null +++ b/CRF/example/basenp/template @@ -0,0 +1,27 @@ +# Unigram +U00:%x[-2,0] +U01:%x[-1,0] +U02:%x[0,0] +U03:%x[1,0] +U04:%x[2,0] +U05:%x[-1,0]/%x[0,0] +U06:%x[0,0]/%x[1,0] + +U10:%x[-2,1] +U11:%x[-1,1] +U12:%x[0,1] +U13:%x[1,1] +U14:%x[2,1] +U15:%x[-2,1]/%x[-1,1] +U16:%x[-1,1]/%x[0,1] +U17:%x[0,1]/%x[1,1] +U18:%x[1,1]/%x[2,1] + +U20:%x[-2,1]/%x[-1,1]/%x[0,1] +U21:%x[-1,1]/%x[0,1]/%x[1,1] +U22:%x[0,1]/%x[1,1]/%x[2,1] + +U23:%x[0,1] + +# Bigram +B diff --git a/CRF/example/basenp/test.data b/CRF/example/basenp/test.data new file mode 100644 index 0000000000000000000000000000000000000000..207cd0e48412fcb1d196a9e166d6dd4dbb610700 --- /dev/null +++ b/CRF/example/basenp/test.data @@ -0,0 +1,19995 @@ +Rockwell NNP B +International NNP I +Corp. NNP I +'s POS B +Tulsa NNP I +unit NN I +said VBD O +it PRP B +signed VBD O +a DT B +tentative JJ I +agreement NN I +extending VBG O +its PRP$ B +contract NN I +with IN O +Boeing NNP B +Co. NNP I +to TO O +provide VB O +structural JJ B +parts NNS I +for IN O +Boeing NNP B +'s POS B +747 CD I +jetliners NNS I +. . O + +Rockwell NNP B +said VBD O +the DT B +agreement NN I +calls VBZ O +for IN O +it PRP B +to TO O +supply VB O +200 CD B +additional JJ I +so-called JJ I +shipsets NNS I +for IN O +the DT B +planes NNS I +. . O + +These DT B +include VBP O +, , O +among IN O +other JJ B +parts NNS I +, , O +each DT B +jetliner NN I +'s POS B +two CD I +major JJ I +bulkheads NNS I +, , O +a DT B +pressure NN I +floor NN I +, , O +torque NN B +box NN I +, , O +fixed VBN B +leading VBG I +edges NNS I +for IN O +the DT B +wings NNS I +and CC O +an DT B +aft JJ I +keel NN I +beam NN I +. . O + +Under IN O +the DT B +existing VBG I +contract NN I +, , O +Rockwell NNP B +said VBD O +, , O +it PRP B +has VBZ O +already RB O +delivered VBN O +793 CD B +of IN O +the DT B +shipsets NNS I +to TO O +Boeing NNP B +. . O + +Rockwell NNP B +, , O +based VBN O +in IN O +El NNP B +Segundo NNP I +, , O +Calif. NNP B +, , O +is VBZ O +an DT B +aerospace NN I +, , I +electronics NNS I +, , I +automotive JJ I +and CC I +graphics NNS I +concern VBP I +. . O + +Frank NNP B +Carlucci NNP I +III NNP I +was VBD O +named VBN O +to TO O +this DT B +telecommunications NNS I +company NN I +'s POS B +board NN I +, , O +filling VBG O +the DT B +vacancy NN I +created VBN O +by IN O +the DT B +death NN I +of IN O +William NNP B +Sobey NNP I +last JJ B +May NNP I +. . O + +Mr. NNP B +Carlucci NNP I +, , O +59 CD B +years NNS I +old JJ O +, , O +served VBN O +as IN O +defense NN B +secretary NN I +in IN O +the DT B +Reagan NNP I +administration NN I +. . O + +In IN O +January NNP B +, , O +he PRP B +accepted VBD O +the DT B +position NN I +of IN O +vice NN B +chairman NN I +of IN O +Carlyle NNP B +Group NNP I +, , O +a DT B +merchant NN I +banking NN I +concern NN I +. . O + +SHEARSON NNP B +LEHMAN NNP I +HUTTON NNP I +Inc NNP I +. . I + +Thomas NNP B +E. NNP I +Meador NNP I +, , O +42 CD B +years NNS I +old JJ O +, , O +was VBD O +named VBN O +president NN B +and CC O +chief JJ B +operating VBG I +officer NN I +of IN O +Balcor NNP B +Co. NNP I +, , O +a DT B +Skokie NNP I +, , I +Ill. NNP I +, , I +subsidiary NN I +of IN O +this DT B +New NNP I +York NNP I +investment NN I +banking NN I +firm NN I +. . O + +Balcor NNP B +, , O +which WDT B +has VBZ O +interests NNS B +in IN O +real JJ B +estate NN I +, , O +said VBD O +the DT B +position NN I +is VBZ O +newly RB O +created VBN O +. . O + +Mr. NNP B +Meador NNP I +had VBD O +been VBN O +executive JJ B +vice NN I +president NN I +of IN O +Balcor NNP B +. . O + +In IN O +addition NN B +to TO O +his PRP$ B +previous JJ I +real-estate NN I +investment NN I +and CC I +asset-management NN I +duties NNS I +, , O +Mr. NNP B +Meador NNP I +takes VBZ O +responsibility NN B +for IN O +development NN B +and CC O +property NN B +management NN I +. . O + +Those DT B +duties NNS I +had VBD O +been VBN O +held VBN O +by IN O +Van NNP B +Pell NNP I +, , O +44 CD B +, , O +who WP B +resigned VBD O +as IN O +an DT B +executive JJ I +vice NN I +president NN I +. . O + +Shearson NNP B +is VBZ O +about IN O +60%-held JJ O +by IN O +American NNP B +Express NNP I +Co NNP I +. . O + +Great NNP B +American NNP I +Bank NNP I +, , O +citing VBG O +depressed JJ B +Arizona NNP I +real JJ I +estate NN I +prices NNS I +, , O +posted VBD O +a DT B +third-quarter JJ I +loss NN I +of IN O +$ $ B +59.4 CD I +million CD I +, , O +or CC O +$ $ B +2.48 CD I +a DT B +share NN I +. . O + +A DT B +year NN I +earlier RBR O +, , O +the DT B +savings NNS I +bank VBP I +had VBD O +earnings NNS B +of IN O +$ $ B +8.1 CD I +million CD I +, , O +or CC O +33 CD B +cents NNS I +a DT B +share NN I +. . O + +For IN O +the DT B +nine CD I +months NNS I +, , O +it PRP B +had VBD O +a DT B +loss NN I +of IN O +$ $ B +58.3 CD I +million CD I +, , O +or CC O +$ $ B +2.44 CD I +a DT B +share NN I +, , O +after IN O +earnings NNS B +of IN O +$ $ B +29.5 CD I +million CD I +, , O +or CC O +$ $ B +1.20 CD I +a DT B +share NN I +, , O +in IN O +the DT B +1988 CD I +period NN I +. . O + +Great NNP B +American NNP I +said VBD O +it PRP B +increased VBD O +its PRP$ B +loan-loss NN I +reserves NNS I +by IN O +$ $ B +93 CD I +million CD I +after IN O +reviewing VBG O +its PRP$ B +loan NN I +portfolio NN I +, , O +raising VBG O +its PRP$ B +total JJ I +loan NN I +and CC I +real JJ I +estate NN I +reserves NNS I +to TO O +$ $ B +217 CD I +million CD I +. . O + +Before IN O +the DT B +loan-loss NN I +addition NN I +, , O +it PRP B +said VBD O +, , O +it PRP B +had VBD O +operating VBG B +profit NN I +of IN O +$ $ B +10 CD I +million CD I +for IN O +the DT B +quarter NN I +. . O + +The DT B +move NN I +followed VBD O +a DT B +round NN I +of IN O +similar JJ B +increases NNS I +by IN O +other JJ B +lenders NNS I +against IN O +Arizona NNP B +real JJ I +estate NN I +loans NNS I +, , O +reflecting VBG O +a DT B +continuing VBG I +decline NN I +in IN O +that DT B +market NN I +. . O + +In IN O +addition NN B +to TO O +the DT B +increased VBN I +reserve NN I +, , O +the DT B +savings NNS I +bank VBP I +took VBD O +a DT B +special JJ I +charge NN I +of IN O +$ $ B +5 NN I +million CD I +representing VBG O +general JJ B +and CC I +administrative JJ I +expenses NNS I +from IN O +staff NN B +reductions NNS I +and CC O +other JJ B +matters NNS I +, , O +and CC O +it PRP B +posted VBD O +a DT B +$ $ I +7.6 CD I +million CD I +reduction NN I +in IN O +expected VBN B +mortgage NN I +servicing NN I +fees NNS I +, , O +reflecting VBG O +the DT B +fact NN I +that IN O +more JJR B +borrowers NNS I +are VBP O +prepaying VBG O +their PRP$ B +mortgages NNS I +. . O + +Arbitragers NNS B +were VBD O +n't RB O +the DT B +only RB I +big JJ I +losers NNS I +in IN O +the DT B +collapse NN I +of IN O +UAL NNP B +Corp. NNP I +stock NN I +. . O + +Look VB O +at IN O +what WP B +happened VBD O +to TO O +UAL NNP B +'s POS B +chairman NN I +, , O +Stephen NNP B +M. NNP I +Wolf NNP I +, , O +and CC O +its PRP$ B +chief JJ I +financial JJ I +officer NN I +, , O +John NNP B +C. NNP I +Pope NNP I +. . O + +On IN O +a DT B +day NN I +some DT B +United NNP I +Airlines NNPS I +employees NNS I +wanted VBD O +Mr. NNP B +Wolf NNP I +fired VBD O +and CC O +takeover NN B +stock NN I +speculators NNS I +wanted VBD O +his PRP$ B +scalp NN I +, , O +Messrs. NNP B +Wolf NNP I +and CC I +Pope NNP I +saw VBD O +their PRP$ B +prospective JJ I +personal JJ I +fortunes NNS I +continue VBP O +to TO O +plummet VB O +as IN O +shares NNS B +of IN O +UAL NNP B +, , O +United NNP B +'s POS B +parent NN I +company NN I +, , O +dived VBD O +$ $ B +24.875 CD I +on IN O +the DT B +Big NNP I +Board NNP I +to TO O +close VB O +at IN O +$ $ B +198 CD I +. . O + +Including VBG O +Monday NNP B +'s POS B +plunge NN I +, , O +that WDT B +has VBZ O +given VBN O +the DT B +two CD I +executives NNS I +paper NN B +losses NNS I +of IN O +$ $ B +49.5 CD I +million CD I +, , O +based VBN O +on IN O +what WP B +they PRP B +would MD O +have VB O +realized VBN O +had VBN O +the DT B +pilots NNS I +and CC I +management-led JJ I +buy-out NN I +of IN O +UAL NNP B +gone VBN O +through IN O +at IN O +$ $ B +300 CD I +a DT B +share NN I +. . O + +When WRB O +bank NN B +financing NN I +for IN O +the DT B +buy-out NN I +collapsed VBD O +last JJ B +week NN I +, , O +so RB O +did VBD O +UAL NNP B +'s POS B +stock NN I +. . O + +Even RB O +if IN O +the DT B +banks NNS I +resurrect VBP O +a DT B +financing NN I +package NN I +at IN O +$ $ B +250 CD I +a DT B +share NN I +, , O +the DT B +two CD I +executives NNS I +would MD O +still RB O +get VB O +about RB B +$ $ I +25 CD I +million CD I +less JJR O +than IN O +they PRP B +stood VBD O +to TO O +gain VB O +in IN O +the DT B +initial JJ I +transaction NN I +. . O + +Mr. NNP B +Wolf NNP I +owns VBZ O +75,000 CD B +UAL NNP I +shares NNS I +and CC O +has VBZ O +options NNS B +to TO O +buy VB O +another DT B +250,000 CD I +at IN O +$ $ B +83.3125 CD I +each DT B +. . O + +In IN O +the DT B +$ $ I +300-a-share JJ I +buyout NN I +, , O +that WDT B +totaled VBD O +about RB B +$ $ I +76.7 CD I +million CD I +. . O + +By IN O +yesterday NN B +'s POS B +close NN I +of IN O +trading NN B +, , O +it PRP B +was VBD O +good JJ O +for IN O +a DT B +paltry JJ I +$ $ I +43.5 CD I +million CD I +. . O + +Of IN O +course NN B +, , O +Mr. NNP B +Wolf NNP I +, , O +48 CD B +years NNS I +old JJ O +, , O +has VBZ O +some DT B +savings NNS I +. . O + +He PRP B +left VBD O +his PRP$ B +last JJ I +two CD I +jobs NNS I +at IN O +Republic NNP B +Airlines NNPS I +and CC O +Flying NNP B +Tiger NNP I +with IN O +combined VBN B +stock-option NN I +gains NNS I +of IN O +about RB B +$ $ I +22 CD I +million CD I +, , O +and CC O +UAL NNP B +gave VBD O +him PRP B +a DT B +$ $ I +15 CD I +million CD I +bonus NN I +when WRB O +it PRP B +hired VBD O +him PRP B +. . O + +His PRP$ B +1988 CD I +salary NN I +was VBD O +$ $ B +575,000 CD I +, , O +with IN O +a DT B +$ $ I +575,000 CD I +bonus NN I +. . O + +The DT B +40-year JJ I +old JJ I +Mr. NNP I +Pope NNP I +has VBZ O +n't RB O +changed VBN O +jobs NNS B +enough RB O +-- : O +at IN B +least JJS I +the DT I +right NN I +ones NNS I +-- : O +to TO O +stash VB O +away RB O +that DT B +kind NN I +of IN O +money NN B +. . O + +United NNP B +paid VBD O +him PRP B +a DT B +$ $ I +375,000 CD I +bonus NN I +to TO O +lure VB O +him PRP B +away RB O +from IN O +American NNP B +Airlines NNPS I +, , O +and CC O +he PRP B +was VBD O +paid VBN O +a DT B +salary NN I +of IN O +$ $ B +342,122 CD I +last JJ B +year NN I +with IN O +a DT B +$ $ I +280,000 CD I +bonus NN I +. . O + +Mr. NNP B +Pope NNP I +owns VBZ O +10,000 CD B +UAL NNP I +shares NNS I +and CC O +has VBZ O +options NNS B +to TO O +buy VB O +another DT B +150,000 CD I +at IN O +$ $ B +69 CD I +each DT B +. . O + +That DT B +came VBD O +to TO O +a DT B +combined VBN I +$ $ I +37.7 CD I +million CD I +under IN O +the DT B +$ $ I +300-a-share JJ I +buy-out NN I +, , O +but CC O +just RB B +$ $ I +21.3 CD I +million CD I +at IN O +yesterday NN B +'s POS B +close NN I +. . O + +Of IN O +the DT B +combined VBN I +$ $ I +114.4 CD I +million CD I +the DT B +two CD I +men NNS I +were VBD O +scheduled VBN O +to TO O +reap VB O +under IN O +the DT B +buy-out NN I +, , O +they PRP B +agreed VBD O +to TO O +invest VB O +in IN O +the DT B +buy-out NN I +just RB B +$ $ I +15 CD I +million CD I +, , O +angering VBG O +many NN B +of IN O +the DT B +thousands NNS I +of IN O +workers NNS B +asked VBD O +to TO O +make VB O +pay NN B +concessions NNS I +so RB O +the DT B +buy-out NN I +would MD O +be VB O +a DT B +success NN I +. . O + +United NNP B +'s POS B +directors NNS I +voted VBD O +themselves PRP B +, , O +and CC O +their PRP$ B +spouses NNS I +, , O +lifetime NN B +access NN I +to TO O +the DT B +Friendly NNP I +Skies NNPS I +-- : O +free JJ B +first-class JJ I +travel NN I +, , O +and CC O +$ $ B +20,000 CD I +a DT B +year NN I +for IN O +life NN B +as IN O +well RB O +. . O + +Conceivably RB O +, , O +in IN O +a DT B +scaled-back JJ I +buy-out NN I +, , O +they PRP B +could MD O +be VB O +bumped VBN O +back RB O +to TO O +coach NN B +seats NNS I +for IN O +life NN B +. . O + +Thomas NNP B +H. NNP I +Johnson NNP I +, , O +president NN B +of IN O +the DT B +Coatedboard NNP I +division NN I +of IN O +Mead NNP B +Corp. NNP I +, , O +was VBD O +named VBN O +president NN B +of IN O +Manville NNP B +Forest NNP I +Products NNP I +Corp. NNP I +, , O +a DT B +Manville NNP I +unit NN I +, , O +and CC O +senior JJ B +vice NN I +president NN I +of IN O +Manville NNP B +Corp NNP I +. . O + +Mr. NNP B +Johnson NNP I +succeeds VBZ O +Harry NNP B +W. NNP I +Sherman NNP I +, , O +who WP B +resigned VBD O +to TO O +pursue VB O +other JJ B +interests NNS I +, , O +in IN O +both DT B +positions NNS I +. . O + +Manville NNP B +is VBZ O +a DT B +building NN I +and CC I +forest NN I +products NNS I +concern VBP I +. . O + +US PRP B +Facilities NNP I +Corp. NNP I +said VBD O +Robert NNP B +J. NNP I +Percival NNP I +agreed VBD O +to TO O +step VB O +down RB O +as IN O +vice NN B +chairman NN I +of IN O +the DT B +insurance NN I +holding VBG I +company NN I +. . O + +`` `` O +There EX B +was VBD O +a DT B +difference NN I +of IN O +opinion NN B +as IN O +to TO O +the DT B +future NN I +direction NN I +of IN O +the DT B +company NN I +, , O +'' '' O +a DT B +spokeswoman NN I +said VBD O +. . O + +Mr. NNP B +Percival NNP I +declined VBD O +to TO O +comment VB O +. . O + +In IN O +a DT B +statement NN I +, , O +US PRP B +Facilities NNPS I +said VBD O +Mr. NNP B +Percival NNP I +'s POS B +employment NN I +contract NN I +calls VBZ O +for IN O +him PRP B +to TO O +act VB O +as IN O +a DT B +consultant NN I +to TO O +the DT B +company NN I +for IN O +two CD B +years NNS I +. . O + +He PRP B +will MD O +also RB O +remain VB O +a DT B +director NN I +, , O +US PRP B +Facilities NNPS I +said VBD O +, , O +but CC O +wo MD O +n't RB O +serve VB O +on IN O +any DT B +board NN I +committees NNS I +. . O + +Mr. NNP B +Percival NNP I +will MD O +be VB O +succeeded VBN O +on IN O +an DT B +interim JJ I +basis NN I +by IN O +George NNP B +Kadonada NNP I +, , O +US PRP B +Facilities NNPS I +chairman NN I +and CC I +president NN I +. . O + +In IN O +the DT B +same JJ I +statement NN I +, , O +US PRP B +Facilities NNPS I +also RB O +said VBD O +it PRP B +had VBD O +bought VBN O +back RB O +112,000 CD B +of IN O +its PRP$ B +common JJ I +shares NNS I +in IN O +a DT B +private JJ I +transaction NN I +. . O + +Terms NNS B +were VBD O +n't RB O +disclosed VBN O +. . O + +The DT B +buy-back NN I +represents VBZ O +about IN B +3 CD I +% NN I +of IN O +the DT B +company NN I +'s POS B +shares NNS I +, , O +based VBN O +on IN O +the DT B +3.7 CD I +million CD I +shares NNS I +outstanding JJ O +as IN O +of IN O +Sept. NNP B +30 CD I +. . O + +In IN O +national JJ B +over-the-counter JJ I +trading NN I +yesterday NN B +, , O +US PRP B +Facilities NNPS I +closed VBD O +at IN O +$ $ B +3.625 CD I +, , O +unchanged JJ O +. . O + +Three CD B +leading VBG I +drug NN I +companies NNS I +reported VBD O +robust JJ B +third-quarter JJ I +earnings NNS I +, , O +bolstered VBN O +by IN O +strong JJ B +sales NNS I +of IN O +newer JJR B +, , I +big-selling JJ I +prescriptions NNS I +drugs NNS I +that WDT B +provide VBP O +hefty JJ B +profit NN I +margins NNS I +. . O + +Merck NNP B +& CC I +Co. NNP I +reported VBD O +a DT B +25 CD I +% NN I +increase NN I +in IN O +earnings NNS B +; : O +Warner-Lambert NNP B +Co. NNP I +'s POS B +profit NN I +rose VBD O +22 CD B +% NN I +and CC O +Eli NNP B +Lilly NNP I +& CC I +Co. NNP I +'s POS B +net JJ I +income NN I +rose VBD O +24 CD B +% NN I +. . O + +The DT B +results NNS I +were VBD O +in IN O +line NN B +with IN O +analysts NNS B +' POS B +expectations NNS I +. . O + +Merck NNP B +& CC I +Co NNP I +. . I + +Merck NNP B +, , O +Rahway NNP B +, , O +N.J. NNP B +, , O +continued VBD O +to TO O +lead VB O +the DT B +industry NN I +with IN O +a DT B +strong JJ I +sales NNS I +performance NN I +in IN O +the DT B +human NN I +and CC I +animal NN I +health-products NNS I +segment VBP I +. . O + +A DT B +stronger JJR I +U.S. NNP I +dollar NN I +reduced VBD O +third-quarter JJ B +and CC I +first-nine-month JJ I +sales NNS I +growth NN I +2 CD B +% NN I +and CC I +3 CD I +% NN I +, , O +respectively RB O +. . O + +International JJ B +sales NNS I +accounted VBD O +for IN O +47 CD B +% NN I +of IN O +total JJ B +company NN I +sales NNS I +for IN O +the DT B +nine CD I +months NNS I +, , O +compared VBN O +with IN O +50 CD B +% NN I +a DT B +year NN I +earlier RBR O +. . O + +Sales NNS B +for IN O +the DT B +quarter NN I +rose VBD O +to TO O +$ $ B +1.63 CD I +billion CD I +from IN O +$ $ B +1.47 CD I +billion CD I +. . O + +Mevacor NNP B +, , O +Merck NNP B +'s POS B +new JJ I +cholesterol-lowering JJ I +drug NN I +, , O +had VBD O +higher JJR B +vsales NNS I +than IN O +any DT B +other JJ I +prescription NN I +medicine NN I +has VBZ O +ever RB O +achieved VBN O +in IN O +the DT B +U.S. NNP I +in IN O +the DT B +year NN I +following VBG O +introduction NN B +, , O +the DT B +company NN I +said VBD O +. . O + +The DT B +drug NN I +was VBD O +introduced VBN O +in IN O +West NNP B +Germany NNP I +this DT B +year NN I +. . O + +Intense JJ B +competition NN I +, , O +however RB O +, , O +led VBN O +to TO O +unit NN B +sales NNS I +declines NNS I +for IN O +a DT B +group NN I +of IN O +Merck NNP B +'s POS B +established VBN I +human NN I +and CC I +animal-health NN I +products NNS I +, , O +including VBG O +Aldomet NNP B +and CC I +Indocin NNP I +. . O + +In IN O +New NNP B +York NNP I +Stock NNP I +Exchange NNP I +composite JJ I +trading NN I +yesterday NN B +, , O +Merck NNP B +shares NNS I +closed VBD O +at IN O +$ $ B +75.25 CD I +, , O +up IN O +50 CD B +cents NNS I +. . O + +Warner-Lambert NNP B +Co NNP I +. . I + +Warner-Lambert NNP B +, , O +Morris NNP B +Plains NNP I +, , O +N.J. NNP B +, , O +reported VBD O +sales NNS B +that WDT B +were VBD O +a DT B +record NN I +for IN O +any DT B +quarter NN I +and CC O +the DT B +eighth JJ I +quarter NN I +in IN O +a DT B +row NN I +of IN O +20 CD B +% NN I +or CC I +more RBR I +per-share JJ I +earnings NNS I +growth NN I +. . O + +Spurred VBN O +by IN O +growth NN B +in IN O +world-wide JJ B +sales NNS I +of IN O +the DT B +company NN I +'s POS B +prescription NN I +drugs NNS I +, , O +Warner-Lambert NNP B +said VBD O +1989 CD B +will MD O +be VB O +the DT B +best JJS I +year NN I +in IN O +its PRP$ B +history NN I +, , O +with IN O +per-share JJ B +earnings NNS I +expected VBN O +to TO O +increase VB O +more JJR B +than IN I +20 CD I +% NN I +to TO O +about RB B +$ $ I +6.10 CD I +. . O + +Sales NNS B +for IN O +the DT B +quarter NN I +rose VBD O +to TO O +$ $ B +1.11 CD I +billion CD I +from IN O +$ $ B +1.03 CD I +billion CD I +. . O + +Prescription-drug NN B +world-wide JJ I +sales NNS I +rose VBD O +9 CD B +% NN I +in IN O +the DT B +quarter NN I +to TO O +$ $ B +340 CD I +million CD I +; : O +U.S. NNP B +sales NNS I +rose VBD O +15 CD B +% NN I +. . O + +The DT B +segment NN I +'s POS B +growth NN I +was VBD O +led VBN O +by IN O +sales NNS B +of IN O +the DT B +cardiovascular JJ I +drugs NNS I +Lopid NNP B +, , O +a DT B +lipid NN I +regulator NN I +, , O +and CC O +Dilzem NNP B +, , O +a DT B +calcium NN I +channel NN I +blocker NN I +. . O + +World-wide JJ B +sales NNS I +of IN O +Warner-Lambert NNP B +'s POS B +non-prescription JJ I +health-care NN I +products NNS I +, , O +such JJ O +as IN O +Halls NNP B +cough NN I +tablets NNS I +, , O +Rolaids NNP B +antacid NN I +, , O +and CC O +Lubriderm NNP B +skin NN I +lotion NN I +, , O +increased VBN O +3 CD B +% NN I +to TO O +$ $ B +362 CD I +million CD I +in IN O +the DT B +third JJ I +quarter NN I +; : O +U.S. NNP B +sales NNS I +rose VBD O +5 NN B +% NN I +. . O + +Confectionery JJ B +products NNS I +sales NNS I +also RB O +had VBD O +strong JJ B +growth NN I +in IN O +the DT B +quarter NN I +. . O + +World-wide JJ B +sales NNS I +of IN O +Trident NNP B +gum NN I +, , O +Certs NNP B +breath NN I +mints NNS I +, , O +and CC O +Clorets NNP B +gum NN I +and CC I +breath NN I +mints NNS I +, , O +increased VBN O +12 CD B +% NN I +to TO O +$ $ B +277 CD I +million CD I +. . O + +Warner-Lambert NNP B +shares NNS I +closed VBD O +at IN O +$ $ B +109.50 CD I +a DT B +share NN I +, , O +up IN O +$ $ B +1.50 CD I +, , O +in IN O +Big NNP B +Board NNP I +composite JJ I +trading NN I +yesterday NN B +. . O + +Eli NNP B +Lilly NNP I +& CC I +Co NNP I +. . I + +Lilly NNP B +attributed VBD O +record NN B +third-quarter JJ I +and CC I +nine-month JJ I +results NNS I +to TO O +world-wide JJ B +gains NNS I +for IN O +pharmaceuticals NNS B +, , O +medical JJ B +instruments NNS I +and CC O +plant-science NN B +products NNS I +despite IN O +poor JJ B +exchange NN I +rates NNS I +for IN O +the DT B +dollar NN I +that WDT B +slowed VBD O +sales NNS B +abroad RB O +. . O + +Earnings NNS B +continued VBD O +to TO O +pace VB O +sales NNS B +because IN O +of IN O +a DT B +lower JJR I +tax NN I +rate NN I +, , O +profit NN B +from IN O +the DT B +renegotiation NN I +of IN O +the DT B +debt NN I +instrument NN I +received VBD O +from IN O +Faberge NNP B +Inc. NNP I +in IN O +connection NN B +with IN O +Lilly NNP B +'s POS B +sale NN I +of IN O +Elizabeth NNP B +Arden NNP I +Inc. NNP I +in IN O +1987 CD B +, , O +and CC O +net JJ B +proceeds NNS I +from IN O +the DT B +settlement NN I +of IN O +patent NN B +litigation NN I +at IN O +Lilly NNP B +'s POS B +Hybritech NNP I +Inc. NNP I +unit NN I +. . O + +Third-quarter JJ B +sales NNS I +of IN O +the DT B +Indianapolis NNP I +, , I +Ind. NNP I +, , I +company NN I +rose VBD O +11 CD B +% NN I +to TO O +$ $ B +1.045 CD I +billion CD I +from IN O +$ $ B +940.6 CD I +million CD I +. . O + +Nine-month JJ B +sales NNS I +grew VBD O +12 CD B +% NN I +to TO O +$ $ B +3.39 CD I +billion CD I +from IN O +$ $ B +3.03 CD I +billion CD I +a DT B +year NN I +earlier RBR O +. . O + +Sales NNS B +of IN O +Prozac NNP B +, , O +an DT B +anti-depressant NN I +, , O +led VBN O +drug-sales NNS B +increases NNS I +. . O + +Higher JJR B +sales NNS I +of IN O +pesticides NNS B +and CC O +other JJ B +plant-science NN I +products NNS I +more JJR O +than IN O +offset VB O +a DT B +slight JJ I +decline NN I +in IN O +the DT B +sales NNS I +of IN O +animal-health NN B +products NNS I +to TO O +fuel VB O +the DT B +increase NN I +in IN O +world-wide JJ B +agricultural JJ I +product NN I +sales NNS I +, , O +Lilly NNP B +said VBD O +. . O + +Advanced NNP B +Cardiovascular NNP I +Systems NNP I +Inc. NNP I +and CC O +Cardiac NNP B +Pacemakers NNPS I +Inc. NNP I +units NNS I +led VBD O +growth NN B +in IN O +the DT B +medical-instrument JJ I +systems NNS I +division NN I +. . O + +Lilly NNP B +shares NNS I +closed VBD O +yesterday NN B +in IN O +composite JJ B +trading NN I +on IN O +the DT B +Big NNP I +Board NNP I +at IN O +$ $ B +62.25 CD I +, , O +down RB O +12.5 CD B +cents NNS I +. . O + +Reuben NNP B +Mark NNP I +, , O +chairman NN B +of IN O +Colgate-Palmolive NNP B +Co. NNP I +, , O +said VBD O +he PRP B +is VBZ O +`` `` O +comfortable JJ O +'' '' O +with IN O +analysts NNS B +' POS B +estimates NNS I +that IN O +third-quarter JJ B +earnings NNS I +rose VBD O +to TO O +between IN B +95 CD I +cents NNS I +and CC I +$ $ I +1.05 CD I +a DT B +share NN I +. . O + +That DT B +compares VBZ O +with IN O +per-share JJ B +earnings NNS I +from IN O +continuing VBG B +operations NNS I +of IN O +69 CD B +cents NNS I +the DT B +year NN I +earlier RBR O +; : O +including VBG O +discontinued VBN B +operations NNS I +, , O +per-share NN B +was VBD O +88 CD B +cents NNS I +a DT B +year NN I +ago RB O +. . O + +The DT B +per-share JJ I +estimates NNS I +mean VBP O +the DT B +consumer-products NNS I +company NN I +'s POS B +net JJ I +income NN I +, , O +increased VBN O +to TO O +between IN B +$ $ I +69.5 CD I +million CD I +and CC I +$ $ I +76 CD I +million CD I +, , O +from IN O +$ $ B +47.1 CD I +million CD I +the DT B +year-before JJ I +period NN I +. . O + +Analysts NNS B +estimate VBP O +Colgate NNP B +'s POS B +world-wide JJ I +third-quarter JJ I +sales NNS I +rose VBD O +about IN B +8 CD I +% NN I +to TO O +$ $ B +1.29 CD I +billion CD I +. . O + +Mr. NNP B +Mark NNP I +attributed VBD O +the DT B +earnings NNS I +growth NN I +to TO O +strong JJ B +sales NNS I +in IN O +Latin NNP B +America NNP I +, , O +Asia NNP B +and CC O +Europe NNP B +. . O + +Results NNS B +were VBD O +also RB O +bolstered VBN O +by IN O +`` `` B +a DT I +very RB I +meaningful JJ I +'' '' I +increase NN I +in IN O +operating VBG B +profit NN I +by IN O +Colgate NNP B +'s POS B +U.S. NNP I +business NN I +, , O +Mr. NNP B +Mark NNP I +said VBD O +. . O + +Operating NN B +profit NN I +at IN O +Colgate NNP B +'s POS B +U.S. NNP I +household NN I +products NNS I +and CC I +personal-care JJ I +businesses NNS I +jumped VBD O +25 CD B +% NN I +in IN O +the DT B +quarter NN I +, , O +Mr. NNP B +Mark NNP I +added VBD O +. . O + +He PRP B +said VBD O +the DT B +improvement NN I +was VBD O +a DT B +result NN I +of IN O +cost NN B +savings NNS I +achieved VBN O +by IN O +consolidating VBG O +manufacturing NN O +operations NNS B +, , O +blending VBG O +two CD B +sales NNS I +organizations NNS I +and CC O +focusing VBG O +more RBR O +carefully RB O +the DT B +company NN I +'s POS B +promotional JJ I +activities NNS I +. . O + +The DT B +estimated VBN I +improvement NN I +in IN O +Colgate NNP B +'s POS B +U.S. NNP I +operations NNS I +took VBD O +some DT B +analysts NNS I +by IN O +surprise NN B +. . O + +Colgate NNP B +'s POS B +household NN I +products NNS I +business NN I +, , O +which WDT B +includes VBZ O +such JJ B +brands NNS I +as IN O +Fab NNP B +laundry NN I +detergent NN I +and CC O +Ajax NNP B +cleanser NN I +, , O +has VBZ O +been VBN O +a DT B +weak JJ I +performer NN I +. . O + +Analysts NNS B +estimate VBP O +Colgate NNP B +'s POS B +sales NNS I +of IN O +household NN B +products NNS I +in IN O +the DT B +U.S. NNP I +were VBD O +flat JJ O +for IN O +the DT B +quarter NN I +, , O +and CC O +they PRP B +estimated VBD O +operating VBG B +margins NNS I +at IN O +only RB B +1 CD I +% NN I +to TO I +3 CD I +% NN I +. . O + +`` `` O +If IN O +you PRP B +could MD O +say VB O +their PRP$ B +business NN I +in IN O +the DT B +U.S. NNP I +was VBD O +mediocre JJ O +, , O +but CC O +great JJ O +everywhere RB O +else RB O +, , O +that WDT B +would MD O +be VB O +fine JJ O +, , O +'' '' O +says VBZ O +Bonita NNP B +Austin NNP I +, , O +an DT B +analyst NN I +with IN O +Wertheim NNP B +Schroder NNP I +& CC I +Co NNP I +. . O + +`` `` O +But CC O +it PRP B +'s VBZ O +not RB O +mediocre JJ O +, , O +it PRP B +'s VBZ O +a DT B +real JJ I +problem NN I +. . O +'' '' O + +Mr. NNP B +Mark NNP I +conceded VBD O +that IN O +Colgate NNP B +'s POS B +domestic JJ I +business NN I +, , O +apart RB O +from IN O +its PRP$ O +highly RB O +profitable JJ O +Hill NNP B +'s POS I +Pet NNP O +Products NNPS O +unit NN O +, , O +has VBZ O +lagged VBN O +. . O + +`` `` O +We PRP B +'ve VBP O +done VBN O +a DT B +lot NN I +to TO O +improve VB O +-LCB- ( B +U.S. NNP I +. . I +-RCB- ) I +results NNS I +, , O +and CC O +a DT B +lot NN I +more JJR I +will MD O +be VB O +done VBN O +, , O +'' '' O +Mr. NNP B +Mark NNP I +said VBD O +. . O + +`` `` O +Improving VBG O +profitability NN B +of IN O +U.S. NNP B +operations NNS I +is VBZ O +an DT B +extremely RB I +high JJ I +priority NN I +in IN O +the DT B +company NN I +. . O +'' '' O + +To TO O +focus VB O +on IN O +its PRP$ B +global JJ I +consumer-products NNS I +business NN I +, , O +Colgate NNP B +sold VBD O +its PRP$ B +Kendall NNP I +health-care NN I +business NN I +in IN O +1988 CD B +. . O + +H. NNP B +Anthony NNP I +Ittleson NNP I +was VBD O +elected VBN O +a DT B +director NN I +of IN O +this DT B +company NN I +, , O +which WDT B +primarily RB O +has VBZ O +interests NNS B +in IN O +radio NN B +and CC I +television NN I +stations NNS I +, , O +increasing VBG O +the DT B +number NN I +of IN O +seats NNS B +to TO O +five CD B +. . O + +Osborn NNP B +also RB O +operates VBZ O +Muzak NNP B +franchises NNS I +, , O +entertainment NN B +properties NNS I +and CC O +small JJ B +cable-television NN I +systems NNS I +. . O + +Mr. NNP B +Ittleson NNP I +is VBZ O +executive NN B +, , O +special JJ B +projects NNS I +, , O +at IN O +CIT NNP B +Group NNP I +Holdings NNP I +Inc. NNP I +, , O +which WDT B +is VBZ O +controlled VBN O +by IN O +Manufacturers NNP B +Hanover NNP I +Corp NNP I +. . O + +The DT B +Boston NNP I +Globe NNP I +says VBZ O +its PRP$ B +newly RB I +redesigned VBN I +pages NNS I +have VBP O +a DT B +`` `` I +crisper NN I +'' '' I +look VB I +with IN O +revamped VBN B +fixtures NNS I +aimed VBN O +at IN O +making VBG O +the DT B +paper NN I +`` `` O +more RBR O +consistent JJ O +'' '' O +and CC O +`` `` O +easier JJR O +to TO O +read VB O +. . O +'' '' O + +Maybe RB O +so RB O +-- : O +if IN O +you PRP B +can MD O +find VB O +where WRB O +your PRP$ B +favorite JJ I +writer NN I +went VBD O +. . O + +Beantown NNP B +scribes NNS I +, , O +who WP B +spare VB O +no DT B +invective NN I +when WRB O +taking VBG O +on IN O +local JJ B +luminaries NNS I +such JJ O +as IN O +Michael NNP B +`` `` I +Pee NNP I +Wee NNP I +'' '' I +Dukakis NNP I +, , O +or CC O +New NNP B +England NNP I +Patriots NNPS I +Coach NNP I +Raymond NNP I +`` `` I +Rev. NNP I +Ray NNP I +'' '' I +Berry NNP I +, , O +yesterday NN B +poured VBD O +ridicule NN B +on IN O +new JJ B +drawings NNS I +of IN O +Globe NNP B +columnists NNS I +that WDT B +replaced VBD O +old JJ B +photos NNS I +in IN O +the DT B +revamped VBN I +pages NNS I +this DT B +week NN I +. . O + +By IN O +late JJ B +last JJ I +night NN I +, , O +Globe NNP O +Managing NNP O +Editor NNP O +Thomas NNP B +Mulvoy NNP I +, , O +bending VBG O +to TO O +the DT B +will MD I +of IN O +his PRP$ B +troops NNS I +, , O +scrapped VBD O +the DT B +new JJ I +drawings NNS I +. . O + +For IN O +a DT B +few JJ I +days NNS I +at IN O +least JJS O +, , O +he PRP B +says VBZ O +, , O +no DT B +pictures NNS I +or CC I +drawings NNS I +of IN O +any DT B +kind NN I +will MD O +adorn VB O +the DT B +columns NNS I +. . O + +Trouble NN B +was VBD O +, , O +nobody NN B +thought VBD O +they PRP B +looked VBD O +right NN O +. . O + +Globe NNP B +columnist NN I +Mike NNP I +Barnicle NNP I +-- : O +in IN O +the DT B +second JJ I +attack NN I +on IN O +his PRP$ B +employer NN I +in IN O +as IN B +many JJ I +weeks NNS I +-- : O +averred VBD O +that IN O +his PRP$ B +shadowy JJ I +countenance NN I +was VBD O +so RB O +bad JJ O +, , O +it PRP B +looked VBD O +`` `` O +like IN O +a DT B +face NN I +you PRP B +'d MD O +find VB O +on IN O +a DT B +bottle NN I +of IN O +miracle NN B +elixir NN I +that WDT B +promises VBZ O +to TO O +do VB O +away RB O +with IN O +diarrhea NN B +in IN O +our PRP$ B +lifetime NN I +. . O +'' '' O + +Mr. NNP B +Barnicle NNP I +reminded VBD O +readers NNS B +that IN O +he PRP B +still RB O +has VBZ O +n't RB O +forgiven VBN O +Globe NNP B +management NN I +for IN O +questioning VBG O +a DT B +$ $ I +20 CD I +expense NN I +chit NN I +he PRP B +submitted VBD O +for IN O +parking VBG O +his PRP$ B +car NN I +while IN O +chasing VBG O +a DT B +story NN I +. . O + +`` `` O +I PRP B +thought VBD O +-LCB- ( O +the DT B +drawing VBG I +-RCB- ) O +a DT B +cross NN I +between IN O +someone NN B +you PRP B +'d MD O +spot VB O +whipping VBG O +open JJ O +his PRP$ B +trench NN I +coat NN I +... : O +or CC O +a DT B +guy NN I +who WP B +boasted VBD O +he PRP B +'d MD O +been VBN O +Charles NNP B +Manson NNP I +'s POS B +roommate NN I +for IN O +the DT B +last JJ I +19 CD I +years NNS I +, , O +'' '' O +he PRP B +said VBD O +. . O + +Mr. NNP B +Barnicle NNP I +was VBD O +hardly RB O +kinder JJR O +to TO O +the DT B +renderings NNS I +of IN O +colleagues NNS B +Michael NNP B +Madden NNP I +-LRB- ( O +`` `` O +appears VBZ O +to TO O +be VB O +a DT B +pervert NN I +'' '' O +-RRB- ) O +, , O +Will MD B +McDonough NNP I +-LRB- ( O +`` `` O +looks VBZ O +as IN O +if IN O +he PRP B +drove VBD O +for IN O +Abe NNP B +Lincoln NNP I +'' '' O +-RRB- ) O +or CC O +Bella NNP B +English NNP I +, , O +whose WP$ B +`` `` I +little JJ I +girl NN I +now RB O +screams VBZ O +hysterically RB O +every DT B +time NN I +she PRP B +sees VBZ O +a DT B +newspaper NN I +. . O +'' '' O + +Lynn NNP B +Staley NNP I +, , O +the DT B +Globe NNP I +'s POS B +assistant NN I +managing VBG I +editor NN I +for IN O +design NN B +, , O +acknowledges VBZ O +that IN O +the DT B +visages NNS I +were VBD O +`` `` O +on IN O +the DT B +low JJ I +end NN I +of IN O +the DT B +likeness NN I +spectrum NN I +. . O +'' '' O + +Rival NNP B +Boston NNP I +Herald NNP I +columnist NN I +Howie NNP I +Carr NNP I +, , O +who WP B +usually RB O +rails VBZ O +at IN O +Statehouse NN B +`` `` I +hacks NNS I +'' '' I +and CC I +nepotism NN I +, , O +argued VBD O +that IN O +the DT B +new JJ I +drawings NNS I +were VBD O +designed VBN O +to TO O +hide VB O +Mr. NNP B +Madden NNP I +'s POS B +`` `` I +rapidly RB I +growing VBG I +forehead NN I +'' '' I +and CC O +the DT B +facial JJ I +defects NNS I +of IN O +`` `` B +chinless JJ I +'' '' I +Dan NNP I +Shaughnessy NNP I +, , O +a DT B +Globe NNP I +sports NNS I +columnist NN I +. . O + +`` `` O +But CC O +think VBP O +of IN O +the DT B +money NN I +you PRP B +, , O +the DT B +reader NN I +, , O +will MD O +save VB O +on IN O +Halloween NNP B +, , O +'' '' O +said VBD O +Mr. NNP B +Barnicle NNP I +. . O + +`` `` O +Instead RB O +of IN O +buying VBG O +masks NNS B +for IN O +your PRP$ B +kids NNS I +, , O +just RB O +cut VB O +out RP O +the IN B +columnists NNS I +' POS B +pictures NNS I +... : O +. . O + +Deeply RB O +ingrained JJ O +in IN O +both DT O +the DT B +book NN I +review NN I +`` `` I +Kissing VBG O +Nature NNP B +Good-bye UH B +'' '' O +by IN O +Stephen NNP B +MacDonald NNP I +-LRB- ( O +Leisure NNP B +& CC I +Arts NNP I +, , O +Sept. NNP B +27 CD I +-RRB- ) O +and CC O +the DT B +books NNS I +reviewed VBN O +is VBZ O +the DT B +assumption NN I +that IN O +global JJ B +warming NN I +is VBZ O +entirely RB O +a DT B +result NN I +of IN O +human JJ B +activity NN I +. . O + +Is VBZ O +such JJ B +a DT I +view NN I +justified VBN O +? . O + +In IN O +the DT B +absence NN I +of IN O +humans NNS B +, , O +would MD O +the DT B +Earth NNP I +enjoy VB O +a DT B +constant JJ I +climate NN I +over IN O +the DT B +long JJ I +term NN I +? . O + +Clearly RB O +not RB O +. . O + +About IN B +20,000 CD I +years NNS I +ago RB O +the DT B +last JJ I +ice NN I +age NN I +ended VBD O +. . O + +Enormous JJ B +ice NN I +sheets NNS I +retreated VBD O +from IN O +the DT B +face NN I +of IN O +North NNP B +America NNP I +, , O +northern JJ B +Europe NNP I +and CC O +Asia NNP B +. . O + +This DT B +global JJ I +warming NN I +must MD O +have VB O +been VBN O +entirely RB O +natural JJ O +-- : O +nobody NN B +would MD O +blame VB O +it PRP B +on IN O +a DT B +few JJ I +hundred CD I +thousand CD I +hunter-gatherers NNS I +hunting NN O +mammoths NNS B +and CC O +scratching VBG O +around IN O +in IN O +caves NNS B +. . O + +Furthermore RB O +, , O +no DT B +bell NN I +has VBZ O +yet RB O +rung VBN O +to TO O +announce VB O +the DT B +end NN I +of IN O +this DT B +immense JJ I +episode NN I +of IN O +natural JJ B +global JJ I +warming NN I +. . O + +It PRP B +is VBZ O +probably RB O +continuing VBG O +and CC O +may MD O +well RB O +account VB O +for IN O +most RBS B +of IN O +, , O +or CC O +all DT B +of IN O +, , O +present-day JJ B +global JJ I +warming NN I +. . O + +I PRP B +bow VBP O +to TO O +no DT B +one CD I +in IN O +my PRP$ B +regard NN I +for IN O +our PRP$ B +terrestrial JJ I +heritage NN I +, , O +but CC O +if IN O +we PRP B +are VBP O +serious JJ O +about IN O +global JJ B +warming NN I +we PRP B +must MD O +look VB O +at IN O +the DT B +big JJ I +picture NN I +and CC O +not RB O +allow VB O +the DT B +Dominant NNP I +Culture NNP I +to TO O +lock VB O +us PRP B +into IN O +the DT B +capitalist-exploiters-greedy-American-consumers-global JJ I +- : I +warming NN I +scenario NN I +as IN O +the DT B +sole JJ I +model NN I +for IN O +discussion NN B +. . O + +Jocelyn NNP B +Tomkin NNP I +Astronomy NNP B +Department NNP I +University NNP B +of IN O + +The DT B +Internal NNP I +Revenue NNP I +Service NNP I +plans VBZ O +to TO O +restructure VB O +itself PRP B +more JJR O +like IN O +a DT B +private JJ I +corporation NN I +. . O + +In IN O +addition NN B +, , O +the DT B +tax-collecting JJ I +agency NN I +says VBZ O +that IN O +it PRP B +will MD O +take VB O +the DT B +unusual JJ I +step NN I +of IN O +looking VBG O +to TO O +the DT B +private JJ I +sector NN I +to TO O +fill VB O +two CD B +new JJ I +high-level JJ I +positions NNS I +to TO O +guide VB O +the DT B +120,000-employee JJ I +agency NN I +: : O +a DT B +comptroller NN I +to TO O +oversee VB O +daily JJ B +finances NNS I +and CC O +a DT B +chief JJ I +information NN I +officer NN I +to TO O +update VB O +the DT B +information NN I +system NN I +, , O +which WDT B +includes VBZ O +probably RB B +the DT I +largest JJS I +computer NN I +data NNS I +base VBP I +in IN O +the DT B +world NN I +. . O + +The DT B +IRS NNP I +also RB O +said VBD O +that IN O +it PRP B +would MD O +create VB O +the DT B +position NN I +of IN O +chief JJ B +financial JJ I +officer NN I +, , O +who WP B +will MD O +be VB O +hired VBN O +from IN O +within IN O +the DT B +agency NN I +. . O + +IRS NNP B +Commissioner NNP I +Fred NNP I +T. NNP I +Goldberg NNP I +said VBD O +the DT B +changes NNS I +are VBP O +intended VBN O +to TO O +bring VB O +`` `` O +accountability NN B +'' '' O +to TO O +the DT B +agency NN I +, , O +which WDT B +has VBZ O +an DT B +annual JJ I +budget NN I +of IN O +more JJR B +than IN I +$ $ I +5 NN I +billion CD I +and CC O +collects VBZ O +about RB B +$ $ I +1 CD I +trillion CD I +a DT B +year NN I +. . O + +`` `` O +My PRP$ B +assessment NN I +and CC O +everyone NN B +'s POS B +assessment NN I +is VBZ O +that IN O +we PRP B +do VBP O +not RB O +have VB O +the DT B +kinds NNS I +of IN O +information NN B +that WDT B +let VBP O +us PRP B +responsibly RB O +and CC O +effectively RB O +formulate VB O +and CC O +execute VB O +our PRP$ B +budget NN I +, , O +'' '' O +Mr. NNP B +Goldberg NNP I +said VBD O +. . O + +`` `` O +And CC O +we PRP B +do VBP O +n't RB O +have VB O +internal JJ B +controls NNS I +and CC I +discipline NN I +that IN B +we PRP B +need VBP O +to TO O +have VB O +to TO O +spend VB O +$ $ B +5 NN I +billion CD I +properly RB O +. . O +'' '' O + +Mr. NNP B +Goldberg NNP I +, , O +who WP B +took VBD O +over IN O +as IN O +head NN B +of IN O +the DT B +IRS NNP I +in IN O +July NNP B +, , O +has VBZ O +been VBN O +disturbed VBN O +by IN O +what WP B +he PRP B +considers VBZ O +the DT B +inefficiency NN I +, , I +waste NN I +and CC I +lack NN I +of IN O +coordination NN B +among IN O +the DT B +branches NNS I +of IN O +the DT B +vast JJ I +federal JJ I +agency NN I +. . O + +The DT B +IRS NNP I +operates VBZ O +on IN O +a DT B +computer NN I +system NN I +designed VBN O +in IN O +1961 CD B +, , O +which WDT B +it PRP B +has VBZ O +been VBN O +trying VBG O +to TO O +modernize VB O +for IN O +years NNS B +. . O + +And CC O +the DT B +agency NN I +, , O +which WDT B +operated VBD O +throughout IN O +fiscal JJ B +1989 CD I +with IN O +a DT B +$ $ I +360 CD I +million CD I +budget NN I +shortfall NN I +, , O +has VBZ O +been VBN O +under IN O +a DT B +hiring VBG I +freeze NN I +since IN O +last JJ B +fall NN I +. . O + +The DT B +new JJ I +commissioner NN I +says VBZ O +that IN O +closer JJR B +scrutiny NN I +of IN O +how WRB O +the DT B +agency NN I +uses VBZ O +its PRP$ B +resources NNS I +will MD O +go VB O +a DT B +long JJ I +way NN I +toward IN O +enhancing VBG O +its PRP$ B +ability NN I +to TO O +collect VB O +more JJR B +tax NN I +revenue NN I +. . O + +`` `` O +I PRP B +think VBP O +that IN O +you PRP B +will MD O +see VB O +a DT B +significant JJ I +improvement NN I +in IN O +the DT B +budget NN I +formulation NN I +and CC I +execution NN I +process NN I +which WDT B +, , O +in IN O +turn NN B +, , O +I PRP B +believe VBP O +will MD O +result VB O +in IN O +a DT B +significant JJ I +increase NN I +in IN O +revenue NN B +, , O +'' '' O +he PRP B +said VBD O +. . O + +The DT B +IRS NNP I +hopes VBZ O +to TO O +fill VB O +the DT B +new JJ I +positions NNS I +soon RB O +. . O + +Customarily RB O +, , O +it PRP B +would MD O +appoint VB O +career NN B +civil JJ I +servants NNS I +from IN O +within IN O +the DT B +agency NN I +, , O +but CC O +Mr. NNP B +Goldberg NNP I +said VBD O +he PRP B +plans VBZ O +to TO O +`` `` O +scour VBP O +the DT B +world NN I +'' '' O +for IN O +the DT B +chief JJ I +information NN I +officer NN I +and CC O +the DT B +comptroller NN I +. . O + +Although IN O +the DT B +jobs NNS I +will MD O +probably RB O +pay VB O +between IN B +$ $ I +70,000 CD I +and CC I +$ $ I +80,000 CD I +a DT B +year NN I +, , O +IRS NNP B +officials NNS I +are VBP O +confident JJ O +that IN O +they PRP B +can MD O +attract VB O +top-notch JJ B +candidates NNS I +from IN O +the DT B +private JJ I +sector NN I +. . O + +`` `` O +You PRP B +'re VBP O +telling VBG O +someone NN B +they PRP B +can MD O +spend VB O +the DT B +next JJ I +three CD I +or CC I +four CD I +or CC I +five CD I +or CC I +six CD I +years NNS I +of IN O +their PRP$ B +life NN I +bringing VBG O +about IN O +the DT B +most RBS I +difficult JJ I +and CC I +costly JJ I +modernization NN I +of IN O +an DT B +information NN I +system NN I +on IN O +the DT B +civil JJ I +side NN I +ever RB O +, , O +'' '' O +Mr. NNP B +Goldberg NNP I +said VBD O +. . O + +`` `` O +On IN O +the DT B +comptroller NN I +side NN I +, , O +you PRP B +'re VBP O +developing VBG O +and CC O +making VBG O +work NN O +financial JJ B +controls NNS I +governing VBG O +a DT B +$ $ I +6 CD I +billion CD I +budget NN I +. . O + +When WRB O +Maj. NNP B +Moises NNP I +Giroldi NNP I +, , O +the DT B +leader NN I +of IN O +the DT B +abortive JJ I +coup NN I +in IN O +Panama NNP B +, , O +was VBD O +buried VBN O +, , O +his PRP$ B +body NN I +bore VBD O +several JJ B +gunshot NN I +wounds NNS I +, , O +a DT B +cracked VBN I +skull NN I +and CC O +broken VBN B +legs NNS I +and CC I +ribs NNS I +. . O + +They PRP B +were VBD O +the DT B +signature NN I +of IN O +his PRP$ B +adversary NN I +, , O +Panamanian JJ B +leader NN I +Manuel NNP I +Antonio NNP I +Noriega NNP I +. . O + +The DT B +rebel NN I +officer NN I +'s POS B +slow JJ I +and CC I +painful JJ I +death NN I +, , O +at IN O +the DT B +headquarters NN I +of IN O +Panama NNP B +'s POS B +Battalion-2000 NN I +squad NN I +, , O +was VBD O +personally RB O +supervised VBN O +by IN O +Gen. NNP B +Noriega NNP I +, , O +says VBZ O +a DT B +U.S. NNP I +official NN I +with IN O +access NN B +to TO O +intelligence NN B +reports NNS I +. . O + +Leaping VBG O +into IN O +rages VBZ B +, , O +sinking VBG O +into IN O +bouts NNS B +of IN O +drunkenness NN B +and CC I +mistrust NN I +, , O +Mr. NNP B +Noriega NNP I +has VBZ O +put VBN O +to TO O +death NN B +some DT B +70 CD I +of IN O +his PRP$ B +troops NNS I +involved VBN O +in IN O +the DT B +coup NN I +, , O +according VBG O +to TO O +U.S. NNP B +officials NNS I +monitoring NN O +crematoriums NNS B +and CC O +funeral NN B +parlors NNS I +in IN O +Panama NNP B +City NNP I +. . O + +He PRP B +is VBZ O +now RB O +changing VBG O +the DT B +place NN I +he PRP B +sleeps VBZ O +every DT B +night NN I +, , O +sometimes RB B +more JJR I +than IN I +once RB I +a DT B +night NN I +. . O + +His PRP$ B +meals NNS I +are VBP O +most RBS O +often RB O +prepared VBN O +by IN O +women NNS B +he PRP B +trusts VBZ O +-- : O +his PRP$ B +full-time JJ I +mistress NN I +, , O +Vicky NNP B +Amado NNP I +, , O +and CC O +her PRP$ B +mother NN I +, , O +Norma NNP B +. . O + +And CC O +he PRP B +is VBZ O +collecting VBG O +the DT B +names NNS I +of IN O +those DT B +who WP B +telephoned VBD O +the DT B +coup-makers NNS I +to TO O +congratulate VB O +them PRP B +during IN O +their PRP$ B +brief JJ I +time NN I +in IN O +control NN B +of IN O +his PRP$ B +headquarters NN I +. . O + +More JJR B +enemies NNS I +to TO O +be VB O +dealt VBN O +with RB O +. . O + +In IN O +the DT B +two CD I +weeks NNS I +since IN O +the DT B +rebellion NN I +, , O +which WDT B +the DT B +U.S. NNP I +hesitantly RB O +backed VBD O +, , O +Mr. NNP B +Noriega NNP I +has VBZ O +been VBN O +at IN O +his PRP$ B +most RBS I +brutal JJ I +- : I +and CC I +efficient JJ I +- : I +in IN O +maintaining VBG O +power NN B +. . O + +Yet RB O +, , O +while IN O +the DT B +failed VBN I +coup NN I +is VBZ O +a DT B +major JJ I +U.S. NNP I +foreign JJ I +policy NN I +embarrassment NN I +, , O +it PRP B +is VBZ O +merely RB B +the DT I +latest JJS I +chapter NN I +in IN O +a DT B +byzantine JJ I +relationship NN I +between IN O +Mr. NNP B +Noriega NNP I +and CC O +Washington NNP B +that IN B +stretches NNS O +back RB O +three CD B +decades NNS I +. . O + +America NNP B +'s POS B +war NN I +on IN O +the DT B +dictator NN I +over IN O +the DT B +past JJ I +two CD I +years NNS I +, , O +following VBG O +his PRP$ B +indictment NN I +on IN O +drug NN B +charges NNS I +in IN O +February NNP B +1988 CD I +, , O +is VBZ O +the DT B +legacy NN I +of IN O +that DT B +relationship NN I +. . O + +Before IN O +American JJ B +foreign JJ I +policy NN I +set VBN O +out IN O +to TO O +destroy VB O +Noriega NNP B +, , O +it PRP B +helped VBD O +create VB O +him PRP B +out IN O +of IN O +the DT B +crucible NN I +of IN O +Panama NNP B +'s POS B +long JJ I +history NN I +of IN O +conspirators NNS B +and CC I +pirates NNS I +. . O + +For IN O +most RBS B +of IN I +the DT I +past JJ I +30 CD I +years NNS I +, , O +the DT B +marriage NN I +was VBD O +one CD B +of IN O +convenience NN B +. . O + +In IN O +1960 CD B +, , O +for IN O +example NN B +, , O +when WRB O +Mr. NNP B +Noriega NNP I +was VBD O +both DT O +a DT B +cadet NN I +at IN O +an DT B +elite NN I +military JJ I +academy NN I +in IN O +Peru NNP B +and CC O +a DT B +spy-in-training NN I +for IN O +the DT B +U.S. NNP I +Defense NNP I +Intelligence NNP I +Agency NNP I +, , O +he PRP B +was VBD O +detained VBN O +by IN O +Lima NNP B +authorities NNS I +for IN O +allegedly RB O +raping VBG O +and CC O +savagely RB O +beating VBG O +a DT B +prostitute NN I +, , O +according VBG O +to TO O +a DT B +U.S. NNP I +Embassy NNP I +cable NN I +from IN O +that DT B +period NN I +. . O + +The DT B +woman NN I +had VBD O +nearly RB O +died VBN O +. . O + +But CC O +U.S. NNP B +intelligence NN I +, , O +rather RB O +than IN O +rein NN O +in IN O +or CC O +cut NN O +loose JJ O +its PRP$ B +new JJ I +spy NN I +, , O +merely RB O +filed VBN O +the DT B +report NN I +away RB O +. . O + +Mr. NNP B +Noriega NNP I +'s POS B +tips NNS I +on IN O +emerging VBG B +leftists NNS I +at IN O +his PRP$ B +school NN I +were VBD O +deemed VBN O +more RBR O +important JJ O +to TO O +U.S. NNP B +interests NNS I +. . O + +From IN O +that DT B +point NN I +on IN I +, , O +the DT B +U.S. NNP I +would MD O +make VB O +a DT B +practice NN I +of IN O +overlooking VBG O +the DT B +Panamanian NNP I +'s POS B +misadventures NNS I +. . O + +The DT B +U.S. NNP I +has VBZ O +befriended VBN O +and CC O +later RB O +turned VBD O +against IN O +many JJ B +dictators NNS I +, , O +but CC O +none NN B +quite RB O +so RB O +resourceful JJ O +. . O + +The DT B +55-year-old NNP I +Mr. NNP I +Noriega NNP I +is VBZ O +n't RB O +as RB O +smooth JJ O +as IN O +the DT B +shah NN I +of IN O +Iran NNP B +, , O +as RB O +well-born JJ O +as IN O +Nicaragua NNP B +'s POS B +Anastasio NNP I +Somoza NNP I +, , O +as RB O +imperial JJ O +as IN O +Ferdinand NNP B +Marcos NNP I +of IN O +the DT B +Philippines NNP I +or CC O +as RB O +bloody JJ O +as IN O +Haiti NNP B +'s POS B +Baby NNP I +Doc NNP I +Duvalier NNP I +. . O + +Yet RB O +he PRP B +has VBZ O +proved VBN O +more RBR O +resilient JJ O +than IN O +any DT B +of IN O +them PRP B +. . O + +And CC O +out IN O +of IN O +necessity NN B +: : O +The DT B +U.S. NNP I +can MD O +make VB O +mistakes NNS B +and CC O +still JJ O +hope NN O +to TO O +remove VB O +him PRP B +from IN O +power NN B +, , O +but CC O +a DT B +single JJ I +error NN I +on IN O +his PRP$ B +part NN I +could MD O +cost VB O +him PRP B +his PRP$ B +life NN I +. . O + +`` `` O +The DT B +U.S. NNP I +underestimated VBD O +Noriega NNP B +all DT O +along IN O +, , O +'' '' O +says VBZ O +Ambler NNP B +Moss NNP I +, , O +a DT B +former JJ I +Ambassador NNP I +to TO O +Panama NNP B +. . O + +`` `` O +He PRP B +has VBZ O +mastered VBN O +the DT B +art NN I +of IN O +survival NN B +. . O +'' '' O + +In IN O +keeping VBG O +with IN O +America NNP B +'s POS B +long JJ I +history NN I +of IN O +propping VBG O +up IN O +Mr. NNP B +Noriega NNP I +, , O +recent JJ B +U.S. NNP I +actions NNS I +have VBP O +extended VBN O +rather RB O +than IN O +shortened VBN O +his PRP$ B +survival NN I +. . O + +Mr. NNP B +Noriega NNP I +might MD O +have VB O +fallen VBN O +of IN O +his PRP$ B +own JJ I +weight NN I +in IN O +1988 CD B +because IN O +of IN O +Panama NNP B +'s POS B +dire JJ I +economic JJ I +situation NN I +, , O +says VBZ O +Mr. NNP B +Moss NNP I +, , O +but CC O +increasing VBG B +external JJ I +pressure NN I +has VBZ O +only RB O +given VBN O +him PRP B +additional JJ B +excuses NNS I +for IN O +repression NN B +, , O +and CC O +a DT B +scapegoat NN I +for IN O +his PRP$ B +own JJ I +mismanagement NN I +. . O + +`` `` O +If IN O +the DT B +U.S. NNP I +had VBD O +sat VBN O +back RB O +and CC O +done VBN O +nothing NN B +, , O +he PRP B +might MD O +not RB O +have VB O +made VBN O +it PRP B +through IN O +1988 CD B +, , O +'' '' O +Mr. NNP B +Moss NNP I +contends VBZ O +. . O + +Perhaps RB O +most RBS O +important JJ O +, , O +Mr. NNP B +Noriega NNP I +'s POS B +allies NNS I +have VBP O +intervened VBN O +to TO O +encourage VB O +-- : O +in IN O +some DT B +cases NNS I +, , O +to TO O +demand VB O +-- : O +that IN O +the DT B +dictator NN I +maintain VB O +his PRP$ B +grip NN I +of IN O +the DT B +throne NN I +. . O + +One CD B +Colombian JJ I +drug NN I +boss NN I +, , O +upon IN O +hearing NN O +in IN O +1987 CD B +that IN O +Gen. NNP B +Noriega NNP I +was VBD O +negotiating VBG O +with IN O +the DT B +U.S. NNP I +to TO O +abandon VB O +his PRP$ B +command NN I +for IN O +a DT B +comfortable JJ I +exile NN I +, , O +sent VBD O +him PRP B +a DT B +hand-sized JJ I +mahogany NN I +coffin NN I +engraved VBN O +with IN O +his PRP$ B +name NN I +. . O + +`` `` O +He PRP B +is VBZ O +cornered VBN O +, , O +'' '' O +says VBZ O +the DT B +Rev. NNP I +Fernando NNP I +Guardia NNP I +, , O +who WP B +has VBZ O +led VBN O +Catholic NNP B +Church NNP I +opposition NN I +against IN O +Noriega NNP B +. . O + +`` `` O +The DT B +Americans NNPS I +have VBP O +left VBN O +him PRP B +without IN O +a DT B +way NN I +out RB I +. . O + +It PRP B +is VBZ O +easy JJ O +to TO O +fight VB O +when WRB O +you PRP B +do VBP O +n't RB O +have VB O +any DT B +other JJ I +option NN I +. . O +'' '' O + +His PRP$ B +chief JJ I +advantage NN I +in IN O +the DT B +fight NN I +: : O +his PRP$ B +intimate JJ I +knowledge NN I +of IN O +American JJ B +ways NNS I +and CC I +weaknesses NNS I +. . O + +Mr. NNP B +Noriega NNP I +often RB O +tells VBZ O +friends NNS B +that WDT O +patience NN B +is VBZ O +the DT B +best JJS I +weapon NN I +against IN O +the DT B +gringos NNS I +, , O +who WP B +have VBP O +a DT B +short JJ I +attention NN I +span NN I +and CC O +little JJ B +stomach NN I +for IN O +lasting VBG B +confrontation NN I +. . O + +The DT B +U.S. NNP I +discovered VBD O +the DT B +young JJ I +Tony NNP I +Noriega NNP I +in IN O +late JJ B +1959 CD I +, , O +when WRB O +he PRP B +was VBD O +in IN O +his PRP$ B +second JJ I +year NN I +at IN O +the DT B +Chorrillos NNP I +Military NNP I +Academy NNP I +in IN O +Lima NNP B +, , O +according VBG O +to TO O +former JJ B +U.S. NNP I +intelligence NN I +officials NNS I +. . O + +The DT B +contact NN I +occurred VBD O +through IN O +Mr. NNP B +Noriega NNP I +'s POS B +half-brother NN I +, , O +a DT B +Panamanian JJ I +diplomat NN I +based VBN O +in IN O +Peru NNP B +named VBD O +Luis NNP B +Carlos NNP I +Noriega NNP I +Hurtado NNP I +. . O + +Luis NNP B +Carlos NNP I +, , O +knowing VBG O +that IN O +helping VBG O +the DT B +Americans NNPS I +could MD O +advance VB O +the DT B +career NN I +of IN O +any DT B +Panamanian JJ I +officer NN I +, , O +relayed VBD O +Tony NNP B +'s POS B +reports NNS I +on IN O +the DT B +leftist JJ I +tendencies NNS I +he PRP B +observed VBD O +among IN O +his PRP$ B +fellow NN I +students NNS I +and CC O +, , O +more RBR O +important JJ O +, , O +among IN O +his PRP$ B +officers NNS I +and CC I +instructors NNS I +. . O + +A DT B +spy NN I +was VBD O +born VBN O +. . O + +It PRP B +was VBD O +a DT B +heady JJ I +experience NN I +for IN O +the DT B +pockmarked JJ I +and CC I +slightly RB I +built VBN I +Mr. NNP I +Noriega NNP I +, , O +who WP B +was VBD O +known VBN O +to TO O +his PRP$ B +friends NNS I +as IN O +Cara NNP B +la FW I +Pina NNP I +-- : O +pineapple NN B +face NN I +. . O + +Born VBN O +the DT B +illegitimate JJ I +son NN I +of IN O +his PRP$ B +father NN I +'s POS B +maid NN I +, , O +he PRP B +was VBD O +raised VBN O +on IN O +the DT B +mean NN I +streets NNS I +of IN O +the DT B +central JJ I +market NN I +district NN I +of IN O +Panama NNP B +City NNP I +. . O + +Tony NNP B +was VBD O +four CD B +years NNS I +older JJR O +than IN O +most RBS B +of IN O +his PRP$ B +fellow NN I +cadets NNS I +, , O +and CC O +gained VBD O +admission NN B +to TO O +the DT B +academy NN I +because IN O +his PRP$ B +brother NN I +had VBD O +falsified VBN O +his PRP$ B +birth NN I +certificate NN I +. . O + +He PRP B +considered VBD O +himself PRP B +intellectually RB O +superior JJ O +to TO O +his PRP$ B +Peruvian JJ I +peers NNS I +, , O +many NN O +of IN O +whom WP B +were VBD O +wayward JJ B +sons NNS I +sent VBN O +by IN O +their PRP$ B +well-off JJ I +families NNS I +to TO O +the DT B +highly RB I +disciplined VBN I +, , I +French-modeled JJ I +academy NN I +as IN O +a DT B +sort NN I +of IN O +reform NN B +school NN I +. . O + +In IN O +his PRP$ B +peaked VBD I +military JJ I +cap NN I +and CC I +neatly RB I +pressed VBN I +, , I +French-made JJ I +uniform NN I +, , O +Noriega NNP B +felt VBD O +more RBR O +respected VBN O +and CC O +powerful JJ O +than IN O +ever RB B +in IN O +his PRP$ B +underprivileged JJ I +life NN I +, , O +friends NNS B +from IN O +the DT B +period NN I +say VBP O +. . O + +`` `` O +He PRP B +had VBD O +an DT B +elegant JJ I +uniform NN I +with IN O +gold NN B +buttons NNS I +in IN O +a DT B +country NN I +where WRB O +there EX B +was VBD O +a DT B +cult NN I +of IN O +militarism NN B +, , O +where WRB O +officers NNS B +were VBD O +the DT B +elite NN I +with IN O +special JJ B +privileges NNS I +, , O +'' '' O +recalls VBZ O +Darien NNP B +Ayala NNP I +, , O +a DT B +fellow NN I +student NN I +in IN O +Peru NNP B +and CC O +a DT B +lifelong JJ I +friend NN I +. . O + +Mr. NNP B +Noriega NNP I +'s POS B +relationship NN I +to TO O +American JJ B +intelligence NN I +agencies NNS I +became VBD O +contractual JJ O +in IN O +either DT B +1966 CD I +or CC I +1967 CD I +, , O +intelligence NN B +officials NNS I +say VBP O +. . O + +His PRP$ B +commanding NN I +officer NN I +at IN O +the DT B +Chiriqui NNP I +Province NNP I +garrison NN I +, , O +Major NNP B +Omar NNP I +Torrijos NNP I +, , O +gave VBD O +him PRP B +an DT B +intriguing JJ I +assignment NN I +: : O +Mr. NNP B +Noriega NNP I +would MD O +organize VB O +the DT B +province NN I +'s POS B +first JJ I +intelligence NN I +service NN I +. . O + +The DT B +spy NN I +network NN I +would MD O +serve VB O +two CD B +clients NNS I +: : O +the DT B +Panamanian JJ I +government NN I +, , O +by IN O +monitoring VBG O +political JJ B +opponents NNS I +in IN O +the DT B +region NN I +, , O +and CC O +the DT B +U.S. NNP I +, , O +by IN O +tracking VBG O +the DT B +growing VBG I +Communist NNP I +influence NN I +in IN O +the DT B +unions NNS I +organized VBN O +at IN O +United NNP B +Fruit NNP I +Co. NNP I +'s POS B +banana NN I +plantations NNS I +in IN O +Bocas NNP B +del NNP I +Toros NNP I +and CC O +Puerto NNP B +Armuelles NNP I +. . O + +United NNP B +Fruit NNP I +was VBD O +one CD B +of IN O +the DT B +two CD I +largest JJS I +contributors NNS I +to TO O +Panama NNP B +'s POS B +national JJ I +income NN I +. . O + +Satisfying VBG O +its PRP$ B +interests NNS I +was VBD O +a DT B +priority NN I +for IN O +any DT B +Panamanian JJ I +leader NN I +. . O + +Mr. NNP B +Noriega NNP I +'s POS B +initial JJ I +retainer NN I +was VBD O +only RB B +$ $ I +50 CD I +to TO I +$ $ I +100 CD I +a DT B +month NN I +, , O +plus CC O +occasional JJ B +gifts NNS I +of IN O +liquor NN B +or CC I +groceries NNS I +from IN O +the DT B +American NNP I +PX NNP I +, , O +a DT B +former JJ I +intelligence NN I +official NN I +says NNS O +. . O + +It PRP B +was VBD O +modest JJ B +pay NN I +by IN O +American JJ B +standards NNS I +, , O +but CC O +a DT B +healthy JJ I +boost NN I +to TO O +his PRP$ B +small JJ I +military JJ I +salary NN I +, , O +which WDT B +fellow NN B +officers NNS I +remember VBP O +as IN O +having VBG O +been VBN O +$ $ B +300 CD I +to TO I +$ $ I +400 CD I +monthly JJ O +. . O + +`` `` O +He PRP B +did VBD O +it PRP B +very RB O +well RB O +, , O +'' '' O +recalls VBZ O +Boris NNP B +Martinez NNP I +, , O +a DT B +former JJ I +Panamanian JJ I +colonel NN I +who WP B +managed VBD O +Mr. NNP B +Noriega NNP I +and CC O +his PRP$ B +operation NN I +. . O + +`` `` O +He PRP B +started VBD O +building VBG O +the DT B +files NNS I +that WDT B +helped VBD O +him PRP B +gain VBP O +power NN B +. . O +'' '' O + +A DT B +National NNP I +Guard NNP I +job NN I +assumed VBN O +by IN O +Capt. NNP B +Noriega NNP I +in IN O +1964 CD B +-- : O +as IN O +chief NN B +of IN O +the DT B +transit NN I +police NN I +in IN O +David NNP B +City NNP I +, , O +capital NN B +of IN O +the DT B +Chiriqui NNP I +Province NNP I +-- : O +was VBD O +tailor-made JJ O +for IN O +an DT B +aspiring JJ I +super-spy NN I +. . O + +By IN O +pressuring VBG O +taxi NN B +and CC I +bus NN I +drivers NNS I +who WP B +needed VBD O +licenses NNS B +, , O +he PRP B +gained VBD O +a DT B +ready JJ I +cache NN I +of IN O +information NN B +. . O + +He PRP B +knew VBD O +which WDT B +local JJ I +luminaries NNS I +had VBD O +been VBN O +caught VBN O +driving VBG O +drunk JJ O +, , O +which WDT B +had VBD O +been VBN O +found VBN O +with IN O +their PRP$ B +mistresses NNS I +. . O + +This DT B +proved VBD O +particularly RB O +valuable JJ O +to TO O +the DT B +Panamanian JJ I +government NN I +in IN O +1967 CD B +, , O +when WRB O +union NN B +leaders NNS I +were VBD O +planning VBG O +a DT B +May NNP I +Day NNP I +march NN I +that IN B +the DT B +government NN I +feared VBD O +could MD O +turn VB O +violent JJ O +. . O + +Mr. NNP B +Noriega NNP I +had VBD O +learned VBN O +that IN O +a DT B +local JJ I +union NN I +leader NN I +was VBD O +sleeping VBG O +with IN O +the DT B +wife NN I +of IN O +his PRP$ B +deputy NN I +. . O + +So RB O +he PRP B +splashed VBD O +the DT B +information NN I +on IN O +handbills NNS B +that IN B +he PRP B +distributed VBD O +throughout IN O +the DT B +banana-exporting JJ I +city NN I +of IN O +Puerto NNP B +Armuelles NNP I +, , O +which WDT B +was VBD O +ruled VBN O +by IN O +United NNP B +Fruit NNP I +Co NNP I +. . O + +The DT B +campaign NN I +so RB O +divided VBD O +union NN B +leaders NNS I +that IN O +the DT B +government NN I +found VBD O +them PRP B +far RB O +easier JJR O +to TO O +control VB O +. . O + +`` `` O +It PRP B +was VBD O +like IN O +a DT B +play NN I +on IN O +Broadway NNP B +, , O +'' '' O +recalls VBZ O +Mr. NNP B +Martinez NNP I +. . O + +`` `` O +Noriega NNP B +managed VBD O +the DT B +whole JJ I +thing NN I +. . O + +He PRP B +was VBD O +superb JJ O +. . O + +Noriega NNP B +was VBD O +an DT B +expert NN I +at IN O +bribing VBG O +and CC O +blackmailing VBG O +people NNS B +. . O +'' '' O + +During IN O +his PRP$ B +years NNS I +in IN O +Chiriqui NNP B +, , O +however RB O +, , O +Mr. NNP B +Noriega NNP I +also RB O +revealed VBD O +himself PRP B +as IN O +an DT B +officer NN I +as RB O +perverse JJ O +as IN O +he PRP B +was VBD O +ingenious JJ O +. . O + +Rodrigo NNP B +Miranda NNP I +, , O +a DT B +local JJ I +lawyer NN I +and CC I +human-rights JJ I +monitor NN I +, , O +recalls VBZ O +an DT B +intoxicated JJ I +Noriega NNP I +visiting VBG O +prisoners NNS B +in IN O +their PRP$ B +cells NNS I +at IN O +the DT B +5th NNP I +Zone NNP I +Garrison NNP I +headquarters NN I +in IN O +David NNP B +, , O +where WRB O +he PRP B +had VBD O +his PRP$ B +offices NNS I +. . O + +Mr. NNP B +Noriega NNP I +would MD O +order VB O +them PRP B +all DT O +to TO O +take VB O +off IN O +their PRP$ B +clothes NNS I +and CC O +run VB O +around IN O +the DT B +courtyard NN I +naked JJ O +, , O +laughing VBG O +at IN O +them PRP B +and CC O +then RB O +retreating VBG O +to TO O +his PRP$ B +office NN I +. . O + +`` `` O +People NNS B +started VBD O +wondering VBG O +if IN O +something NN B +was VBD O +wrong JJ O +with IN O +him PRP B +, , O +'' '' O +Mr. NNP B +Miranda NNP I +recalls VBZ O +. . O + +But CC O +through IN O +this DT B +period NN I +, , O +so RB O +far RB O +as IN O +the DT B +U.S. NNP I +military NN I +was VBD O +concerned VBN O +, , O +Mr. NNP B +Noriega NNP I +was VBD O +a DT B +model NN I +recruit NN I +. . O + +He PRP B +signed VBD O +up IN O +for IN O +intelligence NN B +and CC I +counter-intelligence JJ I +training NN I +under IN O +American JJ B +officers NNS I +at IN O +Fort NNP B +Gulick NNP I +in IN O +Panama NNP B +in IN O +July NNP B +1967 CD I +, , O +according VBG O +to TO O +a DT B +copy NN I +of IN O +a DT B +1983 CD I +resume NN I +with IN O +details NNS B +Mr. NNP B +Noriega NNP I +has VBZ O +since IN O +classified VBN O +as IN O +secret NN O +. . O + +He PRP B +flew VBD O +to TO O +Fort NNP B +Bragg NNP I +, , O +N.C. NNP B +, , O +in IN O +September NNP B +of IN O +that DT B +year NN I +for IN O +a DT B +course NN I +in IN O +psychological JJ B +operations NNS I +, , O +returning VBG O +to TO O +the DT B +School NNP I +of IN O +the DT B +Americas NNP I +in IN O +Panama NNP B +for IN O +a DT B +two-month JJ I +course NN I +called VBN O +`` `` O +military JJ B +intelligence NN I +for IN O +officers NNS B +. . O +'' '' O + +Some DT B +American JJ I +officers NNS I +interpreted VBD O +his PRP$ B +eagerness NN I +and CC I +studiousness NN I +as IN O +a DT B +sign NN I +of IN O +loyalty NN B +, , O +but CC O +they PRP B +did VBD O +so RB O +falsely RB O +. . O + +He PRP B +rose VBD O +to TO O +chief NN B +of IN O +intelligence NN B +in IN O +Panama NNP B +'s POS B +socalled JJ I +G-2 NN I +in IN O +1970 CD B +after IN O +providing VBG O +populist JJ O +dictator NN O +Torrijos NNP B +the DT B +critical JJ I +support NN I +to TO O +defeat VB O +a DT B +coup NN I +attempt NN I +against IN O +him PRP B +a DT B +year NN I +earlier RBR O +. . O + +He PRP B +became VBD O +Gen. NNP B +Torrijos NNP I +'s POS B +inseparable JJ I +shadow NN I +, , O +and CC O +the DT B +holder NN I +of IN O +all DT B +Panama NNP I +'s POS B +secrets NNS I +. . O + +Mr. NNP B +Noriega NNP I +, , O +by IN O +now RB B +a DT B +lieutenant NN I +colonel NN I +, , O +expanded VBD O +his PRP$ B +contacts NNS I +to TO O +include VB O +the DT B +Cubans NNPS I +-- : O +not RB O +to TO O +mention VB O +the DT B +Israelis NNPS I +, , O +the DT B +Taiwanese JJ I +and CC O +any DT B +other JJ I +intelligence NN I +service NN I +that WDT B +came VBD O +knocking VBG O +. . O + +When WRB O +U.S. NNP B +diplomats NNS I +complained VBD O +to TO O +the DT B +CIA NNP I +of IN O +Col. NNP B +Noriega NNP I +'s POS B +moonlighting NN I +, , O +intelligence NN B +experts NNS I +always RB O +insisted VBD O +that IN O +his PRP$ B +allegiance NN I +was VBD O +first JJ O +to TO O +the DT B +Americans NNPS I +. . O + +`` `` O +Early RB O +on IN O +in IN O +the DT B +State NNP I +Department NNP I +, , O +we PRP B +took VBD O +to TO O +calling VBG O +him PRP B +the DT B +rent-a-colonel NN I +, , O +in IN O +tribute NN B +to TO O +his PRP$ B +ability NN I +to TO O +simultaneously RB O +milk NN O +the DT B +antagonistic JJ I +intelligence NN I +services NNS I +of IN O +Cuba NNP B +and CC O +the DT B +United NNP I +States NNPS I +, , O +'' '' O +recalls VBZ O +Francis NNP B +J. NNP I +McNeil NNP I +, , O +who WP B +, , O +as IN O +deputy NN B +assistant NN I +secretary NN I +of IN O +state NN B +for IN O +inter-American JJ B +affairs NNS I +, , O +first JJ O +ran VBD O +across IN O +reports NNS B +about IN O +Mr. NNP B +Noriega NNP I +in IN O +1977 CD B +. . O + +`` `` O +Some DT B +of IN O +us PRP B +wondered VBD O +how WRB O +our PRP$ B +intelligence NN I +people NNS I +could MD O +put VB O +so RB B +much JJ I +stock NN I +in IN O +his PRP$ B +information NN I +when WRB O +he PRP B +was VBD O +just RB O +as IN O +close RB O +to TO O +the DT B +Cubans NNPS I +. . O +'' '' O + +Even RB O +at IN O +this DT B +early JJ I +stage NN I +, , O +drugs NNS B +caused VBD O +additional JJ B +concerns NNS I +. . O + +During IN O +the DT B +Nixon NNP I +administration NN I +, , O +the DT B +Drug NNP I +Enforcement NNP I +Administration NNP I +became VBD O +dismayed VBN O +at IN O +the DT B +extent NN I +of IN O +the DT B +G-2 NN I +'s POS B +connections NNS I +to TO O +arrested VBN B +drug NN I +traffickers NNS I +. . O + +One CD B +DEA NNP I +agent NN I +drew VBD O +up IN O +a DT B +list NN I +of IN O +five CD B +options NNS I +for IN O +dealing VBG O +with IN O +Col. NNP B +Noriega NNP I +, , O +one CD O +of IN O +which WDT B +was VBD O +assassination NN B +. . O + +The DT B +head NN I +of IN O +the DT B +DEA NNP I +at IN O +the DT B +time NN I +, , O +John NNP B +Ingersoll NNP I +, , O +scotched VBD O +the DT B +assassination NN I +plan NN I +. . O + +But CC O +he PRP B +did VBD O +fly VB O +to TO O +Panama NNP B +to TO O +scold VB O +dictator NN B +Torrijos NNP I +on IN O +the DT B +drug NN I +ties NNS I +of IN O +Panamanian JJ B +officials NNS I +, , O +including VBG O +Mr. NNP B +Noriega NNP I +. . O + +Mr. NNP B +Ingersoll NNP I +later RB O +recalled VBD O +that IN O +Gen. NNP B +Torrijos NNP I +seemed VBD O +afraid JJ O +to TO O +act VB O +on IN O +the DT B +concerns NNS I +of IN O +the DT B +U.S. NNP I +. . O + +`` `` O +Everybody NN B +was VBD O +afraid JJ O +of IN O +him PRP B +, , O +'' '' O +Mr. NNP B +Ingersoll NNP I +says VBZ O +. . O + +Mr. NNP B +Noriega NNP I +became VBD O +an DT B +even RB I +greater JJR I +threat NN I +in IN O +1976 CD B +, , O +when WRB O +U.S. NNP B +intelligence NN I +services NNS I +discovered VBN O +that IN O +he PRP B +had VBD O +been VBN O +buying VBG O +recordings NNS B +of IN O +electronically RB B +monitored VBN I +conversations NNS I +from IN O +three CD B +sergeants NNS I +working VBG O +for IN O +the DT B +U.S. NNP I +Army NNP I +'s POS B +470th NNP I +Military NNP I +Intelligence NNP I +Group NNP I +. . O + +The DT B +tapes NNS I +included VBD O +wiretaps NNS B +of IN O +Gen. NNP B +Torrijos NNP I +'s POS B +own JJ I +phone NN I +, , O +according VBG O +to TO O +American JJ B +intelligence NN I +officials NNS I +. . O + +`` `` O +We PRP B +caught VBD O +him PRP B +with IN O +his PRP$ B +hands NNS I +on IN O +our PRP$ B +cookie NN I +jar NN I +, , O +'' '' O +says VBZ O +former JJ B +CIA NNP I +Director NNP I +Stansfield NNP I +Turner NNP I +. . O + +For IN O +the DT B +first JJ I +time NN I +, , O +the DT B +U.S. NNP I +considered VBD O +cutting VBG O +Mr. NNP B +Noriega NNP I +from IN O +its PRP$ B +intelligence NN I +payroll NN I +-- : O +and CC O +the DT B +deliberations NNS I +were VBD O +intense JJ O +, , O +Mr. NNP B +Turner NNP I +says VBZ O +. . O + +`` `` O +In IN O +the DT B +world NN I +of IN O +intelligence NN B +, , O +if IN O +you PRP B +want VBP O +to TO O +get VB O +information NN B +, , O +you PRP B +get VBP O +it PRP B +from IN O +seedy JJ B +characters NNS I +. . O + +The DT B +question NN I +is VBZ O +how WRB O +much JJ O +you PRP B +get VBP O +tied VBN O +in IN O +with IN O +seedy JJ B +characters NNS I +so IN O +they PRP B +can MD O +extort VB O +you PRP B +. . O +'' '' O + +Intelligence NN B +officials NNS I +to TO O +this DT B +day NN I +worry NN O +whether IN O +Mr. NNP B +Noriega NNP I +sold VBD O +sensitive JJ B +information NN I +on IN O +the DT B +recordings NNS I +to TO O +the DT B +Cubans NNPS I +or CC O +others NNS B +. . O + +Mr. NNP B +Turner NNP I +was VBD O +troubled JJ O +enough RB O +to TO O +cancel VB O +the DT B +U.S. NNP I +contract NN I +with IN O +the DT B +rent-a-colonel NN I +at IN O +the DT B +beginning NN I +of IN O +the DT B +Carter NNP I +administration NN I +. . O + +The DT B +U.S. NNP I +soon RB O +found VBD O +new JJ B +cause NN I +for IN O +concern NN B +: : O +gun-running JJ B +. . O + +Prosecutors NNS B +in IN O +Southern NNP B +Florida NNP I +indicted VBD O +five CD B +Panamanians NNS I +on IN O +charges NNS B +of IN O +illegally RB O +running VBG O +arms NNS B +to TO O +Sandinista NNP B +rebels NNS I +trying VBG O +to TO O +overthrow VB O +the DT B +Nicaraguan JJ I +government NN I +of IN O +Mr. NNP B +Somoza NNP I +. . O + +They PRP B +included VBD O +one CD B +of IN O +Mr. NNP B +Noriega NNP I +'s POS B +closest JJS I +friends NNS I +and CC I +business NN I +partners NNS I +, , O +Carlos NNP B +Wittgreen NNP I +. . O + +And CC O +the DT B +investigators NNS I +were VBD O +quickly RB O +closing VBG O +in IN O +on IN O +Mr. NNP B +Noriega NNP I +himself PRP B +. . O + +At IN O +the DT B +time NN I +, , O +though RB O +, , O +in IN O +1979 CD B +, , O +the DT B +U.S. NNP I +was VBD O +once RB O +again RB O +flirting VBG O +with IN O +its PRP$ B +longtime JJ I +Latin NNP I +American JJ I +spy NN I +. . O + +Mr. NNP B +Noriega NNP I +made VBD O +plans NNS B +to TO O +fly VB O +to TO O +Washington NNP B +for IN O +a DT B +meeting NN I +with IN O +his PRP$ B +counterpart NN I +at IN O +the DT B +Pentagon NNP I +. . O + +Dade NNP B +County NNP I +and CC I +federal JJ I +authorities NNS I +, , O +learning VBG O +that IN O +he PRP B +intended VBD O +to TO O +fly VB O +through IN O +Miami NNP B +, , O +made VBN O +plans NNS B +to TO O +arrest VB O +him PRP B +on IN O +the DT B +gun-running JJ I +charges NNS I +as RB O +soon RB O +as IN O +he PRP B +hit VBD O +U.S. NNP B +soil NN I +. . O + +It PRP B +was VBD O +a DT B +Friday NNP I +in IN O +June NNP B +. . O + +The DT B +Pentagon NNP I +foiled VBD O +the DT B +plan NN I +. . O + +According VBG O +to TO O +military JJ B +officers NNS I +at IN O +the DT B +time NN I +, , O +word NN B +was VBD O +passed VBN O +to TO O +Mr. NNP B +Noriega NNP I +by IN O +his PRP$ B +American JJ I +hosts NNS I +that IN O +the DT B +police NN I +would MD O +be VB O +waiting VBG O +. . O + +On IN O +Monday NNP B +, , O +U.S. NNP B +officials NNS I +received VBD O +a DT B +routine NN I +, , I +unclassified JJ I +message NN I +from IN O +the DT B +military JJ I +group NN I +commander NN I +in IN O +Panama NNP B +. . O + +`` `` O +Due JJ O +to TO O +health NN B +reasons NNS I +, , O +Lt. NNP B +Col. NNP I +Noriega NNP I +has VBZ O +elected VBN O +to TO O +postpone VB O +his PRP$ B +visit NN I +to TO O +Washington NNP B +, , O +'' '' O +it PRP B +read VBP O +. . O + +Prosecutors NNS B +in IN O +Miami NNP B +received VBD O +yet RB B +another DT I +setback NN I +. . O + +Their PRP$ B +original JJ I +indictment NN I +against IN O +Mr. NNP B +Wittgreen NNP I +, , O +the DT B +friend NN I +of IN O +Mr. NNP B +Noriega NNP I +, , O +and CC O +the DT B +other JJ I +four CD I +was VBD O +dismissed VBN O +on IN O +a DT B +technicality NN I +. . O + +But CC O +now RB O +, , O +along IN O +with IN O +reindicting VBG O +Mr. NNP B +Noriega NNP I +'s POS B +pal NN I +, , O +they PRP B +intended VBD O +to TO O +charge VB O +Mr. NNP B +Noriega NNP I +himself PRP B +, , O +on IN O +allegations NNS B +that IN O +he PRP B +was VBD O +involved VBN O +in IN O +the DT B +illegal JJ I +trading NN I +of IN O +some DT B +$ $ I +2 CD I +million CD I +in IN O +arms NNS B +. . O + +In IN O +January NNP B +1980 CD I +, , O +Jerome NNP B +Sanford NNP I +, , O +as IN O +assistant NN B +U.S. NNP I +attorney NN I +, , O +was VBD O +summoned VBN O +to TO O +a DT B +meeting NN I +with IN O +a DT B +Federal NNP I +Bureau NNP I +of IN O +Investigation NNP B +agent NN O +assigned VBN O +to TO O +the DT B +Bureau NNP I +of IN O +Alcohol NN B +, , I +Tobacco NNP I +and CC I +Firearms NNP I +in IN O +Miami NNP B +. . O + +Panamanian JJ O +dictator NN O +Torrijos NNP B +, , O +he PRP B +was VBD O +told VBN O +, , O +had VBD O +granted VBN O +the DT B +shah NN I +of IN O +Iran NNP B +asylum NN B +in IN O +Panama NNP B +as IN O +a DT B +favor NN I +to TO O +Washington NNP B +. . O + +Mr. NNP B +Sanford NNP I +was VBD O +told VBN O +Mr. NNP B +Noriega NNP I +'s POS B +friend NN I +, , O +Mr. NNP B +Wittgreen NNP I +, , O +would MD O +be VB O +handling VBG O +the DT B +shah NN I +'s POS B +security NN I +. . O + +It PRP B +would MD O +n't RB O +be VB O +a DT B +good JJ I +idea NN I +to TO O +indict VB O +him PRP B +-- : O +much RB O +less JJR O +Mr. NNP B +Noriega NNP I +, , O +the DT B +prosecutor NN I +was VBD O +told VBN O +. . O + +After IN O +prodding VBG B +from IN O +Mr. NNP B +Sanford NNP I +, , O +U.S. NNP B +Attorney NNP I +Jack NNP I +Eskenazi NNP I +pleaded VBD O +with IN O +Justice NNP B +Department NNP I +officials NNS I +in IN O +Washington NNP B +to TO O +let VB O +the DT B +indictment NN I +proceed VB O +. . O + +`` `` O +Unfortunately RB O +, , O +'' '' O +Mr. NNP B +Eskenazi NNP I +wrote VBD O +in IN O +a DT B +letter NN I +, , O +`` `` O +those DT B +of IN O +us PRP B +in IN O +law NN B +enforcement NN I +in IN O +Miami NNP B +find NN O +ourselves PRP B +frequently RB O +attempting VBG O +to TO O +enforce VB O +the DT B +laws NNS I +of IN O +the DT B +United NNP I +States NNPS I +but CC O +simultaneously RB O +being VBG O +caught VBN O +between IN O +foreign JJ B +policy NN I +considerations NNS I +over IN O +which WDT B +we PRP B +have VBP O +no DT B +control NN I +. . O +'' '' O + +The DT B +letter NN I +, , O +along IN O +with IN O +a DT B +detailed VBN I +prosecution NN I +memo NN I +, , O +sat VBD O +on IN O +the DT B +desks NNS I +of IN O +Justice NNP B +officials NNS I +for IN O +months NNS B +before IN O +the DT B +case NN I +died VBD O +a DT B +quiet JJ I +death NN I +. . O + +`` `` O +I PRP B +think VBP O +if IN O +we PRP B +had VBD O +been VBN O +allowed VBN O +to TO O +go VB O +ahead RB O +then RB O +we PRP B +would MD O +n't RB O +have VB O +the DT B +problems NNS I +we PRP B +have VBP O +now RB O +, , O +'' '' O +Mr. NNP B +Sanford NNP I +says VBZ O +. . O + +`` `` O +If IN O +he PRP B +had VBD O +been VBN O +found VBN O +guilty JJ O +, , O +we PRP B +could MD O +have VB O +stopped VBN O +him PRP B +. . O +'' '' O + +In IN O +August NNP B +1983 CD I +, , O +Mr. NNP B +Noriega NNP I +took VBD O +over IN O +as IN O +General NNP B +and CC O +de-facto JJ B +dictator NN I +of IN O +Panama NNP B +, , O +having VBG O +maneuvered VBN O +his PRP$ B +way NN I +to TO O +the DT B +top JJ I +only RB B +two CD I +years NNS I +after IN O +the DT B +mysterious JJ I +death NN I +in IN O +a DT B +plane NN I +crash NN I +of IN O +his PRP$ B +old JJ I +boss NN I +Omar NNP I +Torrijos NNP I +. . O + +Soon RB O +, , O +the DT B +military NN I +became VBD O +a DT B +veritable JJ I +mafia NN I +controlling VBG O +legal JJ B +and CC I +illegal JJ I +businesses NNS I +. . O + +The DT B +Reagan NNP I +administration NN I +also RB O +put VB O +Mr. NNP B +Noriega NNP I +'s POS B +G-2 NN I +back RB O +on IN O +the DT B +U.S. NNP I +payroll NN I +. . O + +Payments NNS B +averaged VBD O +nearly RB B +$ $ I +200,000 CD I +a DT B +year NN I +from IN O +the DT B +U.S. NNP I +Defense NNP I +Intelligence NNP I +Agency NNP I +and CC O +the DT B +CIA NNP I +. . O + +Although IN O +working VBG O +for IN O +U.S. NNP B +intelligence NN I +, , O +Mr. NNP B +Noriega NNP I +was VBD O +hardly RB O +helping VBG O +the DT B +U.S. NNP I +exclusively RB O +. . O + +During IN O +the DT B +Reagan NNP I +years NNS I +he PRP B +expanded VBD O +his PRP$ B +business NN I +and CC I +intelligence NN I +contacts NNS I +with IN O +the DT B +Cubans NNPS I +and CC O +the DT B +Sandinistas NNPS I +. . O + +He PRP B +allegedly RB O +entered VBD O +into IN O +Panama NNP B +'s POS B +first JJ I +formal JJ I +business NN I +arrangement NN I +with IN O +Colombian JJ B +drug NN I +bosses NNS I +, , O +according VBG O +to TO O +Floyd NNP B +Carlton NNP I +, , O +a DT B +pilot NN I +who WP B +once RB O +worked VBD O +for IN O +Mr. NNP B +Noriega NNP I +and CC O +who WP B +testified VBD O +before IN O +the DT B +U.S. NNP I +grand JJ I +jury NN I +in IN O +Miami NNP B +that WDT B +would MD O +ultimately RB O +indict VB O +the DT B +Panamanian JJ I +on IN O +drug NN B +charges NNS I +. . O + +But CC O +Mr. NNP B +Noriega NNP I +was VBD O +convinced VBN O +the DT B +Reagan NNP I +White NNP I +House NNP I +would MD O +n't RB O +act VB O +against IN O +him PRP B +, , O +recalls VBZ O +his PRP$ B +close NN I +ally NN I +Jose NNP B +Blandon NNP I +, , O +because IN O +he PRP B +had VBD O +an DT B +insurance NN I +policy NN I +: : O +his PRP$ B +involvement NN I +with IN O +the DT B +Contra NNP I +rebels NNS I +in IN O +Nicaragua NNP B +. . O + +Mr. NNP B +Blandon NNP I +says VBZ O +the DT B +general JJ I +allowed VBN O +the DT B +Contras NNPS I +to TO O +set VB O +up IN O +a DT B +secret JJ I +training NN I +center NN I +in IN O +Panama NNP B +. . O + +Mr. NNP B +Noriega NNP I +also RB O +conveyed VBD O +intelligence NN B +from IN O +his PRP$ B +spy NN I +operation NN I +inside IN O +the DT B +Nicaraguan JJ I +capital NN I +of IN O +Managua NNP B +. . O + +And CC O +on IN O +at IN B +least JJS I +one CD I +occasion NN I +, , O +in IN O +the DT B +spring NN I +of IN O +1985 CD B +, , O +he PRP B +helped VBD O +arrange VB O +a DT B +sabotage NN I +attack NN I +on IN O +a DT B +Sandinista NNP I +arsenal NN I +in IN O +Nicaragua NNP B +. . O + +Although IN O +, , O +his PRP$ B +help NN I +for IN O +the DT B +Contra NNP I +cause NN I +was VBD O +limited JJ O +, , O +it PRP B +was VBD O +enough RB O +to TO O +win VB O +him PRP B +important JJ B +protectors NNS I +in IN O +the DT B +Reagan NNP I +administration NN I +, , O +says VBZ O +Sen. NNP B +Patrick NNP I +Leahy NNP I +, , O +a DT B +Vermont NNP I +Democrat NNP I +who WP B +then RB O +served VBN O +on IN O +the DT B +Senate NNP I +Intelligence NNP I +Committee NNP I +. . O + +`` `` O +Noriega NNP B +played VBD O +U.S. NNP B +intelligence NN I +agencies NNS I +and CC O +the DT B +U.S. NNP I +government NN I +like IN O +a DT B +violin NN I +, , O +'' '' O +he PRP B +says VBZ O +. . O + +An DT B +incident NN I +in IN O +1984 CD B +suggested VBD O +one CD B +additional JJ I +means NNS I +by IN O +which WDT B +Mr. NNP B +Noriega NNP I +might MD O +have VB O +maintained VBN O +such JJ B +influence NN I +with IN O +Washington NNP B +-- : O +by IN O +compromising VBG O +U.S. NNP B +officials NNS I +. . O + +Curtin NNP B +Windsor NNP I +, , O +then RB O +the DT B +ambassador NN I +to TO O +Costa NNP B +Rica NNP I +, , O +recalls VBZ O +being VBG O +invited VBN O +to TO O +Panama NNP B +by IN O +Mr. NNP B +Noriega NNP I +'s POS B +brother NN I +Luis NNP B +Carlos NNP I +for IN O +a DT B +weekend NN I +of IN O +deep JJ B +sea NN I +fishing NN I +and CC O +`` `` O +quiet JJ B +, , I +serious JJ I +conversation NN I +'' '' O +on IN O +the DT B +Aswara NNP I +Peninsula NNP I +. . O + +Mr. NNP B +Windsor NNP I +notified VBD O +Everett NNP B +E. NNP I +Briggs NNP I +, , O +the DT B +U.S. NNP I +ambassador NN I +to TO O +Panama NNP B +, , O +of IN O +the DT B +invitation NN I +. . O + +`` `` O +Briggs NNP B +screamed VBD O +, , O +'' '' O +Mr. NNP B +Windsor NNP I +recalls VBZ O +. . O + +He PRP B +says VBZ O +Mr. NNP B +Briggs NNP I +told VBD O +him PRP B +he PRP B +was VBD O +being VBG O +set VBN O +up IN O +for IN O +a DT B +`` `` I +honey NN I +trap NN I +, , O +'' '' O +in IN O +which WDT B +Mr. NNP B +Noriega NNP I +would MD O +try VB O +to TO O +involve VB O +him PRP B +in IN O +an DT B +orgy NN I +and CC O +then JJ O +record NN O +the DT B +event NN I +`` `` O +with IN O +sound NN B +and CC I +video NN I +. . O +'' '' O + +Mr. NNP B +Briggs NNP I +, , O +on IN O +vacation NN B +after IN O +resigning VBG O +his PRP$ B +position NN I +at IN O +the DT B +National NNP I +Security NNP I +Council NNP I +, , O +could MD O +n't RB O +be VB O +reached VBN O +for IN O +comment NN B +. . O + +As IN O +Mr. NNP B +Noriega NNP I +'s POS B +political JJ I +troubles NNS I +grew VBD O +, , O +so RB O +did VBD O +his PRP$ B +offers NNS I +of IN O +assistance NN B +to TO O +the DT B +Contras NNPS I +, , O +an DT B +apparent JJ I +attempt NN I +to TO O +curry VB O +more JJR B +favor NN I +in IN O +Washington NNP B +. . O + +For IN O +instance NN B +, , O +he PRP B +helped VBD O +steal VB O +the DT B +May NNP I +1984 CD I +Panamanian JJ I +elections NNS I +for IN O +the DT B +ruling NN I +party NN I +. . O + +But CC O +just RB B +one CD I +month NN I +later RB O +, , O +he PRP B +also RB O +contributed VBD O +$ $ B +100,000 CD I +to TO O +a DT B +Contra NNP I +leader NN I +, , O +according VBG O +to TO O +documents NNS B +released VBN O +for IN O +Oliver NNP B +North NNP I +'s POS B +criminal JJ I +trial NN I +in IN O +Washington NNP B +, , O +D.C NNP B +. . O + +Yet RB O +, , O +his PRP$ B +political JJ I +setbacks NNS I +mounted VBN O +. . O + +Mr. NNP B +Noriega NNP I +was VBD O +accused VBN O +of IN O +ordering VBG O +in IN O +1985 CD B +the DT B +beheading NN I +of IN O +Hugo NNP B +Spadafora NNP I +, , O +his PRP$ B +most RBS I +outspoken JJ I +political JJ I +opponent NN I +and CC O +the DT B +first JJ I +man NN I +to TO O +publicly RB O +finger NN O +Mr. NNP B +Noriega NNP I +on IN O +drug NN B +trafficking NN I +charges NNS I +. . O + +He PRP B +then RB O +ousted VBD O +President NNP B +Nicholas NNP I +Ardito NNP I +Barletta NNP I +, , O +a DT B +former JJ I +World NNP I +Bank NNP I +official NN I +with IN O +close NN B +ties NNS I +to TO O +the DT B +U.S. NNP I +, , O +after IN O +Mr. NNP B +Barletta NNP I +tried VBD O +to TO O +create VB O +a DT B +commission NN I +to TO O +investigate VB O +the DT B +murder NN I +. . O + +And CC O +, , O +all PDT B +the DT I +while NN I +, , O +Panama NNP B +'s POS B +debt NN I +problems NNS I +continued VBD O +to TO O +grow VB O +. . O + +Mr. NNP B +Noriega NNP I +was VBD O +growing VBG O +desperate JJ O +. . O + +In IN O +late JJ B +1986 CD I +, , O +he PRP B +made VBD O +an DT B +offer NN I +he PRP B +thought VBD O +the DT B +U.S. NNP I +could MD O +n't RB O +refuse VB O +. . O + +As IN O +recounted VBN O +in IN O +a DT B +stipulation NN I +that WDT B +summarized VBD O +government NN B +documents NNS I +released VBN O +for IN O +the DT B +North NNP I +trial NN I +, , O +Mr. NNP B +Noriega NNP I +offered VBD O +to TO O +assassinate VB O +the DT B +Sandinista NNP I +leadership NN I +in IN O +exchange NN B +`` `` O +for IN O +a DT B +promise NN I +to TO O +help VB O +clean JJ O +up IN O +Noriega NNP B +'s POS B +image NN I +and CC O +a DT B +commitment NN I +to TO O +lift VB O +the DT B +-LCB- ( I +U.S. NNP I +. . I +-RCB- ) I +ban NN I +on IN O +military JJ B +sales NNS I +to TO O +the DT B +Panamanian NNP I +Defense NNP I +Forces NNPS I +. . O +'' '' O + +`` `` O +North NNP B +, , O +'' '' O +the DT B +document NN I +went VBD O +on IN O +, , O +referring VBG O +to TO O +Oliver NNP B +North NNP I +, , O +`` `` O +has VBZ O +told VBN O +Noriega NNP B +'s POS B +representative NN I +that IN O +U.S. NNP B +law NN I +forbade VBD O +such JJ B +actions NNS I +. . O + +The DT B +representative NN I +responded VBD O +that IN O +Noriega NNP B +had VBD O +numerous JJ B +assets NNS I +in IN O +place NN B +in IN O +Nicaragua NNP B +and CC O +could MD O +accomplish VB O +many JJ B +essential JJ I +things NNS I +, , O +just RB O +as IN O +Noriega NNP B +had VBD O +helped VBN O +-LCB- ( O +the DT B +U.S. NNP I +. . O +-RCB- ) O +the DT B +previous JJ I +year NN I +in IN O +blowing VBG O +up IN O +a DT B +Sandinista NNP I +arsenal NN I +. . O +'' '' O + +Col. NNP B +North NNP I +conveyed VBD O +the DT B +request NN I +to TO O +his PRP$ B +superiors NNS I +and CC O +to TO O +Assistant NNP O +Secretary NNP O +of IN O +State NNP B +Elliot NNP O +Abrams NNP O +, , O +who WP B +relayed VBD O +it PRP B +to TO O +Secretary NNP O +of IN O +State NNP B +George NNP O +Shultz NNP O +. . O + +Mr. NNP B +Noriega NNP I +'s POS B +proposal NN I +was VBD O +turned VBN O +down RB O +. . O + +And CC O +Mr. NNP B +Shultz NNP I +curtly RB O +told VBD O +Mr. NNP B +Abrams NNP I +that IN O +the DT B +general NN I +should MD O +be VB O +told VBN O +that IN O +only RB B +he PRP I +could MD O +repair VB O +his PRP$ B +tarnished VBN I +image NN I +. . O + +The DT B +end NN I +of IN O +the DT B +marriage NN I +was VBD O +at IN O +hand NN B +. . O + +Within IN O +weeks NNS B +the DT B +unfolding VBG I +Iran-Contra NNP I +scandal NN I +took VBD O +away RB O +Mr. NNP B +Noriega NNP I +'s POS B +insurance NN I +policy NN I +. . O + +The DT B +death NN I +of IN O +CIA NNP O +Director NNP O +William NNP B +Casey NNP I +and CC O +resignation NN B +of IN O +Oliver NNP B +North NNP I +allowed VBD O +anti-Noriega JJ B +political JJ I +forces NNS I +to TO O +gain VB O +influence NN B +. . O + +Public JJ B +protests NNS I +against IN O +him PRP B +were VBD O +triggered VBN O +in IN O +June NNP B +1987 CD I +due JJ O +to TO O +charges NNS B +by IN O +Diaz NNP B +Herrera NNP I +, , O +his PRP$ B +former JJ I +chief NN I +of IN O +staff NN B +, , O +that IN O +Mr. NNP B +Noriega NNP I +had VBD O +stolen VBN O +the DT B +1984 CD I +election NN I +and CC O +had VBD O +ordered VBN O +the DT B +killing NN I +of IN O +Messrs. NNP B +Spadafora NNP I +and CC I +Torrijos NNP I +. . O + +Few NNP B +American JJ I +officials NNS I +were VBD O +willing JJ O +any RB O +longer RB O +to TO O +defend VB O +him PRP B +. . O + +Lawyers NNS B +in IN O +Miami NNP B +-- : O +this DT B +time NN I +working VBG O +virtually RB O +without IN O +impediment NN B +-- : O +prepared VBN O +to TO O +have VB O +him PRP B +indicted VBN O +on IN O +drug NN B +charges NNS I +in IN O +February NNP B +1988 CD I +. . O + +During IN O +negotiations NNS B +with IN O +American JJ B +officials NNS I +in IN O +May NNP B +1988 CD I +over IN O +proposals NNS B +to TO O +drop VB O +the DT B +U.S. NNP I +indictments NNS I +in IN O +exchange NN B +for IN O +his PRP$ B +resignation NN I +, , O +Mr. NNP B +Noriega NNP I +often RB O +asked VBD O +almost RB O +plaintively RB O +how WRB O +the DT B +Americans NNPS I +, , O +whom WP B +he PRP B +had VBD O +helped VBN O +for IN O +so RB B +many JJ I +years NNS I +, , O +could MD O +turn VB O +against IN O +him PRP B +. . O + +Now RB O +, , O +neither DT B +side NN I +-- : O +the DT B +U.S. NNP I +nor CC O +Mr. NNP B +Noriega NNP I +-- : O +has VBZ O +an DT B +easy JJ I +out RB I +. . O + +President NNP B +Bush NNP I +has VBZ O +sworn VBN O +to TO O +bring VB O +him PRP B +to TO O +justice NN B +. . O + +Mr. NNP B +Noriega NNP I +believes VBZ O +he PRP B +has VBZ O +n't RB O +any DT B +alternative NN I +but CC O +to TO O +continue VB O +clutching VBG O +to TO O +power VB B +. . O + +It PRP B +is VBZ O +a DT B +knock-out JJ I +battle NN I +-- : O +perhaps RB O +to TO O +the DT B +death NN I +. . O + +In IN O +the DT B +end NN I +, , O +is VBZ O +Mr. NNP B +Noriega NNP I +the DT B +political JJ I +equivalent NN I +of IN O +Frankenstein NNP B +'s POS B +monster NN I +, , O +created VBN O +by IN O +a DT B +well-intentioned JJ I +but CC I +misguided JJ I +foreign JJ I +power NN I +? . O + +Not RB O +quite RB O +, , O +Sen. NNP B +Leahy NNP I +contends VBZ O +. . O + +`` `` O +For IN O +short-term JJ B +gains NNS I +, , O +people NNS B +were VBD O +willing JJ O +to TO O +put VB O +up IN O +with IN O +him PRP B +. . O + +That DT B +allowed VBN O +him PRP B +to TO O +get VB O +stronger JJR O +and CC O +stronger JJR O +, , O +'' '' O +he PRP B +says VBZ O +. . O + +`` `` O +I PRP B +do VBP O +n't RB O +think VB O +we PRP B +created VBD O +him PRP B +as RB O +much JJ O +as IN O +we PRP B +fed VBD O +him PRP B +, , O +nurtured VBD O +him PRP B +and CC O +let VB O +him PRP B +grow VB O +up VB O +to TO O +be VB O +big JJ O +and CC O +strong JJ O +. . O + +UPJOHN NNP B +Co. NNP I +reported VBD O +that IN O +third-quarter JJ B +net JJ I +income NN I +rose VBD O +to TO O +$ $ B +96 CD I +million CD I +, , O +or CC O +52 CD B +cents NNS I +a DT B +share NN I +, , O +from IN O +$ $ B +89.6 CD I +million CD I +, , O +or CC O +49 CD B +cents NNS I +a DT B +share NN I +, , O +a DT B +year NN I +earlier RBR O +. . O + +Yesterday NN B +'s POS B +edition NN I +provided VBD O +analysts NNS B +' POS B +estimates NNS I +for IN O +the DT B +company NN I +when WRB O +actual JJ B +earnings NNS I +were VBD O +available JJ O +. . O + +Industrial JJ B +production NN I +declined VBD O +0.1 CD B +% NN I +in IN O +September NNP B +, , O +reinforcing VBG O +other JJ B +signs NNS I +that IN O +the DT B +manufacturing NN I +sector NN I +continues VBZ O +its PRP$ B +slowing NN I +trend NN I +. . O + +The DT B +Federal NNP I +Reserve NNP I +Board NNP I +said VBD O +output NN B +of IN O +the DT B +nation NN I +'s POS B +factories NNS I +, , I +mines NNS I +and CC I +utilities NNS I +expanded VBN O +at IN O +an DT B +annual JJ I +rate NN I +of IN O +1.3 CD B +% NN I +in IN O +the DT B +third JJ I +quarter NN I +, , O +substantially RB O +slower JJR O +than IN O +the DT B +3.3 CD I +% NN I +annual JJ I +rate NN I +in IN O +the DT B +second JJ I +quarter NN I +. . O + +`` `` O +Capital NNP B +spending NN I +and CC I +exports NNS I +, , O +which WDT B +have VBP O +been VBN O +the DT B +driving VBG I +force NN I +in IN O +this DT B +expansion NN I +, , O +are VBP O +showing VBG O +clear JJ B +signs NNS I +of IN O +having VBG O +the DT B +steam NN I +taken VBN O +out IN O +of IN O +them PRP B +, , O +'' '' O +said VBD O +Robert NNP B +Dederick NNP I +, , O +economist NN B +for IN O +Northern NNP B +Trust NNP I +Co. NNP I +in IN O +Chicago NNP B +. . O + +The DT B +new JJ I +reports NNS I +of IN O +sluggishness NN B +, , O +which WDT B +were VBD O +foreshadowed VBN O +by IN O +an DT B +earlier RBR I +Labor NNP I +Department NNP I +report NN I +that IN O +manufacturing NN B +payrolls NNS I +dropped VBN O +by IN O +105,000 CD B +in IN O +September NNP B +, , O +give VB O +the DT B +Fed NNP I +another DT B +reason NN I +to TO O +further VB O +ease VB O +its PRP$ B +grip NN I +on IN O +credit NN B +and CC O +lower JJR O +interest NN B +rates NNS I +. . O + +`` `` O +They PRP B +need VBP O +to TO O +do VB O +something NN B +about IN O +this DT B +, , O +'' '' O +said VBD O +Maury NNP B +Harris NNP I +, , O +economist NN B +at IN O +PaineWebber NNP B +Group NNP I +Inc NNP I +. . O + +The DT B +Fed NNP I +also RB O +said VBD O +U.S. NNP B +industry NN I +operated VBN O +at IN O +83.6 CD B +% NN I +of IN O +capacity NN B +last JJ B +month NN I +, , O +down RB O +from IN O +83.8 CD B +% NN I +in IN O +August NNP B +. . O + +Measures NNS B +of IN O +manufacturing NN B +activity NN I +fell VBD O +more JJR O +than IN O +the DT B +overall JJ I +measures NNS I +. . O + +Factory NN B +output NN I +dropped VBD O +0.2 CD B +% NN I +, , O +its PRP$ B +first JJ I +decline NN I +since IN O +February NNP B +, , O +after IN O +having VBG O +been VBN O +unchanged JJ O +in IN O +October NNP B +. . O + +Factories NNS B +operated VBN O +at IN O +83.7 CD B +% NN I +of IN O +capacity NN B +, , O +the DT B +lowest JJS I +rate NN I +in IN O +more JJR B +than IN I +a DT I +year NN I +and CC O +down RB O +from IN O +84.1 CD B +% NN I +in IN O +September NNP B +. . O + +The DT B +declines NNS I +mainly RB O +reflected VBD O +widespread JJ B +weakness NN I +in IN O +durable JJ B +goods NNS I +, , O +those DT B +intended VBN O +to TO O +last VB O +more JJR B +than IN I +three CD I +years NNS I +. . O + +The DT B +biggest JJS I +drop NN I +was VBD O +recorded VBN O +by IN O +primary JJ B +metals NNS I +producers NNS I +, , O +a DT B +category NN I +that WDT B +includes VBZ O +the DT B +steel NN I +industry NN I +. . O + +Output NN B +of IN O +business NN B +equipment NN I +was VBD O +unchanged JJ O +in IN O +September NNP B +. . O + +Production NN B +of IN O +factory NN B +equipment NN I +, , O +one CD B +indication NN I +of IN O +the DT B +strength NN I +of IN O +manufacturers NNS B +' POS B +investment NN I +spending NN I +, , O +fell VBD O +0.3 CD B +% NN I +. . O + +Some DT B +economists NNS I +expect VBP O +further JJ B +declines NNS I +in IN O +investment NN B +spending NN I +. . O + +`` `` O +Whenever WRB O +corporate JJ B +profits NNS I +are VBP O +weak JJ O +that WDT B +means VBZ O +capital NN B +spending NN I +is VBZ O +going VBG O +to TO O +soften VB O +subsequently RB O +, , O +'' '' O +Mr. NNP B +Harris NNP I +said VBD O +. . O + +`` `` O +You PRP B +have VBP O +n't RB O +seen VBN O +the DT B +full JJ I +effect NN I +of IN O +that DT B +yet RB O +. . O +'' '' O + +A DT B +decline NN I +in IN O +truck NN B +production NN I +more JJR O +than IN O +offset VB O +a DT B +sharp JJ I +rise NN I +in IN O +auto NN B +assemblies NNS I +, , O +the DT B +Fed NNP I +noted VBD O +. . O + +Analysts NNS B +do VBP O +n't RB O +expect VB O +the DT B +September NNP I +surge NN I +in IN O +auto NN B +production NN I +to TO O +be VB O +repeated VBN O +in IN O +the DT B +coming VBG I +months NNS I +. . O + +Here RB B +is VBZ O +a DT B +summary NN I +of IN O +the DT B +Federal NNP I +Reserve NNP I +Board NNP I +'s POS B +report NN I +on IN O +industrial JJ B +production NN I +in IN O +September NNP B +. . O + +The DT B +figures NNS I +are VBP O +seasonally RB O +adjusted VBN O +. . O + +142.3 CD B +% NN I +of IN O +the DT B +1977 CD I +average JJ I +. . O + +Robin NNP B +Honiss NNP I +, , O +president NN B +and CC O +chief JJ B +executive JJ I +officer NN I +of IN O +this DT B +bank NN I +holding VBG I +company NN I +, , O +was VBD O +elected VBN O +to TO O +the DT B +additional JJ I +posts NNS I +of IN O +chairman NN B +, , O +president NN B +and CC O +chief JJ B +executive NN I +of IN O +the DT B +company NN I +'s POS B +New NNP I +England NNP I +Savings NNP I +Bank NNP I +subsidiary NN I +. . O + +William NNP B +R. NNP I +Attridge NNP I +resigned VBD O +those DT B +posts NNS I +, , O +as RB O +well RB O +as IN O +a DT B +seat NN I +on IN O +NESB NNP B +'s POS B +board NN I +. . O + +NESB NNP B +is VBZ O +also RB O +the DT B +parent NN I +of IN O +Omnibank NNP B +. . O + +Lung-cancer NN B +mortality NN I +rates NNS I +for IN O +people NNS B +under IN O +45 CD B +years NNS I +of IN O +age NN B +have VBP O +begun VBN O +to TO O +decline VB O +, , O +federal JJ B +researchers NNS I +report VBP O +. . O + +The DT B +drop NN I +is VBZ O +particularly RB O +large JJ O +for IN O +white JJ B +males NNS I +, , O +although IN O +black JJ B +males NNS I +and CC O +white JJ B +and CC I +black JJ I +women NNS I +also RB O +show VBP O +lower JJR B +mortality NN I +rates NNS I +. . O + +A DT B +report NN I +in IN O +this DT B +week NN I +'s POS B +issue NN I +of IN O +the DT B +Journal NNP I +of IN O +the DT B +National NNP I +Cancer NNP I +Institute NNP I +also RB O +projects VBZ O +that IN O +overall JJ B +U.S. NNP I +mortality NN I +rates NNS I +from IN O +lung NN B +cancer NN I +, , O +the DT B +leading VBG I +cause NN I +of IN O +cancer NN B +death NN I +, , O +should MD O +begin VB O +to TO O +drop VB O +in IN O +several JJ B +years NNS I +if IN O +cigarette NN B +smoking NN I +continues VBZ O +to TO O +abate VB O +. . O + +The DT B +report NN I +, , O +which WDT B +comes VBZ O +25 CD B +years NNS I +after IN O +the DT B +U.S. NNP I +Surgeon NNP I +General NNP I +issued VBD O +a DT B +report NN I +warning NN O +against IN O +the DT B +dangers NNS I +of IN O +smoking NN B +, , O +is VBZ O +the DT B +strongest JJS I +indication NN I +to TO O +date VB B +that IN O +the DT B +reduction NN I +in IN O +smoking NN B +is VBZ O +leading VBG O +to TO O +lower JJR B +death NN I +rates NNS I +from IN O +lung NN B +cancer NN I +. . O + +`` `` O +What WP B +this DT B +is VBZ O +saying VBG O +is VBZ O +that IN O +the DT B +surgeon NN I +general NN I +'s POS B +message NN I +is VBZ O +having VBG O +an DT B +impact NN I +, , O +'' '' O +said VBD O +Melvyn NNP B +Tockman NNP I +, , O +an DT B +epidemiologist NN I +at IN O +the DT B +Johns NNP I +Hopkins NNP I +School NNP I +of IN O +Hygiene NNP B +and CC O +Public NNP B +Health NNP I +in IN O +Baltimore NNP B +. . O + +The DT B +National NNP I +Cancer NNP I +Institute NNP I +report NN I +compares VBZ O +mortality NN B +rates NNS I +of IN O +two CD B +groups NNS I +of IN O +people NNS B +between IN O +the DT B +ages NNS I +of IN O +35 CD B +and CC I +44 CD I +a DT B +decade NN I +apart RB O +. . O + +The DT B +death NN I +rate NN I +from IN O +lung NN B +cancer NN I +of IN O +white JJ B +males NNS I +aged VBN O +35 CD B +to TO O +44 CD B +in IN O +the DT B +mid-1970s NNS I +was VBD O +13.4 CD B +per IN O +100,000 CD B +, , O +but CC O +the DT B +mortality NN I +rate NN I +of IN O +the DT B +same JJ I +age NN I +group NN I +in IN O +the DT B +mid-1980s NNS I +was VBD O +9.6 CD B +, , O +a DT B +decline NN I +of IN O +28.7 CD B +% NN I +. . O + +Measured VBN O +the DT B +same JJ I +way NN I +, , O +the DT B +decline NN I +for IN O +black JJ B +males NNS I +was VBD O +14.2 CD B +% NN I +. . O + +The DT B +drop NN I +in IN O +mortality NN B +rates NNS I +for IN O +women NNS B +was VBD O +less RBR O +steep JJ O +-- : O +8.9 CD B +% NN I +for IN O +blacks NNS B +and CC O +5.3 CD B +% NN I +for IN O +whites NNS B +. . O + +The DT B +study NN I +, , O +by IN O +Susan NNP B +Devesa NNP I +, , O +William NNP B +Blot NNP I +and CC O +Joseph NNP B +Fraumeni NNP I +of IN O +the DT B +institute NN I +'s POS B +staff NN I +, , O +also RB O +shows VBZ O +that IN O +the DT B +incidence NN I +of IN O +lung NN B +cancer NN I +as RB O +well RB O +as IN O +the DT B +death NN I +rate NN I +declined VBD O +over IN O +the DT B +decade NN I +for IN O +all DT B +groups NNS I +in IN O +the DT B +35-44 JJ I +age NN I +bracket NN I +, , O +except IN O +black JJ B +men NNS I +. . O + +Although IN O +lung-cancer NN B +mortality NN I +rates NNS I +are VBP O +increasing VBG O +for IN O +the DT B +nation NN I +as IN O +a DT B +whole NN I +, , O +the DT B +report NN I +projects VBZ O +that IN O +death NN B +rates NNS I +will MD O +begin VB O +to TO O +decline VB O +in IN O +the DT B +1990s CD I +for IN O +men NNS B +and CC O +after IN O +the DT B +year NN I +2000 CD I +for IN O +women NNS B +. . O + +Lung-cancer NN B +mortality NN I +rates NNS I +increase VBP O +with IN O +age NN B +and CC O +are VBP O +continuing VBG O +to TO O +rise VB O +for IN O +all DT B +age NN I +groups NNS I +over IN O +55 NN B +, , O +with IN O +sharp JJ B +increases NNS I +for IN O +everybody NN B +but CC O +white JJ B +men NNS I +. . O + +But CC O +Dr. NNP B +Fraumeni NNP I +, , O +one CD B +of IN O +the DT B +authors NNS I +of IN O +the DT B +report NN I +, , O +said VBD O +`` `` O +the DT B +declining VBG I +rates NNS I +we PRP B +'re VBP O +seeing VBG O +for IN O +younger JJR B +people NNS I +we PRP B +believe VBP O +may MD O +be VB O +a DT B +harbinger NN I +of IN O +declining VBG B +mortality NN I +in IN O +the DT B +future NN I +. . O +'' '' O + +However RB O +, , O +he PRP B +stressed VBD O +that IN O +the DT B +improvement NN I +depends VBZ O +on IN O +a DT B +continued VBN I +reduction NN I +in IN O +smoking NN B +. . O + +`` `` O +Even RB O +though IN O +these DT B +favorable JJ I +trends NNS I +in IN O +lung-cancer NN B +mortality NN I +affect NN O +all DT B +sex NN I +and CC I +race NN I +groups NNS I +, , O +they PRP B +ca MD O +n't RB O +be VB O +taken VBN O +for IN O +granted VBN O +, , O +'' '' O +the DT B +report NN I +says NNS O +. . O + +`` `` O +Smoking NNP B +prevention NN I +programs NNS I +should MD O +reach VB O +larger JJR B +segments NNS I +of IN O +the DT B +population NN I +, , O +especially RB B +children NNS I +, , I +adolescents NNS I +and CC I +minorities NNS I +. . O +'' '' O + +An DT B +editorial NN I +in IN O +the DT B +NCI NNP I +Journal NNP I +says VBZ O +the DT B +report NN I +of IN O +declining VBG B +lung-cancer NN I +mortality NN I +`` `` I +among IN O +young JJ B +men NNS I +and CC I +women NNS I +in IN O +the DT B +U.S. NNP I +indicates VBZ O +that IN O +we PRP B +finally RB O +may MD O +be VB O +winning VBG O +the DT B +battle NN I +-- : O +this DT B +even RB O +in IN O +a DT B +country NN I +where WRB O +the DT B +tobacco NN I +industry NN I +spends VBZ O +over IN B +$ $ I +2 CD I +billion CD I +a DT B +year NN I +for IN O +promotion NN B +of IN O +the DT B +addictive JJ I +habit NN I +of IN O +smoking NN B +. . O +'' '' O + +But CC O +the DT B +editorial NN I +, , O +by IN O +Jan NNP B +Stjernsward NNP I +of IN O +the DT B +World NNP I +Health NNP I +Organization NNP I +, , O +notes VBZ O +that DT O +tobacco NN B +consumption NN I +and CC I +lung-cancer NN I +mortality NN I +rates NNS I +are VBP O +rising VBG O +in IN O +developing VBG B +countries NNS I +. . O + +`` `` O +Non-smoking NN B +should MD O +be VB O +established VBN O +as IN O +the DT B +norm NN I +of IN O +social JJ B +behavior NN I +'' '' O +around IN O +the DT B +world NN I +, , O +the DT B +editorial NN I +says VBZ O +, , O +through IN O +the DT B +enactment NN I +of IN O +laws NNS B +that WDT B +limit VBP O +advertising VBG B +, , O +boost VB O +tobacco NN B +prices NNS I +and CC O +promote VB O +anti-smoking JJ B +education NN I +. . O + +Asked VBN O +for IN O +comment NN B +, , O +Walker NNP B +Merryman NNP I +, , O +a DT B +vice NN I +president NN I +of IN O +the DT B +Tobacco NNP I +Institute NNP I +, , O +said VBD O +new JJ B +efforts NNS I +to TO O +restrict VB O +tobacco NN B +advertising NN I +in IN O +the DT B +U.S. NNP I +could MD O +violate VB O +the DT B +First NNP I +Amendment NNP I +protection NN I +of IN O +free JJ B +speech NN I +. . O + +According VBG O +to TO O +the DT B +American NNP I +Cancer NNP I +Society NNP I +, , O +smoking NN B +is VBZ O +responsible JJ O +for IN O +85 CD B +% NN I +of IN O +the DT B +lung-cancer NN I +cases NNS I +among IN O +men NNS B +and CC O +75 CD B +% NN I +among IN O +women NNS B +. . O + +The DT B +NCI NNP I +report NN I +attributes VBZ O +the DT B +differences NNS I +in IN O +mortality NN B +rates NNS I +by IN O +race NN B +to TO O +different JJ B +smoking NN I +patterns NNS I +. . O + +A DT B +higher JJR I +proportion NN I +of IN O +black JJ B +men NNS I +smoke VBP O +than IN O +white JJ B +men NNS I +. . O + +While IN O +nearly RB B +equal JJ I +percentages NNS I +of IN O +black JJ B +and CC I +white JJ I +women NNS I +currently JJ O +smoke NN O +, , O +in IN O +both DT B +sexes NNS I +more JJR B +whites NNS I +have VBP O +given VBN O +up IN O +smoking NN B +than IN O +blacks NNS B +. . O + +In IN O +comparing VBG O +changes NNS B +in IN O +mortality NN B +rates NNS I +over IN O +the DT B +past JJ I +decade NN I +, , O +the DT B +NCI NNP I +study NN I +looked VBD O +only RB O +at IN O +blacks NNS B +and CC I +whites NNS I +. . O + +Asians NNS B +and CC O +native JJ B +Americans NNPS I +were VBD O +n't RB O +studied VBN O +; : O +Hispanics NNPS B +were VBD O +included VBN O +with IN O +whites NNS B +. . O + +Recent JJ B +changes NNS I +in IN O +average JJ B +annual JJ I +age-specific JJ I +lung-cancer NN I +rates NNS I +per IN O +100,000 CD B +population NN I +by IN O +race NN B +and CC I +sex NN I +. . O + +White NNP B +Males NNPS I + +White NNP B +Females NNPS I + +Black NNP B +Males NNPS I + +Black NNP B +Females NNPS I + +Directors NNS B +elected VBD O +R. NNP B +Marvin NNP I +Womack NNP I +, , O +currently JJ O +vice NN B +president\/product NN I +supply NN I +, , I +purchasing VBG I +, , O +to TO O +head VB O +the DT B +company NN I +'s POS B +Washington NNP I +, , I +D.C. NNP I +, , I +office NN I +. . O + +As IN O +vice NN B +president\/national-government NN I +relations NNS I +, , O +Mr. NNP B +Womack NNP I +will MD O +work VB O +with IN O +P&G NNP B +'s POS B +top JJ I +management NN I +and CC O +with IN O +the DT B +company NN I +'s POS B +government-relations NNS I +staff VBP I +`` `` O +to TO O +represent VB O +P&G NNP B +'s POS B +interests NNS I +at IN O +the DT B +federal JJ I +level NN I +, , O +'' '' O +said VBD O +John NNP B +G. NNP I +Smale NNP I +, , O +chairman NN B +and CC O +chief JJ B +executive JJ I +officer NN I +. . O + +Mr. NNP B +Smale NNP I +said VBD O +the DT B +appointment NN I +`` `` O +recognizes VBZ O +the DT B +growing VBG I +influence NN I +of IN O +government NN B +on IN O +our PRP$ B +business NN I +. . O +'' '' O + +Mr. NNP B +Womack NNP I +, , O +53 CD B +years NNS I +old JJ O +, , O +has VBZ O +been VBN O +with IN O +the DT B +big JJ I +producer NN I +of IN O +household NN B +products NNS I +, , O +food NN B +and CC O +pharmaceuticals NNS B +for IN O +30 CD B +years NNS I +. . O + +Traders NNS B +trying VBG O +to TO O +profit VB O +from IN O +the DT B +recent JJ I +volatility NN I +in IN O +financial JJ B +markets NNS I +invaded VBD O +the DT B +Nasdaq NNP I +over-the-counter JJ I +market NN I +, , O +prompting VBG O +even RB B +more JJR I +swings NNS I +in IN O +stock NN B +prices NNS I +. . O + +After IN O +gaining VBG O +strength NN B +during IN O +a DT B +brief JJ I +run-up NN I +when WRB O +trading NN B +began VBD O +, , O +the DT B +Nasdaq NNP I +Composite NNP I +Index NNP I +weakened VBD O +under IN O +selling VBG B +pressure NN I +. . O + +The DT B +forces NNS I +at IN O +work NN B +included VBD O +computer-guided JJ B +trading NN I +, , O +as RB O +well RB O +as IN O +profit-driven CD B +market NN I +makers NNS I +and CC O +institutional JJ B +investors NNS I +who WP B +had VBD O +bought VBN O +stock NN B +on IN O +the DT B +cheap NN I +during IN O +the DT B +recent JJ I +correction NN I +. . O + +During IN O +the DT B +last JJ I +two CD I +hours NNS I +of IN O +trading NN B +, , O +the DT B +composite JJ I +almost RB O +drew VBD O +even RB O +on IN O +the DT B +day NN I +before IN O +slipping VBG O +again RB O +. . O + +The DT B +Nasdaq NNP I +Composite NNP I +closed VBD O +down RB O +1.05 CD B +, , O +or CC O +0.2 CD B +% NN I +, , O +to TO O +459.93 CD B +. . O + +The DT B +action NN I +was VBD O +confined VBN O +to TO O +Nasdaq NNP B +'s POS B +biggest JJS I +and CC I +most RBS I +liquid JJ I +stocks NNS I +, , O +traders NNS B +said VBD O +. . O + +The DT B +Nasdaq NNP I +100 CD I +Index NNP I +began VBD O +the DT B +day NN I +at IN O +449.89 CD B +, , O +lost VBD O +2 CD B +% NN I +at IN O +one CD B +point NN I +, , O +and CC O +was VBD O +up IN O +0.4 CD B +% NN I +at IN O +another DT B +. . O + +The DT B +barometer NN I +of IN O +the DT B +biggest JJS I +nonfinancial JJ I +stocks NNS I +settled VBD O +at IN O +448.49 CD B +, , O +off IN O +1.40 CD B +. . O + +Its PRP$ B +counterpart NN I +, , O +the DT B +Nasdaq NNP I +Financial NNP I +Index NNP I +, , O +was VBD O +weak JJ O +for IN O +most RBS B +of IN O +the DT B +day NN I +, , O +sliding VBG O +2.51 CD B +to TO O +453.57 CD B +by IN O +the DT B +end NN I +of IN O +trading NN B +. . O + +The DT B +volatility NN I +was VBD O +dizzying JJ O +for IN O +traders NNS B +. . O + +`` `` O +The DT B +market NN I +must MD O +have VB O +turned VBN O +up IN O +and CC O +down RB O +15 CD B +different JJ I +times NNS I +, , O +'' '' O +commented VBD O +Lance NNP B +Zipper NNP I +, , O +head NN B +of IN O +OTC NNP B +trading NN I +at IN O +Kidder NNP B +Peabody NNP I +. . O + +`` `` O +Every DT B +time NN I +you PRP B +thought VBD O +it PRP B +was VBD O +going VBG O +into IN O +a DT B +rally NN I +it PRP B +gave VBD O +up IN O +, , O +and CC O +every DT B +time NN I +you PRP B +thought VBD O +it PRP B +would MD O +rally VB O +it PRP B +came VBD O +down RB O +. . O + +This DT B +is VBZ O +a DT B +tough JJ I +market NN I +. . O +'' '' O + +Mr. NNP B +Zipper NNP I +said VBD O +the DT B +market NN I +is VBZ O +still RB O +settling VBG O +down RB O +after IN O +the DT B +recent JJ I +correction NN I +. . O + +Most JJS B +of IN O +trading NN B +action NN I +now RB O +is VBZ O +from IN O +professional JJ B +traders NNS I +who WP B +are VBP O +trying VBG O +to TO O +take VB O +advantage NN B +of IN O +the DT B +price NN I +swings NNS I +to TO O +turn VB O +a DT B +quick JJ I +profit NN I +, , O +he PRP B +and CC O +other JJ B +traders NNS I +said VBD O +. . O + +`` `` O +Everybody NN B +'s POS O +confused VBN O +and CC O +no DT B +one CD I +has VBZ O +an DT B +opinion NN I +that WDT B +lasts VBZ O +longer RB O +than IN O +30 CD B +seconds NNS I +, , O +'' '' O +said VBD O +Mr. NNP B +Zipper NNP I +. . O + +`` `` O +A DT B +lot NN I +of IN O +the DT B +professional JJ I +traders NNS I +are VBP O +just RB O +going VBG O +back RB O +and CC O +forth RB O +. . O + +They PRP B +'re VBP O +just RB O +as IN O +confused VBN O +. . O +'' '' O + +William NNP B +Rothe NNP I +, , O +head NN B +of IN O +OTC NNP B +trading NN I +at IN O +Alex NNP B +. . I +Brown NNP I +& CC I +Sons NNP I +, , O +in IN O +Baltimore NNP B +, , O +said VBD O +program NN B +trading NN I +is VBZ O +keeping VBG O +the DT B +markets NNS I +unsettled JJ O +. . O + +He PRP B +believes VBZ O +that IN O +the DT B +volatile JJ I +conditions NNS I +created VBN O +by IN O +program NN B +trading NN I +has VBZ O +`` `` O +thoroughly RB O +confused VBN O +'' '' O +investors NNS B +about IN O +where WRB O +the DT B +market NN I +is VBZ O +headed VBN O +. . O + +Program NN B +trading NN I +is VBZ O +`` `` O +benefiting VBG O +a DT B +few JJ I +to TO O +the DT B +detriment NN I +of IN O +many JJ B +and CC O +I PRP B +wish VBP O +someone NN B +would MD O +do VB O +something NN B +about IN O +it PRP B +, , O +'' '' O +he PRP B +complained VBD O +. . O + +Trading NN B +activity NN I +cooled VBN O +off IN O +from IN O +Monday NNP B +'s POS B +sizzling JJ I +pace NN I +. . O + +Share NN B +turnover NN I +subsided VBD O +to TO O +161.5 CD B +million CD I +. . O + +Advancing VBG B +and CC I +declining VBG I +issues NNS I +finished VBD O +about IN O +even RB O +. . O + +Of IN O +the DT B +4,345 CD I +stocks NNS I +that WDT B +changed VBD O +hands NNS B +, , O +1,174 CD B +declined VBD O +and CC O +1,040 CD B +advanced VBD O +. . O + +One CD B +big JJ I +technology NN I +issue NN I +, , O +Novell NNP B +, , O +rode VBD O +the DT B +roller NN I +coaster NN I +. . O + +The DT B +stock NN I +, , O +which WDT B +finished VBD O +Monday NNP B +at IN O +29 CD B +1\/2 CD I +, , O +traded VBD O +as RB O +high JJ O +as IN O +29 CD B +3\/4 CD I +and CC O +as RB O +low JJ O +as IN O +28 CD B +3\/4 CD I +before IN O +closing VBG O +at IN O +29 CD B +1\/4 CD I +, , O +down RB O +1\/4 CD B +. . O + +It PRP B +was VBD O +a DT B +jarring VBG I +day NN I +for IN O +investors NNS B +in IN O +Genetics NNP B +Institute NNP I +. . O + +The DT B +stock NN I +tumbled VBD O +2 CD B +3\/4 CD I +on IN O +news NN B +that IN O +it PRP B +might MD O +have VB O +to TO O +take VB O +a DT B +charge NN I +against IN O +earnings NNS B +if IN O +it PRP B +ca MD O +n't RB O +successfully RB O +resolve VB O +a DT B +dispute NN I +with IN O +its PRP$ B +European JJ I +licensee NN I +, , O +Boehringer NNP B +Mannheim NNP I +, , O +over IN O +its PRP$ B +anti-anemia NN I +drug NN I +, , O +EPO NNP B +. . O + +The DT B +stock NN I +recovered VBD O +somewhat RB O +to TO O +finish VB O +1 CD B +1\/4 CD I +lower JJR O +at IN O +26 CD B +1\/4 CD I +. . O + +In IN O +a DT B +statement NN I +, , O +Genetics NNP B +Institute NNP I +said VBD O +the DT B +dispute NN I +with IN O +Boehringer NNP B +centers NNS O +on IN O +questions NNS B +of IN O +the DT B +usability NN I +of IN O +certain JJ B +batches NNS I +of IN O +EPO NNP B +material NN I +valued VBN O +at IN O +$ $ B +13.6 CD I +million CD I +. . O + +Earlier RBR O +this DT B +week NN I +, , O +Genetics NNP B +Institute NNP I +reported VBD O +wider JJR B +losses NNS I +in IN O +its PRP$ B +fiscal JJ I +third JJ I +quarter NN I +ended VBN O +Aug. NNP B +31 CD I +. . O + +Price NNP B +Co. NNP I +jumped VBD O +2 CD B +1\/4 CD I +to TO O +44 CD B +on IN O +1.7 CD B +million CD I +shares NNS I +. . O + +The DT B +wholesaler NN I +of IN O +cash NN B +and CC I +carry VB I +merchandise NN I +reported VBD O +fiscal JJ B +fourthquarter NN I +earnings NNS I +that WDT B +were VBD O +better JJR O +than IN O +analysts NNS B +had VBD O +expected VBN O +. . O + +The DT B +company NN I +also RB O +pleased VBD O +analysts NNS B +by IN O +announcing VBG O +four CD B +new JJ I +store NN I +openings NNS I +planned VBN O +for IN O +fiscal JJ B +1990 CD I +, , O +ending VBG O +next JJ B +August NNP I +. . O + +That DT B +will MD O +bring VB O +the DT B +total NN I +for IN O +the DT B +year NN I +to TO O +10 CD B +, , O +from IN O +five CD B +during IN O +fiscal JJ B +1989 CD I +. . O + +`` `` O +Every DT B +year NN I +we PRP B +'ve VBP O +been VBN O +waiting VBG O +for IN O +stepped-up JJ B +expansion NN I +from IN O +the DT B +company NN I +. . O + +The DT B +news NN I +could MD O +n't RB O +have VB O +been VBN O +better JJR O +, , O +'' '' O +said VBD O +Linda NNP B +Kristiansen NNP I +, , O +a DT B +Dean NNP I +Witter NNP I +Reynolds NNP I +analyst NN I +, , O +in IN O +an DT B +interview NN I +. . O + +Intermec NNP B +, , O +a DT B +maker NN I +of IN O +optical JJ B +character-recognition NN I +devices NNS I +, , O +also RB O +reported VBD O +higher JJR B +third-quarter JJ I +earnings NNS I +. . O + +Its PRP$ B +shares NNS I +added VBD O +3\/4 CD B +to TO O +30 CD B +3\/4 CD I +. . O + +But CC O +favorable JJ B +earnings NNS I +was VBD O +n't RB O +a DT B +guarantee NN I +that IN O +a DT B +stock NN I +'s POS B +price NN I +would MD O +improve VB O +yesterday NN B +. . O + +MCI NNP B +Communications NNPS I +tumbled VBD O +2 CD B +5\/8 CD I +to TO O +42 CD B +3\/8 CD I +on IN O +4.7 CD B +million CD I +shares NNS I +even RB O +though IN O +the DT B +telecommunications NNS I +giant NN I +reported VBD O +a DT B +63 CD I +% NN I +increase NN I +in IN O +third-quarter JJ B +profit NN I +. . O + +CoreStates NNP B +Financial NNP I +slipped VBD O +3\/8 CD B +to TO O +43 CD B +1\/8 CD I +in IN O +active JJ B +trading NN I +after IN O +reporting VBG O +that IN O +third-quarter JJ B +earnings NNS I +improved VBN O +to TO O +$ $ B +1.27 CD I +a DT B +share NN I +from IN O +$ $ B +1.15 CD I +a DT B +share NN I +a DT B +year NN I +earlier RBR O +. . O + +However RB O +, , O +the DT B +bank NN I +holding VBG I +company NN I +'s POS B +loan-loss NN I +reserves NNS I +rose VBD O +to TO O +$ $ B +177.3 CD I +million CD I +from IN O +$ $ B +154 CD I +million CD I +a DT B +year NN I +earlier RBR O +. . O + +A&W NNP B +Brands NNP I +lost VBD O +1\/4 CD B +to TO O +27 CD B +. . O + +But CC O +its PRP$ B +thirdquarter JJ I +earnings NNS I +rose VBD O +to TO O +26 CD B +cents NNS I +a DT B +share NN I +from IN O +18 CD B +cents NNS I +a DT B +share NN I +last JJ B +year NN I +. . O + +Capital NNP B +Associates NNPS I +dropped VBD O +1 CD B +to TO O +5 VB B +3\/8 CD I +. . O + +The DT B +company NN I +, , O +which WDT B +leases VBZ O +technology NN B +equipment NN I +, , O +reported VBD O +substantially RB B +lower JJR I +net JJ I +income NN I +for IN O +its PRP$ B +fiscal JJ I +first JJ I +quarter NN I +, , O +which WDT B +ended VBN O +Aug. NNP B +31 CD I +. . O + +Robert NNP B +M. NNP I +Jelenic NNP I +, , O +39 CD B +, , O +was VBD O +named VBN O +president NN B +and CC O +chief JJ B +operating VBG I +officer NN I +of IN O +this DT B +closely RB I +held VBN I +publisher NN I +. . O + +The DT B +post NN I +had VBD O +been VBN O +vacant JJ O +for IN O +more JJR B +than IN I +a DT I +year NN I +. . O + +Mr. NNP B +Jelenic NNP I +had VBD O +been VBN O +executive JJ B +vice NN I +president NN I +for IN O +operations NNS B +. . O + +In IN O +addition NN B +, , O +Ralph NNP B +Ingersoll NNP I +II NNP I +, , O +43 CD B +, , O +chairman NN B +and CC O +chief JJ B +executive NN I +, , O +said VBD O +he PRP B +would MD O +take VB O +on IN O +additional JJ B +responsibilities NNS I +as IN O +editor NN B +in IN O +chief NN B +of IN O +the DT B +company NN I +. . O + +John NNP B +Wilpers NNP I +resigned VBD O +as IN O +editor NN B +in IN O +chief NN B +. . O + +Mr. NNP B +Ingersoll NNP I +remains VBZ O +editor NN B +in IN O +chief NN B +of IN O +the DT B +company NN I +'s POS B +recently RB I +launched VBN I +daily JJ I +, , O +the DT B +St. NNP I +Louis NNP I +Sun NNP I +. . O + +Also RB O +, , O +Jean NNP B +B. NNP I +Clifton NNP I +, , O +28 CD B +, , O +was VBD O +named VBN O +executive JJ B +vice NN I +president NN I +, , O +treasurer NN B +and CC O +chief JJ B +financial JJ I +officer NN I +. . O + +Michael NNP B +Applebaum NNP I +resigned VBD O +after IN O +less JJR B +than IN I +a DT I +year NN I +in IN O +the DT B +posts NNS I +. . O + +Ms. NNP B +Clifton NNP I +had VBD O +been VBN O +executive NN B +financial JJ I +assistant NN I +to TO O +the DT B +chairman NN I +. . O + +Certainly RB O +conservative JJ B +environmentalists NNS I +can MD O +defend VB O +their PRP$ B +limited JJ I +government NN I +position NN I +by IN O +differentiating VBG O +between IN O +Old NNP B +Environmentalism NNP I +and CC O +New NNP B +Environmentalism NNP I +-LRB- ( O +`` `` O +Journalists NNS B +and CC I +Others NNS I +for IN O +Saving VBG O +the DT B +Planet NNP I +, , O +'' '' O +by IN O +David NNP B +Brooks NNP I +, , O +editorial NN B +page NN I +, , O +Oct. NNP B +5 NN I +-RRB- ) O +. . O + +Old NNP B +Environmentalism NNP I +involved VBD O +microbe NN B +hunters NNS I +and CC O +sanitationists NNS B +. . O + +It PRP B +started VBD O +with IN O +improvements NNS B +in IN O +hygiene NN B +made VBD O +possible JJ O +by IN O +affordable JJ B +soap NN I +and CC O +washable JJ B +underwear NN I +during IN O +the DT B +Industrial NNP I +Revolution NNP I +. . O + +Then RB O +cast-iron NN B +sewer NN I +pipe NN I +and CC O +the DT B +flush JJ I +toilet NN I +were VBD O +followed VBN O +by IN O +sewage NN B +- : I +and CC I +water-treatment NN I +plants NNS I +toward IN O +the DT B +end NN I +of IN O +the DT B +19th JJ I +century NN I +. . O + +Medicine NNP B +in IN O +the DT B +19th JJ I +century NN I +was VBD O +dedicated VBN O +mostly RB O +to TO O +combating VBG O +sepsis NN B +and CC O +diagnostic JJ B +analysis NN I +. . O + +Then RB O +the DT B +20th JJ I +century NN I +saw VBD O +the DT B +evolution NN I +of IN O +private-sector JJ B +wonder NN I +drugs NNS I +, , O +which WDT B +promulgated VBD O +medical JJ B +therapy NN I +. . O + +The DT B +process NN I +dramatically RB O +increased VBD O +our PRP$ B +average JJ I +life NN I +expectancy NN I +, , O +eliminated VBN O +much JJ B +pain NN I +and CC O +constantly RB O +improved VBN O +health NN B +and CC I +well-being NN I +. . O + +Most JJS B +public-health JJ I +measures NNS I +were VBD O +handled VBN O +at IN O +the DT B +local JJ I +level NN I +. . O + +New NNP B +Environmentalism NNP I +probably RB O +started VBD O +in IN O +1962 CD B +with IN O +the DT B +publication NN I +of IN O +Rachel NNP B +Carson NNP I +'s POS B +book NN I +`` `` O +Silent NNP B +Spring NNP I +. . O +'' '' O + +Shortly RB O +thereafter RB O +, , O +hysterical JJ B +articles NNS I +began VBD O +to TO O +appear VB O +predicting VBG O +that WDT O +advanced VBD B +industrial JJ I +societies NNS I +would MD O +produce VB O +a DT B +blackened VBN I +, , I +uninhabitable JJ I +planet NN I +possibly RB O +by IN O +the DT B +turn NN I +of IN O +the DT B +century NN I +. . O + +These DT B +apocalyptic JJ I +predictions NNS I +were VBD O +advanced VBN O +by IN O +such JJ B +stalwarts NNS I +as IN O +Paul NNP B +Ehrlich NNP I +, , O +Barry NNP B +Commoner NNP I +, , O +Rene NNP B +Dubois NNP I +and CC O +George NNP B +Wald NNP I +. . O + +Writing VBG O +in IN O +the DT B +1960s CD I +Ms. NNP B +Carson NNP I +suggested VBD O +that IN O +the DT B +human JJ I +race NN I +could MD O +be VB O +eliminated VBN O +in IN O +20 CD B +years NNS I +, , O +and CC O +Mr. NNP B +Wald NNP I +suggested VBD O +that DT O +life NN B +on IN O +earth NN B +might MD O +end VB O +by IN O +1985 CD B +. . O + +Mr. NNP B +Ehrlich NNP I +predicted VBD O +unprecedented JJ B +famine NN I +by IN O +1980 CD B +. . O + +There EX B +were VBD O +many RB B +more JJR I +. . O + +Thousands NNS B +of IN O +chemical NN B +products NNS I +were VBD O +categorized VBN O +as IN O +carcinogenic JJ O +, , O +with IN O +recommendations NNS B +that IN O +they PRP B +be VBP O +banned VBN O +from IN O +industrial JJ B +use NN I +because IN O +they PRP B +produced VBD O +malignant JJ B +tumors NNS I +in IN O +overdosed VBN B +rats NNS I +. . O + +Unknown JJ O +before IN O +1960 CD B +were VBD O +the DT B +inconclusive JJ I +effects NNS I +of IN O +acid NN B +rain NN I +, , O +greenhouse NN B +warming NN I +and CC O +ozone NN B +depletion NN I +, , O +all DT O +of IN O +which WDT B +required VBD O +burgeoning VBG B +political JJ I +power NN I +and CC O +gargantuan JJ B +expense NN I +. . O + +Meanwhile RB O +, , O +the DT B +New NNP I +Environmentalists NNS I +systematically RB O +opposed VBN O +the DT B +methods NNS I +of IN O +the DT B +Old NNP I +Environmentalists NNS I +. . O + +Local JJ B +pollution NN I +problems NNS I +require VBP O +cheap JJ B +energy NN I +and CC O +capital NN B +for IN O +their PRP$ B +solution NN I +. . O + +But CC O +the DT B +New NNP I +Environmentalists NNS I +oppose VBP O +private JJ B +wealth NN I +creation NN I +-LRB- ( O +which WDT B +, , O +they PRP B +claim VBP O +, , O +depletes VBZ O +natural JJ B +resources NNS I +-RRB- ) O +and CC O +nuclear JJ B +power NN I +-LRB- ( O +even RB O +though IN O +it PRP B +would MD O +counteract VB O +the DT B +greenhouse NN I +effect NN I +-RRB- ) O +. . O + +They PRP B +are VBP O +in IN O +the DT B +forefront NN I +of IN O +opposing VBG O +the DT B +search NN I +for IN O +new JJ B +landfills NNS I +and CC I +methods NNS I +of IN O +incineration NN B +and CC O +even RB O +oppose VB O +new JJ B +methods NNS I +of IN O +research NN B +such JJ O +as IN O +genetic JJ B +engineering NN I +. . O + +New NNP B +Environmentalism NNP I +is VBZ O +an DT B +emotional JJ I +attack NN I +on IN O +proven VBN B +methods NNS I +of IN O +improving VBG O +our PRP$ B +quality NN I +of IN O +life NN B +and CC O +a DT B +bid NN I +for IN O +political JJ B +power NN I +. . O + +Let VB O +'s POS B +rationalize VB O +our PRP$ B +priorities NNS I +by IN O +solving VBG O +pollution NN B +problems NNS I +at IN O +the DT B +local JJ I +level NN I +as IN O +heretofore RB O +. . O + +Harry NNP B +Lee NNP I +Smith NNP I +Alpharetta NNP B +, , O +Ga NNP B +. . O + +Your PRP$ B +story NN I +missed VBD O +some DT B +essential JJ I +points NNS I +of IN O +the DT B +conference NN I +on IN O +`` `` O +The DT B +Global NNP I +Environment NNP I +: : O +Are VBP O +We PRP B +Overreacting VBG O +? . O +'' '' O + +First NNP O +and CC O +foremost JJ O +, , O +the DT B +vignettes NNS I +presented VBN O +by IN O +the DT B +various JJ I +scientists NNS I +represent VBP O +a DT B +general JJ I +consensus NN I +among IN O +specialists NNS B +working VBG O +in IN O +the DT B +respective JJ I +aspects NNS I +of IN O +the DT B +global JJ I +environment NN I +. . O + +Consider VB O +, , O +for IN O +example NN B +, , O +the DT B +greenhouse NN I +effect NN I +and CC O +climate NN B +change NN I +; : O +numerous JJ B +blue-ribbon JJ I +scientific JJ I +committees NNS I +, , O +including VBG O +one CD B +from IN O +the DT B +National NNP I +Academy NNP I +of IN O +Science NNP B +, , O +judge NN O +there EX B +is VBZ O +a DT B +greater JJR I +than IN I +50 CD I +% NN I +probability NN I +of IN O +a DT B +grave JJ I +problem NN I +in IN O +the DT B +offing NN I +. . O + +The DT B +point NN I +was VBD O +to TO O +answer VB O +the DT B +question NN I +in IN O +the DT B +conference NN I +title NN I +, , O +not RB O +to TO O +try VB O +to TO O +create VB O +news NN B +stories NNS I +for IN O +the DT B +event NN I +itself PRP I +. . O + +Nor CC O +was VBD O +it PRP B +intended VBD O +to TO O +dictate VB O +a DT B +set NN I +of IN O +prescriptive JJ B +solutions NNS I +, , O +although IN O +various JJ B +points NNS I +were VBD O +raised VBN O +. . O + +Each DT B +speaker NN I +was VBD O +asked VBN O +to TO O +address VB O +a DT B +specific JJ I +topic NN I +, , O +not RB O +deliver VB O +a DT B +point NN I +of IN O +view NN B +. . O + +Each DT B +scientist NN I +independently RB O +concluded VBD O +society NN B +and CC I +government NN I +are VBP O +underreacting VBG O +when WRB O +it PRP B +comes VBZ O +to TO O +substantive JJ B +policy NN I +change NN I +. . O + +This DT B +leads VBZ O +to TO O +a DT B +very RB I +special JJ I +sense NN I +of IN O +urgency NN B +. . O + +If IN O +the DT B +media NNS I +decide VBP O +to TO O +work VB O +harder JJR O +at IN O +educating VBG O +the DT B +public NN I +about IN O +these DT B +complex JJ I +and CC I +technical JJ I +issues NNS I +, , O +that IN B +hardly RB O +can MD O +be VB O +termed VBN O +non-objective JJ B +journalism NN I +. . O + +The DT B +environment NN I +can MD O +no RB O +longer RB O +be VB O +a DT B +normal JJ I +issue NN I +, , O +to TO O +be VB O +dealt VBN O +with IN O +on IN O +a DT B +business-as-usual JJ I +basis NN I +with IN O +comfortable JJ B +increments NNS I +of IN O +change NN B +. . O + +We PRP B +have VBP O +literally RB O +altered VBN O +the DT B +chemistry NN I +and CC I +physics NN I +of IN O +our PRP$ B +planet NN I +'s POS B +atmosphere NN I +. . O + +This DT B +portends VBZ O +consequences NNS B +from IN O +what WP B +we PRP B +have VBP O +already RB O +done VBN O +that WDT B +will MD O +be VB O +very RB O +destabilizing VBG O +to TO O +social JJ B +and CC I +economic JJ I +systems NNS I +. . O + +The DT B +problems NNS I +of IN O +the DT B +environment NN I +are VBP O +so RB O +interrelated VBN O +, , O +so RB O +inextricably RB O +entwined VBN O +with IN O +our PRP$ B +current JJ I +way NN I +of IN O +life NN B +and CC O +so RB O +large JJ O +that IN O +it PRP B +is VBZ O +unlikely JJ O +we PRP B +will MD O +be VB O +able JJ O +to TO O +address VB O +them PRP B +effectively RB O +unless IN O +major JJ B +changes NNS I +are VBP O +made VBN O +in IN O +less JJR B +than IN I +10 CD I +years NNS I +. . O + +The DT B +consensus NN I +from IN O +the DT B +scientific JJ I +community NN I +is VBZ O +that IN O +there EX B +is VBZ O +sufficient JJ B +evidence NN I +to TO O +advise VB O +major JJ B +policy NN I +changes NNS I +. . O + +No DT O +, , O +we PRP B +are VBP O +not RB O +overreacting VBG O +. . O + +Thomas NNP B +E. NNP I +Lovejoy NNP I +Assistant NNP B +Secretary NNP I +for IN O +External NNP B +Affairs NNP I +Smithsonian NNP B +Institution NNP I + +Coca-Cola NNP B +Enterprises NNPS I +Inc. NNP I +, , O +fulfilling VBG O +its PRP$ B +dismal JJ I +earnings NNS I +forecast NN I +for IN O +1989 CD B +, , O +said VBD O +its PRP$ B +third-quarter JJ I +net JJ I +income NN I +fell VBD O +68 CD B +% NN I +on IN O +flat JJ B +revenue NN I +. . O + +Stung VBN O +by IN O +higher JJR B +marketing NN I +costs NNS I +and CC O +slowing VBG B +volume NN I +growth NN I +, , O +the DT B +giant NN I +Coke NNP I +bottling NN I +operation NN I +said VBD O +net NN B +fell VBD O +to TO O +$ $ B +12.7 CD I +million CD I +, , O +or CC O +six CD B +cents NNS I +a DT B +share NN I +, , O +from IN O +$ $ B +39.9 CD I +million CD I +, , O +or CC O +26 CD B +cents NNS I +a DT B +share NN I +, , O +the DT B +year NN I +earlier RBR O +. . O + +The DT B +results NNS I +met VBD O +estimates NNS B +of IN O +analysts NNS B +, , O +who WP B +had VBD O +already RB O +slashed VBN O +their PRP$ B +projections NNS I +after IN O +the DT B +company NN I +said VBD O +in IN O +late JJ B +August NNP I +that IN O +its PRP$ B +1989 CD I +earnings NNS I +could MD O +tumble VB O +as RB B +much JJ I +as IN I +37 CD I +% NN I +. . O + +A DT B +company NN I +spokesman NN I +said VBD O +yesterday NN B +that IN O +Coca-Cola NNP B +Enterprises NNPS I +sticks NNS O +by IN O +its PRP$ B +1989 CD I +forecast NN I +. . O + +Third-quarter JJ B +revenue NN I +was VBD O +flat JJ O +at IN O +$ $ B +1.02 CD I +billion CD I +. . O + +The DT B +year-ago JJ I +results NNS I +, , O +however RB O +, , O +included VBD O +the DT B +operations NNS I +of IN O +a DT B +bottling NN I +business NN I +, , O +which WDT B +was VBD O +sold VBN O +last JJ B +December NNP I +. . O + +Excluding VBG O +that DT B +bottling NN I +business NN I +, , O +Coca-Cola NNP B +Enterprises NNPS I +' POS B +volume NN I +, , O +measured VBN O +by IN O +cases NNS B +of IN O +soda NN B +, , O +rose VBD O +only RB B +1 CD I +% NN I +. . O + +The DT B +volume NN I +is VBZ O +well RB O +below IN O +the DT B +industry NN I +'s POS B +4 CD I +% NN I +to TO I +5 VB I +% NN I +growth NN I +rate NN I +of IN O +recent JJ B +years NNS I +, , O +but CC O +in IN O +line NN B +with IN O +other JJ B +soft-drink NN I +companies NNS I +for IN O +the DT B +third JJ I +quarter NN I +. . O + +The DT B +latest JJS I +third-quarter JJ I +volume NN I +also RB O +compares VBZ O +with IN O +a DT B +very RB I +strong JJ I +10 CD I +% NN I +growth NN I +in IN O +the DT B +year-ago JJ I +quarter NN I +. . O + +Coca-Cola NNP B +Enterprises NNPS I +blamed VBD O +the DT B +lower JJR I +volume NN I +on IN O +its PRP$ B +soft-drink NN I +prices NNS I +, , O +which WDT B +were VBD O +about IN O +3 CD O +% NN O +higher JJR O +in IN O +the DT B +third JJ I +quarter NN I +. . O + +Consumers NNS B +have VBP O +been VBN O +accustomed VBN O +to TO O +buying VBG O +soft-drinks NNS B +at IN O +discounted VBN B +prices NNS I +for IN O +several JJ B +years NNS I +. . O + +Coca-Cola NNP B +Enterprises NNPS I +said VBD O +it PRP B +had VBD O +to TO O +boost VB O +spending NN B +for IN O +trade NN B +and CC I +dealer NN I +incentives NNS I +to TO O +try VB O +to TO O +keep VB O +volumes NNS B +from IN O +slipping VBG O +. . O + +The DT B +company NN I +said VBD O +it PRP B +expects VBZ O +consumers NNS B +will MD O +adjust VB O +to TO O +higher-priced JJ B +soft JJ I +drinks NNS I +. . O + +A DT B +spokesman NN I +attributed VBD O +the DT B +bulk NN I +of IN O +a DT B +14 CD I +% NN I +increase NN I +in IN O +selling VBG B +, , I +administrative JJ I +and CC I +general JJ I +expenses NNS I +-- : O +to TO O +$ $ B +324.9 CD I +million CD I +-- : O +to TO O +marketing NN B +costs NNS I +. . O + +`` `` O +They PRP B +'re VBP O +out IN O +there RB B +promoting VBG O +like IN O +crazy JJ O +, , O +trying VBG O +to TO O +get VB O +prices NNS B +up IN O +by IN O +promotion NN B +, , O +'' '' O +said VBD O +Roy NNP B +Burry NNP I +, , O +an DT B +analyst NN I +with IN O +Kidder NNP B +, , I +Peabody NNP I +& CC I +Co NNP I +. . O + +For IN O +the DT B +nine CD I +months NNS I +, , O +Coca-Cola NNP B +Enterprises NNPS I +' POS B +net NN I +fell VBD O +31 CD B +% NN I +to TO O +$ $ B +65 CD I +million CD I +, , O +or CC O +39 CD B +cents NNS I +a DT B +share NN I +, , O +from IN O +$ $ B +93.8 CD I +million CD I +, , O +or CC O +63 CD B +cents NNS I +a DT B +share NN I +. . O + +Revenue NN B +was VBD O +flat JJ O +at IN O +about RB B +$ $ I +2.97 CD I +billion CD I +. . O + +Coca-Cola NNP B +Enterprises NNPS I +, , O +which WDT B +is VBZ O +49%-owned JJ O +by IN O +Coca-Cola NNP B +Co. NNP I +, , O +also RB O +said VBD O +it PRP B +repurchased VBD O +about IN B +1.2 CD I +million CD I +of IN O +its PRP$ B +common JJ I +shares NNS I +during IN O +the DT B +third JJ I +quarter NN I +. . O + +The DT B +buy-back NN I +is VBZ O +part NN B +of IN O +a DT B +25-million-share JJ I +repurchase NN I +plan NN I +, , O +under IN O +which WDT B +Coca-Cola NNP B +Enterprises NNPS I +so RB O +far RB O +has VBZ O +acquired VBN O +a DT B +total NN I +of IN O +9.7 CD B +million CD I +shares NNS I +. . O + +Separately RB O +, , O +Purchase NNP B +, , I +N.Y.-based JJ I +PepsiCo NNP I +Inc. NNP I +, , O +as IN O +expected VBN O +, , O +said VBD O +fiscal JJ B +third-quarter JJ I +net NN I +rose VBD O +11 CD B +% NN I +to TO O +$ $ B +269.3 CD I +million CD I +, , O +or CC O +$ $ B +1.02 CD I +a DT B +share NN I +, , O +from IN O +$ $ B +241.6 CD I +million CD I +, , O +or CC O +91 CD B +cents NNS I +a DT B +share NN I +. . O + +Sales NNS B +rose VBD O +25 CD B +% NN I +to TO O +$ $ B +3.90 CD I +billion CD I +from IN O +$ $ B +3.13 CD I +billion CD I +. . O + +The DT B +year-ago JJ I +quarter NN I +'s POS B +results NNS I +include VBP O +an DT B +after-tax JJ I +charge NN I +of IN O +$ $ B +5.9 CD I +million CD I +from IN O +the DT B +sale NN I +of IN O +a DT B +winery NN I +in IN O +Spain NNP B +. . O + +In IN O +composite JJ B +trading NN I +on IN O +the DT B +New NNP I +York NNP I +Stock NNP I +Exchange NNP I +, , O +Coca-Cola NNP B +Enterprises NNPS I +closed VBD O +at IN O +$ $ B +16.375 CD I +a DT B +share NN I +, , O +down RB O +62.5 CD B +cents NNS I +. . O + +PepsiCo NNP B +closed VBD O +at IN O +$ $ B +58.50 CD I +a DT B +share NN I +, , O +up IN O +$ $ B +1.375 CD I +. . O + +L.J. NNP B +Hooker NNP I +Corp. NNP I +is VBZ O +expected VBN O +to TO O +reach VB O +an DT B +agreement NN I +in IN O +principle NN B +this DT B +week NN I +to TO O +sell VB O +Merksamer NNP B +Jewelers NNP I +Inc. NNP I +to TO O +management NN B +, , O +say VBP O +executives NNS B +familiar JJ O +with IN O +the DT B +talks NNS I +. . O + +L.J. NNP B +Hooker NNP I +, , O +based VBN O +in IN O +Atlanta NNP B +, , O +filed VBN O +for IN O +Chapter NN B +11 CD I +bankruptcy NN I +protection NN I +earlier RBR O +this DT B +year NN I +. . O + +Currently RB O +, , O +its PRP$ B +parent NN I +company NN I +, , O +Hooker NNP B +Corp. NNP I +of IN O +Sydney NNP B +, , O +Australia NNP B +, , O +is VBZ O +being VBG O +managed VBN O +by IN O +a DT B +court-appointed JJ I +liquidator NN I +. . O + +It PRP B +is VBZ O +expected VBN O +that IN O +GE NNP B +Capital NNP I +Corp. NNP I +, , O +a DT B +financial-services NNS I +subsidiary NN I +of IN O +General NNP B +Electric NNP I +Co. NNP I +, , O +will MD O +provide VB O +much NN O +of IN O +the DT B +funding NN I +for IN O +the DT B +proposed VBN I +leveraged JJ I +buy-out NN I +of IN O +Merksamer NNP B +, , O +based VBN O +in IN O +Sacramento NNP B +, , O +Calif NNP B +. . O + +A DT B +spokesman NN I +for IN O +GE NNP B +Capital NNP I +declined VBD O +to TO O +comment VB O +. . O + +GE NNP B +Capital NNP I +has VBZ O +a DT B +working VBG I +relationship NN I +with IN O +L.J. NNP B +Hooker NNP I +. . O + +It PRP B +is VBZ O +providing VBG O +$ $ B +50 CD I +million CD I +in IN O +emergency NN B +financing NN I +to TO O +the DT B +company NN I +and CC O +has VBZ O +agreed VBN O +to TO O +buy VB O +as RB B +much JJ I +as IN O +$ $ B +75 CD I +million CD I +in IN O +receivables NN B +from IN O +B. NNP B +Altman NNP I +& CC I +Co. NNP I +and CC O +Bonwit NNP B +Teller NNP I +, , O +L.J. NNP B +Hooker NNP I +'s POS B +two CD I +fully RB I +owned VBN I +department-store NN I +chains NNS I +. . O + +Sam NNP B +Merksamer NNP I +, , O +chief JJ B +executive JJ I +officer NN I +of IN O +the DT B +nationwide JJ I +jewelry NN I +chain NN I +, , O +and CC O +Sanford NNP B +Sigoloff NNP I +, , O +chief JJ B +executive NN I +of IN O +L.J. NNP B +Hooker NNP I +Corp. NNP I +, , O +both DT B +declined VBD O +to TO O +comment VB O +. . O + +Currently RB O +, , O +Mr. NNP B +Merksamer NNP I +owns VBZ O +20 CD B +% NN I +of IN O +the DT B +company NN I +; : O +L.J. NNP B +Hooker NNP I +acquired VBD O +its PRP$ B +80 CD I +% NN I +interest NN I +in IN O +the DT B +firm NN I +in IN O +May NNP B +1986 CD I +. . O + +At IN O +the DT B +time NN I +, , O +the DT B +Merksamer NNP I +chain NN I +had VBD O +11 CD B +stores NNS I +in IN O +operation NN B +. . O + +Today NN B +, , O +there EX B +are VBP O +77 CD B +units NNS I +, , O +all DT B +located VBN O +in IN O +shopping NN B +malls NNS I +. . O + +In IN O +recent JJ B +weeks NNS I +Mr. NNP B +Merksamer NNP I +has VBZ O +approached VBN O +a DT B +number NN I +of IN O +his PRP$ B +suppliers NNS I +and CC O +asked VBD O +them PRP B +to TO O +provide VB O +letters NNS B +of IN O +intent NN B +saying VBG O +they PRP B +will MD O +continue VB O +shipping VBG O +merchandise NN B +to TO O +the DT B +chain NN I +following VBG O +the DT B +buy-out NN I +, , O +say VBP O +those DT B +familiar NN O +with IN O +the DT B +situation NN I +. . O + +This DT B +year NN I +, , O +a DT B +number NN I +of IN O +retail JJ B +leveraged JJ I +buyouts NNS I +have VBP O +failed VBN O +, , O +causing VBG O +jitters NNS B +among IN O +suppliers NNS B +, , O +and CC O +Mr. NNP B +Merksamer NNP I +apparently RB O +wanted VBD O +assurances NNS B +that IN O +he PRP B +wo MD O +n't RB O +have VB O +delivery NN B +problems NNS I +. . O + +For IN O +the DT B +year NN I +ended VBN O +June NNP B +30 CD I +, , I +1989 CD I +, , O +Merksamer NNP B +Jewelers NNPS I +had VBD O +$ $ B +62 CD I +million CD I +of IN O +revenue NN B +and CC O +operating VBG B +profit NN I +of IN O +$ $ B +2.5 CD I +million CD I +. . O + +The DT B +jewelery NN I +chain NN I +was VBD O +put VBN O +up IN O +for IN O +sale NN B +in IN O +June NNP B +. . O + +According VBG O +to TO O +those DT B +familiar NN O +with IN O +the DT B +situation NN I +, , O +other JJ B +bidders NNS I +included VBD O +Ratners NNP B +Group NNP I +PLC NNP I +of IN O +London NNP B +and CC O +Kay NNP B +Jewelers NNP I +Inc NNP I +. . O + +First NNP B +Boston NNP I +Corp. NNP I +is VBZ O +advising VBG O +L.J. NNP B +Hooker NNP I +on IN O +the DT B +sale NN I +of IN O +the DT B +Merksamer NNP I +business NN I +. . O + +Merksamer NNP B +was VBD O +the DT B +first JJ I +in IN O +a DT B +series NN I +of IN O +retail JJ B +acquisitions NNS I +made VBN O +by IN O +L.J. NNP B +Hooker NNP I +. . O + +The DT B +company NN I +was VBD O +founded VBN O +in IN O +Sacramento NNP B +in IN O +1929 CD B +by IN O +two CD B +brothers NNS I +, , O +Ralph NNP B +and CC I +Walter NNP I +Merksamer NNP I +, , O +who WP B +operated VBD O +as IN O +DeVon NNP B +'s POS B +Jewelers NNPS I +. . O + +In IN O +1979 CD B +, , O +the DT B +pair NN I +split NN O +the DT B +company NN I +in IN O +half NN B +, , O +with IN O +Walter NNP B +and CC O +his PRP$ B +son NN I +, , O +Sam NNP B +, , O +agreeing VBG O +to TO O +operate VB O +under IN O +the DT B +Merksamer NNP I +Jewelery NNP I +name NN I +. . O + +The DT B +sale NN I +of IN O +Merksamer NNP B +Jewelers NNPS I +is VBZ O +subject NN O +to TO O +approval NN B +by IN O +Judge NNP B +Tina NNP I +Brozman NNP I +of IN O +U.S. NNP B +Bankruptcy NNP I +Court NNP I +. . O + +As IN O +earlier RBR O +reported VBD O +, , O +L.J. NNP B +Hooker NNP I +this DT B +week NN I +received VBD O +a DT B +$ $ I +409 CD I +million CD I +bid NN I +for IN O +its PRP$ B +three CD I +shopping NN I +malls NNS I +, , O +plus CC O +other JJ B +properties NNS I +from IN O +a DT B +consortium NN I +led VBN O +by IN O +Honolulu NNP B +real-estate NN I +investor NN I +Jay NNP I +Shidler NNP I +and CC O +A. NNP B +Boyd NNP I +Simpson NNP I +, , O +an DT B +Atlanta NNP I +developer NN I +and CC O +former JJ B +L.J. NNP I +Hooker NNP I +senior JJ I +executive NN I +. . O + +The DT B +offer NN I +, , O +which WDT B +did VBD O +n't RB O +include VB O +the DT B +Merksamer NNP I +chain NN I +, , O +is VBZ O +being VBG O +reviewed VBN O +by IN O +Mr. NNP B +Sigoloff NNP I +. . O + +Robert NNP B +J. NNP I +Regal NNP I +was VBD O +named VBN O +president NN B +and CC O +chief JJ B +executive JJ I +officer NN I +of IN O +this DT B +company NN I +'s POS B +Universal-Rundle NNP I +Corp. NNP I +unit NN I +. . O + +Mr. NNP B +Regal NNP I +had VBD O +been VBN O +president NN B +and CC O +chief JJ B +executive NN I +of IN O +RBS NNP B +Industries NNP I +Inc NNP I +. . O + +Robert NNP B +H. NNP I +Carlson NNP I +, , O +previous JJ B +president NN I +and CC I +chief JJ I +executive NN I +of IN O +Universal-Rundle NNP B +, , O +will MD O +assume VB O +the DT B +title NN I +of IN O +chairman NN B +of IN O +the DT B +unit NN I +, , O +a DT B +vitreous-china NN I +maker NN I +. . O + +The DT B +days NNS I +may MD O +be VB O +numbered VBN O +for IN O +animated JJ B +shows NNS I +featuring VBG O +Alf NNP B +, , O +the DT B +Karate NNP I +Kid NNP I +and CC O +the DT B +Chipmunks NNPS I +. . O + +NBC NNP B +, , O +a DT B +leader NN I +in IN O +morning NN B +, , I +prime-time JJ I +and CC I +late JJ I +night NN I +programs NNS I +but CC O +an DT B +also-ran NN I +on IN O +Saturday NNP B +mornings NNS I +, , O +when WRB O +children NNS B +rule VBP O +the DT B +TV NN I +set VBN I +, , O +is VBZ O +contemplating VBG O +getting VBG O +out IN O +of IN O +the DT B +cartoon NN I +business NN I +. . O + +Instead RB O +, , O +network NN B +officials NNS I +say VBP O +, , O +it PRP B +may MD O +`` `` O +counterprogram VB O +'' '' O +with IN O +shows VBZ B +for IN O +an DT B +audience NN I +that WDT B +is VBZ O +virtually RB O +ignored VBN O +in IN O +that DT B +time NN I +period NN I +: : O +adults NNS B +. . O + +`` `` O +There EX B +is VBZ O +talk VB B +of IN O +some DT B +revamping VBG I +and CC O +we PRP B +'re VBP O +certainly RB O +heading VBG O +in IN O +the DT B +direction NN I +of IN O +less JJR B +and CC I +less JJR I +animation NN I +, , O +'' '' O +said VBD O +Joseph NNP B +S. NNP I +Cicero NNP I +, , O +vice NN B +president NN I +of IN O +finance NN B +and CC I +administration NN I +for IN O +National NNP B +Broadcasting NNP I +Co. NNP I +, , O +a DT B +unit NN I +of IN O +General NNP B +Electric NNP I +Co NNP I +. . O + +Mr. NNP B +Cicero NNP I +said VBD O +that IN O +NBC NNP B +Entertainment NNP I +president NNP I +Brandon NNP I +Tartikoff NNP I +, , O +who WP B +declined VBD O +to TO O +be VB O +interviewed VBN O +, , O +is VBZ O +`` `` O +looking VBG O +at IN O +options NNS B +now RB O +and CC O +may MD O +put VB O +some DT B +things NNS I +into IN O +the DT B +schedule NN I +by IN O +mid-season NN B +. . O +'' '' O + +He PRP B +declined VBD O +to TO O +elaborate VB O +. . O + +NBC NNP B +'s POS B +options NNS I +could MD O +range VB O +from IN O +news-oriented JJ B +programming NN I +to TO O +sports NNS B +shows VBZ I +, , O +although IN O +the DT B +network NN I +declined VBD O +to TO O +comment VB O +. . O + +One CD B +major JJ I +NBC NNP I +affiliate NN I +, , O +KCRA NNP B +in IN O +Sacramento NNP B +, , O +plans VBZ O +to TO O +cancel VB O +the DT B +NBC NNP I +Saturday NNP I +morning NN I +line-up NN I +as IN O +of IN O +January NNP B +and CC O +replace VB O +it PRP B +with IN O +a DT B +local JJ I +newscast NN I +. . O + +The DT B +one-hour JJ I +program NN I +will MD O +be VB O +repeated VBN O +with IN O +updates NNS B +throughout IN O +Saturday NNP B +mornings NNS I +. . O + +`` `` O +We PRP B +feel VBP O +there EX B +is VBZ O +an DT B +opportunity NN I +for IN O +an DT B +audience NN I +that WDT B +is VBZ O +not RB O +being VBG O +served VBN O +by IN O +any DT B +network NN I +, , O +so IN O +we PRP B +want VBP O +to TO O +take VB O +the DT B +lead NN I +, , O +'' '' O +says VBZ O +KCRA NNP B +'s POS B +general JJ I +manager NN I +, , O +John NNP B +Kueneke NNP I +. . O + +`` `` O +We PRP B +do VBP O +n't RB O +need VB O +cartoons NNS B +anymore RB O +. . O + +They PRP B +only RB O +accounted VBD O +for IN O +5 NN B +% NN I +, , O +at IN O +best JJS O +, , O +of IN O +the DT B +station NN I +'s POS B +total JJ I +revenues NNS I +. . O +'' '' O + +An DT B +NBC NNP I +spokesman NN I +says VBZ O +the DT B +network NN I +will MD O +`` `` O +closely RB O +monitor VB O +'' '' O +the DT B +Sacramento NNP I +situation NN I +, , O +and CC O +says VBZ O +it PRP B +is VBZ O +the DT B +only JJ I +station NN I +to TO O +defect VB O +. . O + +Spokesmen NNS B +for IN O +the DT B +television NN I +networks NNS I +of IN O +CBS NNP B +Inc. NNP I +and CC O +Capital NNP B +Cities\/ABC NNP I +Inc. NNP I +, , O +say VBP O +there EX B +are VBP O +no DT B +plans NNS I +to TO O +alter VB O +the DT B +children NNS I +'s POS B +line-up NN I +on IN O +Saturday NNP B +mornings NNS I +. . O + +The DT B +youthful JJ I +audience NN I +for IN O +Saturday NNP B +programming NN I +is VBZ O +no RB O +longer RB O +dependent JJ O +on IN O +the DT B +networks NNS I +. . O + +There EX B +has VBZ O +been VBN O +a DT B +surge NN I +in IN O +syndicated VBN O +children NNS B +'s POS I +shows VBZ O +to TO O +independent JJ B +stations NNS I +, , O +as RB O +well RB O +as IN O +competition NN B +from IN O +videocassettes NNS B +for IN O +kids NNS B +and CC O +from IN O +cable NN B +outlets NNS I +such JJ O +as IN O +Nickelodeon NNP B +and CC O +the DT B +Disney NNP I +Channel NNP I +. . O + +At IN O +the DT B +same JJ I +time NN I +, , O +there EX B +appears VBZ O +to TO O +be VB O +a DT B +market NN I +for IN O +news-oriented JJ B +programming NN I +; : O +Turner NNP B +Broadcasting NNP I +System NNP I +Inc. NNP I +'s POS B +Cable NNP I +News NNP I +Network NNP I +has VBZ O +its PRP$ B +highest JJS I +ratings NNS I +, , O +outside IN O +of IN O +prime JJ B +time NN I +, , O +on IN O +Saturday NNP B +mornings NNS I +. . O + +NBC NNP B +has VBZ O +on IN O +previous JJ B +occasions NNS I +considered VBN O +replacing VBG O +cartoons NNS B +with IN O +a DT B +Saturday NNP I +version NN I +of IN O +`` `` O +Today NN B +, , O +'' '' O +which WDT B +is VBZ O +produced VBN O +by IN O +NBC NNP B +News NNP I +. . O + +The DT B +network NN I +'s POS B +own JJ I +production NN I +company NN I +, , O +NBC NNP B +Productions NNPS I +, , O +supplies VBZ O +a DT B +half-hour NN I +family-oriented JJ I +show NN I +titled VBN O +`` `` O +Saved NNP O +By IN O +The DT B +Bell NNP I +. . O +'' '' O + +NBC NNP B +Productions NNPS I +or CC O +NBC NNP B +News NNP I +could MD O +supply VB O +the DT B +network NN I +with IN O +other JJ B +Saturday NNP I +morning NN I +shows VBZ I +, , O +a DT B +move NN I +that WDT B +would MD O +control VB O +costs NNS B +. . O + +Animated JJ B +shows NNS I +, , O +which WDT B +are VBP O +made VBN O +by IN O +outside IN B +production NN I +companies NNS I +, , O +cost NN O +the DT B +network NN I +about RB B +$ $ I +300,000 CD I +per IN O +episode NN B +. . O + +Rohm NNP B +& CC I +Haas NNP I +Co. NNP I +said VBD O +third-quarter JJ B +net JJ I +income NN I +skidded VBD O +35 CD B +% NN I +to TO O +$ $ B +32.6 CD I +million CD I +, , O +or CC O +49 CD B +cents NNS I +a DT B +share NN I +. . O + +In IN O +the DT B +year-earlier JJ I +quarter NN I +, , O +the DT B +chemicals NNS I +company NN I +had VBD O +net NN B +of IN O +$ $ B +49.8 CD I +million CD I +, , O +or CC O +75 CD B +cents NNS I +a DT B +share NN I +. . O + +Sales NNS B +were VBD O +$ $ B +623 CD I +million CD I +, , O +up IN O +0.5 CD B +% NN I +from IN O +$ $ B +619.8 CD I +million CD I +a DT B +year NN I +ago RB O +. . O + +Rohm NNP B +& CC I +Haas NNP I +, , O +which WDT B +plans VBZ O +to TO O +start VB O +operating VBG O +seven CD B +new JJ I +production NN I +units NNS I +this DT B +year NN I +, , O +attributed VBD O +the DT B +profit NN I +slide NN I +partly RB O +to TO O +higher JJR B +start-up JJ I +expense NN I +. . O + +The DT B +company NN I +also RB O +cited VBD O +the DT B +stronger JJR I +dollar NN I +, , O +which WDT B +cuts VBZ O +the DT B +value NN I +of IN O +overseas JJ B +profit NN I +when WRB O +it PRP B +is VBZ O +translated VBN O +into IN O +dollars NNS B +. . O + +In IN O +addition NN B +, , O +the DT B +company NN I +said VBD O +, , O +it PRP B +was VBD O +hurt VBN O +by IN O +higher JJR B +than IN I +previous-year JJ I +costs NNS I +for IN O +raw JJ B +materials NNS I +, , O +though IN O +those DT B +costs NNS I +have VBP O +declined VBN O +since IN O +the DT B +second JJ I +quarter NN I +. . O + +Incrementally RB B +higher JJR I +production NN I +of IN O +those DT B +chemicals NNS I +which WDT B +remain VBP O +in IN O +heavy JJ B +demand NN I +also RB O +has VBZ O +forced VBN O +up IN O +costs NNS B +, , O +such JJ O +as IN O +overtime NN B +pay NN I +. . O + +For IN O +the DT B +nine CD I +months NNS I +, , O +Rohm NNP B +& CC I +Haas NNP I +net NN I +totaled VBD O +$ $ B +155 CD I +million CD I +, , O +or CC O +$ $ B +2.33 CD I +a DT B +share NN I +, , O +down RB O +17 CD B +% NN I +from IN O +$ $ B +187.8 CD I +million CD I +, , O +or CC O +$ $ B +2.82 CD I +a DT B +share NN I +, , O +a DT B +year NN I +ago RB O +. . O + +Sales NNS B +rose VBD O +5.2 CD B +% NN I +to TO O +$ $ B +2.04 CD I +billion CD I +from IN O +$ $ B +1.94 CD I +billion CD I +the DT B +previous JJ I +year NN I +. . O + +In IN O +New NNP B +York NNP I +Stock NNP I +Exchange NNP I +composite JJ I +trading NN I +, , O +Rohm NNP B +& CC I +Haas NNP I +closed VBD O +at IN O +$ $ B +33 CD I +a DT B +share NN I +, , O +down RB O +$ $ B +1.75 CD I +. . O + +Michael NNP B +A. NNP I +Gaskin NNP I +, , O +55 NN B +years NNS I +old JJ O +, , O +was VBD O +named VBN O +president NN B +and CC O +chief JJ B +executive JJ I +officer NN I +of IN O +this DT B +manufacturer NN I +of IN O +industrial JJ B +robots NNS I +, , O +succeeding VBG O +Walter NNP B +K. NNP I +Weisel NNP I +. . O + +Mr. NNP B +Weisel NNP I +, , O +49 CD B +, , O +resigned VBD O +as IN O +president NN B +and CC O +chief JJ B +executive NN I +and CC O +will MD O +work VB O +on IN O +special JJ B +projects NNS I +, , O +said VBD O +John NNP B +J. NNP I +Wallace NNP I +, , O +chairman NN B +. . O + +Mr. NNP B +Gaskin NNP I +formerly RB O +was VBD O +president NN B +and CC O +chief JJ B +executive NN I +of IN O +Taylor NNP B +& CC I +Gaskin NNP I +Inc. NNP I +and CC O +was VBD O +a DT B +director NN I +of IN O +Prab NNP B +Robots NNP I +since IN O +1985 CD B +. . O + +Stephen NNP B +N. NNP I +Wertheimer NNP I +was VBD O +named VBN O +managing VBG B +director NN I +and CC O +group NN B +head NN I +of IN O +investment NN B +banking NN I +in IN O +Asia NNP B +, , O +based VBN O +in IN O +Tokyo NNP B +. . O + +Mr. NNP B +Wertheimer NNP I +, , O +38 CD B +years NNS I +old JJ O +, , O +had VBD O +been VBN O +a DT B +first JJ I +vice NN I +president NN I +in IN O +the DT B +industrial JJ I +group NN I +in IN O +investment NN B +banking NN I +. . O + +He PRP B +succeeds VBZ O +Everett NNP B +Meyers NNP I +, , O +who WP B +resigned VBD O +in IN O +May NNP B +. . O + +This DT B +is VBZ O +written VBN O +to TO O +correct VB O +a DT B +misquotation NN I +in IN O +your PRP$ B +Oct. NNP I +3 CD I +article NN I +`` `` O +Deaths NNP B +From IN O +Advanced NNP B +Colon NNP I +Cancer NNP I +Can MD O +Be VB O +Reduced NNP O +by IN O +Using VBG O +Two CD B +Drugs NNS I +. . O +'' '' O + +In IN O +this DT B +article NN I +, , O +I PRP B +was VBD O +alleged VBN O +to TO O +have VB O +said VBD O +, , O +`` `` O +Any DT B +patient NN I +with IN O +high-risk JJ B +colon NN I +cancer NN I +is VBZ O +really RB O +getting VBG O +short JJ B +shrift NN I +if IN O +he PRP B +'s VBZ O +not RB O +getting VBG O +this DT B +therapy NN I +. . O +'' '' O + +I PRP B +did VBD O +n't RB O +say VB O +this DT B +, , O +and CC O +I PRP B +'m VBP O +totally RB O +opposed VBN O +to TO O +the DT B +philosophy NN I +expressed VBN O +by IN O +the DT B +quote NN I +. . O + +I PRP B +have VBP O +not RB O +offered VBN O +and CC O +will MD O +not RB O +offer VB O +routine JJ B +therapy NN I +with IN O +the DT B +two CD I +drugs NNS I +, , O +levamisole NN B +and CC I +5-fluorouracil JJ I +, , O +to TO O +any DT B +of IN O +my PRP$ B +colon-cancer NN I +patients NNS I +. . O + +With IN O +this DT B +treatment NN I +we PRP B +have VBP O +reduced VBN O +deaths NNS B +in IN O +high-risk JJ B +colon NN I +cancer NN I +by IN O +one-third NN B +-- : O +but CC O +this DT B +leaves VBZ O +the DT B +two-thirds NNS I +who WP B +are VBP O +dying VBG O +of IN O +cancer NN B +. . O + +This DT B +is VBZ O +not RB O +nearly RB O +good JJ O +enough RB O +. . O + +I PRP B +believe VBP O +any DT B +physician NN I +who WP B +truly RB O +cares VBZ O +about IN O +cancer NN B +patients NNS I +, , O +both DT B +today NN I +and CC I +tomorrow NN I +, , O +should MD O +offer VB O +the DT B +hope NN I +of IN O +something NN B +better JJR O +than IN O +that DT B +. . O + +My PRP$ B +statement NN I +, , O +read VB O +verbatim RB O +from IN O +a DT B +printed VBN I +text NN I +available JJ O +to TO O +all DT B +reporters NNS I +attending VBG O +the DT B +National NNP I +Cancer NNP I +Institute NNP I +news NN I +conference NN I +, , O +was VBD O +the DT B +following VBG I +: : O +`` `` O +New NNP B +clinical JJ I +trials NNS I +are VBP O +already RB O +in IN O +operation NN B +seeking VBG O +to TO O +improve VB O +these DT B +results NNS I +. . O + +These DT B +research NN I +protocols NNS I +offer VBP O +to TO O +the DT B +patient NN I +not RB O +only RB O +the DT B +very RB I +best JJS I +therapy NN I +which WDT B +we PRP B +have VBP O +established VBN O +today NN B +but CC O +also RB O +the DT B +hope NN I +of IN O +something NN B +still RB O +better JJR O +. . O + +I PRP B +feel VBP O +any DT B +patient NN I +with IN O +high-risk JJ B +cancer NN I +is VBZ O +getting VBG O +short JJ B +shrift NN I +if IN O +he PRP B +is VBZ O +not RB O +offered VBN O +this DT B +opportunity NN I +. . O +'' '' O + +We PRP B +have VBP O +very RB B +exciting JJ I +prospects NNS I +for IN O +far RB B +more RBR I +impressive JJ I +advances NNS I +in IN O +the DT B +treatment NN I +of IN O +colon NN B +cancer NN I +during IN O +the DT B +years NNS I +immediately RB O +ahead RB O +. . O + +This DT B +hope NN I +, , O +however RB O +, , O +will MD O +never RB O +be VB O +realized VBN O +if IN O +we PRP B +use VBP O +levamisole NN B +and CC I +5-fluorouracil JJ I +as IN O +a DT B +stopping VBG I +point NN I +. . O + +Charles NNP B +G. NNP I +Moertel NNP I +M.D NNP I +. . I +Mayo NNP B +Clinic NNP I +Rochester NNP B +, , O +Minn NNP B +. . O + +The DT B +oil NN I +and CC I +auto NN I +industries NNS I +, , O +united VBN O +in IN O +their PRP$ B +dislike NN I +of IN O +President NNP B +Bush NNP I +'s POS B +proposal NN I +for IN O +cars NNS B +that WDT B +run VBP O +on IN O +alternative NN B +fuels NNS I +, , O +announced VBD O +a DT B +joint JJ I +research NN I +program NN I +that WDT B +could MD O +turn VB O +up IN O +a DT B +cleaner-burning JJ I +gasoline NN I +. . O + +Officials NNS B +of IN O +the DT B +Big NNP I +Three CD I +auto NN I +makers NNS I +and CC O +14 CD B +petroleum NN I +companies NNS I +said VBD O +they PRP B +are VBP O +setting VBG O +out IN O +to TO O +find VB O +the DT B +most RBS I +cost-effective JJ I +fuel NN I +for IN O +reducing VBG O +cities NNS B +' POS B +air-pollution NN I +problems NNS I +, , O +with IN O +no DT B +bias NN I +toward IN O +any DT B +fuel NN I +in IN O +particular NN B +. . O + +However RB O +, , O +their PRP$ B +search NN I +notably RB O +wo MD O +n't RB O +include VB O +natural JJ B +gas NN I +or CC O +pure JJ B +methanol NN I +-- : O +the DT B +two CD I +front-running JJ I +alternative NN I +fuels NNS I +-- : O +in IN O +tests NNS B +to TO O +be VB O +completed VBN O +by IN O +next JJ B +summer NN I +. . O + +Instead RB O +, , O +the DT B +tests NNS I +will MD O +focus VB O +heavily RB O +on IN O +new JJ B +blends NNS I +of IN O +gasoline NN B +, , O +which WDT B +are VBP O +still RB O +undeveloped JJ O +but CC O +which WDT B +the DT B +petroleum NN I +industry NN I +has VBZ O +been VBN O +touting VBG O +as IN O +a DT B +solution NN I +for IN O +automobile NN B +pollution NN I +that WDT B +is VBZ O +choking VBG O +urban JJ B +areas NNS I +. . O + +Environmentalists NNS B +criticized VBD O +the DT B +program NN I +as IN O +merely RB B +a DT I +public-relations NNS I +attempt VBP I +to TO O +head VB O +off IN O +a DT B +White NNP I +House NNP I +proposal NN I +to TO O +require VB O +a DT B +million CD I +cars NNS I +a DT B +year NN I +that WDT B +run VBP O +on IN O +cleaner-burning JJ B +fuels NNS I +by IN O +1997 CD B +. . O + +While IN O +major JJ B +oil NN I +companies NNS I +have VBP O +been VBN O +experimenting VBG O +with IN O +cleaner-burning JJ B +gasoline NN I +blends NNS I +for IN O +years NNS B +, , O +only RB B +Atlantic NNP I +Richfield NNP I +Co. NNP I +is VBZ O +now RB O +marketing VBG O +a DT B +lower-emission NN I +gasoline NN I +for IN O +older JJR B +cars NNS I +currently RB O +running VBG O +on IN O +leaded JJ B +fuel NN I +. . O + +The DT B +initial JJ I +$ $ I +11 CD I +million CD I +research NN I +program NN I +will MD O +conduct VB O +the DT B +most RBS I +extensive JJ I +testing NN I +to TO O +date VB B +of IN O +reformulated VBN B +gasolines NNS I +, , O +said VBD O +Joe NNP B +Colucci NNP I +, , O +head NN B +of IN O +fuels NNS B +and CC I +lubricants NNS I +at IN O +General NNP B +Motors NNPS I +Corp. NNP I +research NN I +laboratories NNS I +. . O + +It PRP B +will MD O +compare VB O +21 CD B +different JJ I +blends NNS I +of IN O +gasolines NNS B +with IN O +three CD B +mixtures NNS I +of IN O +up IN B +to TO I +85 CD I +% NN I +methanol NN I +. . O + +A DT B +second JJ I +phase NN I +of IN O +research NN B +, , O +which WDT B +is VBZ O +still RB O +being VBG O +planned VBN O +, , O +will MD O +test VB O +reformulated VBN B +gasolines NNS I +on IN O +newer JJR B +engine NN I +technologies NNS I +now RB O +being VBG O +developed VBN O +for IN O +use NN B +in IN O +1992 CD B +or CC I +1993 CD I +cars NNS I +. . O + +There EX B +was VBD O +no DT B +cost NN I +estimate NN I +for IN O +the DT B +second JJ I +phase NN I +. . O + +`` `` O +The DT B +whole JJ I +idea NN I +here RB I +is VBZ O +the DT B +automobile NN I +and CC I +oil NN I +companies NNS I +have VBP O +joint JJ B +customers NNS I +, , O +'' '' O +said VBD O +Keith NNP B +McHenry NNP I +, , O +a DT B +senior JJ I +vice NN I +president NN I +of IN O +technology NN B +at IN O +Amoco NNP B +Corp NNP I +. . O + +`` `` O +And CC O +we PRP B +are VBP O +looking VBG O +for IN O +the DT B +most RBS I +cost-effective JJ I +way NN I +to TO O +clean VB O +up IN O +the DT B +air NN I +. . O +'' '' O + +But CC O +David NNP B +Hawkins NNP I +, , O +an DT B +environmental JJ I +lawyer NN I +with IN O +the DT B +Natural NNP I +Resources NNP I +Defense NNP I +Council NNP I +, , O +said VBD O +the DT B +research NN I +appears VBZ O +merely RB O +to TO O +be VB O +a DT B +way NN I +to TO O +promote VB O +reformulated VBN B +gasoline NN I +. . O + +Oil NNP B +and CC I +auto NN I +companies NNS I +supported VBD O +a DT B +move NN I +on IN O +Capitol NNP B +Hill NNP I +last JJ B +week NN I +to TO O +gut VB O +Mr. NNP B +Bush NNP I +'s POS B +plans NNS I +to TO O +require VB O +auto NN B +makers NNS I +to TO O +begin VB O +selling VBG O +alternative-fueled JJ B +cars NNS I +by IN O +1995 CD B +. . O + +Instead RB O +, , O +a DT B +House NNP I +subcommittee NN I +adopted VBD O +a DT B +clean-fuels NNS I +program VBP I +that WDT B +specifically RB O +mentions VBZ O +reformulated VBN B +gasoline NN I +as IN O +an DT B +alternative NN I +. . O + +The DT B +Bush NNP I +administration NN I +has VBZ O +said VBD O +it PRP B +will MD O +try VB O +to TO O +resurrect VB O +its PRP$ B +plan NN I +when WRB O +the DT B +House NNP I +Energy NNP I +and CC I +Commerce NNP I +Committee NNP I +takes VBZ O +up IN O +a DT B +comprehensive JJ I +clean-air JJ I +bill NN I +. . O + +William NNP B +Seidman NNP I +, , O +chairman NN B +of IN O +the DT B +Federal NNP I +Deposit NNP I +Insurance NNP I +Corp. NNP I +, , O +said VBD O +Lincoln NNP B +Savings NNP I +& CC I +Loan NNP I +Association NNP I +should MD O +have VB O +been VBN O +seized VBN O +by IN O +the DT B +government NN I +in IN O +1986 CD B +to TO O +contain VB O +losses NNS B +that IN B +he PRP B +estimated VBD O +will MD O +cost VB O +taxpayers NNS B +as RB B +much JJ I +as IN I +$ $ I +2 CD I +billion CD I +. . O + +Mr. NNP B +Seidman NNP I +, , O +who WP B +has VBZ O +been VBN O +the DT B +nation NN I +'s POS B +top JJ I +bank NN I +regulator NN I +, , O +inherited VBD O +the DT B +problems NNS I +of IN O +Lincoln NNP B +, , O +based VBN O +in IN O +Irvine NNP B +, , O +Calif. NNP B +, , O +after IN O +his PRP$ B +regulatory JJ I +role NN I +was VBD O +expanded VBN O +by IN O +the DT B +new JJ I +savings-and-loan JJ I +bailout NN I +law NN I +. . O + +He PRP B +made VBD O +his PRP$ B +comments NNS I +before IN O +House NNP B +Banking NNP I +Committee NNP I +hearings NNS I +to TO O +investigate VB O +what WP B +appears VBZ O +to TO O +be VB O +the DT B +biggest JJS I +thrift NN I +disaster NN I +in IN O +a DT B +scandal-ridden JJ I +industry NN I +. . O + +The DT B +inquiry NN I +also RB O +will MD O +cover VB O +the DT B +actions NNS I +of IN O +Charles NNP B +Keating NNP I +Jr. NNP I +, , O +who WP B +is VBZ O +chairman NN B +of IN O +American NNP B +Continental NNP I +Corp. NNP I +, , O +Lincoln NNP B +'s POS B +parent NN I +, , O +and CC O +who WP B +contributed VBD O +heavily RB O +to TO O +several JJ B +U.S. NNP I +senators NNS I +. . O + +Mr. NNP B +Seidman NNP I +told VBD O +the DT B +committee NN I +that IN O +the DT B +Resolution NNP I +Trust NNP I +Corp. NNP I +, , O +the DT B +agency NN I +created VBN O +to TO O +sell VB O +sick JJ B +thrifts NNS I +, , O +has VBZ O +studied VBN O +Lincoln NNP B +'s POS B +examination NN I +reports NNS I +by IN O +former JJ B +regulators NNS I +dating VBG O +back RB O +to TO O +1986 CD B +. . O + +`` `` O +My PRP$ B +staff NN I +indicated VBD O +that WDT O +had VBD O +we PRP B +made VBD O +such JJ B +findings NNS I +in IN O +one CD B +of IN O +our PRP$ B +own JJ I +institutions NNS I +, , O +we PRP B +would MD O +have VB O +sought VBN O +an DT B +immediate JJ I +cease-and-desist JJ I +order NN I +to TO O +stop VB O +the DT B +hazardous JJ I +operations NNS I +, , O +'' '' O +Mr. NNP B +Seidman NNP I +said VBD O +. . O + +When WRB O +Lincoln NNP B +was VBD O +seized VBN O +by IN O +the DT B +government NN I +, , O +for IN O +example NN B +, , O +15 CD B +% NN I +of IN O +its PRP$ B +loans NNS I +, , O +or CC O +$ $ B +250 CD I +million CD I +, , O +were VBD O +to TO O +borrowers NNS B +who WP B +were VBD O +buying VBG O +real JJ B +estate NN I +from IN O +one CD B +of IN O +American NNP B +Continental NNP I +'s POS B +50 CD I +other JJ I +subsidiaries NNS I +, , O +according VBG O +to TO O +Mr. NNP B +Seidman NNP I +. . O + +But CC O +the DT B +government NN I +did VBD O +n't RB O +step VB O +in IN O +until IN O +six CD B +months NNS I +ago RB O +, , O +when WRB O +thrift NN B +officials NNS I +put VBP O +Lincoln NNP B +into IN O +conservatorship NN B +-- : O +the DT B +day NN I +after IN O +American NNP B +Continental NNP I +filed VBD O +for IN O +Chapter NN B +11 CD I +bankruptcy NN I +protection NN I +from IN O +creditors NNS B +. . O + +The DT B +bankruptcy NN I +filing NN I +, , O +the DT B +government NN I +has VBZ O +charged VBN O +in IN O +a DT B +$ $ I +1.1 CD I +billion CD I +civil JJ I +lawsuit NN I +, , O +was VBD O +part NN B +of IN O +a DT B +pattern NN I +to TO O +shift VB O +insured VBN B +deposits NNS I +to TO O +the DT B +parent NN I +company NN I +, , O +which WDT B +used VBD O +the DT B +deposits NNS I +as IN O +a DT B +cache NN I +for IN O +real-estate NN B +deals NNS I +. . O + +The DT B +deposits NNS I +that WDT B +have VBP O +been VBN O +transferred VBN O +to TO O +other JJ B +subsidiaries NNS I +are VBP O +now RB O +under IN O +the DT B +jurisdiction NN I +of IN O +the DT B +bankruptcy NN I +court NN I +. . O + +`` `` O +I PRP B +think VBP O +it PRP B +'s VBZ O +fairly RB O +clear JJ O +-LCB- ( O +Mr. NNP B +Keating NNP I +-RCB- ) O +knew VBD O +, , O +'' '' O +that IN O +regulators NNS B +were VBD O +set VBN O +to TO O +seize VB O +Lincoln NNP B +, , O +Mr. NNP B +Seidman NNP I +said VBD O +. . O + +Further JJ B +investigation NN I +, , O +he PRP B +said VBD O +, , O +may MD O +result VB O +in IN O +further JJ B +actions NNS I +against IN O +Lincoln NNP B +'s POS B +executives NNS I +, , O +said VBD O +Mr. NNP B +Seidman NNP I +, , O +`` `` O +including VBG O +fraud NN B +actions NNS I +. . O +'' '' O + +Mr. NNP B +Keating NNP I +, , O +for IN O +his PRP$ B +part NN I +, , O +has VBZ O +filed VBN O +suit NN B +alleging VBG O +that IN O +regulators NNS B +unlawfully RB O +seized VBN O +the DT B +thrift NN I +. . O + +Leonard NNP B +Bickwit NNP I +, , O +an DT B +attorney NN I +in IN O +Washington NNP B +for IN O +Mr. NNP B +Keating NNP I +, , O +declined VBD O +to TO O +comment VB O +on IN O +the DT B +hearings NNS I +, , O +except VB O +to TO O +say VB O +, , O +`` `` O +We PRP B +will MD O +be VB O +responding VBG O +comprehensively RB O +in IN O +several JJ B +forums NNS I +to TO O +each DT B +of IN O +these DT B +allegations NNS I +at IN O +the DT B +appropriate JJ I +time NN I +. . O +'' '' O + +Lincoln NNP B +'s POS B +treatment NN I +by IN O +former JJ B +thrift NN I +regulators NNS I +, , O +in IN O +an DT B +agency NN I +disbanded VBN O +by IN O +the DT B +new JJ I +law NN I +, , O +has VBZ O +proved VBN O +embarrassing JJ O +for IN O +five CD B +senators NNS I +who WP B +received VBD O +thousands NNS B +of IN O +dollars NNS B +in IN O +campaign NN B +contributions NNS I +from IN O +Mr. NNP B +Keating NNP I +. . O + +Mr. NNP B +Seidman NNP I +said VBD O +yesterday NN B +, , O +for IN O +example NN B +, , O +that IN O +Sen. NNP B +Dennis NNP I +DeConcini NNP I +-LRB- ( O +D. NNP B +, , O +Ariz. NNP B +-RRB- ) O +, , O +who WP B +received VBD O +$ $ B +48,100 CD I +in IN O +contributions NNS B +from IN O +Mr. NNP B +Keating NNP I +, , O +phoned VBD O +Mr. NNP B +Seidman NNP I +to TO O +request VB O +that IN O +he PRP B +push VBP O +for IN O +a DT B +sale NN I +of IN O +Lincoln NNP B +before IN O +it PRP B +would MD O +be VB O +seized VBN O +. . O + +After IN O +the DT B +government NN I +lawsuit NN I +was VBD O +filed VBN O +against IN O +Lincoln NNP B +, , O +Sen. NNP B +DeConcini NNP I +returned VBD O +the DT B +campaign NN I +contributions NNS I +. . O + +The DT B +senator NN I +'s POS B +spokesman NN I +said VBD O +yesterday NN B +that IN O +he PRP B +pushed VBD O +for IN O +the DT B +sale NN I +of IN O +Lincoln NNP B +because IN O +`` `` O +hundreds NNS B +of IN O +Arizona NNP B +jobs NNS I +-LCB- ( O +at IN O +Lincoln NNP B +-RCB- ) O +were VBD O +on IN O +the DT B +line NN I +. . O +'' '' O + +Senate NNP B +Banking NNP I +Committee NNP I +Chairman NNP I +Donald NNP I +Riegle NNP I +-LRB- ( O +D. NNP B +, , O +Mich NNP B +. . I +-RRB- ) O +has VBZ O +also RB O +returned VBN O +contributions NNS B +he PRP B +received VBD O +from IN O +Mr. NNP B +Keating NNP I +a DT B +year NN I +ago RB O +. . O + +Sens. NNP O +John NNP O +Glenn NNP O +-LRB- ( O +D. NNP B +, , O +Ohio NNP B +-RRB- ) O +, , O +John NNP O +McCain NNP O +, , O +-LRB- ( O +R. NNP B +, , O +Ariz. NNP B +-RRB- ) O +and CC O +Alan NNP O +Cranston NNP O +-LRB- ( O +D. NNP B +, , O +Calif. NNP B +-RRB- ) O +also RB O +received VBD O +substantial JJ B +contributions NNS I +from IN O +Mr. NNP B +Keating NNP I +and CC O +sought VBD O +to TO O +intervene VB O +on IN O +behalf NN B +of IN O +Lincoln NNP B +. . O + +House NNP B +Banking NNP I +Committee NNP I +Chairman NNP I +Henry NNP I +Gonzalez NNP I +-LRB- ( O +D. NNP B +, , O +Texas NNP B +-RRB- ) O +said VBD O +Sen. NNP B +Cranston NNP I +volunteered VBD O +to TO O +appear VB O +before IN O +the DT B +House NNP I +committee NN I +, , O +if IN O +necessary JJ O +. . O + +But CC O +a DT B +committee NN I +staff NN I +member NN I +said VBD O +the DT B +panel NN I +is VBZ O +unlikely JJ O +to TO O +pursue VB O +closely RB O +the DT B +role NN I +of IN O +the DT B +senators NNS I +. . O + +At IN O +the DT B +hearing NN I +, , O +Mr. NNP B +Seidman NNP I +said VBD O +the DT B +RTC NNP I +has VBZ O +already RB O +pumped VBN O +$ $ B +729 CD I +million CD I +into IN O +Lincoln NNP B +for IN O +liquidity NN B +. . O + +He PRP B +also RB O +held VBD O +out IN O +little JJ B +hope NN I +of IN O +restitution NN B +for IN O +purchasers NNS B +of IN O +$ $ B +225 CD I +million CD I +in IN O +American NNP B +Continental NNP I +subordinated VBD I +debt NN I +. . O + +Some DT B +of IN O +those DT B +debtholders NNS I +have VBP O +filed VBN O +a DT B +suit NN I +, , O +saying VBG O +they PRP B +believed VBD O +they PRP B +were VBD O +buying VBG O +government-insured JJ B +certificates NNS I +of IN O +deposit NN B +. . O + +`` `` O +We PRP B +have VBP O +no DT B +plans NNS I +at IN O +this DT B +time NN I +to TO O +pay VB O +off IN O +those DT B +notes NNS I +, , O +'' '' O +he PRP B +said VBD O +. . O + +Eastern NNP B +Airlines NNPS I +' POS B +creditors NNS I +committee NN I +, , O +unhappy JJ O +with IN O +the DT B +carrier NN I +'s POS B +plans NNS I +for IN O +emerging VBG O +from IN O +bankruptcy-law NN B +proceedings NNS I +, , O +asked VBD O +its PRP$ B +own JJ I +experts NNS I +to TO O +devise VB O +alternate JJ B +approaches NNS I +to TO O +a DT B +reorganization NN I +. . O + +Representatives NNS B +of IN O +the DT B +accounting NN I +firm NN I +of IN O +Ernst NNP B +& CC I +Young NNP I +and CC O +the DT B +securities NNS I +firm NN I +of IN O +Goldman NNP B +, , I +Sachs NNP I +& CC I +Co. NNP I +, , O +hired VBN O +by IN O +creditors NNS B +to TO O +consult VB O +on IN O +Eastern NNP B +'s POS B +financial JJ I +plans NNS I +, , O +told VBD O +the DT B +committee NN I +in IN O +a DT B +private JJ I +meeting NN I +yesterday NN B +that IN O +Eastern NNP B +'s POS B +latest JJS I +plan NN I +to TO O +emerge VB O +from IN O +bankruptcy-law NN B +protection NN I +is VBZ O +far RB O +riskier JJR O +than IN O +an DT B +earlier RBR I +one CD I +which WDT B +won VBD O +the DT B +creditors NNS I +' POS B +approval NN I +. . O + +According VBG O +to TO O +one CD B +person NN I +present JJ O +at IN O +the DT B +meeting NN I +, , O +Eastern NNP B +'s POS B +new JJ I +plan NN I +is VBZ O +financially RB O +`` `` O +overly RB O +optimistic JJ O +. . O +'' '' O + +Asked VBN O +about IN O +the DT B +consultants NNS I +' POS B +reports NNS I +, , O +an DT B +Eastern NNP I +spokeswoman NN I +said VBD O +`` `` O +we PRP B +totally RB O +disagree VBP O +. . O +'' '' O + +She PRP B +said VBD O +they PRP B +have VBP O +`` `` O +oversimplified VBN O +and CC O +made VBD O +some DT B +erroneous JJ I +assumptions NNS I +that WDT B +make VBP O +their PRP$ B +analysis NN I +completely RB O +off-base JJ O +. . O +'' '' O + +At IN O +a DT B +later JJ I +news NN I +conference NN I +here RB I +, , O +Frank NNP B +Lorenzo NNP I +, , O +chairman NN B +of IN O +Eastern NNP B +'s POS B +parent NN I +Texas NNP I +Air NNP I +Corp. NNP I +, , O +said VBD O +Eastern NNP B +was VBD O +exceeding VBG O +its PRP$ B +goals NNS I +for IN O +getting VBG O +back RB O +into IN O +operation NN B +and CC O +predicted VBD O +it PRP B +would MD O +emerge VB O +from IN O +Chapter NN B +11 CD I +protection NN I +from IN O +creditors NNS B +early JJ B +next JJ I +year NN I +, , O +operating VBG O +with IN O +more JJR B +service NN I +than IN O +it PRP B +originally RB O +had VBD O +scheduled VBN O +. . O + +He PRP B +insisted VBD O +, , O +as IN O +he PRP B +has VBZ O +before RB O +, , O +that IN O +creditors NNS B +would MD O +be VB O +paid VBN O +in IN O +full JJ O +under IN O +the DT B +plan NN I +. . O + +Mr. NNP B +Lorenzo NNP I +made VBD O +no DT B +mention NN I +of IN O +creditors NNS B +' POS B +negative JJ I +response NN I +to TO O +his PRP$ B +plan NN I +. . O + +`` `` O +We PRP B +'re VBP O +in IN O +the DT B +process NN I +of IN O +discussing VBG O +an DT B +amended VBN I +plan NN I +with IN O +the DT B +creditors NNS I +and CC O +anticipate VB O +filing NN O +that WDT B +amended VBD I +plan NN I +shortly RB O +, , O +'' '' O +Mr. NNP B +Lorenzo NNP I +told VBD O +reporters NNS B +. . O + +`` `` O +We PRP B +'re VBP O +meeting VBG O +and CC O +surpassing VBG O +our PRP$ B +goals NNS I +, , O +'' '' O +he PRP B +added VBD O +. . O + +In IN O +July NNP B +, , O +Eastern NNP B +and CC O +its PRP$ B +creditors NNS I +agreed VBD O +on IN O +a DT B +reorganization NN I +plan NN I +that WDT B +called VBD O +for IN O +Eastern NNP B +to TO O +sell VB O +$ $ B +1.8 CD I +billion CD I +in IN O +assets NNS B +and CC O +to TO O +emerge VB O +from IN O +bankruptcy-law NN B +protection NN I +at IN O +two-thirds NNS B +its PRP$ I +former JJ I +size NN I +. . O + +But CC O +after IN O +selling VBG O +off IN O +pieces NNS B +such JJ O +as IN O +its PRP$ B +East NNP I +Coast NNP I +shuttle NN I +, , O +its PRP$ B +Philadelphia NNP I +hub NN I +and CC O +various JJ B +planes NNS I +, , O +Eastern NNP B +hit VBD O +a DT B +stumbling VBG I +block NN I +. . O + +It PRP B +could MD O +n't RB O +sell VB O +its PRP$ B +South JJ I +American JJ I +routes NNS I +, , O +one CD B +of IN O +the DT B +major JJ I +assets NNS I +marked VBN O +for IN O +disposal NN B +. . O + +Those DT B +routes NNS I +, , O +valued VBN O +by IN O +the DT B +creditors NNS I +' POS B +professionals NNS I +at IN O +about RB B +$ $ I +400 CD I +million CD I +, , O +were VBD O +to TO O +be VB O +sold VBN O +to TO O +AMR NNP B +Corp. NNP I +'s POS B +American NNP I +Airlines NNPS I +. . O + +A DT B +last-minute JJ I +snag NN I +in IN O +negotiations NNS B +with IN O +AMR NNP B +, , O +over IN O +an DT B +unrelated JJ I +lawsuit NN I +between IN O +American NNP B +and CC O +another DT B +Texas NNP I +Air NNP I +unit NN I +, , O +caused VBD O +the DT B +deal NN I +to TO O +collapse VB O +. . O + +Eastern NNP B +ultimately RB O +decided VBD O +it PRP B +would MD O +have VB O +to TO O +keep VB O +and CC O +operate VB O +the DT B +routes NNS I +itself PRP B +, , O +which WDT B +would MD O +leave VB O +it PRP B +with IN O +less JJR B +cash NN I +for IN O +its PRP$ B +reorganization NN I +. . O + +It PRP B +also RB O +would MD O +leave VB O +Eastern NNP B +a DT B +bigger JJR I +carrier NN I +than IN O +the DT B +scaled-down JJ I +one CD I +proposed VBN O +under IN O +the DT B +initial JJ I +plan NN I +. . O + +Those DT B +changes NNS I +in IN O +its PRP$ B +condition NN I +meant VBD O +the DT B +reorganization NN I +plan NN I +previously RB O +presented VBD O +to TO O +creditors NNS B +would MD O +have VB O +to TO O +be VB O +revamped VBN O +. . O + +Since IN O +then RB B +, , O +Eastern NNP B +has VBZ O +been VBN O +negotiating VBG O +with IN O +creditors NNS B +over IN O +revisions NNS B +, , O +but CC O +the DT B +creditors NNS I +committee NN I +has VBZ O +been VBN O +having VBG O +problems NNS B +with IN O +the DT B +revisions NNS I +. . O + +The DT B +committee NN I +has VBZ O +two CD B +groups NNS I +of IN O +experts NNS B +it PRP B +calls VBZ O +on IN O +to TO O +analyze VB O +Eastern NNP B +'s POS B +plans NNS I +. . O + +Both DT B +said VBD O +the DT B +new JJ I +plan NN I +would MD O +n't RB O +work VB O +. . O + +Ernst NNP B +& CC I +Young NNP I +said VBD O +Eastern NNP B +'s POS B +plans NNS I +will MD O +miss VB O +its PRP$ B +projections NNS I +of IN O +earnings NNS B +before IN O +interest NN B +, , I +tax NN I +and CC I +depreciation NN I +by IN O +$ $ B +100 CD I +million CD I +, , O +and CC O +that IN O +Eastern NNP B +'s POS B +plan NN I +presented VBD O +no DT B +comfort NN I +level NN I +, , O +according VBG O +to TO O +a DT B +source NN I +present JJ O +at IN O +yesterday NN B +'s POS B +session NN I +. . O + +Experts NNS B +from IN O +Goldman NNP B +Sachs NNP I +estimated VBD O +Eastern NNP B +would MD O +miss VB O +the DT B +same JJ I +mark NN I +by IN O +$ $ B +120 CD I +million CD I +to TO I +$ $ I +135 CD I +million CD I +, , O +the DT B +source NN I +said VBD O +. . O + +The DT B +experts NNS I +said VBD O +they PRP B +expected VBD O +Eastern NNP B +would MD O +have VB O +to TO O +issue VB O +new JJ B +debt NN I +to TO O +cover VB O +its PRP$ B +costs NNS I +, , O +and CC O +that IN O +it PRP B +would MD O +generate VB O +far RB B +less JJR I +cash NN I +than IN O +anticipated VBN O +. . O + +Other JJ B +costs NNS I +also RB O +would MD O +increase VB O +, , O +including VBG O +maintenance NN B +, , O +because IN O +Eastern NNP B +has VBZ O +an DT B +older JJR I +fleet NN I +. . O + +At IN O +the DT B +news NN I +conference NN I +, , O +Mr. NNP B +Lorenzo NNP I +and CC O +Eastern NNP B +President NNP I +Phil NNP I +Bakes NNP I +presented VBD O +a DT B +far RB I +rosier JJR I +assessment NN I +. . O + +Flanked VBN O +by IN O +flight NN B +attendants NNS I +, , O +pilots NNS B +and CC O +gate NN B +agents NNS I +dressed VBN O +in IN O +spiffy JJ B +new JJ I +blue JJ I +uniforms NNS I +, , O +they PRP B +said VBD O +Eastern NNP B +has VBZ O +exceeded VBN O +its PRP$ B +operational JJ I +goals NNS I +and CC O +is VBZ O +filling VBG O +its PRP$ B +seats NNS I +. . O + +Starting VBG O +next JJ B +month NN I +, , O +Eastern NNP B +will MD O +begin VB O +flying VBG O +775 CD B +flights NNS I +daily JJ O +instead RB O +of IN O +the DT B +previously RB I +announced VBN I +700 CD I +, , O +they PRP B +said VBD O +. . O + +Mr. NNP B +Bakes NNP I +declined VBD O +to TO O +give VB O +out IN O +Eastern NNP B +'s POS B +daily JJ I +losses NNS I +, , O +but CC O +said VBD O +he PRP B +did VBD O +n't RB O +expect VB O +Eastern NNP B +would MD O +have VB O +to TO O +dip VB O +into IN O +the DT B +cash NN I +from IN O +asset NN B +sales NNS I +currently RB O +held VBN O +in IN O +escrow NN B +. . O + +These DT B +accounts NNS I +hold VBP O +several JJ B +hundred CD I +million CD I +dollars NNS I +, , O +primarily RB O +from IN O +asset NN B +sales NNS I +. . O + +The DT B +plan NN I +Eastern NNP B +hopes VBZ O +to TO O +pursue VB O +, , O +he PRP B +said VBD O +, , O +calls VBZ O +for IN O +Eastern NNP B +to TO O +have VB O +$ $ B +390 CD I +million CD I +in IN O +cash NN B +by IN O +year NN B +'s POS B +end NN I +. . O + +Both DT O +he PRP B +and CC O +Mr. NNP B +Lorenzo NNP I +predicted VBD O +that DT B +plan NN I +might MD O +be VB O +confirmed VBN O +in IN O +January NNP B +. . O + +As IN O +to TO O +negotiations NNS B +with IN O +creditors NNS B +, , O +Mr. NNP B +Lorenzo NNP I +said VBD O +in IN O +remarks NNS B +after IN O +the DT B +conference NN I +`` `` O +we PRP B +'ll MD O +have VB O +to TO O +see VB O +how WRB O +they PRP B +-LCB- ( O +talks NNS B +-RCB- ) O +come VB O +along IN O +. . O +'' '' O + +However RB O +, , O +he PRP B +added VBD O +, , O +`` `` O +it PRP B +'s VBZ O +not RB O +a DT B +requirement NN I +that IN O +the DT B +plan NN I +be VB O +accepted VBN O +by IN O +creditors NNS B +. . O + +It PRP B +must MD O +be VB O +accepted VBN O +by IN O +the DT B +court NN I +. . O +'' '' O + +Under IN O +bankruptcy NN B +law NN I +, , O +Eastern NNP B +has VBZ O +exclusive JJ B +rights NNS I +for IN O +a DT B +certain JJ I +period NN I +to TO O +develop VB O +its PRP$ B +own JJ I +reorganization NN I +plan NN I +. . O + +That DT B +deadline NN I +has VBZ O +been VBN O +extended VBN O +once RB O +and CC O +could MD O +be VB O +extended VBN O +again RB O +. . O + +If IN O +Eastern NNP B +can MD O +get VB O +creditor NN B +support NN I +, , O +court NN B +confirmation NN I +of IN O +its PRP$ B +plan NN I +could MD O +be VB O +relatively RB O +swift JJ O +. . O + +But CC O +creditors NNS B +are VBP O +free JJ O +to TO O +press VB O +for IN O +court NN B +approval NN I +of IN O +their PRP$ B +own JJ I +plan NN I +, , O +or CC O +the DT B +court NN I +could MD O +ignore VB O +both DT B +sides NNS I +and CC O +draw VB O +its PRP$ B +own JJ I +. . O + +In IN O +any DT B +event NN I +, , O +some DT B +people NNS I +familiar JJ O +with IN O +the DT B +case NN I +question NN O +whether IN O +the DT B +court NN I +will MD O +act VB O +by IN O +January NNP B +as IN O +forecast NN O +by IN O +Mr. NNP B +Lorenzo NNP I +and CC O +Mr. NNP B +Bakes NNP I +. . O + +Eastern NNP B +sought VBD O +bankruptcy-law NN B +protection NN I +a DT B +few JJ I +days NNS I +after IN O +a DT B +crippling JJ I +strike NN I +began VBD O +March NNP B +4 CD I +. . O + +Mr. NNP B +Lorenzo NNP I +told VBD O +reporters NNS B +the DT B +reorganization NN I +Eastern NNP B +is VBZ O +pursuing VBG O +would MD O +create VB O +a DT B +carrier NN I +85 CD B +% NN I +to TO I +90 CD I +% NN I +of IN O +the DT B +size NN I +of IN O +the DT B +pre-bankruptcy NN I +Eastern NNP I +. . O + +He PRP B +projected VBD O +it PRP B +would MD O +be VB O +operating VBG O +about IN B +1,000 CD I +flights NNS I +a DT B +day NN I +by IN O +late JJ B +spring NN I +, , O +only RB O +slightly RB O +fewer JJR O +than IN O +the DT B +carrier NN I +'s POS B +old JJ I +volume NN I +of IN O +1,050 CD B +a DT B +day NN I +. . O + +HOPES NNS B +OF IN O +SIMPLIFYING VBG O +the DT B +corporate JJ I +minimum JJ I +tax NN I +before IN O +1990 CD B +are VBP O +weakening VBG O +. . O + +The DT B +method NN I +of IN O +calculating VBG O +the DT B +20 CD I +% NN I +tax NN I +, , O +paid VBN O +if IN O +it PRP B +exceeds VBZ O +tax NN B +figured VBD O +the DT B +regular JJ I +way NN I +, , O +is VBZ O +due JJ O +for IN O +a DT B +change NN I +in IN O +1990 CD B +, , O +thanks VBZ B +to TO O +1986 CD B +'s POS B +tax NN I +act NN I +. . O + +But CC O +most RBS B +experts NNS I +agree VBP O +that IN O +the DT B +concept NN I +that WDT B +is VBZ O +to TO O +be VB O +introduced VBN O +drags VBZ O +in IN O +great JJ B +complexity NN I +; : O +they PRP B +have VBP O +been VBN O +trying VBG O +to TO O +head VB O +it PRP B +off IN O +this DT B +year NN I +. . O + +Ways NNS B +and CC I +Means NNP I +Chairman NNP I +Rostenkowski NNP I +backed VBD O +a DT B +simplification NN I +plan NN I +in IN O +the DT B +pending VBG I +House NNP I +tax NN I +bill NN I +, , O +but CC O +the DT B +plan NN I +turns VBZ O +out IN O +to TO O +be VB O +a DT B +big JJ I +revenue NN I +loser NN I +. . O + +Now RB O +the DT B +Senate NNP I +'s POS B +stripped-down JJ I +bill NN I +omits VBZ O +any DT B +proposal NN I +to TO O +deal VB O +with IN O +the DT B +corporate JJ I +tax NN I +. . O + +Proponents NNS B +of IN O +simplification NN B +fear NN O +that IN O +the DT B +chances NNS I +of IN O +getting VBG O +it PRP B +into IN O +the DT B +final JJ I +bill NN I +are VBP O +waning VBG O +. . O + +`` `` O +We PRP B +hear VBP O +it PRP B +has VBZ O +low JJ B +priority NN I +on IN O +the DT B +House NNP I +side NN I +, , O +'' '' O +says VBZ O +Samuel NNP B +Starr NNP I +of IN O +Coopers NNP B +& CC I +Lybrand NNP I +, , I +CPAs NNS I +. . O + +If IN O +the DT B +law NN I +is VBZ O +n't RB O +changed VBN O +, , O +he PRP B +says VBZ O +, , O +`` `` O +we PRP B +are VBP O +left VBN O +staring VBG O +at IN O +rules NNS B +that WDT B +are VBP O +almost RB O +impossible JJ O +to TO O +implement VB O +, , O +because IN O +there EX B +are VBP O +so RB B +many JJ I +complex JJ I +depreciation NN I +calculations NNS I +to TO O +do VB O +. . O +'' '' O + +But CC O +Congress NNP B +still RB O +could MD O +resolve VB O +the DT B +issue NN I +with IN O +other JJ B +legislation NN I +this DT B +year NN I +or CC O +next JJ B +, , O +Starr NNP B +adds VBZ O +. . O + +HUGO NNP B +'S VBZ B +RAVAGES NNS I +may MD O +be VB O +offset VB O +by IN O +immediate JJ B +claims NNS I +for IN O +tax NN B +refunds NNS I +. . O + +This DT B +law NN I +aids VBZ O +hurricane-wracked JJ B +locales NNS I +named VBN O +by IN O +the DT B +president NN I +as IN O +disaster NN B +areas NNS I +, , O +as RB O +well RB O +as IN O +regions NNS B +so RB O +designated VBN O +after IN O +other JJ B +1989 CD I +disasters NNS I +. . O + +It PRP B +lets VBZ O +victims NNS B +elect VBP O +to TO O +deduct VB O +casualty NN B +losses NNS I +on IN O +either DT O +1989 CD B +or CC O +amended VBN B +1988 CD I +returns NNS O +, , O +whichever WDT B +offers VBZ O +the DT B +larger JJR I +tax NN I +benefit NN I +; : O +they PRP B +have VBP O +until IN O +April NNP B +16 CD I +to TO O +choose VB O +. . O + +Amending VBG O +a DT B +1988 CD I +return NN I +to TO O +claim VB O +a DT B +refund NN I +brings VBZ O +cash NN B +faster RBR O +; : O +but CC O +for IN O +personal JJ B +losses NNS I +, , O +there EX B +are VBP O +other JJ B +factors NNS I +to TO O +consider VB O +, , O +notes NNS O +publisher NN B +Prentice NNP I +Hall NNP I +. . O + +A DT B +loss NN I +-- : O +after IN O +insurance NN B +recoveries NNS I +-- : O +is VBZ O +deductible JJ O +only RB O +to TO O +the DT B +extent NN I +that IN O +it PRP B +exceeds VBZ O +$ $ B +100 CD I +and CC O +that IN O +the DT B +year NN I +'s POS B +total JJ I +losses NNS I +exceed VBP O +10 CD B +% NN I +of IN O +adjusted VBN B +gross JJ I +income NN I +; : O +victims NNS B +may MD O +pick VB O +the DT B +year NN I +when WRB O +income NN B +is VBZ O +lower JJR O +and CC O +deductions NNS B +higher JJR O +. . O + +In IN O +filing VBG O +an DT B +original JJ I +-LRB- ( I +not RB I +amended VBN I +-RRB- ) I +return NN I +, , O +a DT B +couple NN I +should MD O +consider VB O +whether IN O +damaged VBN B +property NN I +is VBZ O +owned VBN O +jointly RB O +or CC O +separately RB O +and CC O +whether IN O +one CD B +spouse NN I +has VBZ O +larger JJR B +income NN I +; : O +that WDT B +may MD O +determine VB O +whether IN O +they PRP B +should MD O +file VB O +jointly RB O +or CC O +separately RB O +. . O + +THE DT B +IRS NNP I +DELAYS VBZ O +several JJ B +deadlines NNS I +for IN O +Hugo NNP B +'s POS B +victims NNS I +. . O + +Returns NNS B +for IN O +1988 CD B +from IN O +people NNS B +with IN O +six-month JJ B +filing NN I +extensions NNS I +were VBD O +due JJ O +Monday NNP B +, , O +but CC O +the DT B +IRS NNP I +says VBZ O +people NNS B +in IN O +the DT B +disaster NN I +areas NNS I +wo MD O +n't RB O +be VB O +penalized VBN O +for IN O +late JJ B +filing NN I +if IN O +their PRP$ B +returns NNS I +are VBP O +marked VBN O +`` `` O +Hugo NNP B +'' '' O +and CC O +postmarked VBN O +by IN O +Jan. NNP B +16 CD I +. . O + +Interest NN B +will MD O +be VB O +imposed VBN O +on IN O +unpaid JJ B +taxes NNS I +, , O +but CC O +late-payment NN B +penalties NNS I +on IN O +the DT B +returns NNS I +will MD O +be VB O +waived VBN O +if IN O +the DT B +balance NN I +due JJ O +and CC O +paid VBN O +is VBZ O +10 CD B +% NN I +or CC I +less JJR I +of IN O +the DT B +liability NN I +. . O + +IRS NNP B +Notice NN I +89-136 CD I +describes VBZ O +this DT B +and CC O +other JJ B +deadline NN I +relief NN I +for IN O +Hugo NNP B +'s POS B +victims NNS I +. . O + +Among IN O +the DT B +provisions NNS I +: : O +Fiscal-year JJ B +taxpayers NNS I +with IN O +returns NNS B +due JJ O +last JJ B +Monday NNP I +wo MD O +n't RB O +be VB O +penalized VBN O +if IN O +they PRP B +file VBP O +-- : O +or CC O +request VB O +an DT B +extension NN I +-- : O +and CC O +pay VB O +tax NN B +due JJ O +by IN O +Nov. NNP B +15 CD I +. . O + +Excise-tax JJ B +returns NNS I +due JJ O +by IN O +Oct. NNP B +31 CD I +or CC O +Nov. NNP B +30 CD I +may MD O +be VB O +delayed VBN O +to TO O +Jan. NNP B +16 CD I +. . O + +Extensions NNS B +ca MD O +n't RB O +be VB O +granted VBN O +for IN O +filing VBG O +employment-tax JJ B +returns NNS I +due JJ O +Oct. NNP B +31 CD I +or CC O +for IN O +depositing VBG O +withheld VBN B +taxes NNS I +, , O +but CC O +late JJ B +penalties NNS I +will MD O +be VB O +abated VBN O +for IN O +deposits NNS B +made VBN O +by IN O +Nov. NNP B +15 CD I +. . O + +The DT B +notice NN I +also RB O +grants VBZ O +relief NN B +for IN O +certain JJ B +estate-tax JJ I +returns NNS I +. . O + +ONE-DAY JJ B +JAUNTS NNS I +in IN O +a DT B +chartered JJ I +boat NN I +were VBD O +perks NNS B +for IN O +permanent JJ B +staffers NNS I +of IN O +American NNP B +Business NNP I +Service NNP I +Corp. NNP I +, , O +a DT B +Costa NNP I +Mesa NNP I +, , I +Calif. NNP I +, , I +supplier NN I +of IN O +temporary JJ B +workers NNS I +. . O + +The DT B +IRS NNP I +denied VBD O +cost NN B +deductions NNS I +because IN O +few NN B +of IN O +the DT B +temps NNS I +got VBD O +to TO O +go VB O +aboard RB O +. . O + +But CC O +the DT B +Tax NNP I +Court NNP I +said VBD O +the DT B +limitations NNS I +were VBD O +reasonable JJ O +and CC O +realistic JJ O +and CC O +allowed VBD O +the DT B +deductions NNS I +. . O + +USED-CAR NN B +BUYERS NNS I +who WP B +try VBP O +to TO O +avoid VB O +sales NNS B +tax VB I +by IN O +understating VBG O +prices NNS B +paid VBN O +in IN O +private JJ B +deals NNS I +are VBP O +the DT B +targets NNS I +of IN O +a DT B +New NNP I +York NNP I +drive NN I +. . O + +Estimating VBG O +that IN O +the DT B +state NN I +may MD O +lose VB O +$ $ B +15 CD I +million CD I +a DT B +year NN I +, , O +officials NNS B +announced VBD O +the DT B +filing NN I +of IN O +15 CD B +criminal JJ I +actions NNS I +and CC O +`` `` O +hundreds NNS B +'' '' O +of IN O +civil JJ B +penalties NNS I +. . O + +WHEN WRB O +AN DT B +IRA NNP I +OWNER NNP I +dies VBZ O +, , O +the DT B +trustee NN I +of IN O +the DT B +individual JJ I +retirement NN I +account NN I +must MD O +file VB O +forms NNS B +5498 CD I +reporting VBG O +market NN B +values NNS I +relating VBG O +to TO O +the DT B +decedent NN I +and CC O +each DT B +beneficiary NN I +, , O +with IN O +copies NNS B +to TO O +the DT B +executor NN I +and CC I +beneficiaries NNS I +. . O + +IRS NNP B +Revenue NN I +Procedure NN I +89-52 CD I +describes VBZ O +the DT B +reporting VBG I +requirements NNS I +. . O + +BIGGER JJR O +THAN IN O +A DT B +BREADBOX NN I +was VBD O +this DT B +cash NN I +hoarder NN I +'s POS B +reputation NN I +for IN O +honesty NN B +. . O + +People NNS B +often RB O +cite VBP O +frugality NN B +and CC O +distrust NN B +of IN O +banks NNS B +to TO O +justify VB O +cash NN B +caches NNS I +to TO O +the DT B +IRS NNP I +. . O + +Gregory NNP B +Damonne NNP I +Brown NNP I +of IN O +Fremont NNP B +, , O +Calif. NNP B +, , O +a DT B +hardworking JJ I +, , I +reclusive JJ I +young JJ I +bachelor NN I +, , O +told VBD O +that DT B +story NN I +to TO O +the DT B +Tax NNP I +Court NNP I +. . O + +But CC O +judges NNS B +usually RB O +find VBP O +the DT B +real JJ I +aim NN I +is VBZ O +to TO O +escape VB O +tax NN B +on IN O +hidden VBN B +income NN I +; : O +and CC O +the DT B +IRS NNP I +said VBD O +Brown NNP B +must MD O +have VB O +had VBN O +such JJ B +income NN I +-- : O +although IN O +it PRP B +uncovered VBD O +no DT B +source NN I +-- : O +because IN O +he PRP B +deposited VBD O +$ $ B +124,732 CD I +in IN O +a DT B +bank NN I +account NN I +in IN O +1982-84 CD B +while IN O +reporting VBG O +income NN B +of IN O +only RB B +$ $ I +52,012 CD I +. . O + +Brown NNP B +'s POS B +story NN I +: : O + +The DT B +deposits NNS I +came VBD O +from IN O +savings NNS B +kept VBD O +in IN O +a DT B +Tupperware NNP I +breadbox NN I +; : O +he PRP B +saved VBD O +$ $ B +47,000 CD I +in IN O +1974-81 CD B +by IN O +living VBG O +with IN O +family NN B +members NNS I +and CC O +pinching VBG O +pennies NNS B +and CC O +$ $ B +45,000 CD I +of IN O +secret JJ B +gifts NNS I +from IN O +his PRP$ B +remorseful JJ I +father NN I +, , O +who WP B +had VBD O +abandoned VBN O +the DT B +family NN I +in IN O +1955 CD B +. . O + +Brown NNP B +had VBD O +no DT B +proof NN I +; : O +but CC O +testimony NN B +of IN O +his PRP$ B +mother NN I +and CC I +stepmother NN I +about IN O +his PRP$ B +father NN I +and CC O +of IN O +an DT B +ex-employer NN I +about IN O +his PRP$ B +honesty NN I +and CC I +habits NNS I +satisfied VBD O +a DT B +judge NN I +that IN O +Brown NNP B +was VBD O +truthful JJ O +and CC O +his PRP$ B +tale NN I +of IN O +gifts NNS B +was VBD O +possible JJ O +. . O + +The DT B +IRS NNP I +offered VBD O +no DT B +evidence NN I +of IN O +hidden VBN B +sources NNS I +of IN O +taxable JJ B +income NN I +, , O +so RB O +Judge NNP B +Shields NNP I +rejected VBD O +its PRP$ B +claims NNS I +. . O + +BRIEFS NNS B +: : I + +Asked VBN O +how WRB O +he PRP B +made VBD O +charitable JJ B +gifts NNS I +of IN O +$ $ B +26,350 CD I +out IN O +of IN O +reported VBN B +two-year JJ I +income NN I +of IN O +$ $ B +46,892 CD I +, , O +Thomas NNP B +H. NNP I +McFall NNP I +of IN O +Bryan NNP B +, , O +Texas NNP B +, , O +told VBD O +the DT B +Tax NNP I +Court NNP I +he PRP B +had VBD O +understated VBN O +his PRP$ B +income NN I +. . O + +The DT B +court NN I +rejected VBD O +his PRP$ B +incredible JJ I +claims NNS I +, , O +denied VBD O +his PRP$ B +deductions NNS I +, , O +and CC O +imposed VBD O +a DT B +negligence NN I +penalty NN I +... : O +. . O + +Rep. NNP B +Schaefer NNP I +-LRB- ( O +R. NNP B +, , O +Colo. NNP B +-RRB- ) O +entered VBD O +a DT B +bill NN I +to TO O +exempt VB O +from IN O +tax NN B +rewards NNS B +for IN O +tips NNS B +leading VBG O +to TO O +the DT B +arrest NN I +of IN O +violent JJ B +criminals NNS I +. . O + +Kay NNP B +Peterson NNP I +mounts NNS O +her PRP$ B +bicycle NN I +and CC O +grinds VBZ O +up IN O +yet RB B +another DT I +steep NN I +, , I +rocky JJ I +path NN I +seemingly RB O +suitable JJ O +only RB O +for IN O +mountain NN B +goats NNS I +. . O + +After IN O +a DT B +tortuous JJ I +climb NN I +, , O +she PRP B +is VBZ O +rewarded VBN O +by IN O +a DT B +picture-postcard NN I +vista NN I +: : O +a DT B +glade NN I +of IN O +golden JJ B +aspens NNS I +under IN O +an DT B +azure JJ I +Indian-summer JJ I +sky NN I +. . O + +This DT B +place NN I +is VBZ O +12 CD B +miles NNS I +into IN O +the DT B +back JJ I +country NN I +-- : O +a DT B +day-long JJ I +trudge NN I +for IN O +a DT B +hiker NN I +, , O +but CC O +reached VBD O +by IN O +Ms. NNP B +Peterson NNP I +and CC O +six CD B +others NNS I +in IN O +a DT B +mere JJ I +two CD I +hours NNS I +of IN O +pedaling VBG O +fat-tired JJ B +mountain NN I +bikes NNS I +. . O + +`` `` O +This DT B +, , O +'' '' O +says VBZ O +Ms. NNP B +Peterson NNP I +, , O +`` `` O +is VBZ O +what WP B +it PRP B +'s VBZ O +all DT O +about IN O +. . O +'' '' O + +Twelve CD B +hundred CD I +miles NNS I +away RB O +, , O +rangers NNS B +at IN O +a DT B +Napa NNP I +County NNP I +, , I +Calif. NNP I +, , I +state NN I +park NN I +are VBP O +among IN O +the DT B +many JJ I +who WP B +do VBP O +n't RB O +quite RB O +share VBP O +the DT B +enthusiasm NN I +. . O + +This DT B +summer NN I +, , O +speeding VBG B +bikers NNS I +were VBD O +blamed VBN O +for IN O +an DT B +accident NN I +in IN O +the DT B +Napa NNP I +County NNP I +park NN I +, , O +in IN O +which WDT B +a DT B +horse NN I +-- : O +spooked VBN O +on IN O +a DT B +trail NN I +that WDT B +was VBD O +closed VBN O +to TO O +bikers NNS B +-- : O +broke VBD O +its PRP$ B +leg NN I +. . O + +The DT B +animal NN I +had VBD O +to TO O +be VB O +destroyed VBN O +; : O +the DT B +bikers NNS I +fled VBD O +and CC O +were VBD O +never RB O +found VBN O +. . O + +In IN O +numerous JJ B +parks NNS I +near IN O +San NNP B +Francisco NNP I +, , O +rangers NNS B +have VBP O +been VBN O +forced VBN O +to TO O +close VB O +trails NNS B +, , O +set VBN O +up IN O +speed NN B +traps NNS I +and CC O +use NN O +radar NN B +guns NNS I +to TO O +curb VB O +fast RB B +and CC I +reckless JJ I +riding NN I +. . O + +They PRP B +have VBP O +even RB O +sent VBN O +helicopters NNS B +in IN O +pursuit NN B +of IN O +bikers NNS B +after IN O +hikers NNS B +and CC I +equestrians NNS I +complained VBD O +they PRP B +were VBD O +being VBG O +driven VBN O +from IN O +trails NNS B +. . O + +`` `` O +We PRP B +were VBD O +being VBG O +overrun VBN O +, , O +'' '' O +says VBZ O +Steve NNP B +Fiala NNP I +, , O +trails NNS B +coordinator NN I +of IN O +the DT B +East NNP I +Bay NNP I +Regional NNP I +Park NNP I +District NNP I +. . O + +Two CD B +years NNS I +ago RB O +, , O +the DT B +district NN I +decided VBD O +to TO O +limit VB O +the DT B +bikes NNS I +to TO O +fire VB B +roads NNS I +in IN O +its PRP$ B +65,000 CD I +hilly JJ I +acres NNS I +. . O + +From IN O +about IN B +200,000 CD I +six CD B +years NNS I +ago RB O +, , O +the DT B +number NN I +of IN O +mountain NN B +bikes NNS I +in IN O +the DT B +U.S. NNP I +is VBZ O +expected VBN O +to TO O +grow VB O +to TO O +10 CD B +million CD I +in IN O +1990 CD B +. . O + +At IN B +least JJS I +half PDT I +that DT I +growth NN I +will MD O +have VB O +come VBN O +in IN O +the DT B +past JJ I +three CD I +years NNS I +alone RB O +. . O + +The DT B +controversy NN I +kicked VBD O +up IN O +by IN O +the DT B +proliferation NN I +of IN O +these DT B +all-terrain JJ I +bicycles NNS I +is VBZ O +one CD B +of IN O +the DT B +most RBS I +divisive JJ I +storms NNS I +to TO O +blow VB O +through IN O +the DT B +national JJ I +conservation NN I +movement NN I +in IN O +recent JJ B +memory NN I +. . O + +Bikers NNS B +-- : O +many NN B +of IN O +them PRP B +ardent JJ B +environmentalists NNS I +-- : O +proclaim VB O +their PRP$ B +sport NN I +an DT B +efficient JJ I +, , I +safe JJ I +, , I +fitness-promoting JJ I +way NN I +to TO O +get VB O +back RB O +to TO O +nature NN B +, , O +while IN O +asserting VBG O +a DT B +right NN I +, , O +as IN O +taxpayers NNS B +, , O +to TO O +pedal VB O +on IN O +public JJ B +lands NNS I +. . O + +But CC O +the DT B +bikes NNS I +' POS B +burgeoning VBG I +numbers NNS I +, , O +safety NN B +concerns NNS I +and CC O +fear NN B +that IN O +they PRP B +damage VBP O +fragile JJ B +landscapes NNS I +have VBP O +prompted VBN O +pleas NNS B +, , O +from IN O +the DT B +Sierras NNPS I +to TO O +the DT B +Eastern NNP I +Seaboard NNP I +, , O +to TO O +ban VB O +them PRP B +from IN O +the DT B +back JJ I +country NN I +. . O + +Key NNP O +to TO O +the DT B +issue NN I +is VBZ O +that IN O +the DT B +bikes NNS I +, , O +in IN O +skillful JJ B +hands NNS I +, , O +can MD O +go VB O +virtually RB O +anywhere RB O +, , O +and CC O +in IN O +reckless JJ B +hands NNS I +can MD O +become VB O +vehicles NNS B +of IN O +terror NN B +. . O + +An DT B +adept JJ I +bicyclist NN I +can MD O +leap VB O +from IN O +a DT B +dead JJ I +stop NN I +to TO O +the DT B +top NN I +of IN O +a DT B +picnic NN I +table NN I +without IN O +losing VBG O +balance NN B +. . O + +Such JJ B +skills NNS I +allow VBP O +riders NNS B +to TO O +fly VB O +down RB O +treacherous JJ B +mountain NN I +grades NNS I +at IN O +speeds NNS B +of IN O +up IN B +to TO I +40 CD I +miles NNS I +an DT B +hour NN I +-- : O +a DT B +thrill NN I +for IN O +the DT B +cyclist NN I +but CC O +a DT B +nightmare NN I +for IN O +unsuspecting JJ B +hikers NNS I +or CC I +equestrians NNS I +. . O + +For IN O +harried VBN B +public-land JJ I +managers NNS I +across IN O +the DT B +nation NN I +, , O +the DT B +response NN I +is VBZ O +increasingly RB O +to TO O +shut VB O +the DT B +gates NNS I +. . O + +The DT B +state NN I +of IN O +California NNP B +, , O +following VBG O +the DT B +lead NN I +of IN O +some DT B +regional JJ I +parks NNS I +, , O +recently RB O +adopted VBN O +regulations NNS B +that WDT B +closed VBD O +nearly RB B +all DT I +hiking VBG I +paths NNS I +in IN O +state NN B +parks NNS I +to TO O +mountain NN B +bicycles NNS I +. . O + +The DT B +move NN I +largely RB O +consigns VBZ O +them PRP B +to TO O +roads NNS B +used VBN O +by IN O +motorized JJ B +vehicles NNS I +. . O + +Most JJS B +other JJ I +states NNS I +have VBP O +enacted VBN O +similar JJ B +bans NNS I +. . O + +The DT B +bikes NNS I +are VBP O +unwelcome JJ O +on IN O +trails NNS B +in IN O +national JJ B +parks NNS I +. . O + +Even RB B +the DT I +U.S. NNP I +Forest NNP I +Service NNP I +, , O +whose WP$ B +lenient JJ I +`` `` I +multiple-use JJ I +'' '' I +philosophy NN I +permits VBZ O +motorized VBN B +vehicles NNS I +on IN O +thousands NNS B +of IN O +miles NNS B +of IN O +its PRP$ B +trails NNS I +across IN O +the DT B +U.S. NNP I +, , O +has VBZ O +begun VBN O +to TO O +close VB O +some DT B +lands NNS I +to TO O +the DT B +bikes NNS I +, , O +including VBG O +major JJ B +portions NNS I +of IN O +the DT B +popular JJ I +Pacific NNP I +Crest NNP I +Trail NNP I +, , O +which WDT B +stretches VBZ O +from IN O +California NNP B +to TO O +Canada NNP B +. . O + +Often RB O +these DT B +closings NNS I +come VBP O +after IN O +vigorous JJ B +anti-bike JJ I +lobbying NN I +by IN O +conservation NN B +organizations NNS I +, , O +the DT B +politically RB I +potent JJ I +Sierra NNP I +Club NNP I +among IN O +them PRP B +. . O + +Sierra NNP B +has VBZ O +been VBN O +instrumental JJ O +in IN O +securing VBG O +a DT B +number NN I +of IN O +the DT B +California NNP I +bans NNS I +. . O + +It PRP B +has VBZ O +been VBN O +waging VBG O +an DT B +all-out JJ I +campaign NN I +to TO O +beat VB O +back RB O +a DT B +proposal NN I +, , O +pushed VBN O +by IN O +Utah NNP B +bike NN I +groups NNS I +, , O +to TO O +allow VB O +the DT B +cycles NNS I +in IN O +federally RB B +designated VBN I +wilderness NN I +areas NNS I +, , O +where WRB O +they PRP B +are VBP O +now RB O +prohibited VBN O +. . O + +Yet RB O +Sierra NNP B +'s POS B +hard-line JJ I +stance NN I +has VBZ O +created VBN O +something NN B +of IN O +a DT B +rift NN I +in IN O +the DT B +organization NN I +, , O +which WDT B +estimates VBZ O +that IN O +17 CD B +% NN I +of IN O +its PRP$ B +500,000 CD I +members NNS I +own JJ O +mountain NN B +bikes NNS I +. . O + +Pressure NN B +from IN O +these DT B +members NNS I +prompted VBD O +the DT B +club NN I +recently RB O +to TO O +soften VB O +its PRP$ B +anti-bike JJ I +rhetoric NN I +; : O +it PRP B +no RB O +longer RB O +, , O +for IN O +example NN B +, , O +lumps VBZ O +the DT B +bikes NNS I +into IN O +the DT B +same JJ I +category NN I +as IN O +motorcycles NNS B +and CC O +other JJ B +terrain-marring JJ I +off-road JJ I +vehicles NNS I +. . O + +But CC O +the DT B +club NN I +still RB O +insists VBZ O +that IN O +public JJ B +lands NNS I +ought MD O +to TO O +be VB O +closed VBN O +to TO O +the DT B +bikes NNS I +unless IN O +studies NNS B +indicate VBP O +the DT B +bikes NNS I +wo MD O +n't RB O +injure VB O +the DT B +environment NN I +or CC O +other JJ B +users NNS I +. . O + +`` `` O +I PRP B +have VBP O +a DT B +mountain NN I +bike NN I +, , O +yet RB O +as IN O +a DT B +hiker NN I +I PRP B +'ve VBP O +been VBN O +run VB O +off IN O +the DT B +road NN I +by IN O +kids NNS B +careening VBG O +down RP O +a DT B +fire NN I +trail NN I +on IN O +them PRP B +, , O +'' '' O +says VBZ O +Gene NNP B +Coan NNP I +, , O +an DT B +official NN I +at IN O +Sierra NNP B +'s POS B +headquarters NN I +in IN O +San NNP B +Francisco NNP I +, , O +echoing VBG O +the DT B +concerns NNS I +of IN O +many JJ B +members NNS I +. . O + +`` `` O +People NNS B +who WP B +feel VBP O +that IN O +cyclists NNS B +should MD O +be VB O +banned VBN O +from IN O +an DT B +area NN I +are VBP O +n't RB O +looking VBG O +at IN O +the DT B +whole JJ I +picture NN I +, , O +'' '' O +complains VBZ O +Mark NNP B +Langton NNP I +, , O +associate JJ B +editor NN I +of IN O +Mountain NNP B +and CC I +City NNP I +Biking NNP I +magazine NN I +in IN O +Canoga NNP B +Park NNP I +, , O +Calif NNP B +. . O + +Mr. NNP B +Langton NNP I +is VBZ O +among IN O +the DT B +legions NNS I +of IN O +bikers NNS B +who WP B +got VBD O +their PRP$ B +first JJ I +taste NN I +of IN O +wilderness NN B +as IN O +hikers NNS B +or CC I +backpackers NNS I +. . O + +He PRP B +says VBZ O +fellow NN B +bikers NNS I +show VBP O +the DT B +same JJ I +concern NN I +for IN O +the DT B +land NN I +that IN B +they PRP B +demonstrated VBD O +as IN O +hikers NNS B +; : O +many JJ B +are VBP O +appalled VBN O +that IN O +the DT B +conservation NN I +community NN I +would MD O +suddenly RB O +consider VB O +them PRP B +the DT B +enemy NN I +. . O + +To TO O +fight VB O +back RB O +, , O +activists NNS B +such JJ O +as IN O +Mr. NNP B +Langton NNP I +are VBP O +forming VBG O +groups NNS B +to TO O +lobby VB O +land NN B +managers NNS I +over IN O +access NN B +issues NNS I +and CC O +undertake VB O +education NN B +programs NNS I +to TO O +show VB O +that IN O +the DT B +bikes NNS I +can MD O +responsibly RB O +share VB O +trails NNS B +. . O + +Mr. NNP B +Langton NNP I +'s POS B +group NN I +, , O +Concerned NNP B +Off-Road NNP I +Bicyclists NNPS I +Association NNP I +, , O +mounted VBN O +petition NN B +drives NNS I +to TO O +help VB O +keep VB O +open JJ O +certain JJ B +Santa NNP I +Monica NNP I +Mountain NNP I +trails NNS I +designated VBN O +for IN O +closing VBG B +. . O + +Biking NNP B +groups NNS I +in IN O +Montana NNP B +, , I +Idaho NNP I +, , I +Michigan NNP I +and CC I +Massachusetts NNP I +have VBP O +won VBN O +similar JJ B +concessions NNS I +, , O +says VBZ O +Tim NNP B +Blumenthal NNP I +, , O +mountain NN B +bike NN I +editor NN I +of IN O +Bicycling NNP B +magazine NN I +. . O + +These DT B +groups NNS I +have VBP O +been VBN O +trying VBG O +to TO O +improve VB O +the DT B +mountain NN I +biker NN I +'s POS B +image NN I +; : O +in IN O +the DT B +San NNP I +Francisco-area JJ I +park NN I +district NN I +where WRB O +a DT B +ranger NN I +was VBD O +clobbered VBN O +by IN O +a DT B +cyclist NN I +this DT B +summer NN I +bikers NNS B +have VBP O +formed VBN O +a DT B +volunteer NN I +patrol NN I +to TO O +help VB O +rangers NNS B +enforce VB O +regulations NNS B +, , O +and CC O +to TO O +school VB O +riders NNS B +in IN O +proper JJ B +trail NN I +etiquette NN I +. . O + +Even RB B +staunch JJ I +anti-bike JJ I +Sierra NNP I +members NNS I +concede VBP O +that IN O +10 CD B +% NN I +of IN O +all DT B +riders NNS I +cause VBP O +most RBS B +of IN O +the DT B +problems NNS I +. . O + +While IN O +some DT B +are VBP O +renegade NN B +riders NNS I +who WP B +simply JJ O +scorn NN O +regulations NNS B +, , O +much JJ B +bad JJ I +riding NN I +simply RB O +reflects VBZ O +ignorance NN B +that WDT B +can MD O +be VB O +corrected VBN O +through IN O +`` `` O +education NN B +and CC O +peer NN B +pressure NN I +, , O +'' '' O +says VBZ O +Jim NNP B +Hasenauer NNP I +, , O +a DT B +director NN I +of IN O +the DT B +International NNP I +Mountain NNP I +Biking NNP I +Association NNP I +. . O + +`` `` O +I PRP B +think VBP O +we PRP B +'re VBP O +making VBG O +progress NN B +. . O +'' '' O + +Few JJ B +would MD O +have VB O +foreseen VBN O +such JJ B +a DT I +furor NN I +when WRB O +, , O +a DT B +decade NN I +ago RB O +, , O +some DT B +Marin NNP I +County NNP I +bicycle NN I +enthusiasts NNS I +created VBD O +a DT B +hybrid JJ I +bike NN I +using VBG O +fat JJ B +tires NNS I +, , O +lightweight JJ B +metallurgy NN I +and CC O +multi-gear JJ B +technology NN I +. . O + +They PRP B +wanted VBD O +a DT B +machine NN I +that WDT B +would MD O +allow VB O +them PRP B +to TO O +pedal VB O +into IN O +rugged JJ B +terrain NN I +then RB O +inaccessible JJ O +to TO O +cycles NNS B +. . O + +They PRP B +got VBD O +a DT B +machine NN I +more RBR O +responsive JJ O +, , O +more RBR O +stable JJ O +and CC O +in IN O +many JJ B +ways NNS I +easier JJR O +to TO O +ride VB O +than IN O +the DT B +thin-tired JJ I +racing NN I +bikes NNS I +that IN B +then RB O +were VBD O +the DT B +rage NN I +. . O + +When WRB O +the DT B +bikes NNS I +first JJ O +entered VBD O +mass NN B +production NN I +in IN O +1981 CD B +, , O +they PRP B +were VBD O +dismissed VBN O +as IN O +a DT B +fad NN I +. . O + +Last JJ B +year NN I +, , O +25 CD B +% NN I +of IN O +the DT B +10 CD I +million CD I +bicycles NNS I +sold VBN O +in IN O +the DT B +U.S. NNP I +were VBD O +mountain NN B +bikes NNS I +. . O + +In IN O +California NNP B +, , O +a DT B +bellwether NN I +market NN I +, , O +they PRP B +accounted VBD O +for IN O +more JJR B +than IN I +80 CD I +% NN I +of IN O +all DT B +bike NN I +sales NNS I +. . O + +The DT B +majority NN I +of IN O +the DT B +bikes NNS I +never RB O +even RB O +make VB O +it PRP B +into IN O +the DT B +high JJ I +country NN I +. . O + +City NN B +dwellers NNS I +love VBP O +them PRP B +because IN O +they PRP B +shift VBP O +smoothly RB O +in IN O +traffic NN B +, , O +bounce VB O +easily RB O +over IN O +curbs NNS B +and CC O +roll NN O +through IN O +road NN B +glass NN I +with IN O +far RB B +fewer RBR I +flat JJ I +tires NNS I +than IN O +racing VBG B +bikes NNS I +. . O + +Crested NNP B +Butte NNP I +, , O +population NN B +1,200 CD I +, , O +is VBZ O +a DT B +bastion NN I +of IN O +the DT B +sport NN I +. . O + +By IN O +one CD B +estimate NN I +, , O +everyone NN B +here RB I +under IN O +50 CD B +owns VBZ O +at IN B +least JJS I +one CD I +bike NN I +. . O + +The DT B +town NN I +is VBZ O +home NN B +to TO O +the DT B +Mountain NNP I +Bike NNP I +Hall NNP I +of IN O +Fame NNP B +and CC O +it PRP B +hosts VBZ O +the DT B +annual JJ I +Fat NNP I +Tire NNP I +Bike NNP I +Week NNP I +. . O + +This DT B +summer NN I +, , O +the DT B +jamboree NN I +attracted VBN O +more JJR B +visitors NNS I +than IN O +the DT B +busiest JJS I +week NN I +of IN O +the DT B +town NN I +'s POS B +winter NN I +ski NN I +season NN I +. . O + +David NNP B +Lindsey NNP I +, , O +chairman NN B +of IN O +the DT B +Fat NNP I +Tire NNP I +Bike NNP I +celebration NN I +, , O +muses VBZ O +that IN O +the DT B +bike NN I +'s POS B +popularity NN I +may MD O +be VB O +a DT B +combination NN I +of IN O +technology NN B +and CC I +nostalgia NN I +. . O + +`` `` O +The DT B +mountain NN I +bike NN I +feels VBZ O +as RB O +comfortable JJ O +as IN O +the DT B +` `` I +paperboy NN I +' '' I +bike NN I +you PRP B +had VBD O +as IN O +a DT B +kid NN I +, , O +but CC O +it PRP B +can MD O +do VB O +so RB B +much RB I +more JJR I +, , O +'' '' O +he PRP B +says VBZ O +. . O + +The DT B +following VBG I +issues NNS I +were VBD O +recently RB O +filed VBN O +with IN O +the DT B +Securities NNP I +and CC I +Exchange NNP I +Commission NNP I +: : O + +Canada NNP B +'s POS B +Province NNP I +of IN O +Nova NNP B +Scotia NNP I +, , O +shelf NN B +offering NN I +of IN O +up IN B +to TO I +$ $ I +550 CD I +million CD I +of IN O +debentures NNS B +. . O + +Golar NNP B +Gas NNP I +Holding NNP I +Co. NNP I +, , O +a DT B +subsidiary NN I +of IN O +Gotaas-Larsen NNP B +Shipping NNP I +Corp. NNP I +, , O +offering NN B +of IN O +$ $ B +280 CD I +million CD I +first JJ I +preferred JJ I +ship NN I +mortgage NN I +notes NNS I +, , O +via IN O +Merrill NNP B +Lynch NNP I +Capital NNP I +Markets NNPS I +. . O + +H.F. NNP B +Ahmanson NNP I +& CC I +Co. NNP I +, , O +offering NN B +of IN O +four CD B +million CD I +shares NNS I +of IN O +noncumulative JJ B +convertible JJ I +preferred JJ I +stock NN I +, , O +Series NNP B +B. NNP I +, , O +via IN O +Goldman NNP B +, , I +Sachs NNP I +& CC I +Co NNP I +, , O +First NNP B +Boston NNP I +Corp. NNP I +, , O +and CC O +Merrill NNP B +Lynch NNP I +. . O + +Shared NNP B +Technologies NNP I +Inc. NNP I +, , O +offering NN B +of IN O +2.5 CD B +million CD I +common JJ I +shares NNS I +, , O +via IN O +Smetek NNP B +, , I +Van NNP I +Horn NNP I +& CC I +Cormack NNP I +Inc. NNP I +and CC O +Oakes NNP B +, , I +Fitzwilliams NNP I +& CC I +Co NNP I +. . O + +Stock-market NN B +tremors NNS I +again RB O +shook VBD O +bond NN B +prices NNS I +, , O +while IN O +the DT B +dollar NN I +turned VBD O +in IN O +a DT B +mixed VBN I +performance NN I +. . O + +Early JJ B +yesterday NN I +, , O +investors NNS B +scrambled VBD O +to TO O +buy VB O +Treasury NNP B +bonds NNS I +for IN O +safety NN B +as IN O +stock NN B +prices NNS I +plummeted VBD O +and CC O +fears NNS B +mounted VBN O +of IN O +a DT B +replay NN I +of IN O +Friday NNP B +. . O + +But CC O +stocks NNS B +later RB O +recovered VBD O +, , O +erasing VBG O +most RBS B +of IN O +their PRP$ B +early JJ I +declines NNS I +. . O + +That DT B +cut NN O +short VB O +the DT B +rally NN I +in IN O +Treasury NNP B +bonds NNS I +and CC O +depressed JJ O +prices NNS B +moderately RB O +below IN O +late JJ B +Monday NNP I +'s POS B +levels NNS I +. . O + +The DT B +Dow NNP I +Jones NNP I +Industrial NNP I +Average NNP I +, , O +down RB O +more JJR B +than IN I +60.25 CD I +points NNS I +early RB O +in IN O +the DT B +day NN I +, , O +finished VBD O +18.65 CD B +points NNS I +lower JJR O +at IN O +2638.73 CD B +. . O + +Long-term NNP B +Treasury NNP I +issues NNS I +declined VBD O +about IN B +half PDT I +a DT I +point NN I +, , O +or CC O +$ $ B +5 NN I +for IN O +each DT B +$ $ I +1,000 CD I +face NN I +amount NN I +. . O + +`` `` O +The DT B +stock NN I +market NN I +clearly RB O +is VBZ O +leading VBG O +the DT B +bond NN I +markets NNS I +, , O +'' '' O +said VBD O +Jack NNP B +Conlon NNP I +, , O +an DT B +executive JJ I +vice NN I +president NN I +at IN O +Nikko NNP B +Securities NNP I +. . O + +`` `` O +People NNS B +are VBP O +breathing VBG O +a DT B +major JJ I +sigh NN I +of IN O +relief NN B +that IN O +the DT B +world NN I +did VBD O +n't RB O +end VB O +Monday NNP B +morning NN I +'' '' O +or CC O +yesterday NN B +. . O + +Gold NNP B +, , O +a DT B +closely RB I +watched VBN I +barometer NN I +of IN O +investor NN B +anxiety NN I +, , O +was VBD O +little RB O +changed VBN O +. . O + +The DT B +dollar NN I +initially RB O +fell VBD O +against IN O +other JJ B +major JJ I +currencies NNS I +on IN O +news NN B +that IN O +the DT B +U.S. NNP I +trade NN I +deficit NN I +surged VBD O +in IN O +August NNP B +to TO O +$ $ B +10.77 CD I +billion CD I +. . O + +But CC O +the DT B +dollar NN I +later RB O +rebounded VBD O +, , O +finishing VBG O +slightly RB O +higher JJR O +against IN O +the DT B +yen NN I +although IN O +slightly RB O +lower JJR O +against IN O +the DT B +mark NN I +. . O + +Federal NNP B +Reserve NNP I +officials NNS I +sent VBD O +another DT B +signal NN I +of IN O +their PRP$ B +determination NN I +to TO O +shore VB O +up IN O +investor NN B +confidence NN I +. . O + +In IN O +an DT B +apparent JJ I +attempt NN I +to TO O +keep VB O +a DT B +lid NN I +on IN O +short-term JJ B +interest NN I +rates NNS I +, , O +the DT B +Fed NNP I +once RB O +again RB O +pumped VBN O +money NN B +into IN O +the DT B +banking NN I +system NN I +. . O + +But CC O +the DT B +Fed NNP I +move NN I +was VBD O +a DT B +small JJ I +gesture NN I +, , O +traders NNS B +said VBD O +. . O + +Fed JJ B +officials NNS I +appear VBP O +reluctant JJ O +to TO O +ease VB O +their PRP$ B +credit NN I +grip NN I +any DT O +further JJ O +because IN O +a DT B +bold JJ I +move NN I +does VBZ O +n't RB O +appear VB O +necessary JJ O +, , O +several JJ B +investment NN I +managers NNS I +said VBD O +. . O + +The DT B +Fed NNP I +has VBZ O +allowed VBN O +a DT B +key JJ I +short-term JJ I +interest NN I +rate NN I +to TO O +decline VB O +about IN B +one-quarter NN I +percentage NN I +point NN I +. . O + +The DT B +federal JJ I +funds NNS I +rate NN I +on IN O +overnight JJ B +loans NNS I +between IN O +banks NNS B +has VBZ O +been VBN O +hovering VBG O +around IN O +8 CD B +3\/4 CD I +% NN I +, , O +down RB O +from IN O +9 CD B +% NN I +previously RB O +. . O + +Although IN O +stocks NNS B +have VBP O +led VBN O +bonds NNS B +this DT B +week NN I +, , O +some DT B +traders NNS I +predict VBP O +that DT B +relationship NN I +will MD O +reverse VB O +during IN O +the DT B +next JJ I +few JJ I +weeks NNS I +. . O + +Nikko NNP B +'s POS B +Mr. NNP I +Conlon NNP I +fears VBZ O +a DT B +huge JJ I +wave NN I +of IN O +Treasury NNP B +borrowing NN I +early JJ B +next JJ I +month NN I +will MD O +drive VB O +down RB O +Treasury NNP B +bond NN I +prices NNS I +. . O + +That DT B +, , O +coupled VBN O +with IN O +poor JJ B +third-quarter JJ I +corporate-earnings NNS I +comparisons NNS I +, , O +`` `` O +will MD O +make VB O +trouble NN B +for IN O +the DT B +equity NN I +market NN I +for IN O +the DT B +next JJ I +two CD I +to TO I +three CD I +months NNS I +, , O +'' '' O +he PRP B +says VBZ O +. . O + +But CC O +several JJ B +other JJ I +traders NNS I +contend VBP O +investors NNS B +have VBP O +overreacted VBN O +to TO O +junk-bond NN B +jitters NNS I +, , O +and CC O +that IN O +stock NN B +prices NNS I +will MD O +continue VB O +to TO O +recover VB O +. . O + +`` `` O +They PRP B +shot NN O +the DT B +whole JJ I +orchestra NN I +just RB O +because IN O +the DT B +piano NN I +player NN I +hit VBD O +a DT B +bad JJ I +note NN I +, , O +'' '' O +said VBD O +Laszlo NNP B +Birinyi NNP I +, , O +president NN B +of IN O +Birinyi NNP B +Associates NNP I +Inc. NNP I +, , O +referring VBG O +to TO O +the DT B +stock NN I +market NN I +'s POS B +plunge NN I +Friday NNP B +on IN O +news NN B +of IN O +trouble NN B +in IN O +financing VBG O +the DT B +UAL NNP I +Corp NNP I +. . I +buy-out NN I +. . O + +In IN O +major JJ B +market NN I +activity NN I +: : O +Treasury NNP B +bond NN I +prices NNS I +fell VBD O +. . O + +The DT B +yield NN I +on IN O +30-year NNP B +Treasury NNP I +bonds NNS I +climbed VBD O +back RB O +above IN O +8 CD B +% NN I +, , O +ending VBG O +the DT B +day NN I +at IN O +8.03 CD B +% NN I +. . O + +The DT B +dollar NN I +was VBD O +mixed VBN O +. . O + +Late JJ B +yesterday NN I +in IN O +New NNP B +York NNP I +, , O +the DT B +dollar NN I +rose VBD O +to TO O +142.75 CD B +yen NN I +from IN O +141.80 CD B +yen NN I +Monday NNP B +, , O +but CC O +fell VBD O +to TO O +1.8667 CD B +marks NNS I +from IN O +1.8685 CD B +marks NNS I +. . O + +The DT B +Consumer NNP I +News NNP I +and CC I +Business NNP I +Channel NNP I +cable NN I +network NN I +and CC O +U.S. NNP B +News NNP I +& CC I +World NNP I +Report NNP I +have VBP O +formed VBN O +a DT B +joint JJ I +venture NN I +to TO O +produce VB O +cable NN B +program NN I +versions NNS I +of IN O +special JJ B +issues NNS I +of IN O +the DT B +magazine NN I +. . O + +The DT B +programs NNS I +will MD O +run VB O +on IN O +the DT B +cable NN I +network NN I +the DT B +Sunday NNP I +evening NN I +immediately RB O +prior RB O +to TO O +the DT B +release NN I +of IN O +the DT B +special JJ I +issue NN I +of IN O +U.S. NNP B +News NNP I +& CC I +World NNP I +Report NNP I +. . O + +CNBC NNP B +is VBZ O +a DT B +joint JJ I +venture NN I +of IN O +the DT B +National NNP I +Broadcasting NNP I +Co. NNP I +, , O +a DT B +unit NN I +of IN O +General NNP B +Electric NNP I +Co. NNP I +, , O +and CC O +Cablevision NNP B +System NNP I +Corp NNP I +. . O + +Advertisers NNS B +will MD O +be VB O +offered VBN O +an DT B +advertising NN I +package NN I +, , O +which WDT B +for IN O +a DT B +single JJ I +price NN I +, , O +will MD O +include VB O +time NN B +on IN O +the DT B +CNBC NNP I +program NN I +and CC O +ad NN B +pages NNS I +in IN O +the DT B +special JJ I +guides NNS I +. . O + +CNBC NNP B +will MD O +produce VB O +six CD B +, , I +one-hour JJ I +programs NNS I +, , O +beginning VBG O +in IN O +April NNP B +1990 CD I +. . O + +The DT B +first JJ I +program NN I +scheduled VBN O +in IN O +the DT B +joint JJ I +venture NN I +is VBZ O +`` `` O +The DT O +1990 CD O +Homeowner NNP B +'s POS I +Guide NNP O +. . O +'' '' O + +Other JJ B +programs NNS I +and CC I +special JJ I +issues NNS I +will MD O +be VB O +based VBN O +on IN O +themes NNS B +of IN O +health NN B +, , O +jobs NNS B +, , O +personal JJ B +finance NN I +, , O +the DT B +best JJS I +colleges NNS I +, , O +and CC O +investments NNS B +. . O + +The DT B +programs NNS I +will MD O +be VB O +written VBN O +and CC O +produced VBN O +by IN O +CNBC NNP B +, , O +with IN O +background NN B +and CC I +research NN I +provided VBN O +by IN O +staff NN B +from IN O +U.S. NNP B +News NNP I +& CC I +World NNP I +Report NNP I +. . O + +Skoal NNP B +Daze NNP I + +I PRP B +'ve VBP O +learned VBD O +the DT B +hard JJ I +way NN I +that IN O +too RB B +much JJ I +booze NN I +Takes VBZ O +revenge NN B +the DT B +next JJ I +day NN I +about IN O +nine CD B +; : O +No DT B +wonder NN I +I PRP I +say VBP O +, , O +`` `` O +I PRP B +drink VBP O +to TO O +your PRP$ B +health NN I +'' '' O +-- : O +It PRP B +certainly RB O +is VBZ O +n't RB O +to TO O +mine VB B +! . O + +-- : B +George NNP I +O. NNP I +Ludcke NNP I +. . I + +Spaced NNP O +Out IN O + +Those DT B +supermarket NN I +tabloids NNS I +Make VBP O +me PRP B +feel VBP O +slow JJ O +Because IN O +I PRP B +still RB O +have VBP O +n't RB O +seen VBN O + +-- : B +Bruce NNP I +Kafaroff NNP I +. . I + +Daffynition NN B + +Repression NN B +: : O +emote VB B +control NN I +. . O + +-- : B +Daisy NNP I +Brown NNP I +. . I + +Weyerhaeuser NNP B +Co. NNP I +reported VBD O +a DT B +one-time JJ I +gain NN I +and CC O +strong JJ B +wood-product NN I +sales NNS I +that WDT B +offset VBP O +weakness NN B +in IN O +pulp NN B +and CC I +paper NN I +to TO O +fuel VB O +a DT B +15 CD I +% NN I +jump NN I +in IN O +third-quarter JJ B +net JJ I +income NN I +to TO O +$ $ B +166.8 CD I +million CD I +, , O +or CC O +78 CD B +cents NNS I +a DT B +share NN I +. . O + +In IN O +the DT B +1988 CD I +third JJ I +quarter NN I +, , O +the DT B +forest-products NNS I +company NN I +reported VBD O +profit NN B +of IN O +$ $ B +144.9 CD I +million CD I +, , O +or CC O +69 CD B +cents NNS I +a DT B +share NN I +. . O + +Sales NNS B +rose VBD O +9 CD B +% NN I +to TO O +$ $ B +2.57 CD I +billion CD I +from IN O +$ $ B +2.36 CD I +billion CD I +. . O + +For IN O +the DT B +nine CD I +months NNS I +, , O +the DT B +company NN I +posted VBD O +a DT B +14 CD I +% NN I +rise NN I +in IN O +profit NN B +to TO O +$ $ B +469.8 CD I +million CD I +, , O +or CC O +$ $ B +2.21 CD I +a DT B +share NN I +, , O +from IN O +$ $ B +410.3 CD I +million CD I +, , O +or CC O +$ $ B +1.95 CD I +a DT B +share NN I +. . O + +Sales NNS B +rose VBD O +9 CD B +% NN I +to TO O +$ $ B +7.54 CD I +billion CD I +from IN O +$ $ B +6.95 CD I +billion CD I +. . O + +Results NNS B +for IN O +the DT B +1989 CD I +third JJ I +quarter NN I +and CC I +nine CD I +months NNS I +include VBP O +a DT B +pretax JJ I +loss NN I +of IN O +$ $ B +33 CD I +million CD I +from IN O +the DT B +company NN I +'s POS B +business NN I +improvement NN I +and CC I +refocusing NN I +program NN I +, , O +and CC O +a DT B +gain NN I +of IN O +$ $ B +49 CD I +million CD I +on IN O +the DT B +sale NN I +of IN O +a DT B +subsidiary NN I +'s POS B +common JJ I +stock NN I +. . O + +Forest-products NNS B +operations NNS I +strengthened VBN O +in IN O +the DT B +third JJ I +quarter NN I +, , O +while IN O +paper NN B +operations NNS I +were VBD O +dogged VBN O +by IN O +higher JJR B +costs NNS I +, , O +soft JJ B +newsprint NN I +exports NNS I +and CC O +a DT B +strong JJ I +Japanese JJ I +yen NN I +. . O + +Some DT B +competing VBG I +forest-products NNS I +firms NNS I +have VBP O +recently RB O +reported VBN O +improved VBN B +results NNS I +due JJ O +to TO O +strong JJ B +pulp NN I +and CC I +paper NN I +business NN I +. . O + +Weyerhaeuser NNP B +'s POS B +pulp NN I +and CC I +paper NN I +operations NNS I +were VBD O +up IN O +for IN O +the DT B +nine CD I +months NNS I +, , O +but CC O +full-year JJ B +performance NN I +depends VBZ O +on IN O +the DT B +balance NN I +of IN O +operating VBG B +and CC I +maintenance NN I +costs NNS I +, , O +plus CC O +pricing NN B +of IN O +certain JJ B +products NNS I +, , O +the DT B +company NN I +said VBD O +. . O + +Looking VBG O +ahead RB O +to TO O +the DT B +fourth JJ I +quarter NN I +, , O +the DT B +company NN I +said VBD O +export NN B +log NN I +and CC I +lumber NN I +markets NNS I +will MD O +be VB O +weak JJ O +, , O +while IN O +panel NN B +and CC I +plywood NN I +markets NNS I +will MD O +be VB O +stronger JJR O +. . O + +Pulp NNP B +and CC I +paper NN I +performance NN I +depends VBZ O +on IN O +cost NN B +and CC I +price NN I +variables NNS I +, , O +the DT B +company NN I +said VBD O +. . O + +Bankers NNP B +Trust NNP I +New NNP I +York NNP I +Corp. NNP I +became VBD O +the DT B +latest JJS I +major JJ I +U.S. NNP I +bank NN I +to TO O +increase VB O +reserves NNS B +for IN O +its PRP$ B +loans NNS I +to TO O +less-developed JJ B +countries NNS I +, , O +making VBG O +a DT B +$ $ I +1.6 CD I +billion CD I +third-quarter JJ I +addition NN I +to TO O +its PRP$ B +provision NN I +. . O + +The DT B +bank NN I +also RB O +said VBD O +it PRP B +expects VBZ O +to TO O +report VB O +a DT B +$ $ I +1.42 CD I +billion CD I +loss NN I +for IN O +the DT B +third JJ I +quarter NN I +and CC O +a DT B +loss NN I +for IN O +the DT B +full JJ I +year NN I +. . O + +The DT B +new JJ I +reserves NNS I +bring VBP O +the DT B +company NN I +'s POS B +provision NN I +for IN O +loans NNS B +to TO O +Third NNP B +World NNP I +countries NNS I +to TO O +$ $ B +2.6 CD I +billion CD I +, , O +or CC O +85 CD B +% NN I +of IN O +Bankers NNP B +Trust NNP I +'s POS B +medium NN I +and CC I +long-term JJ I +loans NNS I +to TO O +these DT B +countries NNS I +. . O + +`` `` O +Step NN O +up IN O +to TO O +the DT B +plate NN I +and CC O +take VB O +the DT B +big JJ I +swing NN I +. . O + +Get VB O +the DT B +problem NN I +behind IN O +you PRP B +and CC O +do VBP O +n't RB O +look VB O +back RB O +, , O +'' '' O +said VBD O +James NNP B +J. NNP I +McDermott NNP I +, , O +analyst NN B +at IN O +Keefe NNP B +, , I +Bruyette NNP I +& CC I +Woods NNP I +, , O +in IN O +approving VBG O +of IN O +the DT B +move NN I +. . O + +Bankers NNP B +Trust NNP I +`` `` O +has VBZ O +had VBN O +the DT B +capacity NN I +to TO O +do VB O +this DT B +for IN O +some DT B +time NN I +, , O +'' '' O +the DT B +analyst NN I +said VBD O +. . O + +He PRP B +expects VBZ O +Citicorp NNP B +to TO O +take VB O +a DT B +similar JJ I +step NN I +this DT B +year NN I +. . O + +Citicorp NN B +yesterday NN B +reported VBD O +a DT B +9 CD I +% NN I +third-quarter JJ I +earnings NNS I +drop NN I +, , O +which WDT B +analysts NNS B +called VBD O +a DT O +bit NN O +disappointing JJ O +, , O +while IN O +Manufacturers NNP B +Hanover NNP I +Corp. NNP I +posted VBD O +a DT B +$ $ I +789 CD I +million CD I +loss NN I +for IN O +the DT B +quarter NN I +after IN O +adding VBG O +$ $ B +950 CD I +million CD I +to TO O +its PRP$ B +reserve NN I +for IN O +loans NNS B +to TO O +less-developed JJ B +countries NNS I +. . O + +Three CD B +other JJ I +major JJ I +U.S. NNP I +banks NNS I +posted VBD O +earnings NNS B +increases NNS I +. . O + +Wells NNP B +Fargo NNP I +& CC I +Co. NNP I +of IN O +San NNP B +Francisco NNP I +posted VBD O +a DT B +17 CD I +% NN I +jump NN I +. . O + +PNC NNP B +Financial NNP I +Corp. NNP I +, , O +the DT B +parent NN I +of IN O +Pittsburgh NNP B +National NNP I +Bank NNP I +, , O +reported VBD O +net JJ B +income NN I +climbed VBD O +9.8 CD B +% NN I +, , O +while IN O +net JJ B +for IN O +Banc NNP B +One CD I +Corp. NNP I +of IN O +Columbus NNP B +, , O +Ohio NNP B +, , O +grew VBD O +3.8 CD B +% NN I +. . O + diff --git a/CRF/example/basenp/train.data b/CRF/example/basenp/train.data new file mode 100644 index 0000000000000000000000000000000000000000..0523a7d32215671904d6f3bb3f21bb5d7f363e82 --- /dev/null +++ b/CRF/example/basenp/train.data @@ -0,0 +1,1973 @@ +Confidence NN B +in IN O +the DT B +pound NN I +is VBZ O +widely RB O +expected VBN O +to TO O +take VB O +another DT B +sharp JJ I +dive NN I +if IN O +trade NN B +figures NNS I +for IN O +September NNP B +, , O +due JJ O +for IN O +release NN B +tomorrow NN B +, , O +fail VB O +to TO O +show VB O +a DT B +substantial JJ I +improvement NN I +from IN O +July NNP B +and CC I +August NNP I +'s POS B +near-record JJ I +deficits NNS I +. . O + +Chancellor NNP O +of IN O +the DT B +Exchequer NNP I +Nigel NNP O +Lawson NNP O +'s POS B +restated VBN I +commitment NN I +to TO O +a DT B +firm NN I +monetary JJ I +policy NN I +has VBZ O +helped VBN O +to TO O +prevent VB O +a DT B +freefall NN I +in IN O +sterling NN B +over IN O +the DT B +past JJ I +week NN I +. . O + +But CC O +analysts NNS B +reckon VBP O +underlying VBG B +support NN I +for IN O +sterling NN B +has VBZ O +been VBN O +eroded VBN O +by IN O +the DT B +chancellor NN I +'s POS B +failure NN I +to TO O +announce VB O +any DT B +new JJ I +policy NN I +measures NNS I +in IN O +his PRP$ B +Mansion NNP I +House NNP I +speech NN I +last JJ B +Thursday NNP I +. . O + +This DT B +has VBZ O +increased VBN O +the DT B +risk NN I +of IN O +the DT B +government NN I +being VBG O +forced VBN O +to TO O +increase VB O +base NN B +rates NNS I +to TO O +16 CD B +% NN I +from IN O +their PRP$ B +current JJ I +15 CD I +% NN I +level NN I +to TO O +defend VB O +the DT B +pound NN I +, , O +economists NNS B +and CC O +foreign JJ B +exchange NN I +market NN I +analysts NNS I +say VBP O +. . O + +`` `` O +The DT B +risks NNS I +for IN O +sterling NN B +of IN O +a DT B +bad JJ I +trade NN I +figure NN I +are VBP O +very RB O +heavily RB O +on IN O +the DT B +down JJ I +side NN I +, , O +'' '' O +said VBD O +Chris NNP B +Dillow NNP I +, , O +senior JJ B +U.K. NNP I +economist NN I +at IN O +Nomura NNP B +Research NNP I +Institute NNP I +. . O + +`` `` O +If IN O +there EX B +is VBZ O +another DT B +bad JJ I +trade NN I +number NN I +, , O +there EX B +could MD O +be VB O +an DT B +awful JJ I +lot NN I +of IN O +pressure NN B +, , O +'' '' O +noted VBD O +Simon NNP B +Briscoe NNP I +, , O +U.K. NNP B +economist NN I +for IN O +Midland NNP B +Montagu NNP I +, , O +a DT B +unit NN I +of IN O +Midland NNP B +Bank NNP I +PLC NNP I +. . O + +Forecasts NNS B +for IN O +the DT B +trade NN I +figures NNS I +range VBP O +widely RB O +, , O +but CC O +few JJ B +economists NNS I +expect VBP O +the DT B +data NNS I +to TO O +show VB O +a DT B +very RB I +marked VBN I +improvement NN I +from IN O +the DT B +# # I +2 CD I +billion CD I +-LRB- ( I +$ $ I +3.2 CD I +billion CD I +-RRB- ) I +deficit NN I +in IN O +the DT B +current JJ I +account NN I +reported VBD O +for IN O +August NNP B +. . O + +The DT B +August NNP I +deficit NN I +and CC O +the DT B +# # I +2.2 CD I +billion CD I +gap NN I +registered VBN O +in IN O +July NNP B +are VBP O +topped VBN O +only RB O +by IN O +the DT B +# # I +2.3 CD I +billion CD I +deficit NN I +of IN O +October NNP B +1988 CD I +. . O + +Sanjay NNP B +Joshi NNP I +, , O +European JJ B +economist NN I +at IN O +Baring NNP B +Brothers NNPS I +& CC I +Co. NNP I +, , O +said VBD O +there EX B +is VBZ O +no DT B +sign NN I +that IN O +Britain NNP B +'s POS B +manufacturing NN I +industry NN I +is VBZ O +transforming VBG O +itself PRP B +to TO O +boost VB O +exports NNS B +. . O + +At IN O +the DT B +same JJ I +time NN I +, , O +he PRP B +remains VBZ O +fairly RB O +pessimistic JJ O +about IN O +the DT B +outlook NN I +for IN O +imports NNS B +, , O +given VBN O +continued VBD B +high JJ I +consumer NN I +and CC I +capital NN I +goods NNS I +inflows NNS I +. . O + +He PRP B +reckons VBZ O +the DT B +current JJ I +account NN I +deficit NN I +will MD O +narrow VB O +to TO O +only RB B +# # I +1.8 CD I +billion CD I +in IN O +September NNP B +. . O + +However RB O +, , O +Mr. NNP B +Dillow NNP I +said VBD O +he PRP B +believes VBZ O +that IN O +a DT B +reduction NN I +in IN O +raw JJ B +material NN I +stockbuilding VBG I +by IN O +industry NN B +could MD O +lead VB O +to TO O +a DT B +sharp JJ I +drop NN I +in IN O +imports NNS B +. . O + +Combined VBN O +with IN O +at IN B +least JJS I +some DT I +rebound NN I +in IN O +exports NNS B +after IN O +August NNP B +'s POS B +unexpected JJ I +decline NN I +, , O +the DT B +deficit NN I +could MD O +narrow VB O +to TO O +as RB B +little JJ I +as IN I +# # I +1.3 CD I +billion CD I +. . O + +Mr. NNP B +Briscoe NNP I +, , O +who WP B +also RB O +forecasts VBZ O +a DT B +# # I +1.3 CD I +billion CD I +current JJ I +account NN I +gap NN I +, , O +warns VBZ O +that IN O +even RB O +if IN O +the DT B +trade NN I +figures NNS I +are VBP O +bullish JJ O +for IN O +sterling NN B +, , O +the DT B +currency NN I +wo MD O +n't RB O +advance VB O +much JJ B +because IN O +investors NNS B +will MD O +want VB O +to TO O +see VB O +further JJ B +evidence NN I +of IN O +the DT B +turnaround NN I +before IN O +adjusting VBG O +positions NNS B +. . O + +Nevertheless RB O +, , O +he PRP B +noted VBD O +, , O +`` `` O +No DT B +one PRP I +will MD O +want VB O +to TO O +go VB O +into IN O +the DT B +trade NN I +figures NNS I +without IN O +a DT B +flat JJ I +position NN I +'' '' O +in IN O +the DT B +pound NN I +. . O + +Meanwhile RB O +, , O +overall JJ B +evidence NN I +on IN O +the DT B +economy NN I +remains VBZ O +fairly RB O +clouded VBN O +. . O + +In IN O +his PRP$ B +Mansion NNP I +House NNP I +speech NN I +, , O +Mr. NNP B +Lawson NNP I +warned VBD O +that IN O +a DT B +further JJ I +slowdown NN I +can MD O +be VB O +expected VBN O +as IN O +the DT B +impact NN I +of IN O +the DT B +last JJ I +rise NN I +in IN O +interest NN B +rates NNS I +earlier RBR B +this DT I +month NN I +takes VBZ O +effect NN B +. . O + +U.K. JJ B +base NN I +rates NNS I +are VBP O +at IN O +their PRP$ B +highest JJS I +level NN I +in IN O +eight CD B +years NNS I +. . O + +But CC O +consumer NN B +expenditure NN I +data NNS I +released VBD O +Friday NNP B +do VBP O +n't RB O +suggest VB O +that IN O +the DT B +U.K. NNP I +economy NN I +is VBZ O +slowing VBG O +that DT O +quickly RB O +. . O + +The DT B +figures NNS I +show VBP O +that DT O +spending NN B +rose VBD O +0.1 CD B +% NN I +in IN O +the DT B +third JJ I +quarter NN I +from IN O +the DT B +second JJ I +quarter NN I +and CC O +was VBD O +up IN O +3.8 CD B +% NN I +from IN O +a DT B +year NN I +ago RB O +. . O + +This DT B +compares VBZ O +with IN O +a DT B +1.6 CD I +% NN I +rise NN I +in IN O +the DT B +second NN I +from IN O +the DT B +first JJ I +quarter NN I +and CC O +a DT B +5.4 CD I +% NN I +increase NN I +from IN O +the DT B +second JJ I +quarter NN I +of IN O +1988 CD B +. . O + +Mr. NNP B +Dillow NNP I +said VBD O +the DT B +data NNS I +show VBP O +the DT B +economy NN I +`` `` O +is VBZ O +still RB O +quite RB O +strong JJ O +, , O +'' '' O +but CC O +suggestions NNS B +that IN O +much NN B +of IN O +the DT B +spending NN I +went VBD O +on IN O +services NNS B +rather RB O +than IN O +consumer NN B +goods NNS I +should MD O +reduce VB O +fears NNS B +of IN O +more JJR B +import NN I +rises NNS I +. . O + +Certainly RB O +, , O +the DT B +chancellor NN I +has VBZ O +made VBN O +it PRP B +clear JJ O +that IN O +he PRP B +is VBZ O +prepared VBN O +to TO O +increase VB O +interest NN B +rates NNS I +again RB O +if IN O +necessary JJ O +to TO O +both DT O +ensure VB O +that IN O +a DT B +substantial JJ I +slowdown NN I +does VBZ O +take VB O +place NN B +and CC O +that DT O +sterling NN B +does VBZ O +n't RB O +decline VB O +further JJ O +. . O + +Thursday NNP B +, , O +he PRP B +reminded VBD O +his PRP$ B +audience NN I +that IN O +the DT B +government NN I +`` `` O +can MD O +not RB O +allow VB O +the DT B +necessary JJ I +rigor NN I +of IN O +monetary JJ B +policy NN I +to TO O +be VB O +undermined VBN O +by IN O +exchange NN B +rate NN I +weakness NN I +. . O +'' '' O + +Analysts NNS B +agree VBP O +there EX B +is VBZ O +little JJ B +holding NN O +sterling NN B +firm NN O +at IN O +the DT B +moment NN I +other JJ O +than IN O +Mr. NNP B +Lawson NNP I +'s POS B +promise NN I +that IN O +rates NNS B +will MD O +be VB O +pushed VBN O +higher JJR O +if IN O +necessary JJ O +. . O + +And CC O +, , O +they PRP B +warn VBP O +, , O +any DT B +further JJ I +drop NN I +in IN O +the DT B +government NN I +'s POS B +popularity NN I +could MD O +swiftly RB O +make VB O +this DT B +promise NN I +sound NN O +hollow JJ O +. . O + +Sterling NNP B +was VBD O +already RB O +showing VBG O +some DT B +signs NNS I +of IN O +a DT B +lack NN I +of IN O +confidence NN B +in IN O +Mr. NNP B +Lawson NNP I +'s POS B +promise NN I +Friday NNP B +. . O + +In IN O +European JJ B +trading NN I +it PRP B +declined VBD O +to TO O +$ $ B +1.5890 CD I +and CC O +2.9495 CD B +marks NNS I +from IN O +$ $ B +1.5940 CD I +and CC O +2.9429 CD B +marks NNS I +late JJ B +Thursday NNP I +. . O + +Economists NNS B +suggested VBD O +that IN O +if IN O +the DT B +pound NN I +falls VBZ O +much JJ B +below IN O +2.90 CD B +marks NNS I +, , O +the DT B +government NN I +will MD O +be VB O +forced VBN O +to TO O +increase VB O +rates NNS B +to TO O +16 CD B +% NN I +, , O +both DT O +to TO O +halt VB O +any DT B +further JJ I +decline NN I +and CC O +ensure VB O +that IN O +the DT B +balance NN I +of IN O +monetary JJ B +policy NN I +remains VBZ O +unchanged JJ O +. . O + +Friday NNP B +'s POS B +Market NNP I +Activity NN I + +The DT B +dollar NN I +posted VBD O +gains NNS B +in IN O +quiet JJ B +trading NN I +as IN O +concerns NNS B +about IN O +equities NNS B +abated VBN O +. . O + +Foreign JJ B +exchange NN I +dealers NNS I +said VBD O +that IN O +the DT B +currency NN I +market NN I +has VBZ O +begun VBN O +to TO O +distance VB O +itself PRP B +from IN O +the DT B +volatile JJ I +stock NN I +exchange NN I +, , O +which WDT B +has VBZ O +preoccupied VBN O +the DT B +market NN I +since IN O +Oct. NNP B +13 CD I +, , O +when WRB O +the DT B +Dow NNP I +Jones NNP I +Industrial NNP I +Average NNP I +plunged VBD O +more JJR B +than IN I +190 CD I +points NNS I +. . O + +Currency NN B +analysts NNS I +predict VBP O +that IN O +in IN O +the DT B +coming VBG I +week NN I +the DT B +foreign JJ I +exchange NN I +market NN I +will MD O +shift VB O +its PRP$ B +focus NN I +back RB O +to TO O +economic JJ B +fundamentals NNS I +, , O +keeping VBG O +a DT B +close NN I +eye NN I +out IN O +for IN O +any DT B +signs NNS I +of IN O +monetary JJ B +easing NN I +by IN O +U.S. NNP B +Federal NNP I +Reserve NNP I +. . O + +Late RB O +in IN O +the DT B +New NNP I +York NNP I +trading NN I +day NN I +, , O +the DT B +dollar NN I +was VBD O +quoted VBN O +at IN O +1.8578 CD B +marks NNS I +, , O +up IN O +from IN O +1.8470 CD B +marks NNS I +late JJ B +Thursday NNP I +in IN O +New NNP B +York NNP I +. . O + +The DT B +U.S. NNP I +currency NN I +was VBD O +also RB O +changing VBG O +hands NNS B +at IN O +142.43 CD B +yen NN I +, , O +up IN O +from IN O +141.70 CD B +yen NN I +in IN O +New NNP B +York NNP I +late JJ B +Thursday NNP I +. . O + +In IN O +Tokyo NNP B +on IN O +Monday NNP B +, , O +the DT B +U.S. NNP I +currency NN I +opened VBD O +for IN O +trading NN B +at IN O +141.95 CD B +yen NN I +, , O +up IN O +from IN O +Friday NNP B +'s POS B +Tokyo NNP I +close NN I +of IN O +141.35 CD B +yen NN I +. . O + +On IN O +the DT B +Commodity NNP I +Exchange NNP I +in IN O +New NNP B +York NNP I +, , O +gold NN B +for IN O +current JJ B +delivery NN I +settled VBD O +at IN O +$ $ B +367.30 CD I +an DT B +ounce NN I +, , O +up IN O +20 CD B +cents NNS I +. . O + +Estimated VBN B +volume NN I +was VBD O +a DT B +light NN I +2.4 CD I +million CD I +ounces NNS I +. . O + +In IN O +early JJ B +trading NN I +in IN O +Hong NNP B +Kong NNP I +Monday NNP B +, , O +gold NN B +was VBD O +quoted VBN O +at IN O +$ $ B +366.50 CD I +an DT B +ounce NN I +. . O + +East NNP B +Rock NNP I +Partners NNP I +Limited NNP I +Partnership NNP I +said VBD O +it PRP B +proposed VBD O +to TO O +acquire VB O +A.P. NNP B +Green NNP I +Industries NNP I +Inc. NNP I +for IN O +$ $ B +40 CD I +a DT B +share NN I +. . O + +In IN O +an DT B +Oct. NNP I +19 CD I +letter NN I +to TO O +A.P. NNP B +Green NNP I +'s POS B +board NN I +, , O +East NNP B +Rock NNP I +said VBD O +the DT B +offer NN I +is VBZ O +subject NN O +to TO O +the DT B +signing NN I +of IN O +a DT B +merger NN I +agreement NN I +by IN O +no DT O +later RB O +than IN O +Oct. NNP B +31 CD I +. . O + +The DT B +letter NN I +, , O +attached VBN O +to TO O +a DT B +filing NN I +with IN O +the DT B +Securities NNP I +and CC I +Exchange NNP I +Commission NNP I +, , O +said VBD O +the DT B +approval NN I +is VBZ O +also RB O +contingent JJ O +upon IN O +obtaining VBG O +satisfactory JJ B +financing NN I +. . O + +An DT B +A.P. NNP I +Green NNP I +official NN I +declined VBD O +to TO O +comment VB O +on IN O +the DT B +filing NN I +. . O + +The DT B +$ $ I +40-a-share JJ I +proposal NN I +values VBZ O +the DT B +company NN I +at IN O +about RB B +$ $ I +106.6 CD I +million CD I +. . O + +A.P. NNP B +Green NNP I +currently RB O +has VBZ O +2,664,098 CD B +shares NNS I +outstanding JJ O +. . O + +Its PRP$ B +stock NN I +closed VBD O +at IN O +$ $ B +38 CD I +, , O +up IN O +$ $ B +1.875 CD I +, , O +in IN O +national JJ B +over-the-counter JJ I +trading NN I +. . O + +The DT B +company NN I +is VBZ O +a DT B +Mexico NNP I +, , I +Mo. NNP I +, , I +maker NN I +of IN O +refractory JJ B +products NNS I +. . O + +East NNP B +Rock NNP I +also RB O +said VBD O +in IN O +the DT B +filing NN I +that IN O +it PRP B +boosted VBD O +its PRP$ B +stake NN I +in IN O +A.P. NNP B +Green NNP I +to TO O +8.7 CD B +% NN I +. . O + +It PRP B +now RB O +holds VBZ O +233,000 CD B +A.P. NNP I +Green NNP I +common JJ I +shares NNS I +, , O +including VBG O +30,000 CD B +shares NNS I +bought VBD O +last JJ B +Thursday NNP I +for IN O +$ $ B +35.50 CD I +to TO I +$ $ I +36.50 CD I +a DT B +share NN I +. . O + +New NNP B +York-based JJ I +John NNP I +Kuhns NNP I +and CC I +Robert NNP I +MacDonald NNP I +control NN O +East NNP B +Rock NNP I +Partners NNP I +Inc. NNP I +, , O +the DT B +sole JJ I +general JJ I +partner NN I +of IN O +East NNP B +Rock NNP I +Partners NNP I +L.P NNP I +. . O + +The DT B +sole JJ I +limited JJ I +partner NN I +of IN O +the DT B +partnership NN I +is VBZ O +Westwood NNP B +Brick NNP I +Lime NNP I +Inc. NNP I +, , O +an DT B +indirect JJ I +subsidiary NN I +of IN O +Westwood NNP B +Group NNP I +Inc NNP I +. . O + +Both DT O +Westwood NNP B +Brick NNP I +and CC O +Westwood NNP B +Group NNP I +are VBP O +based VBN O +in IN O +Boston NNP B +. . O + +Freight NN B +rates NNS I +, , O +declining VBG O +for IN O +most RBS B +of IN O +the DT B +decade NN I +because IN O +of IN O +competition NN B +spurred VBN O +by IN O +deregulation NN B +, , O +are VBP O +bottoming VBG O +out IN O +, , O +turning VBG O +upward RB O +and CC O +threatening VBG O +to TO O +fuel VB O +inflation NN B +. . O + +Trucking NNP B +, , I +shipping VBG I +and CC I +air-freight NN I +companies NNS I +have VBP O +announced VBN O +rate NN B +increases NNS I +, , O +scheduled VBN O +for IN O +this DT B +fall NN I +or CC O +early JJ B +next JJ I +year NN I +, , O +reflecting VBG O +higher JJR B +costs NNS I +and CC O +tightened VBD B +demand NN I +for IN O +freight NN B +transport NN I +. . O + +Major JJ B +shippers NNS I +say VBP O +they PRP B +expect VBP O +freight NN B +rates NNS I +to TO O +rise VB O +at IN O +least JJS O +as RB O +fast RB O +as IN O +inflation NN B +and CC O +maybe RB O +faster RBR O +in IN O +the DT B +next JJ I +few JJ I +years NNS I +. . O + +That DT B +'s VBZ O +a DT B +big JJ I +change NN I +from IN O +recent JJ B +years NNS I +when WRB O +freight NN B +haulage NN I +was VBD O +a DT B +bright JJ I +spot NN I +for IN O +U.S. NNP B +productivity NN I +, , O +helping VBG O +to TO O +restrain VB O +inflation NN B +and CC O +make VB O +U.S. NNP B +industry NN I +more RBR O +competitive JJ O +abroad RB O +. . O + +`` `` O +Demand NN B +has VBZ O +caught VBN O +up IN O +with IN O +the DT B +supply NN I +of IN O +certain JJ B +types NNS I +of IN O +freight NN B +transportation NN I +, , O +and CC O +rates NNS B +are VBP O +starting VBG O +to TO O +move VB O +up IN O +'' '' O +at IN O +a DT B +rate NN I +`` `` O +close RB O +to TO O +or CC O +slightly RB O +more JJR O +than IN O +the DT B +inflation NN I +rate NN I +, , O +'' '' O +said VBD O +Clifford NNP B +Sayre NNP I +, , O +director NN B +of IN O +logistics NNS B +at IN O +Du NNP B +Pont NNP I +Co NNP I +. . O + +Shippers NNS B +surveyed VBN O +recently RB O +by IN O +Ohio NNP B +State NNP I +University NNP I +said VBD O +they PRP B +expect VBP O +their PRP$ B +freight-transport JJ I +, , I +storage NN I +and CC I +distribution NN I +costs NNS I +to TO O +rise VB O +about IN B +4 CD I +% NN I +this DT B +year NN I +. . O + +Only RB B +10 CD I +% NN I +of IN O +the DT B +250 CD I +shippers NNS I +polled VBN O +expected VBN O +their PRP$ B +freight-transport JJ I +costs NNS I +to TO O +decrease VB O +, , O +compared VBN O +with IN O +30 CD B +% NN I +who WP B +had VBD O +looked VBN O +to TO O +freight VB B +transport NN I +to TO O +reduce VB O +costs NNS B +in IN O +past JJ B +years NNS I +. . O + +`` `` O +This DT B +is VBZ O +the DT B +first JJ I +year NN I +since IN O +transportation NN B +deregulation NN I +in IN O +1980 CD B +that IN O +we PRP B +have VBP O +had VBN O +such JJ B +a DT I +dramatic JJ I +and CC I +broad-based JJ I +upturn NN I +in IN O +perceived VBN B +transportation NN I +rates NNS I +, , O +'' '' O +said VBD O +Bernard NNP B +LaLonde NNP I +, , O +a DT B +transportation NN I +logistics NNS I +professor NN I +at IN O +Ohio NNP B +State NNP I +in IN O +Columbus NNP B +. . O + +The DT B +deregulation NN I +of IN O +railroads NNS B +and CC I +trucking NN I +companies NNS I +that WDT B +began VBD O +in IN O +1980 CD B +enabled VBD O +shippers NNS B +to TO O +bargain VB O +for IN O +transportation NN B +. . O + +Carriers NNP B +could MD O +use VB O +their PRP$ B +equipment NN I +more RBR O +efficiently RB O +, , O +leading VBG O +to TO O +overcapacity NN B +they PRP B +were VBD O +eager JJ O +to TO O +fill VB O +. . O + +Shippers NNS B +cut VBP O +about RB B +$ $ I +35 CD I +billion CD I +from IN O +their PRP$ B +annual JJ I +, , I +inter-city JJ I +truck NN I +and CC I +rail NN I +costs NNS I +, , O +to TO O +about RB B +$ $ I +150 CD I +billion CD I +, , O +or CC O +about IN B +6.4 CD I +% NN I +of IN O +gross JJ B +national JJ I +product NN I +, , O +down RB O +from IN O +8 CD B +% NN I +of IN O +GNP NNP B +in IN O +1981 CD B +. . O + +But CC O +with IN O +much NN B +of IN O +the DT B +inefficiency NN I +squeezed VBN O +out IN O +of IN O +the DT B +freight-transport JJ I +system NN I +, , O +rising VBG B +costs NNS I +are VBP O +likely JJ O +to TO O +be VB O +reflected VBN O +directly RB O +in IN O +higher JJR B +freight NN I +rates NNS I +. . O + +`` `` O +Shippers NNS B +are VBP O +saying VBG O +` `` O +the DT B +party NN I +'s POS O +over IN O +, , O +' '' O +'' '' O +said VBD O +Mr. NNP B +LaLonde NNP I +. . O + +`` `` O +Shippers NNS B +wo MD O +n't RB O +be VB O +able JJ O +to TO O +look VB O +for IN O +transportation-cost JJ B +savings NNS I +as IN O +they PRP B +have VBP O +for IN O +the DT B +last JJ I +eight CD I +or CC I +nine CD I +years NNS I +. . O + +Transport NN B +rates NNS I +wo MD O +n't RB O +be VB O +an DT B +opportunity NN I +for IN O +offsetting VBG O +cost NN B +increases NNS I +in IN O +other JJ B +segments NNS I +of IN O +the DT B +economy NN I +. . O +'' '' O + +Robert NNP B +Delaney NNP I +, , O +a DT B +consultant NN I +at IN O +Arthur NNP B +D. NNP I +Little NNP I +Inc. NNP I +, , O +Cambridge NNP B +, , O +Mass. NNP B +, , O +said VBD O +`` `` O +We PRP B +'ve VBP O +gotten VBN O +all PDT B +the DT I +benefits NNS I +of IN O +deregulation NN B +in IN O +freight-cost JJ B +reductions NNS I +. . O + +Now RB O +we PRP B +are VBP O +starting VBG O +to TO O +see VB O +real JJ B +freight-rate JJ I +increases NNS I +as IN O +carriers NNS B +replace VBP O +equipment NN B +, , O +pay VB O +higher JJR B +fuel NN I +costs NNS I +and CC O +pay VB O +more JJR B +for IN O +labor NN B +. . O + +You PRP B +'ll MD O +see VB O +carriers NNS B +try VB O +to TO O +recoup VB O +some DT B +of IN O +the DT B +price NN I +cutting VBG I +that WDT B +occurred VBD O +previously RB O +. . O +'' '' O + +Not RB B +everyone NN I +believes VBZ O +that IN O +the DT B +good JJ I +times NNS I +are VBP O +over IN O +for IN O +shippers NNS B +. . O + +`` `` O +There EX B +'s VBZ O +still RB O +a DT B +lot NN I +of IN O +pressure NN B +on IN O +rates NNS B +in IN O +both DT B +rail NN I +and CC I +truck NN I +, , O +'' '' O +said VBD O +Gerard NNP B +McCullough NNP I +, , O +lecturer NN B +in IN O +transportation NN B +at IN O +Massachusetts NNP B +Institute NNP I +of IN O +Technology NNP B +. . O + +Less-than-truckload JJ B +companies NNS I +, , O +which WDT B +carry VBP O +the DT B +freight NN I +of IN O +several JJ B +shippers NNS I +in IN O +each DT B +truck NN I +trailer NN I +, , O +discounted VBD O +away RB O +a DT B +4.7 CD I +% NN I +rate NN I +increase NN I +implemented VBD O +last JJ B +April NNP I +. . O + +The DT B +carriers NNS I +were VBD O +competing VBG O +fiercely RB O +for IN O +market NN B +share NN I +. . O + +Railroad-rate JJ B +increases NNS I +are VBP O +likely JJ O +to TO O +be VB O +restrained VBN O +by IN O +weakening VBG B +rail-traffic JJ I +levels NNS I +and CC O +keen JJ B +competition NN I +for IN O +freight NN B +from IN O +trucks NNS B +. . O + +An DT B +official NN I +at IN O +Consolidated NNP B +Freightways NNP I +Inc. NNP I +, , O +a DT B +Menlo NNP I +Park NNP I +, , I +Calif. NNP I +, , I +less-than-truckload JJ I +carrier NN I +, , O +said VBD O +rate NN B +discounting NN I +in IN O +that DT B +industry NN I +has VBZ O +begun VBN O +to TO O +`` `` O +stabilize VB O +. . O +'' '' O + +Consolidated NNP B +Freightways NNP I +plans VBZ O +to TO O +raise VB O +its PRP$ B +rates NNS I +5.3 CD B +% NN I +late JJ B +this DT I +year NN I +or CC O +early JJ B +next JJ I +year NN I +, , O +and CC O +at IN B +least JJS I +two CD I +competitors NNS I +have VBP O +announced VBN O +similar JJ B +increases NNS I +. . O + diff --git a/CRF/example/chunking/exec.sh b/CRF/example/chunking/exec.sh new file mode 100644 index 0000000000000000000000000000000000000000..153e34e4eaefc763334a54eff822c3a612927152 --- /dev/null +++ b/CRF/example/chunking/exec.sh @@ -0,0 +1,11 @@ +#!/bin/sh +../../crf_learn -c 4.0 template train.data model +../../crf_test -m model test.data + +../../crf_learn -a MIRA template train.data model +../../crf_test -m model test.data + +#../../crf_learn -a CRF-L1 template train.data model +#../../crf_test -m model test.data + +rm -f model diff --git a/CRF/example/chunking/template b/CRF/example/chunking/template new file mode 100644 index 0000000000000000000000000000000000000000..8523d527c533d5ac0d0052a61b2478ba12aeb834 --- /dev/null +++ b/CRF/example/chunking/template @@ -0,0 +1,25 @@ +# Unigram +U00:%x[-2,0] +U01:%x[-1,0] +U02:%x[0,0] +U03:%x[1,0] +U04:%x[2,0] +U05:%x[-1,0]/%x[0,0] +U06:%x[0,0]/%x[1,0] + +U10:%x[-2,1] +U11:%x[-1,1] +U12:%x[0,1] +U13:%x[1,1] +U14:%x[2,1] +U15:%x[-2,1]/%x[-1,1] +U16:%x[-1,1]/%x[0,1] +U17:%x[0,1]/%x[1,1] +U18:%x[1,1]/%x[2,1] + +U20:%x[-2,1]/%x[-1,1]/%x[0,1] +U21:%x[-1,1]/%x[0,1]/%x[1,1] +U22:%x[0,1]/%x[1,1]/%x[2,1] + +# Bigram +B diff --git a/CRF/example/chunking/test.data b/CRF/example/chunking/test.data new file mode 100644 index 0000000000000000000000000000000000000000..cd605c59bf9dcb96eb1794deb3b487f9236fdf05 --- /dev/null +++ b/CRF/example/chunking/test.data @@ -0,0 +1,19995 @@ +Rockwell NNP B-NP +International NNP I-NP +Corp. NNP I-NP +'s POS B-NP +Tulsa NNP I-NP +unit NN I-NP +said VBD B-VP +it PRP B-NP +signed VBD B-VP +a DT B-NP +tentative JJ I-NP +agreement NN I-NP +extending VBG B-VP +its PRP$ B-NP +contract NN I-NP +with IN B-PP +Boeing NNP B-NP +Co. NNP I-NP +to TO B-VP +provide VB I-VP +structural JJ B-NP +parts NNS I-NP +for IN B-PP +Boeing NNP B-NP +'s POS B-NP +747 CD I-NP +jetliners NNS I-NP +. . O + +Rockwell NNP B-NP +said VBD B-VP +the DT B-NP +agreement NN I-NP +calls VBZ B-VP +for IN B-SBAR +it PRP B-NP +to TO B-VP +supply VB I-VP +200 CD B-NP +additional JJ I-NP +so-called JJ I-NP +shipsets NNS I-NP +for IN B-PP +the DT B-NP +planes NNS I-NP +. . O + +These DT B-NP +include VBP B-VP +, , O +among IN B-PP +other JJ B-NP +parts NNS I-NP +, , O +each DT B-NP +jetliner NN I-NP +'s POS B-NP +two CD I-NP +major JJ I-NP +bulkheads NNS I-NP +, , O +a DT B-NP +pressure NN I-NP +floor NN I-NP +, , O +torque NN B-NP +box NN I-NP +, , O +fixed VBN B-NP +leading VBG I-NP +edges NNS I-NP +for IN B-PP +the DT B-NP +wings NNS I-NP +and CC O +an DT B-NP +aft JJ I-NP +keel NN I-NP +beam NN I-NP +. . O + +Under IN B-PP +the DT B-NP +existing VBG I-NP +contract NN I-NP +, , O +Rockwell NNP B-NP +said VBD B-VP +, , O +it PRP B-NP +has VBZ B-VP +already RB I-VP +delivered VBN I-VP +793 CD B-NP +of IN B-PP +the DT B-NP +shipsets NNS I-NP +to TO B-PP +Boeing NNP B-NP +. . O + +Rockwell NNP B-NP +, , O +based VBN B-VP +in IN B-PP +El NNP B-NP +Segundo NNP I-NP +, , O +Calif. NNP B-NP +, , O +is VBZ B-VP +an DT B-NP +aerospace NN I-NP +, , I-NP +electronics NNS I-NP +, , I-NP +automotive JJ I-NP +and CC I-NP +graphics NNS I-NP +concern VBP I-NP +. . O + +Frank NNP B-NP +Carlucci NNP I-NP +III NNP I-NP +was VBD B-VP +named VBN I-VP +to TO B-PP +this DT B-NP +telecommunications NNS I-NP +company NN I-NP +'s POS B-NP +board NN I-NP +, , O +filling VBG B-VP +the DT B-NP +vacancy NN I-NP +created VBN B-VP +by IN B-PP +the DT B-NP +death NN I-NP +of IN B-PP +William NNP B-NP +Sobey NNP I-NP +last JJ B-NP +May NNP I-NP +. . O + +Mr. NNP B-NP +Carlucci NNP I-NP +, , O +59 CD B-NP +years NNS I-NP +old JJ B-ADJP +, , O +served VBN B-VP +as IN B-PP +defense NN B-NP +secretary NN I-NP +in IN B-PP +the DT B-NP +Reagan NNP I-NP +administration NN I-NP +. . O + +In IN B-PP +January NNP B-NP +, , O +he PRP B-NP +accepted VBD B-VP +the DT B-NP +position NN I-NP +of IN B-PP +vice NN B-NP +chairman NN I-NP +of IN B-PP +Carlyle NNP B-NP +Group NNP I-NP +, , O +a DT B-NP +merchant NN I-NP +banking NN I-NP +concern NN I-NP +. . O + +SHEARSON NNP B-NP +LEHMAN NNP I-NP +HUTTON NNP I-NP +Inc NNP I-NP +. . O + +Thomas NNP B-NP +E. NNP I-NP +Meador NNP I-NP +, , O +42 CD B-NP +years NNS I-NP +old JJ B-ADJP +, , O +was VBD B-VP +named VBN I-VP +president NN B-NP +and CC O +chief JJ B-NP +operating VBG I-NP +officer NN I-NP +of IN B-PP +Balcor NNP B-NP +Co. NNP I-NP +, , O +a DT B-NP +Skokie NNP I-NP +, , I-NP +Ill. NNP I-NP +, , I-NP +subsidiary NN I-NP +of IN B-PP +this DT B-NP +New NNP I-NP +York NNP I-NP +investment NN I-NP +banking NN I-NP +firm NN I-NP +. . O + +Balcor NNP B-NP +, , O +which WDT B-NP +has VBZ B-VP +interests NNS B-NP +in IN B-PP +real JJ B-NP +estate NN I-NP +, , O +said VBD B-VP +the DT B-NP +position NN I-NP +is VBZ B-VP +newly RB I-VP +created VBN I-VP +. . O + +Mr. NNP B-NP +Meador NNP I-NP +had VBD B-VP +been VBN I-VP +executive JJ B-NP +vice NN I-NP +president NN I-NP +of IN B-PP +Balcor NNP B-NP +. . O + +In IN B-PP +addition NN B-NP +to TO B-PP +his PRP$ B-NP +previous JJ I-NP +real-estate NN I-NP +investment NN I-NP +and CC I-NP +asset-management NN I-NP +duties NNS I-NP +, , O +Mr. NNP B-NP +Meador NNP I-NP +takes VBZ B-VP +responsibility NN B-NP +for IN B-PP +development NN B-NP +and CC O +property NN B-NP +management NN I-NP +. . O + +Those DT B-NP +duties NNS I-NP +had VBD B-VP +been VBN I-VP +held VBN I-VP +by IN B-PP +Van NNP B-NP +Pell NNP I-NP +, , O +44 CD B-NP +, , O +who WP B-NP +resigned VBD B-VP +as IN B-PP +an DT B-NP +executive JJ I-NP +vice NN I-NP +president NN I-NP +. . O + +Shearson NNP B-NP +is VBZ B-VP +about IN B-ADJP +60%-held JJ I-ADJP +by IN B-PP +American NNP B-NP +Express NNP I-NP +Co NNP I-NP +. . O + +Great NNP B-NP +American NNP I-NP +Bank NNP I-NP +, , O +citing VBG B-VP +depressed JJ B-NP +Arizona NNP I-NP +real JJ I-NP +estate NN I-NP +prices NNS I-NP +, , O +posted VBD B-VP +a DT B-NP +third-quarter JJ I-NP +loss NN I-NP +of IN B-PP +$ $ B-NP +59.4 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +2.48 CD I-NP +a DT B-NP +share NN I-NP +. . O + +A DT B-NP +year NN I-NP +earlier RBR B-ADVP +, , O +the DT B-NP +savings NNS I-NP +bank VBP I-NP +had VBD B-VP +earnings NNS B-NP +of IN B-PP +$ $ B-NP +8.1 CD I-NP +million CD I-NP +, , O +or CC O +33 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +. . O + +For IN B-PP +the DT B-NP +nine CD I-NP +months NNS I-NP +, , O +it PRP B-NP +had VBD B-VP +a DT B-NP +loss NN I-NP +of IN B-PP +$ $ B-NP +58.3 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +2.44 CD I-NP +a DT B-NP +share NN I-NP +, , O +after IN B-PP +earnings NNS B-NP +of IN B-PP +$ $ B-NP +29.5 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +1.20 CD I-NP +a DT B-NP +share NN I-NP +, , O +in IN B-PP +the DT B-NP +1988 CD I-NP +period NN I-NP +. . O + +Great NNP B-NP +American NNP I-NP +said VBD B-VP +it PRP B-NP +increased VBD B-VP +its PRP$ B-NP +loan-loss NN I-NP +reserves NNS I-NP +by IN B-PP +$ $ B-NP +93 CD I-NP +million CD I-NP +after IN B-PP +reviewing VBG B-VP +its PRP$ B-NP +loan NN I-NP +portfolio NN I-NP +, , O +raising VBG B-VP +its PRP$ B-NP +total JJ I-NP +loan NN I-NP +and CC I-NP +real JJ I-NP +estate NN I-NP +reserves NNS I-NP +to TO B-PP +$ $ B-NP +217 CD I-NP +million CD I-NP +. . O + +Before IN B-PP +the DT B-NP +loan-loss NN I-NP +addition NN I-NP +, , O +it PRP B-NP +said VBD B-VP +, , O +it PRP B-NP +had VBD B-VP +operating VBG B-NP +profit NN I-NP +of IN B-PP +$ $ B-NP +10 CD I-NP +million CD I-NP +for IN B-PP +the DT B-NP +quarter NN I-NP +. . O + +The DT B-NP +move NN I-NP +followed VBD B-VP +a DT B-NP +round NN I-NP +of IN B-PP +similar JJ B-NP +increases NNS I-NP +by IN B-PP +other JJ B-NP +lenders NNS I-NP +against IN B-PP +Arizona NNP B-NP +real JJ I-NP +estate NN I-NP +loans NNS I-NP +, , O +reflecting VBG B-VP +a DT B-NP +continuing VBG I-NP +decline NN I-NP +in IN B-PP +that DT B-NP +market NN I-NP +. . O + +In IN B-PP +addition NN B-NP +to TO B-PP +the DT B-NP +increased VBN I-NP +reserve NN I-NP +, , O +the DT B-NP +savings NNS I-NP +bank VBP I-NP +took VBD B-VP +a DT B-NP +special JJ I-NP +charge NN I-NP +of IN B-PP +$ $ B-NP +5 NN I-NP +million CD I-NP +representing VBG B-VP +general JJ B-NP +and CC I-NP +administrative JJ I-NP +expenses NNS I-NP +from IN B-PP +staff NN B-NP +reductions NNS I-NP +and CC O +other JJ B-NP +matters NNS I-NP +, , O +and CC O +it PRP B-NP +posted VBD B-VP +a DT B-NP +$ $ I-NP +7.6 CD I-NP +million CD I-NP +reduction NN I-NP +in IN B-PP +expected VBN B-NP +mortgage NN I-NP +servicing NN I-NP +fees NNS I-NP +, , O +reflecting VBG B-VP +the DT B-NP +fact NN I-NP +that IN B-SBAR +more JJR B-NP +borrowers NNS I-NP +are VBP B-VP +prepaying VBG I-VP +their PRP$ B-NP +mortgages NNS I-NP +. . O + +Arbitragers NNS B-NP +were VBD B-VP +n't RB O +the DT B-NP +only RB I-NP +big JJ I-NP +losers NNS I-NP +in IN B-PP +the DT B-NP +collapse NN I-NP +of IN B-PP +UAL NNP B-NP +Corp. NNP I-NP +stock NN I-NP +. . O + +Look VB B-VP +at IN B-PP +what WP B-NP +happened VBD B-VP +to TO B-PP +UAL NNP B-NP +'s POS B-NP +chairman NN I-NP +, , O +Stephen NNP B-NP +M. NNP I-NP +Wolf NNP I-NP +, , O +and CC O +its PRP$ B-NP +chief JJ I-NP +financial JJ I-NP +officer NN I-NP +, , O +John NNP B-NP +C. NNP I-NP +Pope NNP I-NP +. . O + +On IN B-PP +a DT B-NP +day NN I-NP +some DT B-NP +United NNP I-NP +Airlines NNPS I-NP +employees NNS I-NP +wanted VBD B-VP +Mr. NNP B-NP +Wolf NNP I-NP +fired VBD B-VP +and CC O +takeover NN B-NP +stock NN I-NP +speculators NNS I-NP +wanted VBD B-VP +his PRP$ B-NP +scalp NN I-NP +, , O +Messrs. NNP B-NP +Wolf NNP I-NP +and CC I-NP +Pope NNP I-NP +saw VBD B-VP +their PRP$ B-NP +prospective JJ I-NP +personal JJ I-NP +fortunes NNS I-NP +continue VBP B-VP +to TO I-VP +plummet VB I-VP +as IN B-SBAR +shares NNS B-NP +of IN B-PP +UAL NNP B-NP +, , O +United NNP B-NP +'s POS B-NP +parent NN I-NP +company NN I-NP +, , O +dived VBD B-VP +$ $ B-NP +24.875 CD I-NP +on IN B-PP +the DT B-NP +Big NNP I-NP +Board NNP I-NP +to TO B-VP +close VB I-VP +at IN B-PP +$ $ B-NP +198 CD I-NP +. . O + +Including VBG O +Monday NNP B-NP +'s POS B-NP +plunge NN I-NP +, , O +that WDT B-NP +has VBZ B-VP +given VBN I-VP +the DT B-NP +two CD I-NP +executives NNS I-NP +paper NN B-NP +losses NNS I-NP +of IN B-PP +$ $ B-NP +49.5 CD I-NP +million CD I-NP +, , O +based VBN B-VP +on IN B-PP +what WP B-NP +they PRP B-NP +would MD B-VP +have VB I-VP +realized VBN I-VP +had VBN O +the DT B-NP +pilots NNS I-NP +and CC I-NP +management-led JJ I-NP +buy-out NN I-NP +of IN B-PP +UAL NNP B-NP +gone VBN B-VP +through IN B-ADVP +at IN B-PP +$ $ B-NP +300 CD I-NP +a DT B-NP +share NN I-NP +. . O + +When WRB B-ADVP +bank NN B-NP +financing NN I-NP +for IN B-PP +the DT B-NP +buy-out NN I-NP +collapsed VBD B-VP +last JJ B-NP +week NN I-NP +, , O +so RB B-ADVP +did VBD O +UAL NNP B-NP +'s POS B-NP +stock NN I-NP +. . O + +Even RB B-ADVP +if IN B-SBAR +the DT B-NP +banks NNS I-NP +resurrect VBP B-VP +a DT B-NP +financing NN I-NP +package NN I-NP +at IN B-PP +$ $ B-NP +250 CD I-NP +a DT B-NP +share NN I-NP +, , O +the DT B-NP +two CD I-NP +executives NNS I-NP +would MD B-VP +still RB I-VP +get VB I-VP +about RB B-NP +$ $ I-NP +25 CD I-NP +million CD I-NP +less JJR B-NP +than IN B-SBAR +they PRP B-NP +stood VBD B-VP +to TO I-VP +gain VB I-VP +in IN B-PP +the DT B-NP +initial JJ I-NP +transaction NN I-NP +. . O + +Mr. NNP B-NP +Wolf NNP I-NP +owns VBZ B-VP +75,000 CD B-NP +UAL NNP I-NP +shares NNS I-NP +and CC O +has VBZ B-VP +options NNS B-NP +to TO B-VP +buy VB I-VP +another DT B-NP +250,000 CD I-NP +at IN B-PP +$ $ B-NP +83.3125 CD I-NP +each DT B-NP +. . O + +In IN B-PP +the DT B-NP +$ $ I-NP +300-a-share JJ I-NP +buyout NN I-NP +, , O +that WDT B-NP +totaled VBD B-VP +about RB B-NP +$ $ I-NP +76.7 CD I-NP +million CD I-NP +. . O + +By IN B-PP +yesterday NN B-NP +'s POS B-NP +close NN I-NP +of IN B-PP +trading NN B-NP +, , O +it PRP B-NP +was VBD B-VP +good JJ B-ADJP +for IN B-PP +a DT B-NP +paltry JJ I-NP +$ $ I-NP +43.5 CD I-NP +million CD I-NP +. . O + +Of IN B-PP +course NN B-NP +, , O +Mr. NNP B-NP +Wolf NNP I-NP +, , O +48 CD B-NP +years NNS I-NP +old JJ B-ADJP +, , O +has VBZ B-VP +some DT B-NP +savings NNS I-NP +. . O + +He PRP B-NP +left VBD B-VP +his PRP$ B-NP +last JJ I-NP +two CD I-NP +jobs NNS I-NP +at IN B-PP +Republic NNP B-NP +Airlines NNPS I-NP +and CC O +Flying NNP B-NP +Tiger NNP I-NP +with IN B-PP +combined VBN B-NP +stock-option NN I-NP +gains NNS I-NP +of IN B-PP +about RB B-NP +$ $ I-NP +22 CD I-NP +million CD I-NP +, , O +and CC O +UAL NNP B-NP +gave VBD B-VP +him PRP B-NP +a DT B-NP +$ $ I-NP +15 CD I-NP +million CD I-NP +bonus NN I-NP +when WRB B-ADVP +it PRP B-NP +hired VBD B-VP +him PRP B-NP +. . O + +His PRP$ B-NP +1988 CD I-NP +salary NN I-NP +was VBD B-VP +$ $ B-NP +575,000 CD I-NP +, , O +with IN B-PP +a DT B-NP +$ $ I-NP +575,000 CD I-NP +bonus NN I-NP +. . O + +The DT B-NP +40-year JJ I-NP +old JJ I-NP +Mr. NNP I-NP +Pope NNP I-NP +has VBZ B-VP +n't RB I-VP +changed VBN I-VP +jobs NNS B-NP +enough RB B-ADVP +-- : O +at IN B-PP +least JJS B-ADJP +the DT B-NP +right NN I-NP +ones NNS I-NP +-- : O +to TO B-VP +stash VB I-VP +away RB B-ADVP +that DT B-NP +kind NN I-NP +of IN B-PP +money NN B-NP +. . O + +United NNP B-NP +paid VBD B-VP +him PRP B-NP +a DT B-NP +$ $ I-NP +375,000 CD I-NP +bonus NN I-NP +to TO B-VP +lure VB I-VP +him PRP B-NP +away RB B-PP +from IN B-PP +American NNP B-NP +Airlines NNPS I-NP +, , O +and CC O +he PRP B-NP +was VBD B-VP +paid VBN I-VP +a DT B-NP +salary NN I-NP +of IN B-PP +$ $ B-NP +342,122 CD I-NP +last JJ B-NP +year NN I-NP +with IN B-PP +a DT B-NP +$ $ I-NP +280,000 CD I-NP +bonus NN I-NP +. . O + +Mr. NNP B-NP +Pope NNP I-NP +owns VBZ B-VP +10,000 CD B-NP +UAL NNP I-NP +shares NNS I-NP +and CC O +has VBZ B-VP +options NNS B-NP +to TO B-VP +buy VB I-VP +another DT B-NP +150,000 CD I-NP +at IN B-PP +$ $ B-NP +69 CD I-NP +each DT B-NP +. . O + +That DT B-NP +came VBD B-VP +to TO B-PP +a DT B-NP +combined VBN I-NP +$ $ I-NP +37.7 CD I-NP +million CD I-NP +under IN B-PP +the DT B-NP +$ $ I-NP +300-a-share JJ I-NP +buy-out NN I-NP +, , O +but CC O +just RB B-NP +$ $ I-NP +21.3 CD I-NP +million CD I-NP +at IN B-PP +yesterday NN B-NP +'s POS B-NP +close NN I-NP +. . O + +Of IN B-PP +the DT B-NP +combined VBN I-NP +$ $ I-NP +114.4 CD I-NP +million CD I-NP +the DT B-NP +two CD I-NP +men NNS I-NP +were VBD B-VP +scheduled VBN I-VP +to TO I-VP +reap VB I-VP +under IN B-PP +the DT B-NP +buy-out NN I-NP +, , O +they PRP B-NP +agreed VBD B-VP +to TO I-VP +invest VB I-VP +in IN B-PP +the DT B-NP +buy-out NN I-NP +just RB B-NP +$ $ I-NP +15 CD I-NP +million CD I-NP +, , O +angering VBG B-VP +many NN B-NP +of IN B-PP +the DT B-NP +thousands NNS I-NP +of IN B-PP +workers NNS B-NP +asked VBD B-VP +to TO B-VP +make VB I-VP +pay NN B-NP +concessions NNS I-NP +so RB B-SBAR +the DT B-NP +buy-out NN I-NP +would MD B-VP +be VB I-VP +a DT B-NP +success NN I-NP +. . O + +United NNP B-NP +'s POS B-NP +directors NNS I-NP +voted VBD B-VP +themselves PRP B-NP +, , O +and CC O +their PRP$ B-NP +spouses NNS I-NP +, , O +lifetime NN B-NP +access NN I-NP +to TO B-PP +the DT B-NP +Friendly NNP I-NP +Skies NNPS I-NP +-- : O +free JJ B-NP +first-class JJ I-NP +travel NN I-NP +, , O +and CC O +$ $ B-NP +20,000 CD I-NP +a DT B-NP +year NN I-NP +for IN B-PP +life NN B-NP +as IN B-ADVP +well RB I-ADVP +. . O + +Conceivably RB B-ADVP +, , O +in IN B-PP +a DT B-NP +scaled-back JJ I-NP +buy-out NN I-NP +, , O +they PRP B-NP +could MD B-VP +be VB I-VP +bumped VBN I-VP +back RB B-ADVP +to TO B-PP +coach NN B-NP +seats NNS I-NP +for IN B-PP +life NN B-NP +. . O + +Thomas NNP B-NP +H. NNP I-NP +Johnson NNP I-NP +, , O +president NN B-NP +of IN B-PP +the DT B-NP +Coatedboard NNP I-NP +division NN I-NP +of IN B-PP +Mead NNP B-NP +Corp. NNP I-NP +, , O +was VBD B-VP +named VBN I-VP +president NN B-NP +of IN B-PP +Manville NNP B-NP +Forest NNP I-NP +Products NNP I-NP +Corp. NNP I-NP +, , O +a DT B-NP +Manville NNP I-NP +unit NN I-NP +, , O +and CC O +senior JJ B-NP +vice NN I-NP +president NN I-NP +of IN B-PP +Manville NNP B-NP +Corp NNP I-NP +. . O + +Mr. NNP B-NP +Johnson NNP I-NP +succeeds VBZ B-VP +Harry NNP B-NP +W. NNP I-NP +Sherman NNP I-NP +, , O +who WP B-NP +resigned VBD B-VP +to TO B-VP +pursue VB I-VP +other JJ B-NP +interests NNS I-NP +, , O +in IN B-PP +both DT B-NP +positions NNS I-NP +. . O + +Manville NNP B-NP +is VBZ B-VP +a DT B-NP +building NN I-NP +and CC I-NP +forest NN I-NP +products NNS I-NP +concern VBP I-NP +. . O + +US PRP B-NP +Facilities NNP I-NP +Corp. NNP I-NP +said VBD B-VP +Robert NNP B-NP +J. NNP I-NP +Percival NNP I-NP +agreed VBD B-VP +to TO I-VP +step VB I-VP +down RB B-ADVP +as IN B-PP +vice NN B-NP +chairman NN I-NP +of IN B-PP +the DT B-NP +insurance NN I-NP +holding VBG I-NP +company NN I-NP +. . O + +`` `` O +There EX B-NP +was VBD B-VP +a DT B-NP +difference NN I-NP +of IN B-PP +opinion NN B-NP +as IN B-PP +to TO B-PP +the DT B-NP +future NN I-NP +direction NN I-NP +of IN B-PP +the DT B-NP +company NN I-NP +, , O +'' '' O +a DT B-NP +spokeswoman NN I-NP +said VBD B-VP +. . O + +Mr. NNP B-NP +Percival NNP I-NP +declined VBD B-VP +to TO I-VP +comment VB I-VP +. . O + +In IN B-PP +a DT B-NP +statement NN I-NP +, , O +US PRP B-NP +Facilities NNPS I-NP +said VBD B-VP +Mr. NNP B-NP +Percival NNP I-NP +'s POS B-NP +employment NN I-NP +contract NN I-NP +calls VBZ B-VP +for IN B-SBAR +him PRP B-NP +to TO B-VP +act VB I-VP +as IN B-PP +a DT B-NP +consultant NN I-NP +to TO B-PP +the DT B-NP +company NN I-NP +for IN B-PP +two CD B-NP +years NNS I-NP +. . O + +He PRP B-NP +will MD B-VP +also RB I-VP +remain VB I-VP +a DT B-NP +director NN I-NP +, , O +US PRP B-NP +Facilities NNPS I-NP +said VBD B-VP +, , O +but CC O +wo MD B-VP +n't RB I-VP +serve VB I-VP +on IN B-PP +any DT B-NP +board NN I-NP +committees NNS I-NP +. . O + +Mr. NNP B-NP +Percival NNP I-NP +will MD B-VP +be VB I-VP +succeeded VBN I-VP +on IN B-PP +an DT B-NP +interim JJ I-NP +basis NN I-NP +by IN B-PP +George NNP B-NP +Kadonada NNP I-NP +, , O +US PRP B-NP +Facilities NNPS I-NP +chairman NN I-NP +and CC I-NP +president NN I-NP +. . O + +In IN B-PP +the DT B-NP +same JJ I-NP +statement NN I-NP +, , O +US PRP B-NP +Facilities NNPS I-NP +also RB B-ADVP +said VBD B-VP +it PRP B-NP +had VBD B-VP +bought VBN I-VP +back RB B-ADVP +112,000 CD B-NP +of IN B-PP +its PRP$ B-NP +common JJ I-NP +shares NNS I-NP +in IN B-PP +a DT B-NP +private JJ I-NP +transaction NN I-NP +. . O + +Terms NNS B-NP +were VBD B-VP +n't RB I-VP +disclosed VBN I-VP +. . O + +The DT B-NP +buy-back NN I-NP +represents VBZ B-VP +about IN B-NP +3 CD I-NP +% NN I-NP +of IN B-PP +the DT B-NP +company NN I-NP +'s POS B-NP +shares NNS I-NP +, , O +based VBN B-VP +on IN B-PP +the DT B-NP +3.7 CD I-NP +million CD I-NP +shares NNS I-NP +outstanding JJ B-ADJP +as IN B-PP +of IN B-PP +Sept. NNP B-NP +30 CD I-NP +. . O + +In IN B-PP +national JJ B-NP +over-the-counter JJ I-NP +trading NN I-NP +yesterday NN B-NP +, , O +US PRP B-NP +Facilities NNPS I-NP +closed VBD B-VP +at IN B-PP +$ $ B-NP +3.625 CD I-NP +, , O +unchanged JJ B-ADJP +. . O + +Three CD B-NP +leading VBG I-NP +drug NN I-NP +companies NNS I-NP +reported VBD B-VP +robust JJ B-NP +third-quarter JJ I-NP +earnings NNS I-NP +, , O +bolstered VBN B-VP +by IN B-PP +strong JJ B-NP +sales NNS I-NP +of IN B-PP +newer JJR B-NP +, , I-NP +big-selling JJ I-NP +prescriptions NNS I-NP +drugs NNS I-NP +that WDT B-NP +provide VBP B-VP +hefty JJ B-NP +profit NN I-NP +margins NNS I-NP +. . O + +Merck NNP B-NP +& CC I-NP +Co. NNP I-NP +reported VBD B-VP +a DT B-NP +25 CD I-NP +% NN I-NP +increase NN I-NP +in IN B-PP +earnings NNS B-NP +; : O +Warner-Lambert NNP B-NP +Co. NNP I-NP +'s POS B-NP +profit NN I-NP +rose VBD B-VP +22 CD B-NP +% NN I-NP +and CC O +Eli NNP B-NP +Lilly NNP I-NP +& CC I-NP +Co. NNP I-NP +'s POS B-NP +net JJ I-NP +income NN I-NP +rose VBD B-VP +24 CD B-NP +% NN I-NP +. . O + +The DT B-NP +results NNS I-NP +were VBD B-VP +in IN B-PP +line NN B-NP +with IN B-PP +analysts NNS B-NP +' POS B-NP +expectations NNS I-NP +. . O + +Merck NNP B-NP +& CC I-NP +Co NNP I-NP +. . O + +Merck NNP B-NP +, , O +Rahway NNP B-NP +, , O +N.J. NNP B-NP +, , O +continued VBD B-VP +to TO I-VP +lead VB I-VP +the DT B-NP +industry NN I-NP +with IN B-PP +a DT B-NP +strong JJ I-NP +sales NNS I-NP +performance NN I-NP +in IN B-PP +the DT B-NP +human NN I-NP +and CC I-NP +animal NN I-NP +health-products NNS I-NP +segment VBP I-NP +. . O + +A DT B-NP +stronger JJR I-NP +U.S. NNP I-NP +dollar NN I-NP +reduced VBD B-VP +third-quarter JJ B-NP +and CC I-NP +first-nine-month JJ I-NP +sales NNS I-NP +growth NN I-NP +2 CD B-NP +% NN I-NP +and CC I-NP +3 CD I-NP +% NN I-NP +, , O +respectively RB B-ADVP +. . O + +International JJ B-NP +sales NNS I-NP +accounted VBD B-VP +for IN B-PP +47 CD B-NP +% NN I-NP +of IN B-PP +total JJ B-NP +company NN I-NP +sales NNS I-NP +for IN B-PP +the DT B-NP +nine CD I-NP +months NNS I-NP +, , O +compared VBN B-PP +with IN B-PP +50 CD B-NP +% NN I-NP +a DT B-NP +year NN I-NP +earlier RBR B-ADVP +. . O + +Sales NNS B-NP +for IN B-PP +the DT B-NP +quarter NN I-NP +rose VBD B-VP +to TO B-PP +$ $ B-NP +1.63 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +1.47 CD I-NP +billion CD I-NP +. . O + +Mevacor NNP B-NP +, , O +Merck NNP B-NP +'s POS B-NP +new JJ I-NP +cholesterol-lowering JJ I-NP +drug NN I-NP +, , O +had VBD B-VP +higher JJR B-NP +sales NNS I-NP +than IN B-SBAR +any DT B-NP +other JJ I-NP +prescription NN I-NP +medicine NN I-NP +has VBZ B-VP +ever RB I-VP +achieved VBN I-VP +in IN B-PP +the DT B-NP +U.S. NNP I-NP +in IN B-PP +the DT B-NP +year NN I-NP +following VBG B-PP +introduction NN B-NP +, , O +the DT B-NP +company NN I-NP +said VBD B-VP +. . O + +The DT B-NP +drug NN I-NP +was VBD B-VP +introduced VBN I-VP +in IN B-PP +West NNP B-NP +Germany NNP I-NP +this DT B-NP +year NN I-NP +. . O + +Intense JJ B-NP +competition NN I-NP +, , O +however RB B-ADVP +, , O +led VBN B-VP +to TO B-PP +unit NN B-NP +sales NNS I-NP +declines NNS I-NP +for IN B-PP +a DT B-NP +group NN I-NP +of IN B-PP +Merck NNP B-NP +'s POS B-NP +established VBN I-NP +human NN I-NP +and CC I-NP +animal-health NN I-NP +products NNS I-NP +, , O +including VBG B-PP +Aldomet NNP B-NP +and CC I-NP +Indocin NNP I-NP +. . O + +In IN B-PP +New NNP B-NP +York NNP I-NP +Stock NNP I-NP +Exchange NNP I-NP +composite JJ I-NP +trading NN I-NP +yesterday NN B-NP +, , O +Merck NNP B-NP +shares NNS I-NP +closed VBD B-VP +at IN B-PP +$ $ B-NP +75.25 CD I-NP +, , O +up IN B-ADVP +50 CD B-NP +cents NNS I-NP +. . O + +Warner-Lambert NNP B-NP +Co NNP I-NP +. . O + +Warner-Lambert NNP B-NP +, , O +Morris NNP B-NP +Plains NNP I-NP +, , O +N.J. NNP B-NP +, , O +reported VBD B-VP +sales NNS B-NP +that WDT B-NP +were VBD B-VP +a DT B-NP +record NN I-NP +for IN B-PP +any DT B-NP +quarter NN I-NP +and CC O +the DT B-NP +eighth JJ I-NP +quarter NN I-NP +in IN B-PP +a DT B-NP +row NN I-NP +of IN B-PP +20 CD B-NP +% NN I-NP +or CC I-NP +more RBR I-NP +per-share JJ I-NP +earnings NNS I-NP +growth NN I-NP +. . O + +Spurred VBN B-VP +by IN B-PP +growth NN B-NP +in IN B-PP +world-wide JJ B-NP +sales NNS I-NP +of IN B-PP +the DT B-NP +company NN I-NP +'s POS B-NP +prescription NN I-NP +drugs NNS I-NP +, , O +Warner-Lambert NNP B-NP +said VBD B-VP +1989 CD B-NP +will MD B-VP +be VB I-VP +the DT B-NP +best JJS I-NP +year NN I-NP +in IN B-PP +its PRP$ B-NP +history NN I-NP +, , O +with IN B-SBAR +per-share JJ B-NP +earnings NNS I-NP +expected VBN B-VP +to TO I-VP +increase VB I-VP +more JJR B-NP +than IN I-NP +20 CD I-NP +% NN I-NP +to TO B-PP +about RB B-NP +$ $ I-NP +6.10 CD I-NP +. . O + +Sales NNS B-NP +for IN B-PP +the DT B-NP +quarter NN I-NP +rose VBD B-VP +to TO B-PP +$ $ B-NP +1.11 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +1.03 CD I-NP +billion CD I-NP +. . O + +Prescription-drug NN B-NP +world-wide JJ I-NP +sales NNS I-NP +rose VBD B-VP +9 CD B-NP +% NN I-NP +in IN B-PP +the DT B-NP +quarter NN I-NP +to TO B-PP +$ $ B-NP +340 CD I-NP +million CD I-NP +; : O +U.S. NNP B-NP +sales NNS I-NP +rose VBD B-VP +15 CD B-NP +% NN I-NP +. . O + +The DT B-NP +segment NN I-NP +'s POS B-NP +growth NN I-NP +was VBD B-VP +led VBN I-VP +by IN B-PP +sales NNS B-NP +of IN B-PP +the DT B-NP +cardiovascular JJ I-NP +drugs NNS I-NP +Lopid NNP B-NP +, , O +a DT B-NP +lipid NN I-NP +regulator NN I-NP +, , O +and CC O +Dilzem NNP B-NP +, , O +a DT B-NP +calcium NN I-NP +channel NN I-NP +blocker NN I-NP +. . O + +World-wide JJ B-NP +sales NNS I-NP +of IN B-PP +Warner-Lambert NNP B-NP +'s POS B-NP +non-prescription JJ I-NP +health-care NN I-NP +products NNS I-NP +, , O +such JJ B-PP +as IN I-PP +Halls NNP B-NP +cough NN I-NP +tablets NNS I-NP +, , O +Rolaids NNP B-NP +antacid NN I-NP +, , O +and CC O +Lubriderm NNP B-NP +skin NN I-NP +lotion NN I-NP +, , O +increased VBN B-VP +3 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +362 CD I-NP +million CD I-NP +in IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +; : O +U.S. NNP B-NP +sales NNS I-NP +rose VBD B-VP +5 NN B-NP +% NN I-NP +. . O + +Confectionery JJ B-NP +products NNS I-NP +sales NNS I-NP +also RB B-ADVP +had VBD B-VP +strong JJ B-NP +growth NN I-NP +in IN B-PP +the DT B-NP +quarter NN I-NP +. . O + +World-wide JJ B-NP +sales NNS I-NP +of IN B-PP +Trident NNP B-NP +gum NN I-NP +, , O +Certs NNP B-NP +breath NN I-NP +mints NNS I-NP +, , O +and CC O +Clorets NNP B-NP +gum NN I-NP +and CC I-NP +breath NN I-NP +mints NNS I-NP +, , O +increased VBN B-VP +12 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +277 CD I-NP +million CD I-NP +. . O + +Warner-Lambert NNP B-NP +shares NNS I-NP +closed VBD B-VP +at IN B-PP +$ $ B-NP +109.50 CD I-NP +a DT B-NP +share NN I-NP +, , O +up IN B-ADVP +$ $ B-NP +1.50 CD I-NP +, , O +in IN B-PP +Big NNP B-NP +Board NNP I-NP +composite JJ I-NP +trading NN I-NP +yesterday NN B-NP +. . O + +Eli NNP B-NP +Lilly NNP I-NP +& CC I-NP +Co NNP I-NP +. . O + +Lilly NNP B-NP +attributed VBD B-VP +record NN B-NP +third-quarter JJ I-NP +and CC I-NP +nine-month JJ I-NP +results NNS I-NP +to TO B-PP +world-wide JJ B-NP +gains NNS I-NP +for IN B-PP +pharmaceuticals NNS B-NP +, , O +medical JJ B-NP +instruments NNS I-NP +and CC O +plant-science NN B-NP +products NNS I-NP +despite IN B-PP +poor JJ B-NP +exchange NN I-NP +rates NNS I-NP +for IN B-PP +the DT B-NP +dollar NN I-NP +that WDT B-NP +slowed VBD B-VP +sales NNS B-NP +abroad RB B-ADVP +. . O + +Earnings NNS B-NP +continued VBD B-VP +to TO I-VP +pace VB I-VP +sales NNS B-NP +because IN B-PP +of IN I-PP +a DT B-NP +lower JJR I-NP +tax NN I-NP +rate NN I-NP +, , O +profit NN B-NP +from IN B-PP +the DT B-NP +renegotiation NN I-NP +of IN B-PP +the DT B-NP +debt NN I-NP +instrument NN I-NP +received VBD B-VP +from IN B-PP +Faberge NNP B-NP +Inc. NNP I-NP +in IN B-PP +connection NN B-NP +with IN B-PP +Lilly NNP B-NP +'s POS B-NP +sale NN I-NP +of IN B-PP +Elizabeth NNP B-NP +Arden NNP I-NP +Inc. NNP I-NP +in IN B-PP +1987 CD B-NP +, , O +and CC O +net JJ B-NP +proceeds NNS I-NP +from IN B-PP +the DT B-NP +settlement NN I-NP +of IN B-PP +patent NN B-NP +litigation NN I-NP +at IN B-PP +Lilly NNP B-NP +'s POS B-NP +Hybritech NNP I-NP +Inc. NNP I-NP +unit NN I-NP +. . O + +Third-quarter JJ B-NP +sales NNS I-NP +of IN B-PP +the DT B-NP +Indianapolis NNP I-NP +, , I-NP +Ind. NNP I-NP +, , I-NP +company NN I-NP +rose VBD B-VP +11 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +1.045 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +940.6 CD I-NP +million CD I-NP +. . O + +Nine-month JJ B-NP +sales NNS I-NP +grew VBD B-VP +12 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +3.39 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +3.03 CD I-NP +billion CD I-NP +a DT B-NP +year NN I-NP +earlier RBR B-ADVP +. . O + +Sales NNS B-NP +of IN B-PP +Prozac NNP B-NP +, , O +an DT B-NP +anti-depressant NN I-NP +, , O +led VBN B-VP +drug-sales NNS B-NP +increases NNS I-NP +. . O + +Higher JJR B-NP +sales NNS I-NP +of IN B-PP +pesticides NNS B-NP +and CC O +other JJ B-NP +plant-science NN I-NP +products NNS I-NP +more JJR B-VP +than IN I-VP +offset VB I-VP +a DT B-NP +slight JJ I-NP +decline NN I-NP +in IN B-PP +the DT B-NP +sales NNS I-NP +of IN B-PP +animal-health NN B-NP +products NNS I-NP +to TO B-VP +fuel VB I-VP +the DT B-NP +increase NN I-NP +in IN B-PP +world-wide JJ B-NP +agricultural JJ I-NP +product NN I-NP +sales NNS I-NP +, , O +Lilly NNP B-NP +said VBD B-VP +. . O + +Advanced NNP B-NP +Cardiovascular NNP I-NP +Systems NNP I-NP +Inc. NNP I-NP +and CC O +Cardiac NNP B-NP +Pacemakers NNPS I-NP +Inc. NNP I-NP +units NNS I-NP +led VBD B-VP +growth NN B-NP +in IN B-PP +the DT B-NP +medical-instrument JJ I-NP +systems NNS I-NP +division NN I-NP +. . O + +Lilly NNP B-NP +shares NNS I-NP +closed VBD B-VP +yesterday NN B-NP +in IN B-PP +composite JJ B-NP +trading NN I-NP +on IN B-PP +the DT B-NP +Big NNP I-NP +Board NNP I-NP +at IN B-PP +$ $ B-NP +62.25 CD I-NP +, , O +down RB B-ADVP +12.5 CD B-NP +cents NNS I-NP +. . O + +Reuben NNP B-NP +Mark NNP I-NP +, , O +chairman NN B-NP +of IN B-PP +Colgate-Palmolive NNP B-NP +Co. NNP I-NP +, , O +said VBD B-VP +he PRP B-NP +is VBZ B-VP +`` `` B-ADJP +comfortable JJ I-ADJP +'' '' O +with IN B-PP +analysts NNS B-NP +' POS B-NP +estimates NNS I-NP +that IN B-SBAR +third-quarter JJ B-NP +earnings NNS I-NP +rose VBD B-VP +to TO B-PP +between IN B-NP +95 CD I-NP +cents NNS I-NP +and CC I-NP +$ $ I-NP +1.05 CD I-NP +a DT B-NP +share NN I-NP +. . O + +That DT B-NP +compares VBZ B-VP +with IN B-PP +per-share JJ B-NP +earnings NNS I-NP +from IN B-PP +continuing VBG B-NP +operations NNS I-NP +of IN B-PP +69 CD B-NP +cents NNS I-NP +the DT B-NP +year NN I-NP +earlier RBR B-ADVP +; : O +including VBG B-PP +discontinued VBN B-NP +operations NNS I-NP +, , O +per-share NN B-NP +was VBD B-VP +88 CD B-NP +cents NNS I-NP +a DT B-NP +year NN I-NP +ago RB B-ADVP +. . O + +The DT B-NP +per-share JJ I-NP +estimates NNS I-NP +mean VBP B-VP +the DT B-NP +consumer-products NNS I-NP +company NN I-NP +'s POS B-NP +net JJ I-NP +income NN I-NP +, , O +increased VBN B-VP +to TO B-PP +between IN B-NP +$ $ I-NP +69.5 CD I-NP +million CD I-NP +and CC I-NP +$ $ I-NP +76 CD I-NP +million CD I-NP +, , O +from IN B-PP +$ $ B-NP +47.1 CD I-NP +million CD I-NP +the DT B-NP +year-before JJ I-NP +period NN I-NP +. . O + +Analysts NNS B-NP +estimate VBP B-VP +Colgate NNP B-NP +'s POS B-NP +world-wide JJ I-NP +third-quarter JJ I-NP +sales NNS I-NP +rose VBD B-VP +about IN B-NP +8 CD I-NP +% NN I-NP +to TO B-PP +$ $ B-NP +1.29 CD I-NP +billion CD I-NP +. . O + +Mr. NNP B-NP +Mark NNP I-NP +attributed VBD B-VP +the DT B-NP +earnings NNS I-NP +growth NN I-NP +to TO B-PP +strong JJ B-NP +sales NNS I-NP +in IN B-PP +Latin NNP B-NP +America NNP I-NP +, , O +Asia NNP B-NP +and CC O +Europe NNP B-NP +. . O + +Results NNS B-NP +were VBD B-VP +also RB I-VP +bolstered VBN I-VP +by IN B-PP +`` `` B-NP +a DT I-NP +very RB I-NP +meaningful JJ I-NP +'' '' I-NP +increase NN I-NP +in IN B-PP +operating VBG B-NP +profit NN I-NP +by IN B-PP +Colgate NNP B-NP +'s POS B-NP +U.S. NNP I-NP +business NN I-NP +, , O +Mr. NNP B-NP +Mark NNP I-NP +said VBD B-VP +. . O + +Operating NN B-NP +profit NN I-NP +at IN B-PP +Colgate NNP B-NP +'s POS B-NP +U.S. NNP I-NP +household NN I-NP +products NNS I-NP +and CC I-NP +personal-care JJ I-NP +businesses NNS I-NP +jumped VBD B-VP +25 CD B-NP +% NN I-NP +in IN B-PP +the DT B-NP +quarter NN I-NP +, , O +Mr. NNP B-NP +Mark NNP I-NP +added VBD B-VP +. . O + +He PRP B-NP +said VBD B-VP +the DT B-NP +improvement NN I-NP +was VBD B-VP +a DT B-NP +result NN I-NP +of IN B-PP +cost NN B-NP +savings NNS I-NP +achieved VBN B-VP +by IN B-PP +consolidating VBG B-VP +manufacturing NN B-NP +operations NNS B-NP +, , O +blending VBG B-VP +two CD B-NP +sales NNS I-NP +organizations NNS I-NP +and CC O +focusing VBG B-VP +more RBR B-ADVP +carefully RB I-ADVP +the DT B-NP +company NN I-NP +'s POS B-NP +promotional JJ I-NP +activities NNS I-NP +. . O + +The DT B-NP +estimated VBN I-NP +improvement NN I-NP +in IN B-PP +Colgate NNP B-NP +'s POS B-NP +U.S. NNP I-NP +operations NNS I-NP +took VBD B-VP +some DT B-NP +analysts NNS I-NP +by IN B-PP +surprise NN B-NP +. . O + +Colgate NNP B-NP +'s POS B-NP +household NN I-NP +products NNS I-NP +business NN I-NP +, , O +which WDT B-NP +includes VBZ B-VP +such JJ B-NP +brands NNS I-NP +as IN B-PP +Fab NNP B-NP +laundry NN I-NP +detergent NN I-NP +and CC O +Ajax NNP B-NP +cleanser NN I-NP +, , O +has VBZ B-VP +been VBN I-VP +a DT B-NP +weak JJ I-NP +performer NN I-NP +. . O + +Analysts NNS B-NP +estimate VBP B-VP +Colgate NNP B-NP +'s POS B-NP +sales NNS I-NP +of IN B-PP +household NN B-NP +products NNS I-NP +in IN B-PP +the DT B-NP +U.S. NNP I-NP +were VBD B-VP +flat JJ B-ADJP +for IN B-PP +the DT B-NP +quarter NN I-NP +, , O +and CC O +they PRP B-NP +estimated VBD B-VP +operating VBG B-NP +margins NNS I-NP +at IN B-PP +only RB B-NP +1 CD I-NP +% NN I-NP +to TO I-NP +3 CD I-NP +% NN I-NP +. . O + +`` `` O +If IN B-SBAR +you PRP B-NP +could MD B-VP +say VB I-VP +their PRP$ B-NP +business NN I-NP +in IN B-PP +the DT B-NP +U.S. NNP I-NP +was VBD B-VP +mediocre JJ B-ADJP +, , O +but CC O +great JJ B-ADJP +everywhere RB B-ADVP +else RB I-ADVP +, , O +that WDT B-NP +would MD B-VP +be VB I-VP +fine JJ B-ADJP +, , O +'' '' O +says VBZ B-VP +Bonita NNP B-NP +Austin NNP I-NP +, , O +an DT B-NP +analyst NN I-NP +with IN B-PP +Wertheim NNP B-NP +Schroder NNP I-NP +& CC I-NP +Co NNP I-NP +. . O + +`` `` O +But CC O +it PRP B-NP +'s VBZ B-VP +not RB O +mediocre JJ B-ADJP +, , O +it PRP B-NP +'s VBZ B-VP +a DT B-NP +real JJ I-NP +problem NN I-NP +. . O +'' '' O + +Mr. NNP B-NP +Mark NNP I-NP +conceded VBD B-VP +that IN O +Colgate NNP B-NP +'s POS B-NP +domestic JJ I-NP +business NN I-NP +, , O +apart RB B-ADVP +from IN B-PP +its PRP$ O +highly RB O +profitable JJ O +Hill NNP B-NP +'s POS B-NP +Pet NNP I-NP +Products NNPS I-NP +unit NN I-NP +, , O +has VBZ B-VP +lagged VBN I-VP +. . O + +`` `` O +We PRP B-NP +'ve VBP B-VP +done VBN I-VP +a DT B-NP +lot NN I-NP +to TO B-VP +improve VB I-VP +-LCB- ( B-NP +U.S. NNP I-NP +. . I-NP +-RCB- ) I-NP +results NNS I-NP +, , O +and CC O +a DT B-NP +lot NN I-NP +more JJR I-NP +will MD B-VP +be VB I-VP +done VBN I-VP +, , O +'' '' O +Mr. NNP B-NP +Mark NNP I-NP +said VBD B-VP +. . O + +`` `` O +Improving VBG B-VP +profitability NN B-NP +of IN B-PP +U.S. NNP B-NP +operations NNS I-NP +is VBZ B-VP +an DT B-NP +extremely RB I-NP +high JJ I-NP +priority NN I-NP +in IN B-PP +the DT B-NP +company NN I-NP +. . O +'' '' O + +To TO B-VP +focus VB I-VP +on IN B-PP +its PRP$ B-NP +global JJ I-NP +consumer-products NNS I-NP +business NN I-NP +, , O +Colgate NNP B-NP +sold VBD B-VP +its PRP$ B-NP +Kendall NNP I-NP +health-care NN I-NP +business NN I-NP +in IN B-PP +1988 CD B-NP +. . O + +H. NNP B-NP +Anthony NNP I-NP +Ittleson NNP I-NP +was VBD B-VP +elected VBN I-VP +a DT B-NP +director NN I-NP +of IN B-PP +this DT B-NP +company NN I-NP +, , O +which WDT B-NP +primarily RB B-ADVP +has VBZ B-VP +interests NNS B-NP +in IN B-PP +radio NN B-NP +and CC I-NP +television NN I-NP +stations NNS I-NP +, , O +increasing VBG B-VP +the DT B-NP +number NN I-NP +of IN B-PP +seats NNS B-NP +to TO B-PP +five CD B-NP +. . O + +Osborn NNP B-NP +also RB B-ADVP +operates VBZ B-VP +Muzak NNP B-NP +franchises NNS I-NP +, , O +entertainment NN B-NP +properties NNS I-NP +and CC O +small JJ B-NP +cable-television NN I-NP +systems NNS I-NP +. . O + +Mr. NNP B-NP +Ittleson NNP I-NP +is VBZ B-VP +executive NN B-NP +, , O +special JJ B-NP +projects NNS I-NP +, , O +at IN B-PP +CIT NNP B-NP +Group NNP I-NP +Holdings NNP I-NP +Inc. NNP I-NP +, , O +which WDT B-NP +is VBZ B-VP +controlled VBN I-VP +by IN B-PP +Manufacturers NNP B-NP +Hanover NNP I-NP +Corp NNP I-NP +. . O + +The DT B-NP +Boston NNP I-NP +Globe NNP I-NP +says VBZ B-VP +its PRP$ B-NP +newly RB I-NP +redesigned VBN I-NP +pages NNS I-NP +have VBP B-VP +a DT B-NP +`` `` I-NP +crisper NN I-NP +'' '' I-NP +look VB I-NP +with IN B-PP +revamped VBN B-NP +fixtures NNS I-NP +aimed VBN B-VP +at IN B-PP +making VBG B-VP +the DT B-NP +paper NN I-NP +`` `` O +more RBR B-ADJP +consistent JJ I-ADJP +'' '' O +and CC O +`` `` O +easier JJR B-ADJP +to TO B-VP +read VB I-VP +. . O +'' '' O + +Maybe RB B-ADVP +so RB I-ADVP +-- : O +if IN B-SBAR +you PRP B-NP +can MD B-VP +find VB I-VP +where WRB B-ADVP +your PRP$ B-NP +favorite JJ I-NP +writer NN I-NP +went VBD B-VP +. . O + +Beantown NNP B-NP +scribes NNS I-NP +, , O +who WP B-NP +spare VB B-VP +no DT B-NP +invective NN I-NP +when WRB B-ADVP +taking VBG B-VP +on IN B-PRT +local JJ B-NP +luminaries NNS I-NP +such JJ B-PP +as IN I-PP +Michael NNP B-NP +`` `` I-NP +Pee NNP I-NP +Wee NNP I-NP +'' '' I-NP +Dukakis NNP I-NP +, , O +or CC O +New NNP B-NP +England NNP I-NP +Patriots NNPS I-NP +Coach NNP I-NP +Raymond NNP I-NP +`` `` I-NP +Rev. NNP I-NP +Ray NNP I-NP +'' '' I-NP +Berry NNP I-NP +, , O +yesterday NN B-NP +poured VBD B-VP +ridicule NN B-NP +on IN B-PP +new JJ B-NP +drawings NNS I-NP +of IN B-PP +Globe NNP B-NP +columnists NNS I-NP +that WDT B-NP +replaced VBD B-VP +old JJ B-NP +photos NNS I-NP +in IN B-PP +the DT B-NP +revamped VBN I-NP +pages NNS I-NP +this DT B-NP +week NN I-NP +. . O + +By IN B-PP +late JJ B-NP +last JJ I-NP +night NN I-NP +, , O +Globe NNP B-NP +Managing NNP I-NP +Editor NNP I-NP +Thomas NNP B-NP +Mulvoy NNP I-NP +, , O +bending VBG B-VP +to TO B-PP +the DT B-NP +will MD I-NP +of IN B-PP +his PRP$ B-NP +troops NNS I-NP +, , O +scrapped VBD B-VP +the DT B-NP +new JJ I-NP +drawings NNS I-NP +. . O + +For IN B-PP +a DT B-NP +few JJ I-NP +days NNS I-NP +at IN B-PP +least JJS B-ADJP +, , O +he PRP B-NP +says VBZ B-VP +, , O +no DT B-NP +pictures NNS I-NP +or CC I-NP +drawings NNS I-NP +of IN B-PP +any DT B-NP +kind NN I-NP +will MD B-VP +adorn VB I-VP +the DT B-NP +columns NNS I-NP +. . O + +Trouble NN B-NP +was VBD B-VP +, , O +nobody NN B-NP +thought VBD B-VP +they PRP B-NP +looked VBD B-VP +right NN B-ADJP +. . O + +Globe NNP B-NP +columnist NN I-NP +Mike NNP I-NP +Barnicle NNP I-NP +-- : O +in IN B-PP +the DT B-NP +second JJ I-NP +attack NN I-NP +on IN B-PP +his PRP$ B-NP +employer NN I-NP +in IN B-PP +as IN B-NP +many JJ I-NP +weeks NNS I-NP +-- : O +averred VBD B-VP +that IN B-SBAR +his PRP$ B-NP +shadowy JJ I-NP +countenance NN I-NP +was VBD B-VP +so RB B-ADJP +bad JJ I-ADJP +, , O +it PRP B-NP +looked VBD B-VP +`` `` O +like IN B-PP +a DT B-NP +face NN I-NP +you PRP B-NP +'d MD B-VP +find VB I-VP +on IN B-PP +a DT B-NP +bottle NN I-NP +of IN B-PP +miracle NN B-NP +elixir NN I-NP +that WDT B-NP +promises VBZ B-VP +to TO I-VP +do VB I-VP +away RB B-ADVP +with IN B-PP +diarrhea NN B-NP +in IN B-PP +our PRP$ B-NP +lifetime NN I-NP +. . O +'' '' O + +Mr. NNP B-NP +Barnicle NNP I-NP +reminded VBD B-VP +readers NNS B-NP +that IN B-SBAR +he PRP B-NP +still RB B-ADVP +has VBZ B-VP +n't RB I-VP +forgiven VBN I-VP +Globe NNP B-NP +management NN I-NP +for IN B-PP +questioning VBG B-VP +a DT B-NP +$ $ I-NP +20 CD I-NP +expense NN I-NP +chit NN I-NP +he PRP B-NP +submitted VBD B-VP +for IN B-PP +parking VBG B-VP +his PRP$ B-NP +car NN I-NP +while IN B-SBAR +chasing VBG B-VP +a DT B-NP +story NN I-NP +. . O + +`` `` O +I PRP B-NP +thought VBD B-VP +-LCB- ( O +the DT B-NP +drawing VBG I-NP +-RCB- ) O +a DT B-NP +cross NN I-NP +between IN B-PP +someone NN B-NP +you PRP B-NP +'d MD B-VP +spot VB I-VP +whipping VBG I-VP +open JJ I-VP +his PRP$ B-NP +trench NN I-NP +coat NN I-NP +... : O +or CC O +a DT B-NP +guy NN I-NP +who WP B-NP +boasted VBD B-VP +he PRP B-NP +'d MD B-VP +been VBN I-VP +Charles NNP B-NP +Manson NNP I-NP +'s POS B-NP +roommate NN I-NP +for IN B-PP +the DT B-NP +last JJ I-NP +19 CD I-NP +years NNS I-NP +, , O +'' '' O +he PRP B-NP +said VBD B-VP +. . O + +Mr. NNP B-NP +Barnicle NNP I-NP +was VBD B-VP +hardly RB B-ADJP +kinder JJR I-ADJP +to TO B-PP +the DT B-NP +renderings NNS I-NP +of IN B-PP +colleagues NNS B-NP +Michael NNP B-NP +Madden NNP I-NP +-LRB- ( O +`` `` O +appears VBZ B-VP +to TO I-VP +be VB I-VP +a DT B-NP +pervert NN I-NP +'' '' O +-RRB- ) O +, , O +Will MD B-NP +McDonough NNP I-NP +-LRB- ( O +`` `` O +looks VBZ B-VP +as IN B-SBAR +if IN I-SBAR +he PRP B-NP +drove VBD B-VP +for IN B-PP +Abe NNP B-NP +Lincoln NNP I-NP +'' '' O +-RRB- ) O +or CC O +Bella NNP B-NP +English NNP I-NP +, , O +whose WP$ B-NP +`` `` I-NP +little JJ I-NP +girl NN I-NP +now RB B-ADVP +screams VBZ B-VP +hysterically RB B-ADVP +every DT B-NP +time NN I-NP +she PRP B-NP +sees VBZ B-VP +a DT B-NP +newspaper NN I-NP +. . O +'' '' O + +Lynn NNP B-NP +Staley NNP I-NP +, , O +the DT B-NP +Globe NNP I-NP +'s POS B-NP +assistant NN I-NP +managing VBG I-NP +editor NN I-NP +for IN B-PP +design NN B-NP +, , O +acknowledges VBZ B-VP +that IN B-SBAR +the DT B-NP +visages NNS I-NP +were VBD B-VP +`` `` O +on IN B-PP +the DT B-NP +low JJ I-NP +end NN I-NP +of IN B-PP +the DT B-NP +likeness NN I-NP +spectrum NN I-NP +. . O +'' '' O + +Rival NNP B-NP +Boston NNP I-NP +Herald NNP I-NP +columnist NN I-NP +Howie NNP I-NP +Carr NNP I-NP +, , O +who WP B-NP +usually RB B-ADVP +rails VBZ B-VP +at IN B-PP +Statehouse NN B-NP +`` `` I-NP +hacks NNS I-NP +'' '' I-NP +and CC I-NP +nepotism NN I-NP +, , O +argued VBD B-VP +that IN B-SBAR +the DT B-NP +new JJ I-NP +drawings NNS I-NP +were VBD B-VP +designed VBN I-VP +to TO B-VP +hide VB I-VP +Mr. NNP B-NP +Madden NNP I-NP +'s POS B-NP +`` `` O +rapidly RB B-ADJP +growing VBG I-ADJP +forehead NN B-NP +'' '' O +and CC O +the DT B-NP +facial JJ I-NP +defects NNS I-NP +of IN B-PP +`` `` B-NP +chinless JJ I-NP +'' '' I-NP +Dan NNP I-NP +Shaughnessy NNP I-NP +, , O +a DT B-NP +Globe NNP I-NP +sports NNS I-NP +columnist NN I-NP +. . O + +`` `` O +But CC O +think VBP B-VP +of IN B-PP +the DT B-NP +money NN I-NP +you PRP B-NP +, , O +the DT B-NP +reader NN I-NP +, , O +will MD B-VP +save VB I-VP +on IN B-PP +Halloween NNP B-NP +, , O +'' '' O +said VBD B-VP +Mr. NNP B-NP +Barnicle NNP I-NP +. . O + +`` `` O +Instead RB B-PP +of IN I-PP +buying VBG B-VP +masks NNS B-NP +for IN B-PP +your PRP$ B-NP +kids NNS I-NP +, , O +just RB B-ADVP +cut VB B-VP +out RP B-PRT +the IN B-NP +columnists NNS I-NP +' POS B-NP +pictures NNS I-NP +... : O +. . O + +Deeply RB B-ADJP +ingrained JJ I-ADJP +in IN B-PP +both DT O +the DT B-NP +book NN I-NP +review NN I-NP +`` `` O +Kissing VBG B-VP +Nature NNP B-NP +Good-bye UH B-NP +'' '' O +by IN B-PP +Stephen NNP B-NP +MacDonald NNP I-NP +-LRB- ( O +Leisure NNP B-NP +& CC I-NP +Arts NNP I-NP +, , O +Sept. NNP B-NP +27 CD I-NP +-RRB- ) O +and CC O +the DT B-NP +books NNS I-NP +reviewed VBN B-VP +is VBZ B-VP +the DT B-NP +assumption NN I-NP +that IN B-SBAR +global JJ B-NP +warming NN I-NP +is VBZ B-VP +entirely RB B-ADVP +a DT B-NP +result NN I-NP +of IN B-PP +human JJ B-NP +activity NN I-NP +. . O + +Is VBZ O +such JJ B-NP +a DT I-NP +view NN I-NP +justified VBN B-VP +? . O + +In IN B-PP +the DT B-NP +absence NN I-NP +of IN B-PP +humans NNS B-NP +, , O +would MD O +the DT B-NP +Earth NNP I-NP +enjoy VB B-VP +a DT B-NP +constant JJ I-NP +climate NN I-NP +over IN B-PP +the DT B-NP +long JJ I-NP +term NN I-NP +? . O + +Clearly RB B-ADVP +not RB I-ADVP +. . O + +About IN B-NP +20,000 CD I-NP +years NNS I-NP +ago RB B-ADVP +the DT B-NP +last JJ I-NP +ice NN I-NP +age NN I-NP +ended VBD B-VP +. . O + +Enormous JJ B-NP +ice NN I-NP +sheets NNS I-NP +retreated VBD B-VP +from IN B-PP +the DT B-NP +face NN I-NP +of IN B-PP +North NNP B-NP +America NNP I-NP +, , O +northern JJ B-NP +Europe NNP I-NP +and CC O +Asia NNP B-NP +. . O + +This DT B-NP +global JJ I-NP +warming NN I-NP +must MD B-VP +have VB I-VP +been VBN I-VP +entirely RB B-ADJP +natural JJ I-ADJP +-- : O +nobody NN B-NP +would MD B-VP +blame VB I-VP +it PRP B-NP +on IN B-PP +a DT B-NP +few JJ I-NP +hundred CD I-NP +thousand CD I-NP +hunter-gatherers NNS I-NP +hunting NN B-VP +mammoths NNS B-NP +and CC O +scratching VBG B-VP +around IN O +in IN B-PP +caves NNS B-NP +. . O + +Furthermore RB B-ADVP +, , O +no DT B-NP +bell NN I-NP +has VBZ B-VP +yet RB I-VP +rung VBN I-VP +to TO I-VP +announce VB I-VP +the DT B-NP +end NN I-NP +of IN B-PP +this DT B-NP +immense JJ I-NP +episode NN I-NP +of IN B-PP +natural JJ B-NP +global JJ I-NP +warming NN I-NP +. . O + +It PRP B-NP +is VBZ B-VP +probably RB I-VP +continuing VBG I-VP +and CC O +may MD B-VP +well RB I-VP +account VB I-VP +for IN B-PP +most RBS B-NP +of IN B-PP +, , O +or CC O +all DT B-NP +of IN B-PP +, , O +present-day JJ B-NP +global JJ I-NP +warming NN I-NP +. . O + +I PRP B-NP +bow VBP B-VP +to TO B-PP +no DT B-NP +one CD I-NP +in IN B-PP +my PRP$ B-NP +regard NN I-NP +for IN B-PP +our PRP$ B-NP +terrestrial JJ I-NP +heritage NN I-NP +, , O +but CC O +if IN B-SBAR +we PRP B-NP +are VBP B-VP +serious JJ B-ADJP +about IN B-PP +global JJ B-NP +warming NN I-NP +we PRP B-NP +must MD B-VP +look VB I-VP +at IN B-PP +the DT B-NP +big JJ I-NP +picture NN I-NP +and CC O +not RB B-VP +allow VB I-VP +the DT B-NP +Dominant NNP I-NP +Culture NNP I-NP +to TO B-VP +lock VB I-VP +us PRP B-NP +into IN B-PP +the DT B-NP +capitalist-exploiters-greedy-American-consumers-global JJ I-NP +- : I-NP +warming NN I-NP +scenario NN I-NP +as IN B-PP +the DT B-NP +sole JJ I-NP +model NN I-NP +for IN B-PP +discussion NN B-NP +. . O + +Jocelyn NNP B-NP +Tomkin NNP I-NP +Astronomy NNP B-NP +Department NNP I-NP +University NNP B-NP +of IN B-PP + +The DT B-NP +Internal NNP I-NP +Revenue NNP I-NP +Service NNP I-NP +plans VBZ B-VP +to TO I-VP +restructure VB I-VP +itself PRP B-NP +more JJR B-ADVP +like IN B-PP +a DT B-NP +private JJ I-NP +corporation NN I-NP +. . O + +In IN B-PP +addition NN B-NP +, , O +the DT B-NP +tax-collecting JJ I-NP +agency NN I-NP +says VBZ B-VP +that IN B-SBAR +it PRP B-NP +will MD B-VP +take VB I-VP +the DT B-NP +unusual JJ I-NP +step NN I-NP +of IN B-PP +looking VBG B-VP +to TO B-PP +the DT B-NP +private JJ I-NP +sector NN I-NP +to TO B-VP +fill VB I-VP +two CD B-NP +new JJ I-NP +high-level JJ I-NP +positions NNS I-NP +to TO B-VP +guide VB I-VP +the DT B-NP +120,000-employee JJ I-NP +agency NN I-NP +: : O +a DT B-NP +comptroller NN I-NP +to TO B-VP +oversee VB I-VP +daily JJ B-NP +finances NNS I-NP +and CC O +a DT B-NP +chief JJ I-NP +information NN I-NP +officer NN I-NP +to TO B-VP +update VB I-VP +the DT B-NP +information NN I-NP +system NN I-NP +, , O +which WDT B-NP +includes VBZ B-VP +probably RB B-NP +the DT I-NP +largest JJS I-NP +computer NN I-NP +data NNS I-NP +base VBP I-NP +in IN B-PP +the DT B-NP +world NN I-NP +. . O + +The DT B-NP +IRS NNP I-NP +also RB B-ADVP +said VBD B-VP +that IN B-SBAR +it PRP B-NP +would MD B-VP +create VB I-VP +the DT B-NP +position NN I-NP +of IN B-PP +chief JJ B-NP +financial JJ I-NP +officer NN I-NP +, , O +who WP B-NP +will MD B-VP +be VB I-VP +hired VBN I-VP +from IN B-PP +within IN B-PP +the DT B-NP +agency NN I-NP +. . O + +IRS NNP B-NP +Commissioner NNP I-NP +Fred NNP I-NP +T. NNP I-NP +Goldberg NNP I-NP +said VBD B-VP +the DT B-NP +changes NNS I-NP +are VBP B-VP +intended VBN I-VP +to TO I-VP +bring VB I-VP +`` `` O +accountability NN B-NP +'' '' O +to TO B-PP +the DT B-NP +agency NN I-NP +, , O +which WDT B-NP +has VBZ B-VP +an DT B-NP +annual JJ I-NP +budget NN I-NP +of IN B-PP +more JJR B-NP +than IN I-NP +$ $ I-NP +5 NN I-NP +billion CD I-NP +and CC O +collects VBZ B-VP +about RB B-NP +$ $ I-NP +1 CD I-NP +trillion CD I-NP +a DT B-NP +year NN I-NP +. . O + +`` `` O +My PRP$ B-NP +assessment NN I-NP +and CC O +everyone NN B-NP +'s POS B-NP +assessment NN I-NP +is VBZ B-VP +that IN B-SBAR +we PRP B-NP +do VBP B-VP +not RB I-VP +have VB I-VP +the DT B-NP +kinds NNS I-NP +of IN B-PP +information NN B-NP +that WDT B-NP +let VBP B-VP +us PRP B-NP +responsibly RB B-VP +and CC I-VP +effectively RB I-VP +formulate VB I-VP +and CC I-VP +execute VB I-VP +our PRP$ B-NP +budget NN I-NP +, , O +'' '' O +Mr. NNP B-NP +Goldberg NNP I-NP +said VBD B-VP +. . O + +`` `` O +And CC O +we PRP B-NP +do VBP B-VP +n't RB I-VP +have VB I-VP +internal JJ B-NP +controls NNS I-NP +and CC I-NP +discipline NN I-NP +that IN B-NP +we PRP B-NP +need VBP B-VP +to TO I-VP +have VB I-VP +to TO B-VP +spend VB I-VP +$ $ B-NP +5 NN I-NP +billion CD I-NP +properly RB B-ADVP +. . O +'' '' O + +Mr. NNP B-NP +Goldberg NNP I-NP +, , O +who WP B-NP +took VBD B-VP +over IN B-PRT +as IN B-PP +head NN B-NP +of IN B-PP +the DT B-NP +IRS NNP I-NP +in IN B-PP +July NNP B-NP +, , O +has VBZ B-VP +been VBN I-VP +disturbed VBN I-VP +by IN B-PP +what WP B-NP +he PRP B-NP +considers VBZ B-VP +the DT B-NP +inefficiency NN I-NP +, , I-NP +waste NN I-NP +and CC I-NP +lack NN I-NP +of IN B-PP +coordination NN B-NP +among IN B-PP +the DT B-NP +branches NNS I-NP +of IN B-PP +the DT B-NP +vast JJ I-NP +federal JJ I-NP +agency NN I-NP +. . O + +The DT B-NP +IRS NNP I-NP +operates VBZ B-VP +on IN B-PP +a DT B-NP +computer NN I-NP +system NN I-NP +designed VBN B-VP +in IN B-PP +1961 CD B-NP +, , O +which WDT B-NP +it PRP B-NP +has VBZ B-VP +been VBN I-VP +trying VBG I-VP +to TO I-VP +modernize VB I-VP +for IN B-PP +years NNS B-NP +. . O + +And CC O +the DT B-NP +agency NN I-NP +, , O +which WDT B-NP +operated VBD B-VP +throughout IN B-PP +fiscal JJ B-NP +1989 CD I-NP +with IN B-PP +a DT B-NP +$ $ I-NP +360 CD I-NP +million CD I-NP +budget NN I-NP +shortfall NN I-NP +, , O +has VBZ B-VP +been VBN I-VP +under IN B-PP +a DT B-NP +hiring VBG I-NP +freeze NN I-NP +since IN B-PP +last JJ B-NP +fall NN I-NP +. . O + +The DT B-NP +new JJ I-NP +commissioner NN I-NP +says VBZ B-VP +that IN B-SBAR +closer JJR B-NP +scrutiny NN I-NP +of IN B-PP +how WRB B-ADVP +the DT B-NP +agency NN I-NP +uses VBZ B-VP +its PRP$ B-NP +resources NNS I-NP +will MD B-VP +go VB I-VP +a DT B-NP +long JJ I-NP +way NN I-NP +toward IN B-PP +enhancing VBG B-VP +its PRP$ B-NP +ability NN I-NP +to TO B-VP +collect VB I-VP +more JJR B-NP +tax NN I-NP +revenue NN I-NP +. . O + +`` `` O +I PRP B-NP +think VBP B-VP +that IN B-SBAR +you PRP B-NP +will MD B-VP +see VB I-VP +a DT B-NP +significant JJ I-NP +improvement NN I-NP +in IN B-PP +the DT B-NP +budget NN I-NP +formulation NN I-NP +and CC I-NP +execution NN I-NP +process NN I-NP +which WDT B-NP +, , O +in IN B-PP +turn NN B-NP +, , O +I PRP B-NP +believe VBP B-VP +will MD B-VP +result VB I-VP +in IN B-PP +a DT B-NP +significant JJ I-NP +increase NN I-NP +in IN B-PP +revenue NN B-NP +, , O +'' '' O +he PRP B-NP +said VBD B-VP +. . O + +The DT B-NP +IRS NNP I-NP +hopes VBZ B-VP +to TO I-VP +fill VB I-VP +the DT B-NP +new JJ I-NP +positions NNS I-NP +soon RB B-ADVP +. . O + +Customarily RB B-ADVP +, , O +it PRP B-NP +would MD B-VP +appoint VB I-VP +career NN B-NP +civil JJ I-NP +servants NNS I-NP +from IN B-PP +within IN B-NP +the DT B-NP +agency NN I-NP +, , O +but CC O +Mr. NNP B-NP +Goldberg NNP I-NP +said VBD B-VP +he PRP B-NP +plans VBZ B-VP +to TO I-VP +`` `` I-VP +scour VBP I-VP +the DT B-NP +world NN I-NP +'' '' O +for IN B-PP +the DT B-NP +chief JJ I-NP +information NN I-NP +officer NN I-NP +and CC O +the DT B-NP +comptroller NN I-NP +. . O + +Although IN B-SBAR +the DT B-NP +jobs NNS I-NP +will MD B-VP +probably RB I-VP +pay VB I-VP +between IN B-NP +$ $ I-NP +70,000 CD I-NP +and CC I-NP +$ $ I-NP +80,000 CD I-NP +a DT B-NP +year NN I-NP +, , O +IRS NNP B-NP +officials NNS I-NP +are VBP B-VP +confident JJ B-ADJP +that IN B-SBAR +they PRP B-NP +can MD B-VP +attract VB I-VP +top-notch JJ B-NP +candidates NNS I-NP +from IN B-PP +the DT B-NP +private JJ I-NP +sector NN I-NP +. . O + +`` `` O +You PRP B-NP +'re VBP B-VP +telling VBG I-VP +someone NN B-NP +they PRP B-NP +can MD B-VP +spend VB I-VP +the DT B-NP +next JJ I-NP +three CD I-NP +or CC I-NP +four CD I-NP +or CC I-NP +five CD I-NP +or CC I-NP +six CD I-NP +years NNS I-NP +of IN B-PP +their PRP$ B-NP +life NN I-NP +bringing VBG B-VP +about IN B-PRT +the DT B-NP +most RBS I-NP +difficult JJ I-NP +and CC I-NP +costly JJ I-NP +modernization NN I-NP +of IN B-PP +an DT B-NP +information NN I-NP +system NN I-NP +on IN B-PP +the DT B-NP +civil JJ I-NP +side NN I-NP +ever RB B-NP +, , O +'' '' O +Mr. NNP B-NP +Goldberg NNP I-NP +said VBD B-VP +. . O + +`` `` O +On IN B-PP +the DT B-NP +comptroller NN I-NP +side NN I-NP +, , O +you PRP B-NP +'re VBP B-VP +developing VBG I-VP +and CC O +making VBG B-VP +work NN B-VP +financial JJ B-NP +controls NNS I-NP +governing VBG B-VP +a DT B-NP +$ $ I-NP +6 CD I-NP +billion CD I-NP +budget NN I-NP +. . O + +When WRB B-ADVP +Maj. NNP B-NP +Moises NNP I-NP +Giroldi NNP I-NP +, , O +the DT B-NP +leader NN I-NP +of IN B-PP +the DT B-NP +abortive JJ I-NP +coup NN I-NP +in IN B-PP +Panama NNP B-NP +, , O +was VBD B-VP +buried VBN I-VP +, , O +his PRP$ B-NP +body NN I-NP +bore VBD B-VP +several JJ B-NP +gunshot NN I-NP +wounds NNS I-NP +, , O +a DT B-NP +cracked VBN I-NP +skull NN I-NP +and CC O +broken VBN B-NP +legs NNS I-NP +and CC I-NP +ribs NNS I-NP +. . O + +They PRP B-NP +were VBD B-VP +the DT B-NP +signature NN I-NP +of IN B-PP +his PRP$ B-NP +adversary NN I-NP +, , O +Panamanian JJ B-NP +leader NN I-NP +Manuel NNP I-NP +Antonio NNP I-NP +Noriega NNP I-NP +. . O + +The DT B-NP +rebel NN I-NP +officer NN I-NP +'s POS B-NP +slow JJ I-NP +and CC I-NP +painful JJ I-NP +death NN I-NP +, , O +at IN B-PP +the DT B-NP +headquarters NN I-NP +of IN B-PP +Panama NNP B-NP +'s POS B-NP +Battalion-2000 NN I-NP +squad NN I-NP +, , O +was VBD B-VP +personally RB I-VP +supervised VBN I-VP +by IN B-PP +Gen. NNP B-NP +Noriega NNP I-NP +, , O +says VBZ B-VP +a DT B-NP +U.S. NNP I-NP +official NN I-NP +with IN B-PP +access NN B-NP +to TO B-PP +intelligence NN B-NP +reports NNS I-NP +. . O + +Leaping VBG B-VP +into IN B-PP +rages VBZ B-NP +, , O +sinking VBG B-VP +into IN B-PP +bouts NNS B-NP +of IN B-PP +drunkenness NN B-NP +and CC I-NP +mistrust NN I-NP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +has VBZ B-VP +put VBN I-VP +to TO B-PP +death NN B-NP +some DT B-NP +70 CD I-NP +of IN B-PP +his PRP$ B-NP +troops NNS I-NP +involved VBN B-VP +in IN B-PP +the DT B-NP +coup NN I-NP +, , O +according VBG B-PP +to TO B-PP +U.S. NNP B-NP +officials NNS I-NP +monitoring NN B-VP +crematoriums NNS B-NP +and CC O +funeral NN B-NP +parlors NNS I-NP +in IN B-PP +Panama NNP B-NP +City NNP I-NP +. . O + +He PRP B-NP +is VBZ B-VP +now RB I-VP +changing VBG I-VP +the DT B-NP +place NN I-NP +he PRP B-NP +sleeps VBZ B-VP +every DT B-NP +night NN I-NP +, , O +sometimes RB B-NP +more JJR I-NP +than IN I-NP +once RB I-NP +a DT B-NP +night NN I-NP +. . O + +His PRP$ B-NP +meals NNS I-NP +are VBP B-VP +most RBS I-VP +often RB I-VP +prepared VBN I-VP +by IN B-PP +women NNS B-NP +he PRP B-NP +trusts VBZ B-VP +-- : O +his PRP$ B-NP +full-time JJ I-NP +mistress NN I-NP +, , O +Vicky NNP B-NP +Amado NNP I-NP +, , O +and CC O +her PRP$ B-NP +mother NN I-NP +, , O +Norma NNP B-NP +. . O + +And CC O +he PRP B-NP +is VBZ B-VP +collecting VBG I-VP +the DT B-NP +names NNS I-NP +of IN B-PP +those DT B-NP +who WP B-NP +telephoned VBD B-VP +the DT B-NP +coup-makers NNS I-NP +to TO B-VP +congratulate VB I-VP +them PRP B-NP +during IN B-PP +their PRP$ B-NP +brief JJ I-NP +time NN I-NP +in IN B-PP +control NN B-NP +of IN B-PP +his PRP$ B-NP +headquarters NN I-NP +. . O + +More JJR B-NP +enemies NNS I-NP +to TO B-VP +be VB I-VP +dealt VBN I-VP +with RB B-PP +. . O + +In IN B-PP +the DT B-NP +two CD I-NP +weeks NNS I-NP +since IN B-PP +the DT B-NP +rebellion NN I-NP +, , O +which WDT B-NP +the DT B-NP +U.S. NNP I-NP +hesitantly RB B-VP +backed VBD I-VP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +has VBZ B-VP +been VBN I-VP +at IN B-PP +his PRP$ B-NP +most RBS I-NP +brutal JJ I-NP +- : O +and CC O +efficient JJ O +- : O +in IN B-PP +maintaining VBG B-VP +power NN B-NP +. . O + +Yet RB B-ADVP +, , O +while IN B-SBAR +the DT B-NP +failed VBN I-NP +coup NN I-NP +is VBZ B-VP +a DT B-NP +major JJ I-NP +U.S. NNP I-NP +foreign JJ I-NP +policy NN I-NP +embarrassment NN I-NP +, , O +it PRP B-NP +is VBZ B-VP +merely RB B-NP +the DT I-NP +latest JJS I-NP +chapter NN I-NP +in IN B-PP +a DT B-NP +byzantine JJ I-NP +relationship NN I-NP +between IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +and CC O +Washington NNP B-NP +that IN B-NP +stretches NNS B-VP +back RB B-ADVP +three CD B-NP +decades NNS I-NP +. . O + +America NNP B-NP +'s POS B-NP +war NN I-NP +on IN B-PP +the DT B-NP +dictator NN I-NP +over IN B-PP +the DT B-NP +past JJ I-NP +two CD I-NP +years NNS I-NP +, , O +following VBG B-PP +his PRP$ B-NP +indictment NN I-NP +on IN B-PP +drug NN B-NP +charges NNS I-NP +in IN B-PP +February NNP B-NP +1988 CD I-NP +, , O +is VBZ B-VP +the DT B-NP +legacy NN I-NP +of IN B-PP +that DT B-NP +relationship NN I-NP +. . O + +Before IN B-SBAR +American JJ B-NP +foreign JJ I-NP +policy NN I-NP +set VBN B-VP +out IN B-PRT +to TO B-VP +destroy VB I-VP +Noriega NNP B-NP +, , O +it PRP B-NP +helped VBD B-VP +create VB I-VP +him PRP B-NP +out IN B-PP +of IN B-PP +the DT B-NP +crucible NN I-NP +of IN B-PP +Panama NNP B-NP +'s POS B-NP +long JJ I-NP +history NN I-NP +of IN B-PP +conspirators NNS B-NP +and CC I-NP +pirates NNS I-NP +. . O + +For IN B-PP +most RBS B-NP +of IN I-NP +the DT I-NP +past JJ I-NP +30 CD I-NP +years NNS I-NP +, , O +the DT B-NP +marriage NN I-NP +was VBD B-VP +one CD B-NP +of IN B-PP +convenience NN B-NP +. . O + +In IN B-PP +1960 CD B-NP +, , O +for IN B-PP +example NN B-NP +, , O +when WRB B-ADVP +Mr. NNP B-NP +Noriega NNP I-NP +was VBD B-VP +both DT O +a DT B-NP +cadet NN I-NP +at IN B-PP +an DT B-NP +elite NN I-NP +military JJ I-NP +academy NN I-NP +in IN B-PP +Peru NNP B-NP +and CC O +a DT B-NP +spy-in-training NN I-NP +for IN B-PP +the DT B-NP +U.S. NNP I-NP +Defense NNP I-NP +Intelligence NNP I-NP +Agency NNP I-NP +, , O +he PRP B-NP +was VBD B-VP +detained VBN I-VP +by IN B-PP +Lima NNP B-NP +authorities NNS I-NP +for IN B-PP +allegedly RB B-ADVP +raping VBG B-VP +and CC O +savagely RB B-VP +beating VBG I-VP +a DT B-NP +prostitute NN I-NP +, , O +according VBG B-PP +to TO B-PP +a DT B-NP +U.S. NNP I-NP +Embassy NNP I-NP +cable NN I-NP +from IN B-PP +that DT B-NP +period NN I-NP +. . O + +The DT B-NP +woman NN I-NP +had VBD B-VP +nearly RB I-VP +died VBN I-VP +. . O + +But CC O +U.S. NNP B-NP +intelligence NN I-NP +, , O +rather RB B-SBAR +than IN I-SBAR +rein NN B-VP +in IN B-ADVP +or CC O +cut NN B-VP +loose JJ B-ADJP +its PRP$ B-NP +new JJ I-NP +spy NN I-NP +, , O +merely RB B-ADVP +filed VBN B-VP +the DT B-NP +report NN I-NP +away RB B-ADVP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +tips NNS I-NP +on IN B-PP +emerging VBG B-NP +leftists NNS I-NP +at IN B-PP +his PRP$ B-NP +school NN I-NP +were VBD B-VP +deemed VBN I-VP +more RBR B-ADJP +important JJ I-ADJP +to TO B-PP +U.S. NNP B-NP +interests NNS I-NP +. . O + +From IN B-PP +that DT B-NP +point NN I-NP +on IN I-NP +, , O +the DT B-NP +U.S. NNP I-NP +would MD B-VP +make VB I-VP +a DT B-NP +practice NN I-NP +of IN B-PP +overlooking VBG B-VP +the DT B-NP +Panamanian NNP I-NP +'s POS B-NP +misadventures NNS I-NP +. . O + +The DT B-NP +U.S. NNP I-NP +has VBZ B-VP +befriended VBN I-VP +and CC O +later RB B-VP +turned VBD I-VP +against IN B-PP +many JJ B-NP +dictators NNS I-NP +, , O +but CC O +none NN B-NP +quite RB B-ADJP +so RB I-ADJP +resourceful JJ I-ADJP +. . O + +The DT B-NP +55-year-old NNP I-NP +Mr. NNP I-NP +Noriega NNP I-NP +is VBZ B-VP +n't RB O +as RB B-ADJP +smooth JJ I-ADJP +as IN B-PP +the DT B-NP +shah NN I-NP +of IN B-PP +Iran NNP B-NP +, , O +as RB B-ADJP +well-born JJ I-ADJP +as IN B-PP +Nicaragua NNP B-NP +'s POS B-NP +Anastasio NNP I-NP +Somoza NNP I-NP +, , O +as RB B-ADJP +imperial JJ I-ADJP +as IN B-PP +Ferdinand NNP B-NP +Marcos NNP I-NP +of IN B-PP +the DT B-NP +Philippines NNP I-NP +or CC O +as RB B-ADJP +bloody JJ I-ADJP +as IN B-PP +Haiti NNP B-NP +'s POS B-NP +Baby NNP I-NP +Doc NNP I-NP +Duvalier NNP I-NP +. . O + +Yet RB O +he PRP B-NP +has VBZ B-VP +proved VBN I-VP +more RBR B-ADJP +resilient JJ I-ADJP +than IN B-PP +any DT B-NP +of IN B-PP +them PRP B-NP +. . O + +And CC O +out IN B-ADVP +of IN B-PP +necessity NN B-NP +: : O +The DT B-NP +U.S. NNP I-NP +can MD B-VP +make VB I-VP +mistakes NNS B-NP +and CC O +still JJ B-ADVP +hope NN B-VP +to TO I-VP +remove VB I-VP +him PRP B-NP +from IN B-PP +power NN B-NP +, , O +but CC O +a DT B-NP +single JJ I-NP +error NN I-NP +on IN B-PP +his PRP$ B-NP +part NN I-NP +could MD B-VP +cost VB I-VP +him PRP B-NP +his PRP$ B-NP +life NN I-NP +. . O + +`` `` O +The DT B-NP +U.S. NNP I-NP +underestimated VBD B-VP +Noriega NNP B-NP +all DT B-ADVP +along IN I-ADVP +, , O +'' '' O +says VBZ B-VP +Ambler NNP B-NP +Moss NNP I-NP +, , O +a DT B-NP +former JJ I-NP +Ambassador NNP I-NP +to TO B-PP +Panama NNP B-NP +. . O + +`` `` O +He PRP B-NP +has VBZ B-VP +mastered VBN I-VP +the DT B-NP +art NN I-NP +of IN B-PP +survival NN B-NP +. . O +'' '' O + +In IN B-PP +keeping VBG B-VP +with IN B-PP +America NNP B-NP +'s POS B-NP +long JJ I-NP +history NN I-NP +of IN B-PP +propping VBG B-VP +up IN B-PRT +Mr. NNP B-NP +Noriega NNP I-NP +, , O +recent JJ B-NP +U.S. NNP I-NP +actions NNS I-NP +have VBP B-VP +extended VBN I-VP +rather RB B-CONJP +than IN I-CONJP +shortened VBN B-VP +his PRP$ B-NP +survival NN I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +might MD B-VP +have VB I-VP +fallen VBN I-VP +of IN B-PP +his PRP$ B-NP +own JJ I-NP +weight NN I-NP +in IN B-PP +1988 CD B-NP +because IN B-PP +of IN I-PP +Panama NNP B-NP +'s POS B-NP +dire JJ I-NP +economic JJ I-NP +situation NN I-NP +, , O +says VBZ B-VP +Mr. NNP B-NP +Moss NNP I-NP +, , O +but CC O +increasing VBG B-NP +external JJ I-NP +pressure NN I-NP +has VBZ B-VP +only RB I-VP +given VBN I-VP +him PRP B-NP +additional JJ B-NP +excuses NNS I-NP +for IN B-PP +repression NN B-NP +, , O +and CC O +a DT B-NP +scapegoat NN I-NP +for IN B-PP +his PRP$ B-NP +own JJ I-NP +mismanagement NN I-NP +. . O + +`` `` O +If IN B-SBAR +the DT B-NP +U.S. NNP I-NP +had VBD B-VP +sat VBN I-VP +back RB B-ADVP +and CC O +done VBN B-VP +nothing NN B-NP +, , O +he PRP B-NP +might MD B-VP +not RB I-VP +have VB I-VP +made VBN I-VP +it PRP B-NP +through IN B-PP +1988 CD B-NP +, , O +'' '' O +Mr. NNP B-NP +Moss NNP I-NP +contends VBZ B-VP +. . O + +Perhaps RB B-ADJP +most RBS I-ADJP +important JJ I-ADJP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +allies NNS I-NP +have VBP B-VP +intervened VBN I-VP +to TO I-VP +encourage VB I-VP +-- : O +in IN B-PP +some DT B-NP +cases NNS I-NP +, , O +to TO B-VP +demand VB I-VP +-- : O +that IN B-SBAR +the DT B-NP +dictator NN I-NP +maintain VB B-VP +his PRP$ B-NP +grip NN I-NP +of IN B-PP +the DT B-NP +throne NN I-NP +. . O + +One CD B-NP +Colombian JJ I-NP +drug NN I-NP +boss NN I-NP +, , O +upon IN B-SBAR +hearing NN B-VP +in IN B-PP +1987 CD B-NP +that IN B-SBAR +Gen. NNP B-NP +Noriega NNP I-NP +was VBD B-VP +negotiating VBG I-VP +with IN B-PP +the DT B-NP +U.S. NNP I-NP +to TO B-VP +abandon VB I-VP +his PRP$ B-NP +command NN I-NP +for IN B-PP +a DT B-NP +comfortable JJ I-NP +exile NN I-NP +, , O +sent VBD B-VP +him PRP B-NP +a DT B-NP +hand-sized JJ I-NP +mahogany NN I-NP +coffin NN I-NP +engraved VBN B-VP +with IN B-PP +his PRP$ B-NP +name NN I-NP +. . O + +`` `` O +He PRP B-NP +is VBZ B-VP +cornered VBN B-ADJP +, , O +'' '' O +says VBZ B-VP +the DT B-NP +Rev. NNP I-NP +Fernando NNP I-NP +Guardia NNP I-NP +, , O +who WP B-NP +has VBZ B-VP +led VBN I-VP +Catholic NNP B-NP +Church NNP I-NP +opposition NN I-NP +against IN B-PP +Noriega NNP B-NP +. . O + +`` `` O +The DT B-NP +Americans NNPS I-NP +have VBP B-VP +left VBN I-VP +him PRP B-NP +without IN B-PP +a DT B-NP +way NN I-NP +out RB I-NP +. . O + +It PRP B-NP +is VBZ B-VP +easy JJ B-ADJP +to TO B-VP +fight VB I-VP +when WRB B-ADVP +you PRP B-NP +do VBP B-VP +n't RB I-VP +have VB I-VP +any DT B-NP +other JJ I-NP +option NN I-NP +. . O +'' '' O + +His PRP$ B-NP +chief JJ I-NP +advantage NN I-NP +in IN B-PP +the DT B-NP +fight NN I-NP +: : O +his PRP$ B-NP +intimate JJ I-NP +knowledge NN I-NP +of IN B-PP +American JJ B-NP +ways NNS I-NP +and CC I-NP +weaknesses NNS I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +often RB B-ADVP +tells VBZ B-VP +friends NNS B-NP +that WDT B-SBAR +patience NN B-NP +is VBZ B-VP +the DT B-NP +best JJS I-NP +weapon NN I-NP +against IN B-PP +the DT B-NP +gringos NNS I-NP +, , O +who WP B-NP +have VBP B-VP +a DT B-NP +short JJ I-NP +attention NN I-NP +span NN I-NP +and CC O +little JJ B-NP +stomach NN I-NP +for IN B-PP +lasting VBG B-NP +confrontation NN I-NP +. . O + +The DT B-NP +U.S. NNP I-NP +discovered VBD B-VP +the DT B-NP +young JJ I-NP +Tony NNP I-NP +Noriega NNP I-NP +in IN B-PP +late JJ B-NP +1959 CD I-NP +, , O +when WRB B-ADVP +he PRP B-NP +was VBD B-VP +in IN B-PP +his PRP$ B-NP +second JJ I-NP +year NN I-NP +at IN B-PP +the DT B-NP +Chorrillos NNP I-NP +Military NNP I-NP +Academy NNP I-NP +in IN B-PP +Lima NNP B-NP +, , O +according VBG B-PP +to TO B-PP +former JJ B-NP +U.S. NNP I-NP +intelligence NN I-NP +officials NNS I-NP +. . O + +The DT B-NP +contact NN I-NP +occurred VBD B-VP +through IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +half-brother NN I-NP +, , O +a DT B-NP +Panamanian JJ I-NP +diplomat NN I-NP +based VBN B-VP +in IN B-PP +Peru NNP B-NP +named VBD B-VP +Luis NNP B-NP +Carlos NNP I-NP +Noriega NNP I-NP +Hurtado NNP I-NP +. . O + +Luis NNP B-NP +Carlos NNP I-NP +, , O +knowing VBG B-VP +that IN B-SBAR +helping VBG B-VP +the DT B-NP +Americans NNPS I-NP +could MD B-VP +advance VB I-VP +the DT B-NP +career NN I-NP +of IN B-PP +any DT B-NP +Panamanian JJ I-NP +officer NN I-NP +, , O +relayed VBD B-VP +Tony NNP B-NP +'s POS B-NP +reports NNS I-NP +on IN B-PP +the DT B-NP +leftist JJ I-NP +tendencies NNS I-NP +he PRP B-NP +observed VBD B-VP +among IN B-PP +his PRP$ B-NP +fellow NN I-NP +students NNS I-NP +and CC B-PP +, , O +more RBR B-ADVP +important JJ I-ADVP +, , O +among IN B-PP +his PRP$ B-NP +officers NNS I-NP +and CC I-NP +instructors NNS I-NP +. . O + +A DT B-NP +spy NN I-NP +was VBD B-VP +born VBN I-VP +. . O + +It PRP B-NP +was VBD B-VP +a DT B-NP +heady JJ I-NP +experience NN I-NP +for IN B-PP +the DT B-NP +pockmarked JJ I-NP +and CC I-NP +slightly RB I-NP +built VBN I-NP +Mr. NNP I-NP +Noriega NNP I-NP +, , O +who WP B-NP +was VBD B-VP +known VBN I-VP +to TO B-PP +his PRP$ B-NP +friends NNS I-NP +as IN B-PP +Cara NNP B-NP +la FW I-NP +Pina NNP I-NP +-- : O +pineapple NN B-NP +face NN I-NP +. . O + +Born VBN B-VP +the DT B-NP +illegitimate JJ I-NP +son NN I-NP +of IN B-PP +his PRP$ B-NP +father NN I-NP +'s POS B-NP +maid NN I-NP +, , O +he PRP B-NP +was VBD B-VP +raised VBN I-VP +on IN B-PP +the DT B-NP +mean NN I-NP +streets NNS I-NP +of IN B-PP +the DT B-NP +central JJ I-NP +market NN I-NP +district NN I-NP +of IN B-PP +Panama NNP B-NP +City NNP I-NP +. . O + +Tony NNP B-NP +was VBD B-VP +four CD B-NP +years NNS I-NP +older JJR B-ADJP +than IN B-PP +most RBS B-NP +of IN B-PP +his PRP$ B-NP +fellow NN I-NP +cadets NNS I-NP +, , O +and CC O +gained VBD B-VP +admission NN B-NP +to TO B-PP +the DT B-NP +academy NN I-NP +because IN B-SBAR +his PRP$ B-NP +brother NN I-NP +had VBD B-VP +falsified VBN I-VP +his PRP$ B-NP +birth NN I-NP +certificate NN I-NP +. . O + +He PRP B-NP +considered VBD B-VP +himself PRP B-NP +intellectually RB B-ADJP +superior JJ I-ADJP +to TO B-PP +his PRP$ B-NP +Peruvian JJ I-NP +peers NNS I-NP +, , O +many NN B-NP +of IN B-PP +whom WP B-NP +were VBD B-VP +wayward JJ B-NP +sons NNS I-NP +sent VBN B-VP +by IN B-PP +their PRP$ B-NP +well-off JJ I-NP +families NNS I-NP +to TO B-PP +the DT B-NP +highly RB I-NP +disciplined VBN I-NP +, , I-NP +French-modeled JJ I-NP +academy NN I-NP +as IN B-PP +a DT B-NP +sort NN I-NP +of IN B-PP +reform NN B-NP +school NN I-NP +. . O + +In IN B-PP +his PRP$ B-NP +peaked VBD I-NP +military JJ I-NP +cap NN I-NP +and CC I-NP +neatly RB I-NP +pressed VBN I-NP +, , I-NP +French-made JJ I-NP +uniform NN I-NP +, , O +Noriega NNP B-NP +felt VBD B-VP +more RBR B-ADJP +respected VBN I-ADJP +and CC I-ADJP +powerful JJ I-ADJP +than IN B-PP +ever RB B-NP +in IN B-PP +his PRP$ B-NP +underprivileged JJ I-NP +life NN I-NP +, , O +friends NNS B-NP +from IN B-PP +the DT B-NP +period NN I-NP +say VBP B-VP +. . O + +`` `` O +He PRP B-NP +had VBD B-VP +an DT B-NP +elegant JJ I-NP +uniform NN I-NP +with IN B-PP +gold NN B-NP +buttons NNS I-NP +in IN B-PP +a DT B-NP +country NN I-NP +where WRB B-ADVP +there EX B-NP +was VBD B-VP +a DT B-NP +cult NN I-NP +of IN B-PP +militarism NN B-NP +, , O +where WRB B-ADVP +officers NNS B-NP +were VBD B-VP +the DT B-NP +elite NN I-NP +with IN B-PP +special JJ B-NP +privileges NNS I-NP +, , O +'' '' O +recalls VBZ B-VP +Darien NNP B-NP +Ayala NNP I-NP +, , O +a DT B-NP +fellow NN I-NP +student NN I-NP +in IN B-PP +Peru NNP B-NP +and CC O +a DT B-NP +lifelong JJ I-NP +friend NN I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +relationship NN I-NP +to TO B-PP +American JJ B-NP +intelligence NN I-NP +agencies NNS I-NP +became VBD B-VP +contractual JJ B-ADJP +in IN B-PP +either DT B-NP +1966 CD I-NP +or CC I-NP +1967 CD I-NP +, , O +intelligence NN B-NP +officials NNS I-NP +say VBP B-VP +. . O + +His PRP$ B-NP +commanding NN I-NP +officer NN I-NP +at IN B-PP +the DT B-NP +Chiriqui NNP I-NP +Province NNP I-NP +garrison NN I-NP +, , O +Major NNP B-NP +Omar NNP I-NP +Torrijos NNP I-NP +, , O +gave VBD B-VP +him PRP B-NP +an DT B-NP +intriguing JJ I-NP +assignment NN I-NP +: : O +Mr. NNP B-NP +Noriega NNP I-NP +would MD B-VP +organize VB I-VP +the DT B-NP +province NN I-NP +'s POS B-NP +first JJ I-NP +intelligence NN I-NP +service NN I-NP +. . O + +The DT B-NP +spy NN I-NP +network NN I-NP +would MD B-VP +serve VB I-VP +two CD B-NP +clients NNS I-NP +: : O +the DT B-NP +Panamanian JJ I-NP +government NN I-NP +, , O +by IN B-PP +monitoring VBG B-VP +political JJ B-NP +opponents NNS I-NP +in IN B-PP +the DT B-NP +region NN I-NP +, , O +and CC O +the DT B-NP +U.S. NNP I-NP +, , O +by IN B-PP +tracking VBG B-VP +the DT B-NP +growing VBG I-NP +Communist NNP I-NP +influence NN I-NP +in IN B-PP +the DT B-NP +unions NNS I-NP +organized VBN B-VP +at IN B-PP +United NNP B-NP +Fruit NNP I-NP +Co. NNP I-NP +'s POS B-NP +banana NN I-NP +plantations NNS I-NP +in IN B-PP +Bocas NNP B-NP +del NNP I-NP +Toros NNP I-NP +and CC O +Puerto NNP B-NP +Armuelles NNP I-NP +. . O + +United NNP B-NP +Fruit NNP I-NP +was VBD B-VP +one CD B-NP +of IN B-PP +the DT B-NP +two CD I-NP +largest JJS I-NP +contributors NNS I-NP +to TO B-PP +Panama NNP B-NP +'s POS B-NP +national JJ I-NP +income NN I-NP +. . O + +Satisfying VBG B-VP +its PRP$ B-NP +interests NNS I-NP +was VBD B-VP +a DT B-NP +priority NN I-NP +for IN B-PP +any DT B-NP +Panamanian JJ I-NP +leader NN I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +initial JJ I-NP +retainer NN I-NP +was VBD B-VP +only RB B-NP +$ $ I-NP +50 CD I-NP +to TO I-NP +$ $ I-NP +100 CD I-NP +a DT B-NP +month NN I-NP +, , O +plus CC O +occasional JJ B-NP +gifts NNS I-NP +of IN B-PP +liquor NN B-NP +or CC I-NP +groceries NNS I-NP +from IN B-PP +the DT B-NP +American NNP I-NP +PX NNP I-NP +, , O +a DT B-NP +former JJ I-NP +intelligence NN I-NP +official NN I-NP +says NNS B-VP +. . O + +It PRP B-NP +was VBD B-VP +modest JJ B-NP +pay NN I-NP +by IN B-PP +American JJ B-NP +standards NNS I-NP +, , O +but CC O +a DT B-NP +healthy JJ I-NP +boost NN I-NP +to TO B-PP +his PRP$ B-NP +small JJ I-NP +military JJ I-NP +salary NN I-NP +, , O +which WDT B-NP +fellow NN B-NP +officers NNS I-NP +remember VBP B-VP +as IN B-PP +having VBG B-VP +been VBN I-VP +$ $ B-NP +300 CD I-NP +to TO I-NP +$ $ I-NP +400 CD I-NP +monthly JJ B-ADVP +. . O + +`` `` O +He PRP B-NP +did VBD B-VP +it PRP B-NP +very RB B-ADVP +well RB I-ADVP +, , O +'' '' O +recalls VBZ B-VP +Boris NNP B-NP +Martinez NNP I-NP +, , O +a DT B-NP +former JJ I-NP +Panamanian JJ I-NP +colonel NN I-NP +who WP B-NP +managed VBD B-VP +Mr. NNP B-NP +Noriega NNP I-NP +and CC O +his PRP$ B-NP +operation NN I-NP +. . O + +`` `` O +He PRP B-NP +started VBD B-VP +building VBG I-VP +the DT B-NP +files NNS I-NP +that WDT B-NP +helped VBD B-VP +him PRP B-NP +gain VBP B-VP +power NN B-NP +. . O +'' '' O + +A DT B-NP +National NNP I-NP +Guard NNP I-NP +job NN I-NP +assumed VBN B-VP +by IN B-PP +Capt. NNP B-NP +Noriega NNP I-NP +in IN B-PP +1964 CD B-NP +-- : O +as IN B-PP +chief NN B-NP +of IN B-PP +the DT B-NP +transit NN I-NP +police NN I-NP +in IN B-PP +David NNP B-NP +City NNP I-NP +, , O +capital NN B-NP +of IN B-PP +the DT B-NP +Chiriqui NNP I-NP +Province NNP I-NP +-- : O +was VBD B-VP +tailor-made JJ B-ADJP +for IN B-PP +an DT B-NP +aspiring JJ I-NP +super-spy NN I-NP +. . O + +By IN B-PP +pressuring VBG B-VP +taxi NN B-NP +and CC I-NP +bus NN I-NP +drivers NNS I-NP +who WP B-NP +needed VBD B-VP +licenses NNS B-NP +, , O +he PRP B-NP +gained VBD B-VP +a DT B-NP +ready JJ I-NP +cache NN I-NP +of IN B-PP +information NN B-NP +. . O + +He PRP B-NP +knew VBD B-VP +which WDT B-NP +local JJ I-NP +luminaries NNS I-NP +had VBD B-VP +been VBN I-VP +caught VBN I-VP +driving VBG B-VP +drunk JJ B-ADVP +, , O +which WDT B-NP +had VBD B-VP +been VBN I-VP +found VBN I-VP +with IN B-PP +their PRP$ B-NP +mistresses NNS I-NP +. . O + +This DT B-NP +proved VBD B-VP +particularly RB B-ADJP +valuable JJ I-ADJP +to TO B-PP +the DT B-NP +Panamanian JJ I-NP +government NN I-NP +in IN B-PP +1967 CD B-NP +, , O +when WRB B-ADVP +union NN B-NP +leaders NNS I-NP +were VBD B-VP +planning VBG I-VP +a DT B-NP +May NNP I-NP +Day NNP I-NP +march NN I-NP +that IN B-NP +the DT B-NP +government NN I-NP +feared VBD B-VP +could MD B-VP +turn VB I-VP +violent JJ B-ADJP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +had VBD B-VP +learned VBN I-VP +that IN B-SBAR +a DT B-NP +local JJ I-NP +union NN I-NP +leader NN I-NP +was VBD B-VP +sleeping VBG I-VP +with IN B-PP +the DT B-NP +wife NN I-NP +of IN B-PP +his PRP$ B-NP +deputy NN I-NP +. . O + +So RB O +he PRP B-NP +splashed VBD B-VP +the DT B-NP +information NN I-NP +on IN B-PP +handbills NNS B-NP +that IN B-NP +he PRP B-NP +distributed VBD B-VP +throughout IN B-PP +the DT B-NP +banana-exporting JJ I-NP +city NN I-NP +of IN B-PP +Puerto NNP B-NP +Armuelles NNP I-NP +, , O +which WDT B-NP +was VBD B-VP +ruled VBN I-VP +by IN B-PP +United NNP B-NP +Fruit NNP I-NP +Co NNP I-NP +. . O + +The DT B-NP +campaign NN I-NP +so RB B-VP +divided VBD I-VP +union NN B-NP +leaders NNS I-NP +that IN B-SBAR +the DT B-NP +government NN I-NP +found VBD B-VP +them PRP B-NP +far RB B-ADJP +easier JJR I-ADJP +to TO B-VP +control VB I-VP +. . O + +`` `` O +It PRP B-NP +was VBD B-VP +like IN B-PP +a DT B-NP +play NN I-NP +on IN B-PP +Broadway NNP B-NP +, , O +'' '' O +recalls VBZ B-VP +Mr. NNP B-NP +Martinez NNP I-NP +. . O + +`` `` O +Noriega NNP B-NP +managed VBD B-VP +the DT B-NP +whole JJ I-NP +thing NN I-NP +. . O + +He PRP B-NP +was VBD B-VP +superb JJ B-ADJP +. . O + +Noriega NNP B-NP +was VBD B-VP +an DT B-NP +expert NN I-NP +at IN B-PP +bribing VBG B-VP +and CC I-VP +blackmailing VBG I-VP +people NNS B-NP +. . O +'' '' O + +During IN B-PP +his PRP$ B-NP +years NNS I-NP +in IN B-PP +Chiriqui NNP B-NP +, , O +however RB B-ADVP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +also RB B-ADVP +revealed VBD B-VP +himself PRP B-NP +as IN B-PP +an DT B-NP +officer NN I-NP +as RB B-ADJP +perverse JJ I-ADJP +as IN B-SBAR +he PRP B-NP +was VBD B-VP +ingenious JJ B-ADJP +. . O + +Rodrigo NNP B-NP +Miranda NNP I-NP +, , O +a DT B-NP +local JJ I-NP +lawyer NN I-NP +and CC I-NP +human-rights JJ I-NP +monitor NN I-NP +, , O +recalls VBZ B-VP +an DT B-NP +intoxicated JJ I-NP +Noriega NNP I-NP +visiting VBG B-VP +prisoners NNS B-NP +in IN B-PP +their PRP$ B-NP +cells NNS I-NP +at IN B-PP +the DT B-NP +5th NNP I-NP +Zone NNP I-NP +Garrison NNP I-NP +headquarters NN I-NP +in IN B-PP +David NNP B-NP +, , O +where WRB B-ADVP +he PRP B-NP +had VBD B-VP +his PRP$ B-NP +offices NNS I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +would MD B-VP +order VB I-VP +them PRP B-NP +all DT B-ADVP +to TO B-VP +take VB I-VP +off IN O +their PRP$ B-NP +clothes NNS I-NP +and CC O +run VB B-VP +around IN B-PP +the DT B-NP +courtyard NN I-NP +naked JJ B-ADVP +, , O +laughing VBG B-VP +at IN B-PP +them PRP B-NP +and CC O +then RB B-ADVP +retreating VBG B-VP +to TO B-PP +his PRP$ B-NP +office NN I-NP +. . O + +`` `` O +People NNS B-NP +started VBD B-VP +wondering VBG I-VP +if IN B-SBAR +something NN B-NP +was VBD B-VP +wrong JJ B-ADJP +with IN B-PP +him PRP B-NP +, , O +'' '' O +Mr. NNP B-NP +Miranda NNP I-NP +recalls VBZ B-VP +. . O + +But CC O +through IN B-PP +this DT B-NP +period NN I-NP +, , O +so RB B-ADVP +far RB I-ADVP +as IN B-SBAR +the DT B-NP +U.S. NNP I-NP +military NN I-NP +was VBD B-VP +concerned VBN I-VP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +was VBD B-VP +a DT B-NP +model NN I-NP +recruit NN I-NP +. . O + +He PRP B-NP +signed VBD B-VP +up IN B-PRT +for IN B-PP +intelligence NN B-NP +and CC I-NP +counter-intelligence JJ I-NP +training NN I-NP +under IN B-PP +American JJ B-NP +officers NNS I-NP +at IN B-PP +Fort NNP B-NP +Gulick NNP I-NP +in IN B-PP +Panama NNP B-NP +in IN B-PP +July NNP B-NP +1967 CD I-NP +, , O +according VBG B-PP +to TO B-PP +a DT B-NP +copy NN I-NP +of IN B-PP +a DT B-NP +1983 CD I-NP +resume NN I-NP +with IN B-PP +details NNS B-NP +Mr. NNP B-NP +Noriega NNP I-NP +has VBZ B-VP +since IN I-VP +classified VBN I-VP +as IN B-PP +secret NN B-ADJP +. . O + +He PRP B-NP +flew VBD B-VP +to TO B-PP +Fort NNP B-NP +Bragg NNP I-NP +, , O +N.C. NNP B-NP +, , O +in IN B-PP +September NNP B-NP +of IN B-PP +that DT B-NP +year NN I-NP +for IN B-PP +a DT B-NP +course NN I-NP +in IN B-PP +psychological JJ B-NP +operations NNS I-NP +, , O +returning VBG B-VP +to TO B-PP +the DT B-NP +School NNP I-NP +of IN B-PP +the DT B-NP +Americas NNP I-NP +in IN B-PP +Panama NNP B-NP +for IN B-PP +a DT B-NP +two-month JJ I-NP +course NN I-NP +called VBN B-VP +`` `` O +military JJ B-NP +intelligence NN I-NP +for IN B-PP +officers NNS B-NP +. . O +'' '' O + +Some DT B-NP +American JJ I-NP +officers NNS I-NP +interpreted VBD B-VP +his PRP$ B-NP +eagerness NN I-NP +and CC I-NP +studiousness NN I-NP +as IN B-PP +a DT B-NP +sign NN I-NP +of IN B-PP +loyalty NN B-NP +, , O +but CC O +they PRP B-NP +did VBD B-VP +so RB B-ADVP +falsely RB B-ADVP +. . O + +He PRP B-NP +rose VBD B-VP +to TO B-PP +chief NN B-NP +of IN B-PP +intelligence NN B-NP +in IN B-PP +Panama NNP B-NP +'s POS B-NP +socalled JJ I-NP +G-2 NN I-NP +in IN B-PP +1970 CD B-NP +after IN B-PP +providing VBG B-VP +populist JJ B-NP +dictator NN I-NP +Torrijos NNP B-NP +the DT B-NP +critical JJ I-NP +support NN I-NP +to TO B-VP +defeat VB I-VP +a DT B-NP +coup NN I-NP +attempt NN I-NP +against IN B-PP +him PRP B-NP +a DT B-NP +year NN I-NP +earlier RBR B-ADVP +. . O + +He PRP B-NP +became VBD B-VP +Gen. NNP B-NP +Torrijos NNP I-NP +'s POS B-NP +inseparable JJ I-NP +shadow NN I-NP +, , O +and CC O +the DT B-NP +holder NN I-NP +of IN B-PP +all DT B-NP +Panama NNP I-NP +'s POS B-NP +secrets NNS I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +, , O +by IN B-PP +now RB B-NP +a DT B-NP +lieutenant NN I-NP +colonel NN I-NP +, , O +expanded VBD B-VP +his PRP$ B-NP +contacts NNS I-NP +to TO B-VP +include VB I-VP +the DT B-NP +Cubans NNPS I-NP +-- : O +not RB B-CONJP +to TO O +mention VB O +the DT B-NP +Israelis NNPS I-NP +, , O +the DT B-NP +Taiwanese JJ I-NP +and CC O +any DT B-NP +other JJ I-NP +intelligence NN I-NP +service NN I-NP +that WDT B-NP +came VBD B-VP +knocking VBG I-VP +. . O + +When WRB B-ADVP +U.S. NNP B-NP +diplomats NNS I-NP +complained VBD B-VP +to TO B-PP +the DT B-NP +CIA NNP I-NP +of IN B-PP +Col. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +moonlighting NN I-NP +, , O +intelligence NN B-NP +experts NNS I-NP +always RB B-ADVP +insisted VBD B-VP +that IN O +his PRP$ B-NP +allegiance NN I-NP +was VBD B-VP +first JJ B-ADVP +to TO B-PP +the DT B-NP +Americans NNPS I-NP +. . O + +`` `` O +Early RB B-ADVP +on IN I-ADVP +in IN B-PP +the DT B-NP +State NNP I-NP +Department NNP I-NP +, , O +we PRP B-NP +took VBD B-VP +to TO B-PP +calling VBG B-VP +him PRP B-NP +the DT B-NP +rent-a-colonel NN I-NP +, , O +in IN B-PP +tribute NN B-NP +to TO B-PP +his PRP$ B-NP +ability NN I-NP +to TO B-VP +simultaneously RB I-VP +milk NN I-VP +the DT B-NP +antagonistic JJ I-NP +intelligence NN I-NP +services NNS I-NP +of IN B-PP +Cuba NNP B-NP +and CC O +the DT B-NP +United NNP I-NP +States NNPS I-NP +, , O +'' '' O +recalls VBZ B-VP +Francis NNP B-NP +J. NNP I-NP +McNeil NNP I-NP +, , O +who WP B-NP +, , O +as IN B-PP +deputy NN B-NP +assistant NN I-NP +secretary NN I-NP +of IN B-PP +state NN B-NP +for IN B-PP +inter-American JJ B-NP +affairs NNS I-NP +, , O +first JJ B-ADVP +ran VBD B-VP +across IN B-PP +reports NNS B-NP +about IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +in IN B-PP +1977 CD B-NP +. . O + +`` `` O +Some DT B-NP +of IN B-PP +us PRP B-NP +wondered VBD B-VP +how WRB B-ADVP +our PRP$ B-NP +intelligence NN I-NP +people NNS I-NP +could MD B-VP +put VB I-VP +so RB B-NP +much JJ I-NP +stock NN I-NP +in IN B-PP +his PRP$ B-NP +information NN I-NP +when WRB B-ADVP +he PRP B-NP +was VBD B-VP +just RB B-ADJP +as IN I-ADJP +close RB I-ADJP +to TO B-PP +the DT B-NP +Cubans NNPS I-NP +. . O +'' '' O + +Even RB B-ADVP +at IN B-PP +this DT B-NP +early JJ I-NP +stage NN I-NP +, , O +drugs NNS B-NP +caused VBD B-VP +additional JJ B-NP +concerns NNS I-NP +. . O + +During IN B-PP +the DT B-NP +Nixon NNP I-NP +administration NN I-NP +, , O +the DT B-NP +Drug NNP I-NP +Enforcement NNP I-NP +Administration NNP I-NP +became VBD B-VP +dismayed VBN I-VP +at IN B-PP +the DT B-NP +extent NN I-NP +of IN B-PP +the DT B-NP +G-2 NN I-NP +'s POS B-NP +connections NNS I-NP +to TO B-PP +arrested VBN B-NP +drug NN I-NP +traffickers NNS I-NP +. . O + +One CD B-NP +DEA NNP I-NP +agent NN I-NP +drew VBD B-VP +up IN B-PRT +a DT B-NP +list NN I-NP +of IN B-PP +five CD B-NP +options NNS I-NP +for IN B-PP +dealing VBG B-VP +with IN B-PP +Col. NNP B-NP +Noriega NNP I-NP +, , O +one CD B-NP +of IN B-PP +which WDT B-NP +was VBD B-VP +assassination NN B-NP +. . O + +The DT B-NP +head NN I-NP +of IN B-PP +the DT B-NP +DEA NNP I-NP +at IN B-PP +the DT B-NP +time NN I-NP +, , O +John NNP B-NP +Ingersoll NNP I-NP +, , O +scotched VBD B-VP +the DT B-NP +assassination NN I-NP +plan NN I-NP +. . O + +But CC O +he PRP B-NP +did VBD B-VP +fly VB I-VP +to TO B-PP +Panama NNP B-NP +to TO B-VP +scold VB I-VP +dictator NN B-NP +Torrijos NNP I-NP +on IN B-PP +the DT B-NP +drug NN I-NP +ties NNS I-NP +of IN B-PP +Panamanian JJ B-NP +officials NNS I-NP +, , O +including VBG B-PP +Mr. NNP B-NP +Noriega NNP I-NP +. . O + +Mr. NNP B-NP +Ingersoll NNP I-NP +later RB B-ADVP +recalled VBD B-VP +that IN B-SBAR +Gen. NNP B-NP +Torrijos NNP I-NP +seemed VBD B-VP +afraid JJ B-ADJP +to TO B-VP +act VB I-VP +on IN B-PP +the DT B-NP +concerns NNS I-NP +of IN B-PP +the DT B-NP +U.S. NNP I-NP +. . O + +`` `` O +Everybody NN B-NP +was VBD B-VP +afraid JJ B-ADJP +of IN B-PP +him PRP B-NP +, , O +'' '' O +Mr. NNP B-NP +Ingersoll NNP I-NP +says VBZ B-VP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +became VBD B-VP +an DT B-NP +even RB I-NP +greater JJR I-NP +threat NN I-NP +in IN B-PP +1976 CD B-NP +, , O +when WRB B-ADVP +U.S. NNP B-NP +intelligence NN I-NP +services NNS I-NP +discovered VBN B-VP +that IN B-SBAR +he PRP B-NP +had VBD B-VP +been VBN I-VP +buying VBG I-VP +recordings NNS B-NP +of IN B-PP +electronically RB B-NP +monitored VBN I-NP +conversations NNS I-NP +from IN B-PP +three CD B-NP +sergeants NNS I-NP +working VBG B-VP +for IN B-PP +the DT B-NP +U.S. NNP I-NP +Army NNP I-NP +'s POS B-NP +470th NNP I-NP +Military NNP I-NP +Intelligence NNP I-NP +Group NNP I-NP +. . O + +The DT B-NP +tapes NNS I-NP +included VBD B-VP +wiretaps NNS B-NP +of IN B-PP +Gen. NNP B-NP +Torrijos NNP I-NP +'s POS B-NP +own JJ I-NP +phone NN I-NP +, , O +according VBG B-PP +to TO B-PP +American JJ B-NP +intelligence NN I-NP +officials NNS I-NP +. . O + +`` `` O +We PRP B-NP +caught VBD B-VP +him PRP B-NP +with IN B-PP +his PRP$ B-NP +hands NNS I-NP +on IN B-PP +our PRP$ B-NP +cookie NN I-NP +jar NN I-NP +, , O +'' '' O +says VBZ B-VP +former JJ B-NP +CIA NNP I-NP +Director NNP I-NP +Stansfield NNP I-NP +Turner NNP I-NP +. . O + +For IN B-PP +the DT B-NP +first JJ I-NP +time NN I-NP +, , O +the DT B-NP +U.S. NNP I-NP +considered VBD B-VP +cutting VBG I-VP +Mr. NNP B-NP +Noriega NNP I-NP +from IN B-PP +its PRP$ B-NP +intelligence NN I-NP +payroll NN I-NP +-- : O +and CC O +the DT B-NP +deliberations NNS I-NP +were VBD B-VP +intense JJ B-ADJP +, , O +Mr. NNP B-NP +Turner NNP I-NP +says VBZ B-VP +. . O + +`` `` O +In IN B-PP +the DT B-NP +world NN I-NP +of IN B-PP +intelligence NN B-NP +, , O +if IN B-SBAR +you PRP B-NP +want VBP B-VP +to TO I-VP +get VB I-VP +information NN B-NP +, , O +you PRP B-NP +get VBP B-VP +it PRP B-NP +from IN B-PP +seedy JJ B-NP +characters NNS I-NP +. . O + +The DT B-NP +question NN I-NP +is VBZ B-VP +how WRB B-ADVP +much JJ I-ADVP +you PRP B-NP +get VBP B-VP +tied VBN I-VP +in IN B-PRT +with IN B-PP +seedy JJ B-NP +characters NNS I-NP +so IN B-SBAR +they PRP B-NP +can MD B-VP +extort VB I-VP +you PRP B-NP +. . O +'' '' O + +Intelligence NN B-NP +officials NNS I-NP +to TO B-PP +this DT B-NP +day NN I-NP +worry NN B-VP +whether IN B-SBAR +Mr. NNP B-NP +Noriega NNP I-NP +sold VBD B-VP +sensitive JJ B-NP +information NN I-NP +on IN B-PP +the DT B-NP +recordings NNS I-NP +to TO B-PP +the DT B-NP +Cubans NNPS I-NP +or CC O +others NNS B-NP +. . O + +Mr. NNP B-NP +Turner NNP I-NP +was VBD B-VP +troubled JJ I-VP +enough RB B-ADVP +to TO B-VP +cancel VB I-VP +the DT B-NP +U.S. NNP I-NP +contract NN I-NP +with IN B-PP +the DT B-NP +rent-a-colonel NN I-NP +at IN B-PP +the DT B-NP +beginning NN I-NP +of IN B-PP +the DT B-NP +Carter NNP I-NP +administration NN I-NP +. . O + +The DT B-NP +U.S. NNP I-NP +soon RB B-ADVP +found VBD B-VP +new JJ B-NP +cause NN I-NP +for IN B-PP +concern NN B-NP +: : O +gun-running JJ B-NP +. . O + +Prosecutors NNS B-NP +in IN B-PP +Southern NNP B-NP +Florida NNP I-NP +indicted VBD B-VP +five CD B-NP +Panamanians NNS I-NP +on IN B-PP +charges NNS B-NP +of IN B-PP +illegally RB B-VP +running VBG I-VP +arms NNS B-NP +to TO B-PP +Sandinista NNP B-NP +rebels NNS I-NP +trying VBG B-VP +to TO I-VP +overthrow VB I-VP +the DT B-NP +Nicaraguan JJ I-NP +government NN I-NP +of IN B-PP +Mr. NNP B-NP +Somoza NNP I-NP +. . O + +They PRP B-NP +included VBD B-VP +one CD B-NP +of IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +closest JJS I-NP +friends NNS I-NP +and CC I-NP +business NN I-NP +partners NNS I-NP +, , O +Carlos NNP B-NP +Wittgreen NNP I-NP +. . O + +And CC O +the DT B-NP +investigators NNS I-NP +were VBD B-VP +quickly RB I-VP +closing VBG I-VP +in IN B-PRT +on IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +himself PRP B-NP +. . O + +At IN B-PP +the DT B-NP +time NN I-NP +, , O +though RB B-ADVP +, , O +in IN B-PP +1979 CD B-NP +, , O +the DT B-NP +U.S. NNP I-NP +was VBD B-VP +once RB I-VP +again RB I-VP +flirting VBG I-VP +with IN B-PP +its PRP$ B-NP +longtime JJ I-NP +Latin NNP I-NP +American JJ I-NP +spy NN I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +made VBD B-VP +plans NNS B-NP +to TO B-VP +fly VB I-VP +to TO B-PP +Washington NNP B-NP +for IN B-PP +a DT B-NP +meeting NN I-NP +with IN B-PP +his PRP$ B-NP +counterpart NN I-NP +at IN B-PP +the DT B-NP +Pentagon NNP I-NP +. . O + +Dade NNP B-NP +County NNP I-NP +and CC I-NP +federal JJ I-NP +authorities NNS I-NP +, , O +learning VBG B-VP +that IN B-SBAR +he PRP B-NP +intended VBD B-VP +to TO I-VP +fly VB I-VP +through IN B-PP +Miami NNP B-NP +, , O +made VBN B-VP +plans NNS B-NP +to TO B-VP +arrest VB I-VP +him PRP B-NP +on IN B-PP +the DT B-NP +gun-running JJ I-NP +charges NNS I-NP +as RB B-ADVP +soon RB I-ADVP +as IN B-SBAR +he PRP B-NP +hit VBD B-VP +U.S. NNP B-NP +soil NN I-NP +. . O + +It PRP B-NP +was VBD B-VP +a DT B-NP +Friday NNP I-NP +in IN B-PP +June NNP B-NP +. . O + +The DT B-NP +Pentagon NNP I-NP +foiled VBD B-VP +the DT B-NP +plan NN I-NP +. . O + +According VBG B-PP +to TO B-PP +military JJ B-NP +officers NNS I-NP +at IN B-PP +the DT B-NP +time NN I-NP +, , O +word NN B-NP +was VBD B-VP +passed VBN I-VP +to TO B-PP +Mr. NNP B-NP +Noriega NNP I-NP +by IN B-PP +his PRP$ B-NP +American JJ I-NP +hosts NNS I-NP +that IN B-SBAR +the DT B-NP +police NN I-NP +would MD B-VP +be VB I-VP +waiting VBG I-VP +. . O + +On IN B-PP +Monday NNP B-NP +, , O +U.S. NNP B-NP +officials NNS I-NP +received VBD B-VP +a DT B-NP +routine NN I-NP +, , I-NP +unclassified JJ I-NP +message NN I-NP +from IN B-PP +the DT B-NP +military JJ I-NP +group NN I-NP +commander NN I-NP +in IN B-PP +Panama NNP B-NP +. . O + +`` `` O +Due JJ B-PP +to TO I-PP +health NN B-NP +reasons NNS I-NP +, , O +Lt. NNP B-NP +Col. NNP I-NP +Noriega NNP I-NP +has VBZ B-VP +elected VBN I-VP +to TO I-VP +postpone VB I-VP +his PRP$ B-NP +visit NN I-NP +to TO B-PP +Washington NNP B-NP +, , O +'' '' O +it PRP B-NP +read VBP B-VP +. . O + +Prosecutors NNS B-NP +in IN B-PP +Miami NNP B-NP +received VBD B-VP +yet RB B-NP +another DT I-NP +setback NN I-NP +. . O + +Their PRP$ B-NP +original JJ I-NP +indictment NN I-NP +against IN B-PP +Mr. NNP B-NP +Wittgreen NNP I-NP +, , O +the DT B-NP +friend NN I-NP +of IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +, , O +and CC O +the DT B-NP +other JJ I-NP +four CD I-NP +was VBD B-VP +dismissed VBN I-VP +on IN B-PP +a DT B-NP +technicality NN I-NP +. . O + +But CC O +now RB B-ADVP +, , O +along IN B-ADVP +with IN B-PP +reindicting VBG B-VP +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +pal NN I-NP +, , O +they PRP B-NP +intended VBD B-VP +to TO I-VP +charge VB I-VP +Mr. NNP B-NP +Noriega NNP I-NP +himself PRP B-NP +, , O +on IN B-PP +allegations NNS B-NP +that IN B-SBAR +he PRP B-NP +was VBD B-VP +involved VBN I-VP +in IN B-PP +the DT B-NP +illegal JJ I-NP +trading NN I-NP +of IN B-PP +some DT B-NP +$ $ I-NP +2 CD I-NP +million CD I-NP +in IN B-PP +arms NNS B-NP +. . O + +In IN B-PP +January NNP B-NP +1980 CD I-NP +, , O +Jerome NNP B-NP +Sanford NNP I-NP +, , O +as IN B-PP +assistant NN B-NP +U.S. NNP I-NP +attorney NN I-NP +, , O +was VBD B-VP +summoned VBN I-VP +to TO B-PP +a DT B-NP +meeting NN I-NP +with IN B-PP +a DT B-NP +Federal NNP I-NP +Bureau NNP I-NP +of IN B-PP +Investigation NNP B-NP +agent NN B-NP +assigned VBN B-VP +to TO B-PP +the DT B-NP +Bureau NNP I-NP +of IN B-PP +Alcohol NN B-NP +, , I-NP +Tobacco NNP I-NP +and CC I-NP +Firearms NNP I-NP +in IN B-PP +Miami NNP B-NP +. . O + +Panamanian JJ B-NP +dictator NN I-NP +Torrijos NNP B-NP +, , O +he PRP B-NP +was VBD B-VP +told VBN I-VP +, , O +had VBD B-VP +granted VBN I-VP +the DT B-NP +shah NN I-NP +of IN B-PP +Iran NNP B-NP +asylum NN B-NP +in IN B-PP +Panama NNP B-NP +as IN B-PP +a DT B-NP +favor NN I-NP +to TO B-PP +Washington NNP B-NP +. . O + +Mr. NNP B-NP +Sanford NNP I-NP +was VBD B-VP +told VBN I-VP +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +friend NN I-NP +, , O +Mr. NNP B-NP +Wittgreen NNP I-NP +, , O +would MD B-VP +be VB I-VP +handling VBG I-VP +the DT B-NP +shah NN I-NP +'s POS B-NP +security NN I-NP +. . O + +It PRP B-NP +would MD B-VP +n't RB I-VP +be VB I-VP +a DT B-NP +good JJ I-NP +idea NN I-NP +to TO O +indict VB B-VP +him PRP B-NP +-- : O +much RB B-ADVP +less JJR I-ADVP +Mr. NNP B-NP +Noriega NNP I-NP +, , O +the DT B-NP +prosecutor NN I-NP +was VBD B-VP +told VBN I-VP +. . O + +After IN B-PP +prodding VBG B-NP +from IN B-PP +Mr. NNP B-NP +Sanford NNP I-NP +, , O +U.S. NNP B-NP +Attorney NNP I-NP +Jack NNP I-NP +Eskenazi NNP I-NP +pleaded VBD B-VP +with IN B-PP +Justice NNP B-NP +Department NNP I-NP +officials NNS I-NP +in IN B-PP +Washington NNP B-NP +to TO B-VP +let VB I-VP +the DT B-NP +indictment NN I-NP +proceed VB B-VP +. . O + +`` `` O +Unfortunately RB B-ADVP +, , O +'' '' O +Mr. NNP B-NP +Eskenazi NNP I-NP +wrote VBD B-VP +in IN B-PP +a DT B-NP +letter NN I-NP +, , O +`` `` O +those DT B-NP +of IN B-PP +us PRP B-NP +in IN B-PP +law NN B-NP +enforcement NN I-NP +in IN B-PP +Miami NNP B-NP +find NN B-VP +ourselves PRP B-NP +frequently RB B-VP +attempting VBG I-VP +to TO I-VP +enforce VB I-VP +the DT B-NP +laws NNS I-NP +of IN B-PP +the DT B-NP +United NNP I-NP +States NNPS I-NP +but CC O +simultaneously RB B-VP +being VBG I-VP +caught VBN I-VP +between IN B-PP +foreign JJ B-NP +policy NN I-NP +considerations NNS I-NP +over IN B-PP +which WDT B-NP +we PRP B-NP +have VBP B-VP +no DT B-NP +control NN I-NP +. . O +'' '' O + +The DT B-NP +letter NN I-NP +, , O +along IN B-ADVP +with IN B-PP +a DT B-NP +detailed VBN I-NP +prosecution NN I-NP +memo NN I-NP +, , O +sat VBD B-VP +on IN B-PP +the DT B-NP +desks NNS I-NP +of IN B-PP +Justice NNP B-NP +officials NNS I-NP +for IN B-PP +months NNS B-NP +before IN B-SBAR +the DT B-NP +case NN I-NP +died VBD B-VP +a DT B-NP +quiet JJ I-NP +death NN I-NP +. . O + +`` `` O +I PRP B-NP +think VBP B-VP +if IN B-SBAR +we PRP B-NP +had VBD B-VP +been VBN I-VP +allowed VBN I-VP +to TO I-VP +go VB I-VP +ahead RB B-ADVP +then RB B-ADVP +we PRP B-NP +would MD B-VP +n't RB I-VP +have VB I-VP +the DT B-NP +problems NNS I-NP +we PRP B-NP +have VBP B-VP +now RB B-ADVP +, , O +'' '' O +Mr. NNP B-NP +Sanford NNP I-NP +says VBZ B-VP +. . O + +`` `` O +If IN B-SBAR +he PRP B-NP +had VBD B-VP +been VBN I-VP +found VBN I-VP +guilty JJ B-ADJP +, , O +we PRP B-NP +could MD B-VP +have VB I-VP +stopped VBN I-VP +him PRP B-NP +. . O +'' '' O + +In IN B-PP +August NNP B-NP +1983 CD I-NP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +took VBD B-VP +over IN B-PRT +as IN B-PP +General NNP B-NP +and CC O +de-facto JJ B-NP +dictator NN I-NP +of IN B-PP +Panama NNP B-NP +, , O +having VBG B-VP +maneuvered VBN I-VP +his PRP$ B-NP +way NN I-NP +to TO B-PP +the DT B-NP +top JJ I-NP +only RB B-NP +two CD I-NP +years NNS I-NP +after IN B-PP +the DT B-NP +mysterious JJ I-NP +death NN I-NP +in IN B-PP +a DT B-NP +plane NN I-NP +crash NN I-NP +of IN B-PP +his PRP$ B-NP +old JJ I-NP +boss NN I-NP +Omar NNP I-NP +Torrijos NNP I-NP +. . O + +Soon RB B-ADVP +, , O +the DT B-NP +military NN I-NP +became VBD B-VP +a DT B-NP +veritable JJ I-NP +mafia NN I-NP +controlling VBG B-VP +legal JJ B-NP +and CC I-NP +illegal JJ I-NP +businesses NNS I-NP +. . O + +The DT B-NP +Reagan NNP I-NP +administration NN I-NP +also RB B-ADVP +put VB B-VP +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +G-2 NN I-NP +back RB B-ADVP +on IN B-PP +the DT B-NP +U.S. NNP I-NP +payroll NN I-NP +. . O + +Payments NNS B-NP +averaged VBD B-VP +nearly RB B-NP +$ $ I-NP +200,000 CD I-NP +a DT B-NP +year NN I-NP +from IN B-PP +the DT B-NP +U.S. NNP I-NP +Defense NNP I-NP +Intelligence NNP I-NP +Agency NNP I-NP +and CC O +the DT B-NP +CIA NNP I-NP +. . O + +Although IN B-SBAR +working VBG B-VP +for IN B-PP +U.S. NNP B-NP +intelligence NN I-NP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +was VBD B-VP +hardly RB I-VP +helping VBG I-VP +the DT B-NP +U.S. NNP I-NP +exclusively RB B-ADVP +. . O + +During IN B-PP +the DT B-NP +Reagan NNP I-NP +years NNS I-NP +he PRP B-NP +expanded VBD B-VP +his PRP$ B-NP +business NN I-NP +and CC I-NP +intelligence NN I-NP +contacts NNS I-NP +with IN B-PP +the DT B-NP +Cubans NNPS I-NP +and CC O +the DT B-NP +Sandinistas NNPS I-NP +. . O + +He PRP B-NP +allegedly RB B-ADVP +entered VBD B-VP +into IN B-PP +Panama NNP B-NP +'s POS B-NP +first JJ I-NP +formal JJ I-NP +business NN I-NP +arrangement NN I-NP +with IN B-PP +Colombian JJ B-NP +drug NN I-NP +bosses NNS I-NP +, , O +according VBG B-PP +to TO B-PP +Floyd NNP B-NP +Carlton NNP I-NP +, , O +a DT B-NP +pilot NN I-NP +who WP B-NP +once RB B-ADVP +worked VBD B-VP +for IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +and CC O +who WP B-NP +testified VBD B-VP +before IN B-PP +the DT B-NP +U.S. NNP I-NP +grand JJ I-NP +jury NN I-NP +in IN B-PP +Miami NNP B-NP +that WDT B-NP +would MD B-VP +ultimately RB I-VP +indict VB I-VP +the DT B-NP +Panamanian JJ I-NP +on IN B-PP +drug NN B-NP +charges NNS I-NP +. . O + +But CC O +Mr. NNP B-NP +Noriega NNP I-NP +was VBD B-VP +convinced VBN I-VP +the DT B-NP +Reagan NNP I-NP +White NNP I-NP +House NNP I-NP +would MD B-VP +n't RB I-VP +act VB I-VP +against IN B-PP +him PRP B-NP +, , O +recalls VBZ B-VP +his PRP$ B-NP +close NN I-NP +ally NN I-NP +Jose NNP B-NP +Blandon NNP I-NP +, , O +because IN B-SBAR +he PRP B-NP +had VBD B-VP +an DT B-NP +insurance NN I-NP +policy NN I-NP +: : O +his PRP$ B-NP +involvement NN I-NP +with IN B-PP +the DT B-NP +Contra NNP I-NP +rebels NNS I-NP +in IN B-PP +Nicaragua NNP B-NP +. . O + +Mr. NNP B-NP +Blandon NNP I-NP +says VBZ B-VP +the DT B-NP +general JJ I-NP +allowed VBN B-VP +the DT B-NP +Contras NNPS I-NP +to TO B-VP +set VB I-VP +up IN B-PRT +a DT B-NP +secret JJ I-NP +training NN I-NP +center NN I-NP +in IN B-PP +Panama NNP B-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +also RB B-ADVP +conveyed VBD B-VP +intelligence NN B-NP +from IN B-PP +his PRP$ B-NP +spy NN I-NP +operation NN I-NP +inside IN B-PP +the DT B-NP +Nicaraguan JJ I-NP +capital NN I-NP +of IN B-PP +Managua NNP B-NP +. . O + +And CC O +on IN B-PP +at IN B-NP +least JJS I-NP +one CD I-NP +occasion NN I-NP +, , O +in IN B-PP +the DT B-NP +spring NN I-NP +of IN B-PP +1985 CD B-NP +, , O +he PRP B-NP +helped VBD B-VP +arrange VB I-VP +a DT B-NP +sabotage NN I-NP +attack NN I-NP +on IN B-PP +a DT B-NP +Sandinista NNP I-NP +arsenal NN I-NP +in IN B-PP +Nicaragua NNP B-NP +. . O + +Although IN B-SBAR +, , O +his PRP$ B-NP +help NN I-NP +for IN B-PP +the DT B-NP +Contra NNP I-NP +cause NN I-NP +was VBD B-VP +limited JJ I-VP +, , O +it PRP B-NP +was VBD B-VP +enough RB B-ADJP +to TO B-VP +win VB I-VP +him PRP B-NP +important JJ B-NP +protectors NNS I-NP +in IN B-PP +the DT B-NP +Reagan NNP I-NP +administration NN I-NP +, , O +says VBZ B-VP +Sen. NNP B-NP +Patrick NNP I-NP +Leahy NNP I-NP +, , O +a DT B-NP +Vermont NNP I-NP +Democrat NNP I-NP +who WP B-NP +then RB B-ADVP +served VBN B-VP +on IN B-PP +the DT B-NP +Senate NNP I-NP +Intelligence NNP I-NP +Committee NNP I-NP +. . O + +`` `` O +Noriega NNP B-NP +played VBD B-VP +U.S. NNP B-NP +intelligence NN I-NP +agencies NNS I-NP +and CC O +the DT B-NP +U.S. NNP I-NP +government NN I-NP +like IN B-PP +a DT B-NP +violin NN I-NP +, , O +'' '' O +he PRP B-NP +says VBZ B-VP +. . O + +An DT B-NP +incident NN I-NP +in IN B-PP +1984 CD B-NP +suggested VBD B-VP +one CD B-NP +additional JJ I-NP +means NNS I-NP +by IN B-PP +which WDT B-NP +Mr. NNP B-NP +Noriega NNP I-NP +might MD B-VP +have VB I-VP +maintained VBN I-VP +such JJ B-NP +influence NN I-NP +with IN B-PP +Washington NNP B-NP +-- : O +by IN B-PP +compromising VBG B-VP +U.S. NNP B-NP +officials NNS I-NP +. . O + +Curtin NNP B-NP +Windsor NNP I-NP +, , O +then RB B-ADVP +the DT B-NP +ambassador NN I-NP +to TO B-PP +Costa NNP B-NP +Rica NNP I-NP +, , O +recalls VBZ B-VP +being VBG I-VP +invited VBN I-VP +to TO B-PP +Panama NNP B-NP +by IN B-PP +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +brother NN I-NP +Luis NNP B-NP +Carlos NNP I-NP +for IN B-PP +a DT B-NP +weekend NN I-NP +of IN B-PP +deep JJ B-NP +sea NN I-NP +fishing NN I-NP +and CC O +`` `` O +quiet JJ B-NP +, , I-NP +serious JJ I-NP +conversation NN I-NP +'' '' O +on IN B-PP +the DT B-NP +Aswara NNP I-NP +Peninsula NNP I-NP +. . O + +Mr. NNP B-NP +Windsor NNP I-NP +notified VBD B-VP +Everett NNP B-NP +E. NNP I-NP +Briggs NNP I-NP +, , O +the DT B-NP +U.S. NNP I-NP +ambassador NN I-NP +to TO B-PP +Panama NNP B-NP +, , O +of IN B-PP +the DT B-NP +invitation NN I-NP +. . O + +`` `` O +Briggs NNP B-NP +screamed VBD B-VP +, , O +'' '' O +Mr. NNP B-NP +Windsor NNP I-NP +recalls VBZ B-VP +. . O + +He PRP B-NP +says VBZ B-VP +Mr. NNP B-NP +Briggs NNP I-NP +told VBD B-VP +him PRP B-NP +he PRP B-NP +was VBD B-VP +being VBG I-VP +set VBN I-VP +up IN B-PRT +for IN B-PP +a DT B-NP +`` `` I-NP +honey NN I-NP +trap NN I-NP +, , O +'' '' O +in IN B-PP +which WDT B-NP +Mr. NNP B-NP +Noriega NNP I-NP +would MD B-VP +try VB I-VP +to TO I-VP +involve VB I-VP +him PRP B-NP +in IN B-PP +an DT B-NP +orgy NN I-NP +and CC O +then JJ B-VP +record NN I-VP +the DT B-NP +event NN I-NP +`` `` O +with IN B-PP +sound NN B-NP +and CC I-NP +video NN I-NP +. . O +'' '' O + +Mr. NNP B-NP +Briggs NNP I-NP +, , O +on IN B-PP +vacation NN B-NP +after IN B-PP +resigning VBG B-VP +his PRP$ B-NP +position NN I-NP +at IN B-PP +the DT B-NP +National NNP I-NP +Security NNP I-NP +Council NNP I-NP +, , O +could MD B-VP +n't RB I-VP +be VB I-VP +reached VBN I-VP +for IN B-PP +comment NN B-NP +. . O + +As IN B-SBAR +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +political JJ I-NP +troubles NNS I-NP +grew VBD B-VP +, , O +so RB B-ADVP +did VBD O +his PRP$ B-NP +offers NNS I-NP +of IN B-PP +assistance NN B-NP +to TO B-PP +the DT B-NP +Contras NNPS I-NP +, , O +an DT B-NP +apparent JJ I-NP +attempt NN I-NP +to TO B-VP +curry VB I-VP +more JJR B-NP +favor NN I-NP +in IN B-PP +Washington NNP B-NP +. . O + +For IN B-PP +instance NN B-NP +, , O +he PRP B-NP +helped VBD B-VP +steal VB I-VP +the DT B-NP +May NNP I-NP +1984 CD I-NP +Panamanian JJ I-NP +elections NNS I-NP +for IN B-PP +the DT B-NP +ruling NN I-NP +party NN I-NP +. . O + +But CC O +just RB B-NP +one CD I-NP +month NN I-NP +later RB B-ADVP +, , O +he PRP B-NP +also RB B-ADVP +contributed VBD B-VP +$ $ B-NP +100,000 CD I-NP +to TO B-PP +a DT B-NP +Contra NNP I-NP +leader NN I-NP +, , O +according VBG B-PP +to TO B-PP +documents NNS B-NP +released VBN B-VP +for IN B-PP +Oliver NNP B-NP +North NNP I-NP +'s POS B-NP +criminal JJ I-NP +trial NN I-NP +in IN B-PP +Washington NNP B-NP +, , O +D.C NNP B-NP +. . O + +Yet RB B-ADVP +, , O +his PRP$ B-NP +political JJ I-NP +setbacks NNS I-NP +mounted VBN B-VP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +was VBD B-VP +accused VBN I-VP +of IN B-PP +ordering VBG B-VP +in IN B-PP +1985 CD B-NP +the DT B-NP +beheading NN I-NP +of IN B-PP +Hugo NNP B-NP +Spadafora NNP I-NP +, , O +his PRP$ B-NP +most RBS I-NP +outspoken JJ I-NP +political JJ I-NP +opponent NN I-NP +and CC O +the DT B-NP +first JJ I-NP +man NN I-NP +to TO B-VP +publicly RB I-VP +finger NN I-VP +Mr. NNP B-NP +Noriega NNP I-NP +on IN B-PP +drug NN B-NP +trafficking NN I-NP +charges NNS I-NP +. . O + +He PRP B-NP +then RB B-ADVP +ousted VBD B-VP +President NNP B-NP +Nicholas NNP I-NP +Ardito NNP I-NP +Barletta NNP I-NP +, , O +a DT B-NP +former JJ I-NP +World NNP I-NP +Bank NNP I-NP +official NN I-NP +with IN B-PP +close NN B-NP +ties NNS I-NP +to TO B-PP +the DT B-NP +U.S. NNP I-NP +, , O +after IN B-SBAR +Mr. NNP B-NP +Barletta NNP I-NP +tried VBD B-VP +to TO I-VP +create VB I-VP +a DT B-NP +commission NN I-NP +to TO B-VP +investigate VB I-VP +the DT B-NP +murder NN I-NP +. . O + +And CC O +, , O +all PDT B-NP +the DT I-NP +while NN I-NP +, , O +Panama NNP B-NP +'s POS B-NP +debt NN I-NP +problems NNS I-NP +continued VBD B-VP +to TO I-VP +grow VB I-VP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +was VBD B-VP +growing VBG I-VP +desperate JJ B-ADJP +. . O + +In IN B-PP +late JJ B-NP +1986 CD I-NP +, , O +he PRP B-NP +made VBD B-VP +an DT B-NP +offer NN I-NP +he PRP B-NP +thought VBD B-VP +the DT B-NP +U.S. NNP I-NP +could MD B-VP +n't RB I-VP +refuse VB I-VP +. . O + +As IN B-SBAR +recounted VBN B-VP +in IN B-PP +a DT B-NP +stipulation NN I-NP +that WDT B-NP +summarized VBD B-VP +government NN B-NP +documents NNS I-NP +released VBN B-VP +for IN B-PP +the DT B-NP +North NNP I-NP +trial NN I-NP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +offered VBD B-VP +to TO I-VP +assassinate VB I-VP +the DT B-NP +Sandinista NNP I-NP +leadership NN I-NP +in IN B-PP +exchange NN B-NP +`` `` O +for IN B-PP +a DT B-NP +promise NN I-NP +to TO B-VP +help VB I-VP +clean JJ I-VP +up IN B-PRT +Noriega NNP B-NP +'s POS B-NP +image NN I-NP +and CC O +a DT B-NP +commitment NN I-NP +to TO B-VP +lift VB I-VP +the DT B-NP +-LCB- ( I-NP +U.S. NNP I-NP +. . I-NP +-RCB- ) I-NP +ban NN I-NP +on IN B-PP +military JJ B-NP +sales NNS I-NP +to TO B-PP +the DT B-NP +Panamanian NNP I-NP +Defense NNP I-NP +Forces NNPS I-NP +. . O +'' '' O + +`` `` O +North NNP B-NP +, , O +'' '' O +the DT B-NP +document NN I-NP +went VBD B-VP +on IN B-ADVP +, , O +referring VBG B-VP +to TO B-PP +Oliver NNP B-NP +North NNP I-NP +, , O +`` `` O +has VBZ B-VP +told VBN I-VP +Noriega NNP B-NP +'s POS B-NP +representative NN I-NP +that IN B-SBAR +U.S. NNP B-NP +law NN I-NP +forbade VBD B-VP +such JJ B-NP +actions NNS I-NP +. . O + +The DT B-NP +representative NN I-NP +responded VBD B-VP +that IN B-SBAR +Noriega NNP B-NP +had VBD B-VP +numerous JJ B-NP +assets NNS I-NP +in IN B-PP +place NN B-NP +in IN B-PP +Nicaragua NNP B-NP +and CC O +could MD B-VP +accomplish VB I-VP +many JJ B-NP +essential JJ I-NP +things NNS I-NP +, , O +just RB B-ADVP +as IN B-SBAR +Noriega NNP B-NP +had VBD B-VP +helped VBN I-VP +-LCB- ( O +the DT B-NP +U.S. NNP I-NP +. . O +-RCB- ) O +the DT B-NP +previous JJ I-NP +year NN I-NP +in IN B-PP +blowing VBG B-VP +up IN B-PRT +a DT B-NP +Sandinista NNP I-NP +arsenal NN I-NP +. . O +'' '' O + +Col. NNP B-NP +North NNP I-NP +conveyed VBD B-VP +the DT B-NP +request NN I-NP +to TO B-PP +his PRP$ B-NP +superiors NNS I-NP +and CC B-PP +to TO B-PP +Assistant NNP O +Secretary NNP O +of IN B-PP +State NNP B-NP +Elliot NNP B-NP +Abrams NNP I-NP +, , O +who WP B-NP +relayed VBD B-VP +it PRP B-NP +to TO B-PP +Secretary NNP O +of IN B-PP +State NNP B-NP +George NNP B-NP +Shultz NNP I-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +proposal NN I-NP +was VBD B-VP +turned VBN I-VP +down RB B-PRT +. . O + +And CC O +Mr. NNP B-NP +Shultz NNP I-NP +curtly RB B-VP +told VBD I-VP +Mr. NNP B-NP +Abrams NNP I-NP +that IN B-SBAR +the DT B-NP +general NN I-NP +should MD B-VP +be VB I-VP +told VBN I-VP +that IN B-SBAR +only RB B-NP +he PRP I-NP +could MD B-VP +repair VB I-VP +his PRP$ B-NP +tarnished VBN I-NP +image NN I-NP +. . O + +The DT B-NP +end NN I-NP +of IN B-PP +the DT B-NP +marriage NN I-NP +was VBD B-VP +at IN B-PP +hand NN B-NP +. . O + +Within IN B-PP +weeks NNS B-NP +the DT B-NP +unfolding VBG I-NP +Iran-Contra NNP I-NP +scandal NN I-NP +took VBD B-VP +away RB B-ADVP +Mr. NNP B-NP +Noriega NNP I-NP +'s POS B-NP +insurance NN I-NP +policy NN I-NP +. . O + +The DT B-NP +death NN I-NP +of IN B-PP +CIA NNP B-NP +Director NNP I-NP +William NNP B-NP +Casey NNP I-NP +and CC O +resignation NN B-NP +of IN B-PP +Oliver NNP B-NP +North NNP I-NP +allowed VBD B-VP +anti-Noriega JJ B-NP +political JJ I-NP +forces NNS I-NP +to TO B-VP +gain VB I-VP +influence NN B-NP +. . O + +Public JJ B-NP +protests NNS I-NP +against IN B-PP +him PRP B-NP +were VBD B-VP +triggered VBN I-VP +in IN B-PP +June NNP B-NP +1987 CD I-NP +due JJ B-PP +to TO I-PP +charges NNS B-NP +by IN B-PP +Diaz NNP B-NP +Herrera NNP I-NP +, , O +his PRP$ B-NP +former JJ I-NP +chief NN I-NP +of IN B-PP +staff NN B-NP +, , O +that IN B-SBAR +Mr. NNP B-NP +Noriega NNP I-NP +had VBD B-VP +stolen VBN I-VP +the DT B-NP +1984 CD I-NP +election NN I-NP +and CC O +had VBD B-VP +ordered VBN I-VP +the DT B-NP +killing NN I-NP +of IN B-PP +Messrs. NNP B-NP +Spadafora NNP I-NP +and CC I-NP +Torrijos NNP I-NP +. . O + +Few NNP B-NP +American JJ I-NP +officials NNS I-NP +were VBD B-VP +willing JJ I-VP +any RB I-VP +longer RB I-VP +to TO I-VP +defend VB I-VP +him PRP B-NP +. . O + +Lawyers NNS B-NP +in IN B-PP +Miami NNP B-NP +-- : O +this DT B-NP +time NN I-NP +working VBG B-VP +virtually RB B-ADVP +without IN B-PP +impediment NN B-NP +-- : O +prepared VBN B-VP +to TO I-VP +have VB I-VP +him PRP B-NP +indicted VBN B-VP +on IN B-PP +drug NN B-NP +charges NNS I-NP +in IN B-PP +February NNP B-NP +1988 CD I-NP +. . O + +During IN B-PP +negotiations NNS B-NP +with IN B-PP +American JJ B-NP +officials NNS I-NP +in IN B-PP +May NNP B-NP +1988 CD I-NP +over IN B-PP +proposals NNS B-NP +to TO B-VP +drop VB I-VP +the DT B-NP +U.S. NNP I-NP +indictments NNS I-NP +in IN B-PP +exchange NN B-NP +for IN B-PP +his PRP$ B-NP +resignation NN I-NP +, , O +Mr. NNP B-NP +Noriega NNP I-NP +often RB B-ADVP +asked VBD B-VP +almost RB B-ADVP +plaintively RB I-ADVP +how WRB B-ADVP +the DT B-NP +Americans NNPS I-NP +, , O +whom WP B-NP +he PRP B-NP +had VBD B-VP +helped VBN I-VP +for IN B-PP +so RB B-NP +many JJ I-NP +years NNS I-NP +, , O +could MD B-VP +turn VB I-VP +against IN B-PP +him PRP B-NP +. . O + +Now RB B-ADVP +, , O +neither DT B-NP +side NN I-NP +-- : O +the DT B-NP +U.S. NNP I-NP +nor CC O +Mr. NNP B-NP +Noriega NNP I-NP +-- : O +has VBZ B-VP +an DT B-NP +easy JJ I-NP +out RB I-NP +. . O + +President NNP B-NP +Bush NNP I-NP +has VBZ B-VP +sworn VBN I-VP +to TO I-VP +bring VB I-VP +him PRP B-NP +to TO B-PP +justice NN B-NP +. . O + +Mr. NNP B-NP +Noriega NNP I-NP +believes VBZ B-VP +he PRP B-NP +has VBZ B-VP +n't RB O +any DT B-NP +alternative NN I-NP +but CC O +to TO B-VP +continue VB I-VP +clutching VBG I-VP +to TO B-PP +power VB B-NP +. . O + +It PRP B-NP +is VBZ B-VP +a DT B-NP +knock-out JJ I-NP +battle NN I-NP +-- : O +perhaps RB O +to TO B-PP +the DT B-NP +death NN I-NP +. . O + +In IN B-PP +the DT B-NP +end NN I-NP +, , O +is VBZ O +Mr. NNP B-NP +Noriega NNP I-NP +the DT B-NP +political JJ I-NP +equivalent NN I-NP +of IN B-PP +Frankenstein NNP B-NP +'s POS B-NP +monster NN I-NP +, , O +created VBN B-VP +by IN B-PP +a DT B-NP +well-intentioned JJ I-NP +but CC I-NP +misguided JJ I-NP +foreign JJ I-NP +power NN I-NP +? . O + +Not RB B-ADVP +quite RB I-ADVP +, , O +Sen. NNP B-NP +Leahy NNP I-NP +contends VBZ B-VP +. . O + +`` `` O +For IN B-PP +short-term JJ B-NP +gains NNS I-NP +, , O +people NNS B-NP +were VBD B-VP +willing JJ B-ADJP +to TO B-VP +put VB I-VP +up IN B-PRT +with IN B-PP +him PRP B-NP +. . O + +That DT B-NP +allowed VBN B-VP +him PRP B-NP +to TO B-VP +get VB I-VP +stronger JJR B-ADJP +and CC I-ADJP +stronger JJR I-ADJP +, , O +'' '' O +he PRP B-NP +says VBZ B-VP +. . O + +`` `` O +I PRP B-NP +do VBP B-VP +n't RB I-VP +think VB I-VP +we PRP B-NP +created VBD B-VP +him PRP B-NP +as RB B-ADVP +much JJ I-ADVP +as IN B-SBAR +we PRP B-NP +fed VBD B-VP +him PRP B-NP +, , O +nurtured VBD B-VP +him PRP B-NP +and CC O +let VB B-VP +him PRP B-NP +grow VB B-VP +up VB O +to TO B-VP +be VB I-VP +big JJ B-ADJP +and CC I-ADJP +strong JJ I-ADJP +. . O + +UPJOHN NNP B-NP +Co. NNP I-NP +reported VBD B-VP +that IN B-SBAR +third-quarter JJ B-NP +net JJ I-NP +income NN I-NP +rose VBD B-VP +to TO B-PP +$ $ B-NP +96 CD I-NP +million CD I-NP +, , O +or CC O +52 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +, , O +from IN O +$ $ B-NP +89.6 CD I-NP +million CD I-NP +, , B-PP +or CC I-PP +49 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +, , O +a DT B-NP +year NN I-NP +earlier RBR B-ADVP +. . O + +Yesterday NN B-NP +'s POS B-NP +edition NN I-NP +provided VBD B-VP +analysts NNS B-NP +' POS B-NP +estimates NNS I-NP +for IN B-PP +the DT B-NP +company NN I-NP +when WRB B-ADVP +actual JJ B-NP +earnings NNS I-NP +were VBD B-VP +available JJ B-ADJP +. . O + +Industrial JJ B-NP +production NN I-NP +declined VBD B-VP +0.1 CD B-NP +% NN I-NP +in IN B-PP +September NNP B-NP +, , O +reinforcing VBG B-VP +other JJ B-NP +signs NNS I-NP +that IN B-SBAR +the DT B-NP +manufacturing NN I-NP +sector NN I-NP +continues VBZ B-VP +its PRP$ B-NP +slowing NN I-NP +trend NN I-NP +. . O + +The DT B-NP +Federal NNP I-NP +Reserve NNP I-NP +Board NNP I-NP +said VBD B-VP +output NN B-NP +of IN B-PP +the DT B-NP +nation NN I-NP +'s POS B-NP +factories NNS I-NP +, , I-NP +mines NNS I-NP +and CC I-NP +utilities NNS I-NP +expanded VBN B-VP +at IN B-PP +an DT B-NP +annual JJ I-NP +rate NN I-NP +of IN B-PP +1.3 CD B-NP +% NN I-NP +in IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +, , O +substantially RB B-ADJP +slower JJR I-ADJP +than IN B-PP +the DT B-NP +3.3 CD I-NP +% NN I-NP +annual JJ I-NP +rate NN I-NP +in IN B-PP +the DT B-NP +second JJ I-NP +quarter NN I-NP +. . O + +`` `` O +Capital NNP B-NP +spending NN I-NP +and CC I-NP +exports NNS I-NP +, , O +which WDT B-NP +have VBP B-VP +been VBN I-VP +the DT B-NP +driving VBG I-NP +force NN I-NP +in IN B-PP +this DT B-NP +expansion NN I-NP +, , O +are VBP B-VP +showing VBG I-VP +clear JJ B-NP +signs NNS I-NP +of IN B-PP +having VBG B-VP +the DT B-NP +steam NN I-NP +taken VBN B-VP +out IN B-ADVP +of IN B-PP +them PRP B-NP +, , O +'' '' O +said VBD B-VP +Robert NNP B-NP +Dederick NNP I-NP +, , O +economist NN B-NP +for IN B-PP +Northern NNP B-NP +Trust NNP I-NP +Co. NNP I-NP +in IN B-PP +Chicago NNP B-NP +. . O + +The DT B-NP +new JJ I-NP +reports NNS I-NP +of IN B-PP +sluggishness NN B-NP +, , O +which WDT B-NP +were VBD B-VP +foreshadowed VBN I-VP +by IN B-PP +an DT B-NP +earlier RBR I-NP +Labor NNP I-NP +Department NNP I-NP +report NN I-NP +that IN B-SBAR +manufacturing NN B-NP +payrolls NNS I-NP +dropped VBN B-VP +by IN B-PP +105,000 CD B-NP +in IN B-PP +September NNP B-NP +, , O +give VB B-VP +the DT B-NP +Fed NNP I-NP +another DT B-NP +reason NN I-NP +to TO B-VP +further VB I-VP +ease VB I-VP +its PRP$ B-NP +grip NN I-NP +on IN B-PP +credit NN B-NP +and CC O +lower JJR B-VP +interest NN B-NP +rates NNS I-NP +. . O + +`` `` O +They PRP B-NP +need VBP B-VP +to TO I-VP +do VB I-VP +something NN B-NP +about IN B-PP +this DT B-NP +, , O +'' '' O +said VBD B-VP +Maury NNP B-NP +Harris NNP I-NP +, , O +economist NN B-NP +at IN B-PP +PaineWebber NNP B-NP +Group NNP I-NP +Inc NNP I-NP +. . O + +The DT B-NP +Fed NNP I-NP +also RB B-ADVP +said VBD B-VP +U.S. NNP B-NP +industry NN I-NP +operated VBN B-VP +at IN B-PP +83.6 CD B-NP +% NN I-NP +of IN B-PP +capacity NN B-NP +last JJ B-NP +month NN I-NP +, , O +down RB B-ADVP +from IN B-PP +83.8 CD B-NP +% NN I-NP +in IN B-PP +August NNP B-NP +. . O + +Measures NNS B-NP +of IN B-PP +manufacturing NN B-NP +activity NN I-NP +fell VBD B-VP +more JJR B-ADVP +than IN B-PP +the DT B-NP +overall JJ I-NP +measures NNS I-NP +. . O + +Factory NN B-NP +output NN I-NP +dropped VBD B-VP +0.2 CD B-NP +% NN I-NP +, , O +its PRP$ B-NP +first JJ I-NP +decline NN I-NP +since IN B-PP +February NNP B-NP +, , O +after IN B-SBAR +having VBG B-VP +been VBN I-VP +unchanged JJ B-ADJP +in IN B-PP +October NNP B-NP +. . O + +Factories NNS B-NP +operated VBN B-VP +at IN B-PP +83.7 CD B-NP +% NN I-NP +of IN B-PP +capacity NN B-NP +, , O +the DT B-NP +lowest JJS I-NP +rate NN I-NP +in IN B-PP +more JJR B-NP +than IN I-NP +a DT I-NP +year NN I-NP +and CC O +down RB B-ADVP +from IN B-PP +84.1 CD B-NP +% NN I-NP +in IN B-PP +September NNP B-NP +. . O + +The DT B-NP +declines NNS I-NP +mainly RB B-ADVP +reflected VBD B-VP +widespread JJ B-NP +weakness NN I-NP +in IN B-PP +durable JJ B-NP +goods NNS I-NP +, , O +those DT B-NP +intended VBN B-VP +to TO I-VP +last VB I-VP +more JJR B-NP +than IN I-NP +three CD I-NP +years NNS I-NP +. . O + +The DT B-NP +biggest JJS I-NP +drop NN I-NP +was VBD B-VP +recorded VBN I-VP +by IN B-PP +primary JJ B-NP +metals NNS I-NP +producers NNS I-NP +, , O +a DT B-NP +category NN I-NP +that WDT B-NP +includes VBZ B-VP +the DT B-NP +steel NN I-NP +industry NN I-NP +. . O + +Output NN B-NP +of IN B-PP +business NN B-NP +equipment NN I-NP +was VBD B-VP +unchanged JJ B-ADJP +in IN B-PP +September NNP B-NP +. . O + +Production NN B-NP +of IN B-PP +factory NN B-NP +equipment NN I-NP +, , O +one CD B-NP +indication NN I-NP +of IN B-PP +the DT B-NP +strength NN I-NP +of IN B-PP +manufacturers NNS B-NP +' POS B-NP +investment NN I-NP +spending NN I-NP +, , O +fell VBD B-VP +0.3 CD B-NP +% NN I-NP +. . O + +Some DT B-NP +economists NNS I-NP +expect VBP B-VP +further JJ B-NP +declines NNS I-NP +in IN B-PP +investment NN B-NP +spending NN I-NP +. . O + +`` `` O +Whenever WRB B-ADVP +corporate JJ B-NP +profits NNS I-NP +are VBP B-VP +weak JJ B-ADJP +that WDT B-NP +means VBZ B-VP +capital NN B-NP +spending NN I-NP +is VBZ B-VP +going VBG I-VP +to TO I-VP +soften VB I-VP +subsequently RB B-ADVP +, , O +'' '' O +Mr. NNP B-NP +Harris NNP I-NP +said VBD B-VP +. . O + +`` `` O +You PRP B-NP +have VBP B-VP +n't RB I-VP +seen VBN I-VP +the DT B-NP +full JJ I-NP +effect NN I-NP +of IN B-PP +that DT B-NP +yet RB B-ADVP +. . O +'' '' O + +A DT B-NP +decline NN I-NP +in IN B-PP +truck NN B-NP +production NN I-NP +more JJR B-VP +than IN I-VP +offset VB I-VP +a DT B-NP +sharp JJ I-NP +rise NN I-NP +in IN B-PP +auto NN B-NP +assemblies NNS I-NP +, , O +the DT B-NP +Fed NNP I-NP +noted VBD B-VP +. . O + +Analysts NNS B-NP +do VBP B-VP +n't RB I-VP +expect VB I-VP +the DT B-NP +September NNP I-NP +surge NN I-NP +in IN B-PP +auto NN B-NP +production NN I-NP +to TO B-VP +be VB I-VP +repeated VBN I-VP +in IN B-PP +the DT B-NP +coming VBG I-NP +months NNS I-NP +. . O + +Here RB B-NP +is VBZ B-VP +a DT B-NP +summary NN I-NP +of IN B-PP +the DT B-NP +Federal NNP I-NP +Reserve NNP I-NP +Board NNP I-NP +'s POS B-NP +report NN I-NP +on IN B-PP +industrial JJ B-NP +production NN I-NP +in IN B-PP +September NNP B-NP +. . O + +The DT B-NP +figures NNS I-NP +are VBP B-VP +seasonally RB I-VP +adjusted VBN I-VP +. . O + +142.3 CD B-NP +% NN I-NP +of IN B-PP +the DT B-NP +1977 CD I-NP +average JJ I-NP +. . O + +Robin NNP B-NP +Honiss NNP I-NP +, , O +president NN B-NP +and CC O +chief JJ B-NP +executive JJ I-NP +officer NN I-NP +of IN B-PP +this DT B-NP +bank NN I-NP +holding VBG I-NP +company NN I-NP +, , O +was VBD B-VP +elected VBN I-VP +to TO B-PP +the DT B-NP +additional JJ I-NP +posts NNS I-NP +of IN B-PP +chairman NN B-NP +, , O +president NN B-NP +and CC O +chief JJ B-NP +executive NN I-NP +of IN B-PP +the DT B-NP +company NN I-NP +'s POS B-NP +New NNP I-NP +England NNP I-NP +Savings NNP I-NP +Bank NNP I-NP +subsidiary NN I-NP +. . O + +William NNP B-NP +R. NNP I-NP +Attridge NNP I-NP +resigned VBD B-VP +those DT B-NP +posts NNS I-NP +, , O +as RB B-CONJP +well RB I-CONJP +as IN I-CONJP +a DT B-NP +seat NN I-NP +on IN B-PP +NESB NNP B-NP +'s POS B-NP +board NN I-NP +. . O + +NESB NNP B-NP +is VBZ B-VP +also RB B-ADVP +the DT B-NP +parent NN I-NP +of IN B-PP +Omnibank NNP B-NP +. . O + +Lung-cancer NN B-NP +mortality NN I-NP +rates NNS I-NP +for IN B-PP +people NNS B-NP +under IN B-PP +45 CD B-NP +years NNS I-NP +of IN B-PP +age NN B-NP +have VBP B-VP +begun VBN I-VP +to TO I-VP +decline VB I-VP +, , O +federal JJ B-NP +researchers NNS I-NP +report VBP B-VP +. . O + +The DT B-NP +drop NN I-NP +is VBZ B-VP +particularly RB B-ADJP +large JJ I-ADJP +for IN B-PP +white JJ B-NP +males NNS I-NP +, , O +although IN B-SBAR +black JJ B-NP +males NNS I-NP +and CC O +white JJ B-NP +and CC I-NP +black JJ I-NP +women NNS I-NP +also RB B-ADVP +show VBP B-VP +lower JJR B-NP +mortality NN I-NP +rates NNS I-NP +. . O + +A DT B-NP +report NN I-NP +in IN B-PP +this DT B-NP +week NN I-NP +'s POS B-NP +issue NN I-NP +of IN B-PP +the DT B-NP +Journal NNP I-NP +of IN B-PP +the DT B-NP +National NNP I-NP +Cancer NNP I-NP +Institute NNP I-NP +also RB B-ADVP +projects VBZ B-VP +that IN B-SBAR +overall JJ B-NP +U.S. NNP I-NP +mortality NN I-NP +rates NNS I-NP +from IN B-PP +lung NN B-NP +cancer NN I-NP +, , O +the DT B-NP +leading VBG I-NP +cause NN I-NP +of IN B-PP +cancer NN B-NP +death NN I-NP +, , O +should MD B-VP +begin VB I-VP +to TO I-VP +drop VB I-VP +in IN B-PP +several JJ B-NP +years NNS I-NP +if IN B-SBAR +cigarette NN B-NP +smoking NN I-NP +continues VBZ B-VP +to TO I-VP +abate VB I-VP +. . O + +The DT B-NP +report NN I-NP +, , O +which WDT B-NP +comes VBZ B-VP +25 CD B-NP +years NNS I-NP +after IN B-SBAR +the DT B-NP +U.S. NNP I-NP +Surgeon NNP I-NP +General NNP I-NP +issued VBD B-VP +a DT B-NP +report NN I-NP +warning NN B-VP +against IN B-PP +the DT B-NP +dangers NNS I-NP +of IN B-PP +smoking NN B-NP +, , O +is VBZ B-VP +the DT B-NP +strongest JJS I-NP +indication NN I-NP +to TO B-PP +date VB B-NP +that IN B-SBAR +the DT B-NP +reduction NN I-NP +in IN B-PP +smoking NN B-NP +is VBZ B-VP +leading VBG I-VP +to TO B-PP +lower JJR B-NP +death NN I-NP +rates NNS I-NP +from IN B-PP +lung NN B-NP +cancer NN I-NP +. . O + +`` `` O +What WP B-NP +this DT B-NP +is VBZ B-VP +saying VBG I-VP +is VBZ B-VP +that IN B-SBAR +the DT B-NP +surgeon NN I-NP +general NN I-NP +'s POS B-NP +message NN I-NP +is VBZ B-VP +having VBG I-VP +an DT B-NP +impact NN I-NP +, , O +'' '' O +said VBD B-VP +Melvyn NNP B-NP +Tockman NNP I-NP +, , O +an DT B-NP +epidemiologist NN I-NP +at IN B-PP +the DT B-NP +Johns NNP I-NP +Hopkins NNP I-NP +School NNP I-NP +of IN B-PP +Hygiene NNP B-NP +and CC O +Public NNP B-NP +Health NNP I-NP +in IN B-PP +Baltimore NNP B-NP +. . O + +The DT B-NP +National NNP I-NP +Cancer NNP I-NP +Institute NNP I-NP +report NN I-NP +compares VBZ B-VP +mortality NN B-NP +rates NNS I-NP +of IN B-PP +two CD B-NP +groups NNS I-NP +of IN B-PP +people NNS B-NP +between IN B-PP +the DT B-NP +ages NNS I-NP +of IN B-PP +35 CD B-NP +and CC I-NP +44 CD I-NP +a DT B-NP +decade NN I-NP +apart RB B-ADJP +. . O + +The DT B-NP +death NN I-NP +rate NN I-NP +from IN B-PP +lung NN B-NP +cancer NN I-NP +of IN B-PP +white JJ B-NP +males NNS I-NP +aged VBN B-VP +35 CD B-NP +to TO B-PP +44 CD B-NP +in IN B-PP +the DT B-NP +mid-1970s NNS I-NP +was VBD B-VP +13.4 CD B-NP +per IN B-PP +100,000 CD B-NP +, , O +but CC O +the DT B-NP +mortality NN I-NP +rate NN I-NP +of IN B-PP +the DT B-NP +same JJ I-NP +age NN I-NP +group NN I-NP +in IN B-PP +the DT B-NP +mid-1980s NNS I-NP +was VBD B-VP +9.6 CD B-NP +, , O +a DT B-NP +decline NN I-NP +of IN B-PP +28.7 CD B-NP +% NN I-NP +. . O + +Measured VBN B-VP +the DT B-NP +same JJ I-NP +way NN I-NP +, , O +the DT B-NP +decline NN I-NP +for IN B-PP +black JJ B-NP +males NNS I-NP +was VBD B-VP +14.2 CD B-NP +% NN I-NP +. . O + +The DT B-NP +drop NN I-NP +in IN B-PP +mortality NN B-NP +rates NNS I-NP +for IN B-PP +women NNS B-NP +was VBD B-VP +less RBR B-ADJP +steep JJ I-ADJP +-- : O +8.9 CD B-NP +% NN I-NP +for IN B-PP +blacks NNS B-NP +and CC O +5.3 CD B-NP +% NN I-NP +for IN B-PP +whites NNS B-NP +. . O + +The DT B-NP +study NN I-NP +, , O +by IN B-PP +Susan NNP B-NP +Devesa NNP I-NP +, , O +William NNP B-NP +Blot NNP I-NP +and CC O +Joseph NNP B-NP +Fraumeni NNP I-NP +of IN B-PP +the DT B-NP +institute NN I-NP +'s POS B-NP +staff NN I-NP +, , O +also RB B-ADVP +shows VBZ B-VP +that IN B-SBAR +the DT B-NP +incidence NN I-NP +of IN B-PP +lung NN B-NP +cancer NN I-NP +as RB B-CONJP +well RB I-CONJP +as IN I-CONJP +the DT B-NP +death NN I-NP +rate NN I-NP +declined VBD B-VP +over IN B-PP +the DT B-NP +decade NN I-NP +for IN B-PP +all DT B-NP +groups NNS I-NP +in IN B-PP +the DT B-NP +35-44 JJ I-NP +age NN I-NP +bracket NN I-NP +, , O +except IN B-PP +black JJ B-NP +men NNS I-NP +. . O + +Although IN B-SBAR +lung-cancer NN B-NP +mortality NN I-NP +rates NNS I-NP +are VBP B-VP +increasing VBG I-VP +for IN B-PP +the DT B-NP +nation NN I-NP +as IN B-PP +a DT B-NP +whole NN I-NP +, , O +the DT B-NP +report NN I-NP +projects VBZ B-VP +that IN B-SBAR +death NN B-NP +rates NNS I-NP +will MD B-VP +begin VB I-VP +to TO I-VP +decline VB I-VP +in IN B-PP +the DT B-NP +1990s CD I-NP +for IN B-PP +men NNS B-NP +and CC O +after IN B-PP +the DT B-NP +year NN I-NP +2000 CD I-NP +for IN B-PP +women NNS B-NP +. . O + +Lung-cancer NN B-NP +mortality NN I-NP +rates NNS I-NP +increase VBP B-VP +with IN B-PP +age NN B-NP +and CC O +are VBP B-VP +continuing VBG I-VP +to TO I-VP +rise VB I-VP +for IN B-PP +all DT B-NP +age NN I-NP +groups NNS I-NP +over IN B-PP +55 NN B-NP +, , O +with IN B-PP +sharp JJ B-NP +increases NNS I-NP +for IN B-PP +everybody NN B-NP +but CC O +white JJ B-NP +men NNS I-NP +. . O + +But CC O +Dr. NNP B-NP +Fraumeni NNP I-NP +, , O +one CD B-NP +of IN B-PP +the DT B-NP +authors NNS I-NP +of IN B-PP +the DT B-NP +report NN I-NP +, , O +said VBD B-VP +`` `` O +the DT B-NP +declining VBG I-NP +rates NNS I-NP +we PRP B-NP +'re VBP B-VP +seeing VBG I-VP +for IN B-PP +younger JJR B-NP +people NNS I-NP +we PRP B-NP +believe VBP B-VP +may MD I-VP +be VB I-VP +a DT B-NP +harbinger NN I-NP +of IN B-PP +declining VBG B-NP +mortality NN I-NP +in IN B-PP +the DT B-NP +future NN I-NP +. . O +'' '' O + +However RB B-ADVP +, , O +he PRP B-NP +stressed VBD B-VP +that IN B-SBAR +the DT B-NP +improvement NN I-NP +depends VBZ B-VP +on IN B-PP +a DT B-NP +continued VBN I-NP +reduction NN I-NP +in IN B-PP +smoking NN B-NP +. . O + +`` `` O +Even RB B-ADVP +though IN B-SBAR +these DT B-NP +favorable JJ I-NP +trends NNS I-NP +in IN B-PP +lung-cancer NN B-NP +mortality NN I-NP +affect NN B-VP +all DT B-NP +sex NN I-NP +and CC I-NP +race NN I-NP +groups NNS I-NP +, , O +they PRP B-NP +ca MD B-VP +n't RB I-VP +be VB I-VP +taken VBN I-VP +for IN B-PP +granted VBN B-ADJP +, , O +'' '' O +the DT B-NP +report NN I-NP +says NNS B-VP +. . O + +`` `` O +Smoking NNP B-NP +prevention NN I-NP +programs NNS I-NP +should MD B-VP +reach VB I-VP +larger JJR B-NP +segments NNS I-NP +of IN B-PP +the DT B-NP +population NN I-NP +, , O +especially RB B-NP +children NNS I-NP +, , I-NP +adolescents NNS I-NP +and CC I-NP +minorities NNS I-NP +. . O +'' '' O + +An DT B-NP +editorial NN I-NP +in IN B-PP +the DT B-NP +NCI NNP I-NP +Journal NNP I-NP +says VBZ B-VP +the DT B-NP +report NN I-NP +of IN B-PP +declining VBG B-NP +lung-cancer NN I-NP +mortality NN I-NP +`` `` O +among IN B-PP +young JJ B-NP +men NNS I-NP +and CC I-NP +women NNS I-NP +in IN B-PP +the DT B-NP +U.S. NNP I-NP +indicates VBZ B-VP +that IN B-SBAR +we PRP B-NP +finally RB B-ADVP +may MD B-VP +be VB I-VP +winning VBG I-VP +the DT B-NP +battle NN I-NP +-- : O +this DT B-NP +even RB B-ADVP +in IN B-PP +a DT B-NP +country NN I-NP +where WRB B-ADVP +the DT B-NP +tobacco NN I-NP +industry NN I-NP +spends VBZ B-VP +over IN B-NP +$ $ I-NP +2 CD I-NP +billion CD I-NP +a DT B-NP +year NN I-NP +for IN B-PP +promotion NN B-NP +of IN B-PP +the DT B-NP +addictive JJ I-NP +habit NN I-NP +of IN B-PP +smoking NN B-NP +. . O +'' '' O + +But CC O +the DT B-NP +editorial NN I-NP +, , O +by IN B-PP +Jan NNP B-NP +Stjernsward NNP I-NP +of IN B-PP +the DT B-NP +World NNP I-NP +Health NNP I-NP +Organization NNP I-NP +, , O +notes VBZ B-VP +that DT B-SBAR +tobacco NN B-NP +consumption NN I-NP +and CC I-NP +lung-cancer NN I-NP +mortality NN I-NP +rates NNS I-NP +are VBP B-VP +rising VBG I-VP +in IN B-PP +developing VBG B-NP +countries NNS I-NP +. . O + +`` `` O +Non-smoking NN B-NP +should MD B-VP +be VB I-VP +established VBN I-VP +as IN B-PP +the DT B-NP +norm NN I-NP +of IN B-PP +social JJ B-NP +behavior NN I-NP +'' '' O +around IN B-PP +the DT B-NP +world NN I-NP +, , O +the DT B-NP +editorial NN I-NP +says VBZ B-VP +, , O +through IN B-PP +the DT B-NP +enactment NN I-NP +of IN B-PP +laws NNS B-NP +that WDT B-NP +limit VBP B-VP +advertising VBG B-NP +, , O +boost VB B-VP +tobacco NN B-NP +prices NNS I-NP +and CC O +promote VB B-VP +anti-smoking JJ B-NP +education NN I-NP +. . O + +Asked VBN B-VP +for IN B-PP +comment NN B-NP +, , O +Walker NNP B-NP +Merryman NNP I-NP +, , O +a DT B-NP +vice NN I-NP +president NN I-NP +of IN B-PP +the DT B-NP +Tobacco NNP I-NP +Institute NNP I-NP +, , O +said VBD B-VP +new JJ B-NP +efforts NNS I-NP +to TO B-VP +restrict VB I-VP +tobacco NN B-NP +advertising NN I-NP +in IN B-PP +the DT B-NP +U.S. NNP I-NP +could MD B-VP +violate VB I-VP +the DT B-NP +First NNP I-NP +Amendment NNP I-NP +protection NN I-NP +of IN B-PP +free JJ B-NP +speech NN I-NP +. . O + +According VBG B-PP +to TO B-PP +the DT B-NP +American NNP I-NP +Cancer NNP I-NP +Society NNP I-NP +, , O +smoking NN B-NP +is VBZ B-VP +responsible JJ B-ADJP +for IN B-PP +85 CD B-NP +% NN I-NP +of IN B-PP +the DT B-NP +lung-cancer NN I-NP +cases NNS I-NP +among IN B-PP +men NNS B-NP +and CC O +75 CD B-NP +% NN I-NP +among IN B-PP +women NNS B-NP +. . O + +The DT B-NP +NCI NNP I-NP +report NN I-NP +attributes VBZ B-VP +the DT B-NP +differences NNS I-NP +in IN B-PP +mortality NN B-NP +rates NNS I-NP +by IN B-PP +race NN B-NP +to TO B-PP +different JJ B-NP +smoking NN I-NP +patterns NNS I-NP +. . O + +A DT B-NP +higher JJR I-NP +proportion NN I-NP +of IN B-PP +black JJ B-NP +men NNS I-NP +smoke VBP B-VP +than IN B-PP +white JJ B-NP +men NNS I-NP +. . O + +While IN B-SBAR +nearly RB B-NP +equal JJ I-NP +percentages NNS I-NP +of IN B-PP +black JJ B-NP +and CC I-NP +white JJ I-NP +women NNS I-NP +currently JJ B-ADVP +smoke NN B-VP +, , O +in IN B-PP +both DT B-NP +sexes NNS I-NP +more JJR B-NP +whites NNS I-NP +have VBP B-VP +given VBN I-VP +up IN B-PRT +smoking NN B-NP +than IN B-PP +blacks NNS B-NP +. . O + +In IN B-PP +comparing VBG B-VP +changes NNS B-NP +in IN B-PP +mortality NN B-NP +rates NNS I-NP +over IN B-PP +the DT B-NP +past JJ I-NP +decade NN I-NP +, , O +the DT B-NP +NCI NNP I-NP +study NN I-NP +looked VBD B-VP +only RB B-ADVP +at IN B-PP +blacks NNS B-NP +and CC I-NP +whites NNS I-NP +. . O + +Asians NNS B-NP +and CC O +native JJ B-NP +Americans NNPS I-NP +were VBD B-VP +n't RB I-VP +studied VBN I-VP +; : O +Hispanics NNPS B-NP +were VBD B-VP +included VBN I-VP +with IN B-PP +whites NNS B-NP +. . O + +Recent JJ B-NP +changes NNS I-NP +in IN B-PP +average JJ B-NP +annual JJ I-NP +age-specific JJ I-NP +lung-cancer NN I-NP +rates NNS I-NP +per IN B-PP +100,000 CD B-NP +population NN I-NP +by IN B-PP +race NN B-NP +and CC I-NP +sex NN I-NP +. . O + +White NNP B-NP +Males NNPS I-NP + +White NNP B-NP +Females NNPS I-NP + +Black NNP B-NP +Males NNPS I-NP + +Black NNP B-NP +Females NNPS I-NP + +Directors NNS B-NP +elected VBD B-VP +R. NNP B-NP +Marvin NNP I-NP +Womack NNP I-NP +, , O +currently JJ B-ADVP +vice NN B-NP +president\/product NN I-NP +supply NN I-NP +, , I-NP +purchasing VBG I-NP +, , O +to TO B-VP +head VB I-VP +the DT B-NP +company NN I-NP +'s POS B-NP +Washington NNP I-NP +, , I-NP +D.C. NNP I-NP +, , I-NP +office NN I-NP +. . O + +As IN B-PP +vice NN B-NP +president\/national-government NN I-NP +relations NNS I-NP +, , O +Mr. NNP B-NP +Womack NNP I-NP +will MD B-VP +work VB I-VP +with IN B-PP +P&G NNP B-NP +'s POS B-NP +top JJ I-NP +management NN I-NP +and CC B-PP +with IN B-PP +the DT B-NP +company NN I-NP +'s POS B-NP +government-relations NNS I-NP +staff VBP I-NP +`` `` O +to TO B-VP +represent VB I-VP +P&G NNP B-NP +'s POS B-NP +interests NNS I-NP +at IN B-PP +the DT B-NP +federal JJ I-NP +level NN I-NP +, , O +'' '' O +said VBD B-VP +John NNP B-NP +G. NNP I-NP +Smale NNP I-NP +, , O +chairman NN B-NP +and CC O +chief JJ B-NP +executive JJ I-NP +officer NN I-NP +. . O + +Mr. NNP B-NP +Smale NNP I-NP +said VBD B-VP +the DT B-NP +appointment NN I-NP +`` `` O +recognizes VBZ B-VP +the DT B-NP +growing VBG I-NP +influence NN I-NP +of IN B-PP +government NN B-NP +on IN B-PP +our PRP$ B-NP +business NN I-NP +. . O +'' '' O + +Mr. NNP B-NP +Womack NNP I-NP +, , O +53 CD B-NP +years NNS I-NP +old JJ B-ADJP +, , O +has VBZ B-VP +been VBN I-VP +with IN B-PP +the DT B-NP +big JJ I-NP +producer NN I-NP +of IN B-PP +household NN B-NP +products NNS I-NP +, , O +food NN B-NP +and CC O +pharmaceuticals NNS B-NP +for IN B-PP +30 CD B-NP +years NNS I-NP +. . O + +Traders NNS B-NP +trying VBG B-VP +to TO I-VP +profit VB I-VP +from IN B-PP +the DT B-NP +recent JJ I-NP +volatility NN I-NP +in IN B-PP +financial JJ B-NP +markets NNS I-NP +invaded VBD B-VP +the DT B-NP +Nasdaq NNP I-NP +over-the-counter JJ I-NP +market NN I-NP +, , O +prompting VBG B-VP +even RB B-NP +more JJR I-NP +swings NNS I-NP +in IN B-PP +stock NN B-NP +prices NNS I-NP +. . O + +After IN B-PP +gaining VBG B-VP +strength NN B-NP +during IN B-PP +a DT B-NP +brief JJ I-NP +run-up NN I-NP +when WRB B-ADVP +trading NN B-NP +began VBD B-VP +, , O +the DT B-NP +Nasdaq NNP I-NP +Composite NNP I-NP +Index NNP I-NP +weakened VBD B-VP +under IN B-PP +selling VBG B-NP +pressure NN I-NP +. . O + +The DT B-NP +forces NNS I-NP +at IN B-PP +work NN B-NP +included VBD B-VP +computer-guided JJ B-NP +trading NN I-NP +, , O +as RB B-CONJP +well RB I-CONJP +as IN I-CONJP +profit-driven CD B-NP +market NN I-NP +makers NNS I-NP +and CC O +institutional JJ B-NP +investors NNS I-NP +who WP B-NP +had VBD B-VP +bought VBN I-VP +stock NN B-NP +on IN B-PP +the DT B-NP +cheap NN I-NP +during IN B-PP +the DT B-NP +recent JJ I-NP +correction NN I-NP +. . O + +During IN B-PP +the DT B-NP +last JJ I-NP +two CD I-NP +hours NNS I-NP +of IN B-PP +trading NN B-NP +, , O +the DT B-NP +composite JJ I-NP +almost RB B-VP +drew VBD I-VP +even RB B-ADVP +on IN B-PP +the DT B-NP +day NN I-NP +before IN B-PP +slipping VBG B-VP +again RB B-ADVP +. . O + +The DT B-NP +Nasdaq NNP I-NP +Composite NNP I-NP +closed VBD B-VP +down RB B-ADVP +1.05 CD B-NP +, , O +or CC O +0.2 CD B-NP +% NN I-NP +, , O +to TO B-PP +459.93 CD B-NP +. . O + +The DT B-NP +action NN I-NP +was VBD B-VP +confined VBN I-VP +to TO B-PP +Nasdaq NNP B-NP +'s POS B-NP +biggest JJS B-ADJP +and CC O +most RBS B-ADJP +liquid JJ I-ADJP +stocks NNS B-NP +, , O +traders NNS B-NP +said VBD B-VP +. . O + +The DT B-NP +Nasdaq NNP I-NP +100 CD I-NP +Index NNP I-NP +began VBD B-VP +the DT B-NP +day NN I-NP +at IN B-PP +449.89 CD B-NP +, , O +lost VBD B-VP +2 CD B-NP +% NN I-NP +at IN B-PP +one CD B-NP +point NN I-NP +, , O +and CC O +was VBD B-VP +up IN B-ADVP +0.4 CD B-NP +% NN I-NP +at IN B-PP +another DT B-NP +. . O + +The DT B-NP +barometer NN I-NP +of IN B-PP +the DT B-NP +biggest JJS I-NP +nonfinancial JJ I-NP +stocks NNS I-NP +settled VBD B-VP +at IN B-PP +448.49 CD B-NP +, , O +off IN B-ADVP +1.40 CD B-NP +. . O + +Its PRP$ B-NP +counterpart NN I-NP +, , O +the DT B-NP +Nasdaq NNP I-NP +Financial NNP I-NP +Index NNP I-NP +, , O +was VBD B-VP +weak JJ B-ADJP +for IN B-PP +most RBS B-NP +of IN B-PP +the DT B-NP +day NN I-NP +, , O +sliding VBG B-VP +2.51 CD B-NP +to TO B-PP +453.57 CD B-NP +by IN B-PP +the DT B-NP +end NN I-NP +of IN B-PP +trading NN B-NP +. . O + +The DT B-NP +volatility NN I-NP +was VBD B-VP +dizzying JJ B-ADJP +for IN B-PP +traders NNS B-NP +. . O + +`` `` O +The DT B-NP +market NN I-NP +must MD B-VP +have VB I-VP +turned VBN I-VP +up IN B-ADVP +and CC I-ADVP +down RB I-ADVP +15 CD B-NP +different JJ I-NP +times NNS I-NP +, , O +'' '' O +commented VBD B-VP +Lance NNP B-NP +Zipper NNP I-NP +, , O +head NN B-NP +of IN B-PP +OTC NNP B-NP +trading NN I-NP +at IN B-PP +Kidder NNP B-NP +Peabody NNP I-NP +. . O + +`` `` O +Every DT B-NP +time NN I-NP +you PRP B-NP +thought VBD B-VP +it PRP B-NP +was VBD B-VP +going VBG I-VP +into IN B-PP +a DT B-NP +rally NN I-NP +it PRP B-NP +gave VBD B-VP +up IN B-PRT +, , O +and CC O +every DT B-NP +time NN I-NP +you PRP B-NP +thought VBD B-VP +it PRP B-NP +would MD B-VP +rally VB I-VP +it PRP B-NP +came VBD B-VP +down RB B-ADVP +. . O + +This DT B-NP +is VBZ B-VP +a DT B-NP +tough JJ I-NP +market NN I-NP +. . O +'' '' O + +Mr. NNP B-NP +Zipper NNP I-NP +said VBD B-VP +the DT B-NP +market NN I-NP +is VBZ B-VP +still RB I-VP +settling VBG I-VP +down RB B-PRT +after IN B-PP +the DT B-NP +recent JJ I-NP +correction NN I-NP +. . O + +Most JJS B-NP +of IN B-PP +trading NN B-NP +action NN I-NP +now RB B-ADVP +is VBZ B-VP +from IN B-PP +professional JJ B-NP +traders NNS I-NP +who WP B-NP +are VBP B-VP +trying VBG I-VP +to TO I-VP +take VB I-VP +advantage NN B-NP +of IN B-PP +the DT B-NP +price NN I-NP +swings NNS I-NP +to TO B-VP +turn VB I-VP +a DT B-NP +quick JJ I-NP +profit NN I-NP +, , O +he PRP B-NP +and CC O +other JJ B-NP +traders NNS I-NP +said VBD B-VP +. . O + +`` `` O +Everybody NN B-NP +'s POS B-VP +confused VBN B-ADJP +and CC O +no DT B-NP +one CD I-NP +has VBZ B-VP +an DT B-NP +opinion NN I-NP +that WDT B-NP +lasts VBZ B-VP +longer RB B-ADVP +than IN B-PP +30 CD B-NP +seconds NNS I-NP +, , O +'' '' O +said VBD B-VP +Mr. NNP B-NP +Zipper NNP I-NP +. . O + +`` `` O +A DT B-NP +lot NN I-NP +of IN B-PP +the DT B-NP +professional JJ I-NP +traders NNS I-NP +are VBP B-VP +just RB I-VP +going VBG I-VP +back RB B-ADVP +and CC I-ADVP +forth RB I-ADVP +. . O + +They PRP B-NP +'re VBP B-VP +just RB B-ADJP +as IN I-ADJP +confused VBN I-ADJP +. . O +'' '' O + +William NNP B-NP +Rothe NNP I-NP +, , O +head NN B-NP +of IN B-PP +OTC NNP B-NP +trading NN I-NP +at IN B-PP +Alex NNP B-NP +. . I-NP +Brown NNP I-NP +& CC I-NP +Sons NNP I-NP +, , O +in IN B-PP +Baltimore NNP B-NP +, , O +said VBD B-VP +program NN B-NP +trading NN I-NP +is VBZ B-VP +keeping VBG I-VP +the DT B-NP +markets NNS I-NP +unsettled JJ B-ADJP +. . O + +He PRP B-NP +believes VBZ B-VP +that IN B-SBAR +the DT B-NP +volatile JJ I-NP +conditions NNS I-NP +created VBN B-VP +by IN B-PP +program NN B-NP +trading NN I-NP +has VBZ B-VP +`` `` O +thoroughly RB B-VP +confused VBN I-VP +'' '' O +investors NNS B-NP +about IN B-PP +where WRB B-ADVP +the DT B-NP +market NN I-NP +is VBZ B-VP +headed VBN I-VP +. . O + +Program NN B-NP +trading NN I-NP +is VBZ B-VP +`` `` O +benefiting VBG B-VP +a DT B-NP +few JJ I-NP +to TO B-PP +the DT B-NP +detriment NN I-NP +of IN B-PP +many JJ B-NP +and CC O +I PRP B-NP +wish VBP B-VP +someone NN B-NP +would MD B-VP +do VB I-VP +something NN B-NP +about IN B-PP +it PRP B-NP +, , O +'' '' O +he PRP B-NP +complained VBD B-VP +. . O + +Trading NN B-NP +activity NN I-NP +cooled VBN B-VP +off IN B-PRT +from IN B-PP +Monday NNP B-NP +'s POS B-NP +sizzling JJ I-NP +pace NN I-NP +. . O + +Share NN B-NP +turnover NN I-NP +subsided VBD B-VP +to TO B-PP +161.5 CD B-NP +million CD I-NP +. . O + +Advancing VBG B-NP +and CC I-NP +declining VBG I-NP +issues NNS I-NP +finished VBD B-VP +about IN B-ADJP +even RB I-ADJP +. . O + +Of IN B-PP +the DT B-NP +4,345 CD I-NP +stocks NNS I-NP +that WDT B-NP +changed VBD B-VP +hands NNS B-NP +, , O +1,174 CD B-NP +declined VBD B-VP +and CC O +1,040 CD B-NP +advanced VBD B-VP +. . O + +One CD B-NP +big JJ I-NP +technology NN I-NP +issue NN I-NP +, , O +Novell NNP B-NP +, , O +rode VBD B-VP +the DT B-NP +roller NN I-NP +coaster NN I-NP +. . O + +The DT B-NP +stock NN I-NP +, , O +which WDT B-NP +finished VBD B-VP +Monday NNP B-NP +at IN B-PP +29 CD B-NP +1\/2 CD I-NP +, , O +traded VBD B-VP +as RB B-ADVP +high JJ I-ADVP +as IN B-PP +29 CD B-NP +3\/4 CD I-NP +and CC B-ADVP +as RB B-ADVP +low JJ I-ADVP +as IN B-PP +28 CD B-NP +3\/4 CD I-NP +before IN B-PP +closing VBG B-VP +at IN B-PP +29 CD B-NP +1\/4 CD I-NP +, , O +down RB B-ADVP +1\/4 CD B-NP +. . O + +It PRP B-NP +was VBD B-VP +a DT B-NP +jarring VBG I-NP +day NN I-NP +for IN B-PP +investors NNS B-NP +in IN B-PP +Genetics NNP B-NP +Institute NNP I-NP +. . O + +The DT B-NP +stock NN I-NP +tumbled VBD B-VP +2 CD B-NP +3\/4 CD I-NP +on IN B-PP +news NN B-NP +that IN B-SBAR +it PRP B-NP +might MD B-VP +have VB I-VP +to TO I-VP +take VB I-VP +a DT B-NP +charge NN I-NP +against IN B-PP +earnings NNS B-NP +if IN B-SBAR +it PRP B-NP +ca MD B-VP +n't RB I-VP +successfully RB I-VP +resolve VB I-VP +a DT B-NP +dispute NN I-NP +with IN B-PP +its PRP$ B-NP +European JJ I-NP +licensee NN I-NP +, , O +Boehringer NNP B-NP +Mannheim NNP I-NP +, , O +over IN B-PP +its PRP$ B-NP +anti-anemia NN I-NP +drug NN I-NP +, , O +EPO NNP B-NP +. . O + +The DT B-NP +stock NN I-NP +recovered VBD B-VP +somewhat RB I-VP +to TO I-VP +finish VB I-VP +1 CD B-NP +1\/4 CD I-NP +lower JJR B-ADVP +at IN B-PP +26 CD B-NP +1\/4 CD I-NP +. . O + +In IN B-PP +a DT B-NP +statement NN I-NP +, , O +Genetics NNP B-NP +Institute NNP I-NP +said VBD B-VP +the DT B-NP +dispute NN I-NP +with IN B-PP +Boehringer NNP B-NP +centers NNS B-VP +on IN B-PP +questions NNS B-NP +of IN B-PP +the DT B-NP +usability NN I-NP +of IN B-PP +certain JJ B-NP +batches NNS I-NP +of IN B-PP +EPO NNP B-NP +material NN I-NP +valued VBN B-VP +at IN B-PP +$ $ B-NP +13.6 CD I-NP +million CD I-NP +. . O + +Earlier RBR B-ADVP +this DT B-NP +week NN I-NP +, , O +Genetics NNP B-NP +Institute NNP I-NP +reported VBD B-VP +wider JJR B-NP +losses NNS I-NP +in IN B-PP +its PRP$ B-NP +fiscal JJ I-NP +third JJ I-NP +quarter NN I-NP +ended VBN B-VP +Aug. NNP B-NP +31 CD I-NP +. . O + +Price NNP B-NP +Co. NNP I-NP +jumped VBD B-VP +2 CD B-NP +1\/4 CD I-NP +to TO B-PP +44 CD B-NP +on IN B-PP +1.7 CD B-NP +million CD I-NP +shares NNS I-NP +. . O + +The DT B-NP +wholesaler NN I-NP +of IN B-PP +cash NN B-NP +and CC I-NP +carry VB I-NP +merchandise NN I-NP +reported VBD B-VP +fiscal JJ B-NP +fourthquarter NN I-NP +earnings NNS I-NP +that WDT B-NP +were VBD B-VP +better JJR B-ADJP +than IN B-SBAR +analysts NNS B-NP +had VBD B-VP +expected VBN I-VP +. . O + +The DT B-NP +company NN I-NP +also RB B-ADVP +pleased VBD B-VP +analysts NNS B-NP +by IN B-PP +announcing VBG B-VP +four CD B-NP +new JJ I-NP +store NN I-NP +openings NNS I-NP +planned VBN B-VP +for IN B-PP +fiscal JJ B-NP +1990 CD I-NP +, , O +ending VBG B-VP +next JJ B-NP +August NNP I-NP +. . O + +That DT B-NP +will MD B-VP +bring VB I-VP +the DT B-NP +total NN I-NP +for IN B-PP +the DT B-NP +year NN I-NP +to TO B-PP +10 CD B-NP +, , O +from IN B-PP +five CD B-NP +during IN B-PP +fiscal JJ B-NP +1989 CD I-NP +. . O + +`` `` O +Every DT B-NP +year NN I-NP +we PRP B-NP +'ve VBP B-VP +been VBN I-VP +waiting VBG I-VP +for IN B-PP +stepped-up JJ B-NP +expansion NN I-NP +from IN B-PP +the DT B-NP +company NN I-NP +. . O + +The DT B-NP +news NN I-NP +could MD B-VP +n't RB I-VP +have VB I-VP +been VBN I-VP +better JJR B-ADJP +, , O +'' '' O +said VBD B-VP +Linda NNP B-NP +Kristiansen NNP I-NP +, , O +a DT B-NP +Dean NNP I-NP +Witter NNP I-NP +Reynolds NNP I-NP +analyst NN I-NP +, , O +in IN B-PP +an DT B-NP +interview NN I-NP +. . O + +Intermec NNP B-NP +, , O +a DT B-NP +maker NN I-NP +of IN B-PP +optical JJ B-NP +character-recognition NN I-NP +devices NNS I-NP +, , O +also RB B-ADVP +reported VBD B-VP +higher JJR B-NP +third-quarter JJ I-NP +earnings NNS I-NP +. . O + +Its PRP$ B-NP +shares NNS I-NP +added VBD B-VP +3\/4 CD B-NP +to TO B-PP +30 CD B-NP +3\/4 CD I-NP +. . O + +But CC O +favorable JJ B-NP +earnings NNS I-NP +was VBD B-VP +n't RB O +a DT B-NP +guarantee NN I-NP +that IN B-SBAR +a DT B-NP +stock NN I-NP +'s POS B-NP +price NN I-NP +would MD B-VP +improve VB I-VP +yesterday NN B-NP +. . O + +MCI NNP B-NP +Communications NNPS I-NP +tumbled VBD B-VP +2 CD B-NP +5\/8 CD I-NP +to TO B-PP +42 CD B-NP +3\/8 CD I-NP +on IN B-PP +4.7 CD B-NP +million CD I-NP +shares NNS I-NP +even RB B-ADVP +though IN B-SBAR +the DT B-NP +telecommunications NNS I-NP +giant NN I-NP +reported VBD B-VP +a DT B-NP +63 CD I-NP +% NN I-NP +increase NN I-NP +in IN B-PP +third-quarter JJ B-NP +profit NN I-NP +. . O + +CoreStates NNP B-NP +Financial NNP I-NP +slipped VBD B-VP +3\/8 CD B-NP +to TO B-PP +43 CD B-NP +1\/8 CD I-NP +in IN B-PP +active JJ B-NP +trading NN I-NP +after IN B-PP +reporting VBG B-VP +that IN B-SBAR +third-quarter JJ B-NP +earnings NNS I-NP +improved VBN B-VP +to TO B-PP +$ $ B-NP +1.27 CD I-NP +a DT B-NP +share NN I-NP +from IN B-PP +$ $ B-NP +1.15 CD I-NP +a DT B-NP +share NN I-NP +a DT B-NP +year NN I-NP +earlier RBR B-ADVP +. . O + +However RB B-ADVP +, , O +the DT B-NP +bank NN I-NP +holding VBG I-NP +company NN I-NP +'s POS B-NP +loan-loss NN I-NP +reserves NNS I-NP +rose VBD B-VP +to TO B-PP +$ $ B-NP +177.3 CD I-NP +million CD I-NP +from IN B-PP +$ $ B-NP +154 CD I-NP +million CD I-NP +a DT B-NP +year NN I-NP +earlier RBR B-ADVP +. . O + +A&W NNP B-NP +Brands NNP I-NP +lost VBD B-VP +1\/4 CD B-NP +to TO B-PP +27 CD B-NP +. . O + +But CC O +its PRP$ B-NP +thirdquarter JJ I-NP +earnings NNS I-NP +rose VBD B-VP +to TO B-PP +26 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +from IN B-PP +18 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +last JJ B-NP +year NN I-NP +. . O + +Capital NNP B-NP +Associates NNPS I-NP +dropped VBD B-VP +1 CD B-NP +to TO B-PP +5 VB B-NP +3\/8 CD I-NP +. . O + +The DT B-NP +company NN I-NP +, , O +which WDT B-NP +leases VBZ B-VP +technology NN B-NP +equipment NN I-NP +, , O +reported VBD B-VP +substantially RB B-NP +lower JJR I-NP +net JJ I-NP +income NN I-NP +for IN B-PP +its PRP$ B-NP +fiscal JJ I-NP +first JJ I-NP +quarter NN I-NP +, , O +which WDT B-NP +ended VBN B-VP +Aug. NNP B-NP +31 CD I-NP +. . O + +Robert NNP B-NP +M. NNP I-NP +Jelenic NNP I-NP +, , O +39 CD B-NP +, , O +was VBD B-VP +named VBN I-VP +president NN B-NP +and CC O +chief JJ B-NP +operating VBG I-NP +officer NN I-NP +of IN B-PP +this DT B-NP +closely RB I-NP +held VBN I-NP +publisher NN I-NP +. . O + +The DT B-NP +post NN I-NP +had VBD B-VP +been VBN I-VP +vacant JJ B-ADJP +for IN B-PP +more JJR B-NP +than IN I-NP +a DT I-NP +year NN I-NP +. . O + +Mr. NNP B-NP +Jelenic NNP I-NP +had VBD B-VP +been VBN I-VP +executive JJ B-NP +vice NN I-NP +president NN I-NP +for IN B-PP +operations NNS B-NP +. . O + +In IN B-PP +addition NN B-NP +, , O +Ralph NNP B-NP +Ingersoll NNP I-NP +II NNP I-NP +, , O +43 CD B-NP +, , O +chairman NN B-NP +and CC O +chief JJ B-NP +executive NN I-NP +, , O +said VBD B-VP +he PRP B-NP +would MD B-VP +take VB I-VP +on IN B-PRT +additional JJ B-NP +responsibilities NNS I-NP +as IN B-PP +editor NN B-NP +in IN B-PP +chief NN B-NP +of IN B-PP +the DT B-NP +company NN I-NP +. . O + +John NNP B-NP +Wilpers NNP I-NP +resigned VBD B-VP +as IN B-PP +editor NN B-NP +in IN B-PP +chief NN B-NP +. . O + +Mr. NNP B-NP +Ingersoll NNP I-NP +remains VBZ B-VP +editor NN B-NP +in IN B-PP +chief NN B-NP +of IN B-PP +the DT B-NP +company NN I-NP +'s POS B-NP +recently RB B-ADJP +launched VBN I-ADJP +daily JJ B-NP +, , O +the DT B-NP +St. NNP I-NP +Louis NNP I-NP +Sun NNP I-NP +. . O + +Also RB B-ADVP +, , O +Jean NNP B-NP +B. NNP I-NP +Clifton NNP I-NP +, , O +28 CD B-NP +, , O +was VBD B-VP +named VBN I-VP +executive JJ B-NP +vice NN I-NP +president NN I-NP +, , O +treasurer NN B-NP +and CC O +chief JJ B-NP +financial JJ I-NP +officer NN I-NP +. . O + +Michael NNP B-NP +Applebaum NNP I-NP +resigned VBD B-VP +after IN B-PP +less JJR B-NP +than IN I-NP +a DT I-NP +year NN I-NP +in IN B-PP +the DT B-NP +posts NNS I-NP +. . O + +Ms. NNP B-NP +Clifton NNP I-NP +had VBD B-VP +been VBN I-VP +executive NN B-NP +financial JJ I-NP +assistant NN I-NP +to TO B-PP +the DT B-NP +chairman NN I-NP +. . O + +Certainly RB B-ADVP +conservative JJ B-NP +environmentalists NNS I-NP +can MD B-VP +defend VB I-VP +their PRP$ B-NP +limited JJ I-NP +government NN I-NP +position NN I-NP +by IN B-PP +differentiating VBG B-VP +between IN B-PP +Old NNP B-NP +Environmentalism NNP I-NP +and CC O +New NNP B-NP +Environmentalism NNP I-NP +-LRB- ( O +`` `` O +Journalists NNS B-NP +and CC I-NP +Others NNS I-NP +for IN B-PP +Saving VBG B-VP +the DT B-NP +Planet NNP I-NP +, , O +'' '' O +by IN B-PP +David NNP B-NP +Brooks NNP I-NP +, , O +editorial NN B-NP +page NN I-NP +, , O +Oct. NNP B-NP +5 NN I-NP +-RRB- ) O +. . O + +Old NNP B-NP +Environmentalism NNP I-NP +involved VBD B-VP +microbe NN B-NP +hunters NNS I-NP +and CC O +sanitationists NNS B-NP +. . O + +It PRP B-NP +started VBD B-VP +with IN B-PP +improvements NNS B-NP +in IN B-PP +hygiene NN B-NP +made VBD B-VP +possible JJ B-ADJP +by IN B-PP +affordable JJ B-NP +soap NN I-NP +and CC O +washable JJ B-NP +underwear NN I-NP +during IN B-PP +the DT B-NP +Industrial NNP I-NP +Revolution NNP I-NP +. . O + +Then RB B-ADVP +cast-iron NN B-NP +sewer NN I-NP +pipe NN I-NP +and CC O +the DT B-NP +flush JJ I-NP +toilet NN I-NP +were VBD B-VP +followed VBN I-VP +by IN B-PP +sewage NN B-NP +- : I-NP +and CC I-NP +water-treatment NN I-NP +plants NNS I-NP +toward IN B-PP +the DT B-NP +end NN I-NP +of IN B-PP +the DT B-NP +19th JJ I-NP +century NN I-NP +. . O + +Medicine NNP B-NP +in IN B-PP +the DT B-NP +19th JJ I-NP +century NN I-NP +was VBD B-VP +dedicated VBN I-VP +mostly RB B-ADVP +to TO B-PP +combating VBG B-VP +sepsis NN B-NP +and CC O +diagnostic JJ B-NP +analysis NN I-NP +. . O + +Then RB B-ADVP +the DT B-NP +20th JJ I-NP +century NN I-NP +saw VBD B-VP +the DT B-NP +evolution NN I-NP +of IN B-PP +private-sector JJ B-NP +wonder NN I-NP +drugs NNS I-NP +, , O +which WDT B-NP +promulgated VBD B-VP +medical JJ B-NP +therapy NN I-NP +. . O + +The DT B-NP +process NN I-NP +dramatically RB B-VP +increased VBD I-VP +our PRP$ B-NP +average JJ I-NP +life NN I-NP +expectancy NN I-NP +, , O +eliminated VBN B-VP +much JJ B-NP +pain NN I-NP +and CC O +constantly RB B-VP +improved VBN I-VP +health NN B-NP +and CC I-NP +well-being NN I-NP +. . O + +Most JJS B-NP +public-health JJ I-NP +measures NNS I-NP +were VBD B-VP +handled VBN I-VP +at IN B-PP +the DT B-NP +local JJ I-NP +level NN I-NP +. . O + +New NNP B-NP +Environmentalism NNP I-NP +probably RB B-ADVP +started VBD B-VP +in IN B-PP +1962 CD B-NP +with IN B-PP +the DT B-NP +publication NN I-NP +of IN B-PP +Rachel NNP B-NP +Carson NNP I-NP +'s POS B-NP +book NN I-NP +`` `` O +Silent NNP B-NP +Spring NNP I-NP +. . O +'' '' O + +Shortly RB B-ADVP +thereafter RB I-ADVP +, , O +hysterical JJ B-NP +articles NNS I-NP +began VBD B-VP +to TO I-VP +appear VB I-VP +predicting VBG B-VP +that WDT B-SBAR +advanced VBD B-NP +industrial JJ I-NP +societies NNS I-NP +would MD B-VP +produce VB I-VP +a DT B-NP +blackened VBN I-NP +, , I-NP +uninhabitable JJ I-NP +planet NN I-NP +possibly RB B-ADVP +by IN B-PP +the DT B-NP +turn NN I-NP +of IN B-PP +the DT B-NP +century NN I-NP +. . O + +These DT B-NP +apocalyptic JJ I-NP +predictions NNS I-NP +were VBD B-VP +advanced VBN I-VP +by IN B-PP +such JJ B-NP +stalwarts NNS I-NP +as IN B-PP +Paul NNP B-NP +Ehrlich NNP I-NP +, , O +Barry NNP B-NP +Commoner NNP I-NP +, , O +Rene NNP B-NP +Dubois NNP I-NP +and CC O +George NNP B-NP +Wald NNP I-NP +. . O + +Writing VBG B-VP +in IN B-PP +the DT B-NP +1960s CD I-NP +Ms. NNP B-NP +Carson NNP I-NP +suggested VBD B-VP +that IN B-SBAR +the DT B-NP +human JJ I-NP +race NN I-NP +could MD B-VP +be VB I-VP +eliminated VBN I-VP +in IN B-PP +20 CD B-NP +years NNS I-NP +, , O +and CC O +Mr. NNP B-NP +Wald NNP I-NP +suggested VBD B-VP +that DT O +life NN B-NP +on IN B-PP +earth NN B-NP +might MD B-VP +end VB I-VP +by IN B-PP +1985 CD B-NP +. . O + +Mr. NNP B-NP +Ehrlich NNP I-NP +predicted VBD B-VP +unprecedented JJ B-NP +famine NN I-NP +by IN B-PP +1980 CD B-NP +. . O + +There EX B-NP +were VBD B-VP +many RB B-NP +more JJR I-NP +. . O + +Thousands NNS B-NP +of IN B-PP +chemical NN B-NP +products NNS I-NP +were VBD B-VP +categorized VBN I-VP +as IN B-PP +carcinogenic JJ B-ADJP +, , O +with IN B-PP +recommendations NNS B-NP +that IN B-SBAR +they PRP B-NP +be VBP B-VP +banned VBN I-VP +from IN B-PP +industrial JJ B-NP +use NN I-NP +because IN B-SBAR +they PRP B-NP +produced VBD B-VP +malignant JJ B-NP +tumors NNS I-NP +in IN B-PP +overdosed VBN B-NP +rats NNS I-NP +. . O + +Unknown JJ B-ADJP +before IN B-PP +1960 CD B-NP +were VBD B-VP +the DT B-NP +inconclusive JJ I-NP +effects NNS I-NP +of IN B-PP +acid NN B-NP +rain NN I-NP +, , O +greenhouse NN B-NP +warming NN I-NP +and CC O +ozone NN B-NP +depletion NN I-NP +, , O +all DT B-NP +of IN B-PP +which WDT B-NP +required VBD B-VP +burgeoning VBG B-NP +political JJ I-NP +power NN I-NP +and CC O +gargantuan JJ B-NP +expense NN I-NP +. . O + +Meanwhile RB B-ADVP +, , O +the DT B-NP +New NNP I-NP +Environmentalists NNS I-NP +systematically RB B-VP +opposed VBN I-VP +the DT B-NP +methods NNS I-NP +of IN B-PP +the DT B-NP +Old NNP I-NP +Environmentalists NNS I-NP +. . O + +Local JJ B-NP +pollution NN I-NP +problems NNS I-NP +require VBP B-VP +cheap JJ B-NP +energy NN I-NP +and CC O +capital NN B-NP +for IN B-PP +their PRP$ B-NP +solution NN I-NP +. . O + +But CC O +the DT B-NP +New NNP I-NP +Environmentalists NNS I-NP +oppose VBP B-VP +private JJ B-NP +wealth NN I-NP +creation NN I-NP +-LRB- ( O +which WDT B-NP +, , O +they PRP B-NP +claim VBP B-VP +, , O +depletes VBZ B-VP +natural JJ B-NP +resources NNS I-NP +-RRB- ) O +and CC O +nuclear JJ B-NP +power NN I-NP +-LRB- ( O +even RB B-ADVP +though IN B-SBAR +it PRP B-NP +would MD B-VP +counteract VB I-VP +the DT B-NP +greenhouse NN I-NP +effect NN I-NP +-RRB- ) O +. . O + +They PRP B-NP +are VBP B-VP +in IN B-PP +the DT B-NP +forefront NN I-NP +of IN B-PP +opposing VBG B-VP +the DT B-NP +search NN I-NP +for IN B-PP +new JJ B-NP +landfills NNS I-NP +and CC I-NP +methods NNS I-NP +of IN B-PP +incineration NN B-NP +and CC O +even RB B-ADVP +oppose VB B-VP +new JJ B-NP +methods NNS I-NP +of IN B-PP +research NN B-NP +such JJ B-PP +as IN I-PP +genetic JJ B-NP +engineering NN I-NP +. . O + +New NNP B-NP +Environmentalism NNP I-NP +is VBZ B-VP +an DT B-NP +emotional JJ I-NP +attack NN I-NP +on IN B-PP +proven VBN B-NP +methods NNS I-NP +of IN B-PP +improving VBG B-VP +our PRP$ B-NP +quality NN I-NP +of IN B-PP +life NN B-NP +and CC O +a DT B-NP +bid NN I-NP +for IN B-PP +political JJ B-NP +power NN I-NP +. . O + +Let VB B-VP +'s POS B-NP +rationalize VB B-VP +our PRP$ B-NP +priorities NNS I-NP +by IN B-PP +solving VBG B-VP +pollution NN B-NP +problems NNS I-NP +at IN B-PP +the DT B-NP +local JJ I-NP +level NN I-NP +as IN B-PP +heretofore RB O +. . O + +Harry NNP B-NP +Lee NNP I-NP +Smith NNP I-NP +Alpharetta NNP B-NP +, , O +Ga NNP B-NP +. . O + +Your PRP$ B-NP +story NN I-NP +missed VBD B-VP +some DT B-NP +essential JJ I-NP +points NNS I-NP +of IN B-PP +the DT B-NP +conference NN I-NP +on IN B-PP +`` `` O +The DT B-NP +Global NNP I-NP +Environment NNP I-NP +: : O +Are VBP O +We PRP B-NP +Overreacting VBG B-VP +? . O +'' '' O + +First NNP B-ADVP +and CC I-ADVP +foremost JJ I-ADVP +, , O +the DT B-NP +vignettes NNS I-NP +presented VBN B-VP +by IN B-PP +the DT B-NP +various JJ I-NP +scientists NNS I-NP +represent VBP B-VP +a DT B-NP +general JJ I-NP +consensus NN I-NP +among IN B-PP +specialists NNS B-NP +working VBG B-VP +in IN B-PP +the DT B-NP +respective JJ I-NP +aspects NNS I-NP +of IN B-PP +the DT B-NP +global JJ I-NP +environment NN I-NP +. . O + +Consider VB B-VP +, , O +for IN B-PP +example NN B-NP +, , O +the DT B-NP +greenhouse NN I-NP +effect NN I-NP +and CC O +climate NN B-NP +change NN I-NP +; : O +numerous JJ B-NP +blue-ribbon JJ I-NP +scientific JJ I-NP +committees NNS I-NP +, , O +including VBG B-PP +one CD B-NP +from IN B-PP +the DT B-NP +National NNP I-NP +Academy NNP I-NP +of IN B-PP +Science NNP B-NP +, , O +judge NN B-VP +there EX B-NP +is VBZ B-VP +a DT B-NP +greater JJR I-NP +than IN I-NP +50 CD I-NP +% NN I-NP +probability NN I-NP +of IN B-PP +a DT B-NP +grave JJ I-NP +problem NN I-NP +in IN B-PP +the DT B-NP +offing NN I-NP +. . O + +The DT B-NP +point NN I-NP +was VBD B-VP +to TO B-VP +answer VB I-VP +the DT B-NP +question NN I-NP +in IN B-PP +the DT B-NP +conference NN I-NP +title NN I-NP +, , O +not RB O +to TO B-VP +try VB I-VP +to TO I-VP +create VB I-VP +news NN B-NP +stories NNS I-NP +for IN B-PP +the DT B-NP +event NN I-NP +itself PRP I-NP +. . O + +Nor CC O +was VBD O +it PRP B-NP +intended VBD B-VP +to TO I-VP +dictate VB I-VP +a DT B-NP +set NN I-NP +of IN B-PP +prescriptive JJ B-NP +solutions NNS I-NP +, , O +although IN B-SBAR +various JJ B-NP +points NNS I-NP +were VBD B-VP +raised VBN I-VP +. . O + +Each DT B-NP +speaker NN I-NP +was VBD B-VP +asked VBN I-VP +to TO I-VP +address VB I-VP +a DT B-NP +specific JJ I-NP +topic NN I-NP +, , O +not RB O +deliver VB B-VP +a DT B-NP +point NN I-NP +of IN B-PP +view NN B-NP +. . O + +Each DT B-NP +scientist NN I-NP +independently RB B-VP +concluded VBD I-VP +society NN B-NP +and CC I-NP +government NN I-NP +are VBP B-VP +underreacting VBG I-VP +when WRB B-ADVP +it PRP B-NP +comes VBZ B-VP +to TO B-PP +substantive JJ B-NP +policy NN I-NP +change NN I-NP +. . O + +This DT B-NP +leads VBZ B-VP +to TO B-PP +a DT B-NP +very RB I-NP +special JJ I-NP +sense NN I-NP +of IN B-PP +urgency NN B-NP +. . O + +If IN B-SBAR +the DT B-NP +media NNS I-NP +decide VBP B-VP +to TO I-VP +work VB I-VP +harder JJR B-ADVP +at IN B-PP +educating VBG B-VP +the DT B-NP +public NN I-NP +about IN B-PP +these DT B-NP +complex JJ I-NP +and CC I-NP +technical JJ I-NP +issues NNS I-NP +, , O +that IN B-NP +hardly RB B-ADVP +can MD B-VP +be VB I-VP +termed VBN I-VP +non-objective JJ B-NP +journalism NN I-NP +. . O + +The DT B-NP +environment NN I-NP +can MD B-VP +no RB I-VP +longer RB I-VP +be VB I-VP +a DT B-NP +normal JJ I-NP +issue NN I-NP +, , O +to TO B-VP +be VB I-VP +dealt VBN I-VP +with IN O +on IN B-PP +a DT B-NP +business-as-usual JJ I-NP +basis NN I-NP +with IN B-PP +comfortable JJ B-NP +increments NNS I-NP +of IN B-PP +change NN B-NP +. . O + +We PRP B-NP +have VBP B-VP +literally RB I-VP +altered VBN I-VP +the DT B-NP +chemistry NN I-NP +and CC I-NP +physics NN I-NP +of IN B-PP +our PRP$ B-NP +planet NN I-NP +'s POS B-NP +atmosphere NN I-NP +. . O + +This DT B-NP +portends VBZ B-VP +consequences NNS B-NP +from IN B-PP +what WP B-NP +we PRP B-NP +have VBP B-VP +already RB I-VP +done VBN I-VP +that WDT B-NP +will MD B-VP +be VB I-VP +very RB B-ADJP +destabilizing VBG I-ADJP +to TO B-PP +social JJ B-NP +and CC I-NP +economic JJ I-NP +systems NNS I-NP +. . O + +The DT B-NP +problems NNS I-NP +of IN B-PP +the DT B-NP +environment NN I-NP +are VBP B-VP +so RB B-ADJP +interrelated VBN I-ADJP +, , O +so RB B-ADJP +inextricably RB I-ADJP +entwined VBN I-ADJP +with IN B-PP +our PRP$ B-NP +current JJ I-NP +way NN I-NP +of IN B-PP +life NN B-NP +and CC O +so RB B-ADJP +large JJ I-ADJP +that IN B-SBAR +it PRP B-NP +is VBZ B-VP +unlikely JJ B-ADJP +we PRP B-NP +will MD B-VP +be VB I-VP +able JJ B-ADJP +to TO B-VP +address VB I-VP +them PRP B-NP +effectively RB B-ADVP +unless IN B-SBAR +major JJ B-NP +changes NNS I-NP +are VBP B-VP +made VBN I-VP +in IN B-PP +less JJR B-NP +than IN I-NP +10 CD I-NP +years NNS I-NP +. . O + +The DT B-NP +consensus NN I-NP +from IN B-PP +the DT B-NP +scientific JJ I-NP +community NN I-NP +is VBZ B-VP +that IN B-SBAR +there EX B-NP +is VBZ B-VP +sufficient JJ B-NP +evidence NN I-NP +to TO B-VP +advise VB I-VP +major JJ B-NP +policy NN I-NP +changes NNS I-NP +. . O + +No DT B-INTJ +, , O +we PRP B-NP +are VBP B-VP +not RB I-VP +overreacting VBG I-VP +. . O + +Thomas NNP B-NP +E. NNP I-NP +Lovejoy NNP I-NP +Assistant NNP B-NP +Secretary NNP I-NP +for IN B-PP +External NNP B-NP +Affairs NNP I-NP +Smithsonian NNP B-NP +Institution NNP I-NP + +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +Inc. NNP I-NP +, , O +fulfilling VBG B-VP +its PRP$ B-NP +dismal JJ I-NP +earnings NNS I-NP +forecast NN I-NP +for IN B-PP +1989 CD B-NP +, , O +said VBD B-VP +its PRP$ B-NP +third-quarter JJ I-NP +net JJ I-NP +income NN I-NP +fell VBD B-VP +68 CD B-NP +% NN I-NP +on IN B-PP +flat JJ B-NP +revenue NN I-NP +. . O + +Stung VBN B-VP +by IN B-PP +higher JJR B-NP +marketing NN I-NP +costs NNS I-NP +and CC O +slowing VBG B-NP +volume NN I-NP +growth NN I-NP +, , O +the DT B-NP +giant NN I-NP +Coke NNP I-NP +bottling NN I-NP +operation NN I-NP +said VBD B-VP +net NN B-NP +fell VBD B-VP +to TO B-PP +$ $ B-NP +12.7 CD I-NP +million CD I-NP +, , O +or CC O +six CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +, , O +from IN B-PP +$ $ B-NP +39.9 CD I-NP +million CD I-NP +, , O +or CC O +26 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +, , O +the DT B-NP +year NN I-NP +earlier RBR B-ADVP +. . O + +The DT B-NP +results NNS I-NP +met VBD B-VP +estimates NNS B-NP +of IN B-PP +analysts NNS B-NP +, , O +who WP B-NP +had VBD B-VP +already RB I-VP +slashed VBN I-VP +their PRP$ B-NP +projections NNS I-NP +after IN B-SBAR +the DT B-NP +company NN I-NP +said VBD B-VP +in IN B-PP +late JJ B-NP +August NNP I-NP +that IN B-SBAR +its PRP$ B-NP +1989 CD I-NP +earnings NNS I-NP +could MD B-VP +tumble VB I-VP +as RB B-NP +much JJ I-NP +as IN I-NP +37 CD I-NP +% NN I-NP +. . O + +A DT B-NP +company NN I-NP +spokesman NN I-NP +said VBD B-VP +yesterday NN B-NP +that IN B-SBAR +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +sticks NNS B-VP +by IN B-PP +its PRP$ B-NP +1989 CD I-NP +forecast NN I-NP +. . O + +Third-quarter JJ B-NP +revenue NN I-NP +was VBD B-VP +flat JJ B-ADJP +at IN B-PP +$ $ B-NP +1.02 CD I-NP +billion CD I-NP +. . O + +The DT B-NP +year-ago JJ I-NP +results NNS I-NP +, , O +however RB B-ADVP +, , O +included VBD B-VP +the DT B-NP +operations NNS I-NP +of IN B-PP +a DT B-NP +bottling NN I-NP +business NN I-NP +, , O +which WDT B-NP +was VBD B-VP +sold VBN I-VP +last JJ B-NP +December NNP I-NP +. . O + +Excluding VBG B-VP +that DT B-NP +bottling NN I-NP +business NN I-NP +, , O +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +' POS B-NP +volume NN I-NP +, , O +measured VBN B-VP +by IN B-PP +cases NNS B-NP +of IN B-PP +soda NN B-NP +, , O +rose VBD B-VP +only RB B-NP +1 CD I-NP +% NN I-NP +. . O + +The DT B-NP +volume NN I-NP +is VBZ B-VP +well RB B-ADVP +below IN B-PP +the DT B-NP +industry NN I-NP +'s POS B-NP +4 CD I-NP +% NN I-NP +to TO I-NP +5 VB I-NP +% NN I-NP +growth NN I-NP +rate NN I-NP +of IN B-PP +recent JJ B-NP +years NNS I-NP +, , B-PP +but CC I-PP +in IN B-PP +line NN B-NP +with IN B-PP +other JJ B-NP +soft-drink NN I-NP +companies NNS I-NP +for IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +. . O + +The DT B-NP +latest JJS I-NP +third-quarter JJ I-NP +volume NN I-NP +also RB B-ADVP +compares VBZ B-VP +with IN B-PP +a DT B-NP +very RB I-NP +strong JJ I-NP +10 CD I-NP +% NN I-NP +growth NN I-NP +in IN B-PP +the DT B-NP +year-ago JJ I-NP +quarter NN I-NP +. . O + +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +blamed VBD B-VP +the DT B-NP +lower JJR I-NP +volume NN I-NP +on IN B-PP +its PRP$ B-NP +soft-drink NN I-NP +prices NNS I-NP +, , O +which WDT B-NP +were VBD B-VP +about IN B-ADJP +3 CD I-ADJP +% NN I-ADJP +higher JJR B-ADJP +in IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +. . O + +Consumers NNS B-NP +have VBP B-VP +been VBN I-VP +accustomed VBN I-VP +to TO B-PP +buying VBG B-VP +soft-drinks NNS B-NP +at IN B-PP +discounted VBN B-NP +prices NNS I-NP +for IN B-PP +several JJ B-NP +years NNS I-NP +. . O + +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +said VBD B-VP +it PRP B-NP +had VBD B-VP +to TO I-VP +boost VB I-VP +spending NN B-NP +for IN B-PP +trade NN B-NP +and CC I-NP +dealer NN I-NP +incentives NNS I-NP +to TO B-VP +try VB I-VP +to TO I-VP +keep VB I-VP +volumes NNS B-NP +from IN B-PP +slipping VBG B-VP +. . O + +The DT B-NP +company NN I-NP +said VBD B-VP +it PRP B-NP +expects VBZ B-VP +consumers NNS B-NP +will MD B-VP +adjust VB I-VP +to TO B-PP +higher-priced JJ B-NP +soft JJ I-NP +drinks NNS I-NP +. . O + +A DT B-NP +spokesman NN I-NP +attributed VBD B-VP +the DT B-NP +bulk NN I-NP +of IN B-PP +a DT B-NP +14 CD I-NP +% NN I-NP +increase NN I-NP +in IN B-PP +selling VBG B-NP +, , I-NP +administrative JJ I-NP +and CC I-NP +general JJ I-NP +expenses NNS I-NP +-- : O +to TO B-PP +$ $ B-NP +324.9 CD I-NP +million CD I-NP +-- : O +to TO B-PP +marketing NN B-NP +costs NNS I-NP +. . O + +`` `` O +They PRP B-NP +'re VBP B-VP +out IN B-PP +there RB B-NP +promoting VBG B-VP +like IN B-PP +crazy JJ B-ADJP +, , O +trying VBG B-VP +to TO I-VP +get VB I-VP +prices NNS B-NP +up IN B-ADJP +by IN B-PP +promotion NN B-NP +, , O +'' '' O +said VBD B-VP +Roy NNP B-NP +Burry NNP I-NP +, , O +an DT B-NP +analyst NN I-NP +with IN B-PP +Kidder NNP B-NP +, , I-NP +Peabody NNP I-NP +& CC I-NP +Co NNP I-NP +. . O + +For IN B-PP +the DT B-NP +nine CD I-NP +months NNS I-NP +, , O +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +' POS B-NP +net NN I-NP +fell VBD B-VP +31 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +65 CD I-NP +million CD I-NP +, , O +or CC O +39 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +, , O +from IN B-PP +$ $ B-NP +93.8 CD I-NP +million CD I-NP +, , O +or CC O +63 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +. . O + +Revenue NN B-NP +was VBD B-VP +flat JJ B-ADJP +at IN B-PP +about RB B-NP +$ $ I-NP +2.97 CD I-NP +billion CD I-NP +. . O + +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +, , O +which WDT B-NP +is VBZ B-VP +49%-owned JJ B-ADJP +by IN B-PP +Coca-Cola NNP B-NP +Co. NNP I-NP +, , O +also RB B-ADVP +said VBD B-VP +it PRP B-NP +repurchased VBD B-VP +about IN B-NP +1.2 CD I-NP +million CD I-NP +of IN B-PP +its PRP$ B-NP +common JJ I-NP +shares NNS I-NP +during IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +. . O + +The DT B-NP +buy-back NN I-NP +is VBZ B-VP +part NN B-NP +of IN B-PP +a DT B-NP +25-million-share JJ I-NP +repurchase NN I-NP +plan NN I-NP +, , O +under IN B-PP +which WDT B-NP +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +so RB B-ADVP +far RB I-ADVP +has VBZ B-VP +acquired VBN I-VP +a DT B-NP +total NN I-NP +of IN B-PP +9.7 CD B-NP +million CD I-NP +shares NNS I-NP +. . O + +Separately RB B-ADVP +, , O +Purchase NNP B-NP +, , I-NP +N.Y.-based JJ I-NP +PepsiCo NNP I-NP +Inc. NNP I-NP +, , O +as IN B-SBAR +expected VBN B-VP +, , O +said VBD B-VP +fiscal JJ B-NP +third-quarter JJ I-NP +net NN I-NP +rose VBD B-VP +11 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +269.3 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +1.02 CD I-NP +a DT B-NP +share NN I-NP +, , O +from IN B-PP +$ $ B-NP +241.6 CD I-NP +million CD I-NP +, , O +or CC O +91 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +. . O + +Sales NNS B-NP +rose VBD B-VP +25 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +3.90 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +3.13 CD I-NP +billion CD I-NP +. . O + +The DT B-NP +year-ago JJ I-NP +quarter NN I-NP +'s POS B-NP +results NNS I-NP +include VBP B-VP +an DT B-NP +after-tax JJ I-NP +charge NN I-NP +of IN B-PP +$ $ B-NP +5.9 CD I-NP +million CD I-NP +from IN B-PP +the DT B-NP +sale NN I-NP +of IN B-PP +a DT B-NP +winery NN I-NP +in IN B-PP +Spain NNP B-NP +. . O + +In IN B-PP +composite JJ B-NP +trading NN I-NP +on IN B-PP +the DT B-NP +New NNP I-NP +York NNP I-NP +Stock NNP I-NP +Exchange NNP I-NP +, , O +Coca-Cola NNP B-NP +Enterprises NNPS I-NP +closed VBD B-VP +at IN B-PP +$ $ B-NP +16.375 CD I-NP +a DT B-NP +share NN I-NP +, , O +down RB B-ADVP +62.5 CD B-NP +cents NNS I-NP +. . O + +PepsiCo NNP B-NP +closed VBD B-VP +at IN B-PP +$ $ B-NP +58.50 CD I-NP +a DT B-NP +share NN I-NP +, , O +up IN B-ADVP +$ $ B-NP +1.375 CD I-NP +. . O + +L.J. NNP B-NP +Hooker NNP I-NP +Corp. NNP I-NP +is VBZ B-VP +expected VBN I-VP +to TO I-VP +reach VB I-VP +an DT B-NP +agreement NN I-NP +in IN B-PP +principle NN B-NP +this DT B-NP +week NN I-NP +to TO B-VP +sell VB I-VP +Merksamer NNP B-NP +Jewelers NNP I-NP +Inc. NNP I-NP +to TO B-PP +management NN B-NP +, , O +say VBP B-VP +executives NNS B-NP +familiar JJ B-ADJP +with IN B-PP +the DT B-NP +talks NNS I-NP +. . O + +L.J. NNP B-NP +Hooker NNP I-NP +, , O +based VBN B-VP +in IN B-PP +Atlanta NNP B-NP +, , O +filed VBN B-VP +for IN B-PP +Chapter NN B-NP +11 CD I-NP +bankruptcy NN I-NP +protection NN I-NP +earlier RBR B-ADVP +this DT B-NP +year NN I-NP +. . O + +Currently RB B-ADVP +, , O +its PRP$ B-NP +parent NN I-NP +company NN I-NP +, , O +Hooker NNP B-NP +Corp. NNP I-NP +of IN B-PP +Sydney NNP B-NP +, , O +Australia NNP B-NP +, , O +is VBZ B-VP +being VBG I-VP +managed VBN I-VP +by IN B-PP +a DT B-NP +court-appointed JJ I-NP +liquidator NN I-NP +. . O + +It PRP B-NP +is VBZ B-VP +expected VBN I-VP +that IN B-SBAR +GE NNP B-NP +Capital NNP I-NP +Corp. NNP I-NP +, , O +a DT B-NP +financial-services NNS I-NP +subsidiary NN I-NP +of IN B-PP +General NNP B-NP +Electric NNP I-NP +Co. NNP I-NP +, , O +will MD B-VP +provide VB I-VP +much NN B-NP +of IN I-NP +the DT B-NP +funding NN I-NP +for IN B-PP +the DT B-NP +proposed VBN I-NP +leveraged JJ I-NP +buy-out NN I-NP +of IN B-PP +Merksamer NNP B-NP +, , O +based VBN B-VP +in IN B-PP +Sacramento NNP B-NP +, , O +Calif NNP B-NP +. . O + +A DT B-NP +spokesman NN I-NP +for IN B-PP +GE NNP B-NP +Capital NNP I-NP +declined VBD B-VP +to TO I-VP +comment VB I-VP +. . O + +GE NNP B-NP +Capital NNP I-NP +has VBZ B-VP +a DT B-NP +working VBG I-NP +relationship NN I-NP +with IN B-PP +L.J. NNP B-NP +Hooker NNP I-NP +. . O + +It PRP B-NP +is VBZ B-VP +providing VBG I-VP +$ $ B-NP +50 CD I-NP +million CD I-NP +in IN B-PP +emergency NN B-NP +financing NN I-NP +to TO B-PP +the DT B-NP +company NN I-NP +and CC O +has VBZ B-VP +agreed VBN I-VP +to TO I-VP +buy VB I-VP +as RB B-NP +much JJ I-NP +as IN B-PP +$ $ B-NP +75 CD I-NP +million CD I-NP +in IN B-PP +receivables NN B-NP +from IN B-PP +B. NNP B-NP +Altman NNP I-NP +& CC I-NP +Co. NNP I-NP +and CC O +Bonwit NNP B-NP +Teller NNP I-NP +, , O +L.J. NNP B-NP +Hooker NNP I-NP +'s POS B-NP +two CD O +fully RB B-ADJP +owned VBN I-ADJP +department-store NN B-NP +chains NNS I-NP +. . O + +Sam NNP B-NP +Merksamer NNP I-NP +, , O +chief JJ B-NP +executive JJ I-NP +officer NN I-NP +of IN B-PP +the DT B-NP +nationwide JJ I-NP +jewelry NN I-NP +chain NN I-NP +, , O +and CC O +Sanford NNP B-NP +Sigoloff NNP I-NP +, , O +chief JJ B-NP +executive NN I-NP +of IN B-PP +L.J. NNP B-NP +Hooker NNP I-NP +Corp. NNP I-NP +, , O +both DT B-NP +declined VBD B-VP +to TO I-VP +comment VB I-VP +. . O + +Currently RB B-ADVP +, , O +Mr. NNP B-NP +Merksamer NNP I-NP +owns VBZ B-VP +20 CD B-NP +% NN I-NP +of IN B-PP +the DT B-NP +company NN I-NP +; : O +L.J. NNP B-NP +Hooker NNP I-NP +acquired VBD B-VP +its PRP$ B-NP +80 CD I-NP +% NN I-NP +interest NN I-NP +in IN B-PP +the DT B-NP +firm NN I-NP +in IN B-PP +May NNP B-NP +1986 CD I-NP +. . O + +At IN B-PP +the DT B-NP +time NN I-NP +, , O +the DT B-NP +Merksamer NNP I-NP +chain NN I-NP +had VBD B-VP +11 CD B-NP +stores NNS I-NP +in IN B-PP +operation NN B-NP +. . O + +Today NN B-NP +, , O +there EX B-NP +are VBP B-VP +77 CD B-NP +units NNS I-NP +, , O +all DT B-NP +located VBN B-ADJP +in IN B-PP +shopping NN B-NP +malls NNS I-NP +. . O + +In IN B-PP +recent JJ B-NP +weeks NNS I-NP +Mr. NNP B-NP +Merksamer NNP I-NP +has VBZ B-VP +approached VBN I-VP +a DT B-NP +number NN I-NP +of IN B-PP +his PRP$ B-NP +suppliers NNS I-NP +and CC O +asked VBD B-VP +them PRP B-NP +to TO B-VP +provide VB I-VP +letters NNS B-NP +of IN B-PP +intent NN B-NP +saying VBG B-VP +they PRP B-NP +will MD B-VP +continue VB I-VP +shipping VBG I-VP +merchandise NN B-NP +to TO B-PP +the DT B-NP +chain NN I-NP +following VBG B-PP +the DT B-NP +buy-out NN I-NP +, , O +say VBP B-VP +those DT B-NP +familiar NN B-ADJP +with IN B-PP +the DT B-NP +situation NN I-NP +. . O + +This DT B-NP +year NN I-NP +, , O +a DT B-NP +number NN I-NP +of IN B-PP +retail JJ B-NP +leveraged JJ I-NP +buyouts NNS I-NP +have VBP B-VP +failed VBN I-VP +, , O +causing VBG B-VP +jitters NNS B-NP +among IN B-PP +suppliers NNS B-NP +, , O +and CC O +Mr. NNP B-NP +Merksamer NNP I-NP +apparently RB B-ADVP +wanted VBD B-VP +assurances NNS B-NP +that IN B-SBAR +he PRP B-NP +wo MD B-VP +n't RB I-VP +have VB I-VP +delivery NN B-NP +problems NNS I-NP +. . O + +For IN B-PP +the DT B-NP +year NN I-NP +ended VBN B-VP +June NNP B-NP +30 CD I-NP +, , I-NP +1989 CD I-NP +, , O +Merksamer NNP B-NP +Jewelers NNPS I-NP +had VBD B-VP +$ $ B-NP +62 CD I-NP +million CD I-NP +of IN B-PP +revenue NN B-NP +and CC O +operating VBG B-NP +profit NN I-NP +of IN B-PP +$ $ B-NP +2.5 CD I-NP +million CD I-NP +. . O + +The DT B-NP +jewelery NN I-NP +chain NN I-NP +was VBD B-VP +put VBN I-VP +up IN B-ADVP +for IN B-PP +sale NN B-NP +in IN B-PP +June NNP B-NP +. . O + +According VBG B-PP +to TO B-PP +those DT B-NP +familiar NN B-ADJP +with IN B-PP +the DT B-NP +situation NN I-NP +, , O +other JJ B-NP +bidders NNS I-NP +included VBD B-VP +Ratners NNP B-NP +Group NNP I-NP +PLC NNP I-NP +of IN B-PP +London NNP B-NP +and CC O +Kay NNP B-NP +Jewelers NNP I-NP +Inc NNP I-NP +. . O + +First NNP B-NP +Boston NNP I-NP +Corp. NNP I-NP +is VBZ B-VP +advising VBG I-VP +L.J. NNP B-NP +Hooker NNP I-NP +on IN B-PP +the DT B-NP +sale NN I-NP +of IN B-PP +the DT B-NP +Merksamer NNP I-NP +business NN I-NP +. . O + +Merksamer NNP B-NP +was VBD B-VP +the DT B-NP +first JJ I-NP +in IN B-PP +a DT B-NP +series NN I-NP +of IN B-PP +retail JJ B-NP +acquisitions NNS I-NP +made VBN B-VP +by IN B-PP +L.J. NNP B-NP +Hooker NNP I-NP +. . O + +The DT B-NP +company NN I-NP +was VBD B-VP +founded VBN I-VP +in IN B-PP +Sacramento NNP B-NP +in IN B-PP +1929 CD B-NP +by IN B-PP +two CD B-NP +brothers NNS I-NP +, , O +Ralph NNP B-NP +and CC I-NP +Walter NNP I-NP +Merksamer NNP I-NP +, , O +who WP B-NP +operated VBD B-VP +as IN B-PP +DeVon NNP B-NP +'s POS B-NP +Jewelers NNPS I-NP +. . O + +In IN B-PP +1979 CD B-NP +, , O +the DT B-NP +pair NN I-NP +split NN B-VP +the DT B-NP +company NN I-NP +in IN B-PP +half NN B-NP +, , O +with IN B-PP +Walter NNP B-NP +and CC O +his PRP$ B-NP +son NN I-NP +, , O +Sam NNP B-NP +, , O +agreeing VBG B-VP +to TO I-VP +operate VB I-VP +under IN B-PP +the DT B-NP +Merksamer NNP I-NP +Jewelery NNP I-NP +name NN I-NP +. . O + +The DT B-NP +sale NN I-NP +of IN B-PP +Merksamer NNP B-NP +Jewelers NNPS I-NP +is VBZ B-VP +subject NN B-ADJP +to TO B-PP +approval NN B-NP +by IN B-PP +Judge NNP B-NP +Tina NNP I-NP +Brozman NNP I-NP +of IN B-PP +U.S. NNP B-NP +Bankruptcy NNP I-NP +Court NNP I-NP +. . O + +As IN B-SBAR +earlier RBR B-ADVP +reported VBD B-VP +, , O +L.J. NNP B-NP +Hooker NNP I-NP +this DT B-NP +week NN I-NP +received VBD B-VP +a DT B-NP +$ $ I-NP +409 CD I-NP +million CD I-NP +bid NN I-NP +for IN B-PP +its PRP$ B-NP +three CD I-NP +shopping NN I-NP +malls NNS I-NP +, , O +plus CC O +other JJ B-NP +properties NNS I-NP +from IN B-PP +a DT B-NP +consortium NN I-NP +led VBN B-VP +by IN B-PP +Honolulu NNP B-NP +real-estate NN I-NP +investor NN I-NP +Jay NNP I-NP +Shidler NNP I-NP +and CC O +A. NNP B-NP +Boyd NNP I-NP +Simpson NNP I-NP +, , O +an DT B-NP +Atlanta NNP I-NP +developer NN I-NP +and CC O +former JJ B-NP +L.J. NNP I-NP +Hooker NNP I-NP +senior JJ I-NP +executive NN I-NP +. . O + +The DT B-NP +offer NN I-NP +, , O +which WDT B-NP +did VBD B-VP +n't RB I-VP +include VB I-VP +the DT B-NP +Merksamer NNP I-NP +chain NN I-NP +, , O +is VBZ B-VP +being VBG I-VP +reviewed VBN I-VP +by IN B-PP +Mr. NNP B-NP +Sigoloff NNP I-NP +. . O + +Robert NNP B-NP +J. NNP I-NP +Regal NNP I-NP +was VBD B-VP +named VBN I-VP +president NN B-NP +and CC O +chief JJ B-NP +executive JJ I-NP +officer NN I-NP +of IN B-PP +this DT B-NP +company NN I-NP +'s POS B-NP +Universal-Rundle NNP I-NP +Corp. NNP I-NP +unit NN I-NP +. . O + +Mr. NNP B-NP +Regal NNP I-NP +had VBD B-VP +been VBN I-VP +president NN B-NP +and CC O +chief JJ B-NP +executive NN I-NP +of IN B-PP +RBS NNP B-NP +Industries NNP I-NP +Inc NNP I-NP +. . O + +Robert NNP B-NP +H. NNP I-NP +Carlson NNP I-NP +, , O +previous JJ B-NP +president NN I-NP +and CC I-NP +chief JJ I-NP +executive NN I-NP +of IN B-PP +Universal-Rundle NNP B-NP +, , O +will MD B-VP +assume VB I-VP +the DT B-NP +title NN I-NP +of IN B-PP +chairman NN B-NP +of IN B-PP +the DT B-NP +unit NN I-NP +, , O +a DT B-NP +vitreous-china NN I-NP +maker NN I-NP +. . O + +The DT B-NP +days NNS I-NP +may MD B-VP +be VB I-VP +numbered VBN I-VP +for IN B-PP +animated JJ B-NP +shows NNS I-NP +featuring VBG B-VP +Alf NNP B-NP +, , O +the DT B-NP +Karate NNP I-NP +Kid NNP I-NP +and CC O +the DT B-NP +Chipmunks NNPS I-NP +. . O + +NBC NNP B-NP +, , O +a DT B-NP +leader NN I-NP +in IN B-PP +morning NN B-NP +, , I-NP +prime-time JJ I-NP +and CC I-NP +late JJ I-NP +night NN I-NP +programs NNS I-NP +but CC O +an DT B-NP +also-ran NN I-NP +on IN B-PP +Saturday NNP B-NP +mornings NNS I-NP +, , O +when WRB B-ADVP +children NNS B-NP +rule VBP B-VP +the DT B-NP +TV NN I-NP +set VBN I-NP +, , O +is VBZ B-VP +contemplating VBG I-VP +getting VBG I-VP +out IN B-ADVP +of IN B-PP +the DT B-NP +cartoon NN I-NP +business NN I-NP +. . O + +Instead RB B-ADVP +, , O +network NN B-NP +officials NNS I-NP +say VBP B-VP +, , O +it PRP B-NP +may MD B-VP +`` `` I-VP +counterprogram VB I-VP +'' '' O +with IN B-PP +shows VBZ B-NP +for IN B-PP +an DT B-NP +audience NN I-NP +that WDT B-NP +is VBZ B-VP +virtually RB I-VP +ignored VBN I-VP +in IN B-PP +that DT B-NP +time NN I-NP +period NN I-NP +: : O +adults NNS B-NP +. . O + +`` `` O +There EX B-NP +is VBZ B-VP +talk VB B-NP +of IN B-PP +some DT B-NP +revamping VBG I-NP +and CC O +we PRP B-NP +'re VBP B-VP +certainly RB I-VP +heading VBG I-VP +in IN B-PP +the DT B-NP +direction NN I-NP +of IN B-PP +less JJR B-NP +and CC I-NP +less JJR I-NP +animation NN I-NP +, , O +'' '' O +said VBD B-VP +Joseph NNP B-NP +S. NNP I-NP +Cicero NNP I-NP +, , O +vice NN B-NP +president NN I-NP +of IN B-PP +finance NN B-NP +and CC I-NP +administration NN I-NP +for IN B-PP +National NNP B-NP +Broadcasting NNP I-NP +Co. NNP I-NP +, , O +a DT B-NP +unit NN I-NP +of IN B-PP +General NNP B-NP +Electric NNP I-NP +Co NNP I-NP +. . O + +Mr. NNP B-NP +Cicero NNP I-NP +said VBD B-VP +that IN B-SBAR +NBC NNP B-NP +Entertainment NNP I-NP +president NNP I-NP +Brandon NNP I-NP +Tartikoff NNP I-NP +, , O +who WP B-NP +declined VBD B-VP +to TO I-VP +be VB I-VP +interviewed VBN I-VP +, , O +is VBZ B-VP +`` `` O +looking VBG B-VP +at IN B-PP +options NNS B-NP +now RB B-ADVP +and CC O +may MD B-VP +put VB I-VP +some DT B-NP +things NNS I-NP +into IN B-PP +the DT B-NP +schedule NN I-NP +by IN B-PP +mid-season NN B-NP +. . O +'' '' O + +He PRP B-NP +declined VBD B-VP +to TO I-VP +elaborate VB I-VP +. . O + +NBC NNP B-NP +'s POS B-NP +options NNS I-NP +could MD B-VP +range VB I-VP +from IN B-PP +news-oriented JJ B-NP +programming NN I-NP +to TO B-PP +sports NNS B-NP +shows VBZ I-NP +, , O +although IN B-SBAR +the DT B-NP +network NN I-NP +declined VBD B-VP +to TO I-VP +comment VB I-VP +. . O + +One CD B-NP +major JJ I-NP +NBC NNP I-NP +affiliate NN I-NP +, , O +KCRA NNP B-NP +in IN B-PP +Sacramento NNP B-NP +, , O +plans VBZ B-VP +to TO I-VP +cancel VB I-VP +the DT B-NP +NBC NNP I-NP +Saturday NNP I-NP +morning NN I-NP +line-up NN I-NP +as IN B-PP +of IN I-PP +January NNP B-NP +and CC O +replace VB B-VP +it PRP B-NP +with IN B-PP +a DT B-NP +local JJ I-NP +newscast NN I-NP +. . O + +The DT B-NP +one-hour JJ I-NP +program NN I-NP +will MD B-VP +be VB I-VP +repeated VBN I-VP +with IN B-PP +updates NNS B-NP +throughout IN B-PP +Saturday NNP B-NP +mornings NNS I-NP +. . O + +`` `` O +We PRP B-NP +feel VBP B-VP +there EX B-NP +is VBZ B-VP +an DT B-NP +opportunity NN I-NP +for IN B-PP +an DT B-NP +audience NN I-NP +that WDT B-NP +is VBZ B-VP +not RB I-VP +being VBG I-VP +served VBN I-VP +by IN B-PP +any DT B-NP +network NN I-NP +, , O +so IN O +we PRP B-NP +want VBP B-VP +to TO I-VP +take VB I-VP +the DT B-NP +lead NN I-NP +, , O +'' '' O +says VBZ B-VP +KCRA NNP B-NP +'s POS B-NP +general JJ I-NP +manager NN I-NP +, , O +John NNP B-NP +Kueneke NNP I-NP +. . O + +`` `` O +We PRP B-NP +do VBP B-VP +n't RB I-VP +need VB I-VP +cartoons NNS B-NP +anymore RB B-ADVP +. . O + +They PRP B-NP +only RB B-ADVP +accounted VBD B-VP +for IN B-PP +5 NN B-NP +% NN I-NP +, , O +at IN B-ADVP +best JJS I-ADVP +, , O +of IN B-PP +the DT B-NP +station NN I-NP +'s POS B-NP +total JJ I-NP +revenues NNS I-NP +. . O +'' '' O + +An DT B-NP +NBC NNP I-NP +spokesman NN I-NP +says VBZ B-VP +the DT B-NP +network NN I-NP +will MD B-VP +`` `` I-VP +closely RB I-VP +monitor VB I-VP +'' '' O +the DT B-NP +Sacramento NNP I-NP +situation NN I-NP +, , O +and CC O +says VBZ B-VP +it PRP B-NP +is VBZ B-VP +the DT B-NP +only JJ I-NP +station NN I-NP +to TO B-VP +defect VB I-VP +. . O + +Spokesmen NNS B-NP +for IN B-PP +the DT B-NP +television NN I-NP +networks NNS I-NP +of IN B-PP +CBS NNP B-NP +Inc. NNP I-NP +and CC O +Capital NNP B-NP +Cities\/ABC NNP I-NP +Inc. NNP I-NP +, , O +say VBP B-VP +there EX B-NP +are VBP B-VP +no DT B-NP +plans NNS I-NP +to TO B-VP +alter VB I-VP +the DT B-NP +children NNS I-NP +'s POS B-NP +line-up NN I-NP +on IN B-PP +Saturday NNP B-NP +mornings NNS I-NP +. . O + +The DT B-NP +youthful JJ I-NP +audience NN I-NP +for IN B-PP +Saturday NNP B-NP +programming NN I-NP +is VBZ B-VP +no RB B-ADVP +longer RB I-ADVP +dependent JJ B-ADJP +on IN B-PP +the DT B-NP +networks NNS I-NP +. . O + +There EX B-NP +has VBZ B-VP +been VBN I-VP +a DT B-NP +surge NN I-NP +in IN B-PP +syndicated VBN O +children NNS B-NP +'s POS B-NP +shows VBZ I-NP +to TO B-PP +independent JJ B-NP +stations NNS I-NP +, , O +as RB B-CONJP +well RB I-CONJP +as IN I-CONJP +competition NN B-NP +from IN B-PP +videocassettes NNS B-NP +for IN B-PP +kids NNS B-NP +and CC B-PP +from IN B-PP +cable NN B-NP +outlets NNS I-NP +such JJ B-PP +as IN I-PP +Nickelodeon NNP B-NP +and CC O +the DT B-NP +Disney NNP I-NP +Channel NNP I-NP +. . O + +At IN B-PP +the DT B-NP +same JJ I-NP +time NN I-NP +, , O +there EX B-NP +appears VBZ B-VP +to TO I-VP +be VB I-VP +a DT B-NP +market NN I-NP +for IN B-PP +news-oriented JJ B-NP +programming NN I-NP +; : O +Turner NNP B-NP +Broadcasting NNP I-NP +System NNP I-NP +Inc. NNP I-NP +'s POS B-NP +Cable NNP I-NP +News NNP I-NP +Network NNP I-NP +has VBZ B-VP +its PRP$ B-NP +highest JJS I-NP +ratings NNS I-NP +, , O +outside IN B-ADVP +of IN B-PP +prime JJ B-NP +time NN I-NP +, , O +on IN B-PP +Saturday NNP B-NP +mornings NNS I-NP +. . O + +NBC NNP B-NP +has VBZ B-VP +on IN B-PP +previous JJ B-NP +occasions NNS I-NP +considered VBN B-VP +replacing VBG I-VP +cartoons NNS B-NP +with IN B-PP +a DT B-NP +Saturday NNP I-NP +version NN I-NP +of IN B-PP +`` `` O +Today NN B-NP +, , O +'' '' O +which WDT B-NP +is VBZ B-VP +produced VBN I-VP +by IN B-PP +NBC NNP B-NP +News NNP I-NP +. . O + +The DT B-NP +network NN I-NP +'s POS B-NP +own JJ I-NP +production NN I-NP +company NN I-NP +, , O +NBC NNP B-NP +Productions NNPS I-NP +, , O +supplies VBZ B-VP +a DT B-NP +half-hour NN I-NP +family-oriented JJ I-NP +show NN I-NP +titled VBN B-VP +`` `` O +Saved NNP B-VP +By IN O +The DT B-NP +Bell NNP I-NP +. . O +'' '' O + +NBC NNP B-NP +Productions NNPS I-NP +or CC O +NBC NNP B-NP +News NNP I-NP +could MD B-VP +supply VB I-VP +the DT B-NP +network NN I-NP +with IN B-PP +other JJ B-NP +Saturday NNP I-NP +morning NN I-NP +shows VBZ I-NP +, , O +a DT B-NP +move NN I-NP +that WDT B-NP +would MD B-VP +control VB I-VP +costs NNS B-NP +. . O + +Animated JJ B-NP +shows NNS I-NP +, , O +which WDT B-NP +are VBP B-VP +made VBN I-VP +by IN B-PP +outside IN B-NP +production NN I-NP +companies NNS I-NP +, , O +cost NN B-VP +the DT B-NP +network NN I-NP +about RB B-NP +$ $ I-NP +300,000 CD I-NP +per IN B-PP +episode NN B-NP +. . O + +Rohm NNP B-NP +& CC I-NP +Haas NNP I-NP +Co. NNP I-NP +said VBD B-VP +third-quarter JJ B-NP +net JJ I-NP +income NN I-NP +skidded VBD B-VP +35 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +32.6 CD I-NP +million CD I-NP +, , O +or CC O +49 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +. . O + +In IN B-PP +the DT B-NP +year-earlier JJ I-NP +quarter NN I-NP +, , O +the DT B-NP +chemicals NNS I-NP +company NN I-NP +had VBD B-VP +net NN B-NP +of IN B-PP +$ $ B-NP +49.8 CD I-NP +million CD I-NP +, , O +or CC O +75 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +. . O + +Sales NNS B-NP +were VBD B-VP +$ $ B-NP +623 CD I-NP +million CD I-NP +, , O +up IN B-ADVP +0.5 CD B-NP +% NN I-NP +from IN B-PP +$ $ B-NP +619.8 CD I-NP +million CD I-NP +a DT B-NP +year NN I-NP +ago RB B-ADVP +. . O + +Rohm NNP B-NP +& CC I-NP +Haas NNP I-NP +, , O +which WDT B-NP +plans VBZ B-VP +to TO I-VP +start VB I-VP +operating VBG I-VP +seven CD B-NP +new JJ I-NP +production NN I-NP +units NNS I-NP +this DT B-NP +year NN I-NP +, , O +attributed VBD B-VP +the DT B-NP +profit NN I-NP +slide NN I-NP +partly RB B-ADVP +to TO B-PP +higher JJR B-NP +start-up JJ I-NP +expense NN I-NP +. . O + +The DT B-NP +company NN I-NP +also RB B-ADVP +cited VBD B-VP +the DT B-NP +stronger JJR I-NP +dollar NN I-NP +, , O +which WDT B-NP +cuts VBZ B-VP +the DT B-NP +value NN I-NP +of IN B-PP +overseas JJ B-NP +profit NN I-NP +when WRB B-ADVP +it PRP B-NP +is VBZ B-VP +translated VBN I-VP +into IN B-PP +dollars NNS B-NP +. . O + +In IN B-PP +addition NN B-NP +, , O +the DT B-NP +company NN I-NP +said VBD B-VP +, , O +it PRP B-NP +was VBD B-VP +hurt VBN I-VP +by IN B-PP +higher JJR O +than IN B-PP +previous-year JJ B-ADJP +costs NNS B-NP +for IN B-PP +raw JJ B-NP +materials NNS I-NP +, , O +though IN B-SBAR +those DT B-NP +costs NNS I-NP +have VBP B-VP +declined VBN I-VP +since IN B-PP +the DT B-NP +second JJ I-NP +quarter NN I-NP +. . O + +Incrementally RB B-NP +higher JJR I-NP +production NN I-NP +of IN B-PP +those DT B-NP +chemicals NNS I-NP +which WDT B-NP +remain VBP B-VP +in IN B-PP +heavy JJ B-NP +demand NN I-NP +also RB B-ADVP +has VBZ B-VP +forced VBN I-VP +up IN B-ADJP +costs NNS B-NP +, , O +such JJ B-ADVP +as IN B-PP +overtime NN B-NP +pay NN I-NP +. . O + +For IN B-PP +the DT B-NP +nine CD I-NP +months NNS I-NP +, , O +Rohm NNP B-NP +& CC I-NP +Haas NNP I-NP +net NN I-NP +totaled VBD B-VP +$ $ B-NP +155 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +2.33 CD I-NP +a DT B-NP +share NN I-NP +, , O +down RB B-ADVP +17 CD B-NP +% NN I-NP +from IN B-PP +$ $ B-NP +187.8 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +2.82 CD I-NP +a DT B-NP +share NN I-NP +, , O +a DT B-NP +year NN I-NP +ago RB B-ADVP +. . O + +Sales NNS B-NP +rose VBD B-VP +5.2 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +2.04 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +1.94 CD I-NP +billion CD I-NP +the DT B-NP +previous JJ I-NP +year NN I-NP +. . O + +In IN B-PP +New NNP B-NP +York NNP I-NP +Stock NNP I-NP +Exchange NNP I-NP +composite JJ I-NP +trading NN I-NP +, , O +Rohm NNP B-NP +& CC I-NP +Haas NNP I-NP +closed VBD B-VP +at IN B-PP +$ $ B-NP +33 CD I-NP +a DT B-NP +share NN I-NP +, , O +down RB B-ADVP +$ $ B-NP +1.75 CD I-NP +. . O + +Michael NNP B-NP +A. NNP I-NP +Gaskin NNP I-NP +, , O +55 NN B-NP +years NNS I-NP +old JJ B-ADJP +, , O +was VBD B-VP +named VBN I-VP +president NN B-NP +and CC O +chief JJ B-NP +executive JJ I-NP +officer NN I-NP +of IN B-PP +this DT B-NP +manufacturer NN I-NP +of IN B-PP +industrial JJ B-NP +robots NNS I-NP +, , O +succeeding VBG B-VP +Walter NNP B-NP +K. NNP I-NP +Weisel NNP I-NP +. . O + +Mr. NNP B-NP +Weisel NNP I-NP +, , O +49 CD B-NP +, , O +resigned VBD B-VP +as IN B-PP +president NN B-NP +and CC O +chief JJ B-NP +executive NN I-NP +and CC O +will MD B-VP +work VB I-VP +on IN B-PP +special JJ B-NP +projects NNS I-NP +, , O +said VBD B-VP +John NNP B-NP +J. NNP I-NP +Wallace NNP I-NP +, , O +chairman NN B-NP +. . O + +Mr. NNP B-NP +Gaskin NNP I-NP +formerly RB B-VP +was VBD I-VP +president NN B-NP +and CC O +chief JJ B-NP +executive NN I-NP +of IN B-PP +Taylor NNP B-NP +& CC I-NP +Gaskin NNP I-NP +Inc. NNP I-NP +and CC O +was VBD B-VP +a DT B-NP +director NN I-NP +of IN B-PP +Prab NNP B-NP +Robots NNP I-NP +since IN B-PP +1985 CD B-NP +. . O + +Stephen NNP B-NP +N. NNP I-NP +Wertheimer NNP I-NP +was VBD B-VP +named VBN I-VP +managing VBG B-NP +director NN I-NP +and CC O +group NN B-NP +head NN I-NP +of IN B-PP +investment NN B-NP +banking NN I-NP +in IN B-PP +Asia NNP B-NP +, , O +based VBN B-VP +in IN B-PP +Tokyo NNP B-NP +. . O + +Mr. NNP B-NP +Wertheimer NNP I-NP +, , O +38 CD B-NP +years NNS I-NP +old JJ B-ADJP +, , O +had VBD B-VP +been VBN I-VP +a DT B-NP +first JJ I-NP +vice NN I-NP +president NN I-NP +in IN B-PP +the DT B-NP +industrial JJ I-NP +group NN I-NP +in IN B-PP +investment NN B-NP +banking NN I-NP +. . O + +He PRP B-NP +succeeds VBZ B-VP +Everett NNP B-NP +Meyers NNP I-NP +, , O +who WP B-NP +resigned VBD B-VP +in IN B-PP +May NNP B-NP +. . O + +This DT B-NP +is VBZ B-VP +written VBN I-VP +to TO B-VP +correct VB I-VP +a DT B-NP +misquotation NN I-NP +in IN B-PP +your PRP$ B-NP +Oct. NNP I-NP +3 CD I-NP +article NN I-NP +`` `` O +Deaths NNP B-NP +From IN B-PP +Advanced NNP B-NP +Colon NNP I-NP +Cancer NNP I-NP +Can MD B-VP +Be VB I-VP +Reduced NNP I-VP +by IN B-PP +Using VBG B-VP +Two CD B-NP +Drugs NNS I-NP +. . O +'' '' O + +In IN B-PP +this DT B-NP +article NN I-NP +, , O +I PRP B-NP +was VBD B-VP +alleged VBN I-VP +to TO I-VP +have VB I-VP +said VBD I-VP +, , O +`` `` O +Any DT B-NP +patient NN I-NP +with IN B-PP +high-risk JJ B-NP +colon NN I-NP +cancer NN I-NP +is VBZ B-VP +really RB I-VP +getting VBG I-VP +short JJ B-NP +shrift NN I-NP +if IN B-SBAR +he PRP B-NP +'s VBZ B-VP +not RB I-VP +getting VBG I-VP +this DT B-NP +therapy NN I-NP +. . O +'' '' O + +I PRP B-NP +did VBD B-VP +n't RB I-VP +say VB I-VP +this DT B-NP +, , O +and CC O +I PRP B-NP +'m VBP B-VP +totally RB I-VP +opposed VBN I-VP +to TO B-PP +the DT B-NP +philosophy NN I-NP +expressed VBN B-VP +by IN B-PP +the DT B-NP +quote NN I-NP +. . O + +I PRP B-NP +have VBP B-VP +not RB I-VP +offered VBN I-VP +and CC O +will MD B-VP +not RB I-VP +offer VB I-VP +routine JJ B-NP +therapy NN I-NP +with IN B-PP +the DT B-NP +two CD I-NP +drugs NNS I-NP +, , O +levamisole NN B-NP +and CC I-NP +5-fluorouracil JJ I-NP +, , O +to TO B-PP +any DT B-NP +of IN B-PP +my PRP$ B-NP +colon-cancer NN I-NP +patients NNS I-NP +. . O + +With IN B-PP +this DT B-NP +treatment NN I-NP +we PRP B-NP +have VBP B-VP +reduced VBN I-VP +deaths NNS B-NP +in IN B-PP +high-risk JJ B-NP +colon NN I-NP +cancer NN I-NP +by IN B-PP +one-third NN B-NP +-- : O +but CC O +this DT B-NP +leaves VBZ B-VP +the DT B-NP +two-thirds NNS I-NP +who WP B-NP +are VBP B-VP +dying VBG I-VP +of IN B-PP +cancer NN B-NP +. . O + +This DT B-NP +is VBZ B-VP +not RB O +nearly RB B-ADJP +good JJ I-ADJP +enough RB I-ADJP +. . O + +I PRP B-NP +believe VBP B-VP +any DT B-NP +physician NN I-NP +who WP B-NP +truly RB B-ADVP +cares VBZ B-VP +about IN B-PP +cancer NN B-NP +patients NNS I-NP +, , O +both DT B-NP +today NN I-NP +and CC I-NP +tomorrow NN I-NP +, , O +should MD B-VP +offer VB I-VP +the DT B-NP +hope NN I-NP +of IN B-PP +something NN B-NP +better JJR B-ADJP +than IN B-PP +that DT B-NP +. . O + +My PRP$ B-NP +statement NN I-NP +, , O +read VB B-VP +verbatim RB B-ADVP +from IN B-PP +a DT B-NP +printed VBN I-NP +text NN I-NP +available JJ B-ADJP +to TO B-PP +all DT B-NP +reporters NNS I-NP +attending VBG B-VP +the DT B-NP +National NNP I-NP +Cancer NNP I-NP +Institute NNP I-NP +news NN I-NP +conference NN I-NP +, , O +was VBD B-VP +the DT B-NP +following VBG I-NP +: : O +`` `` O +New NNP B-NP +clinical JJ I-NP +trials NNS I-NP +are VBP B-VP +already RB B-ADVP +in IN B-PP +operation NN B-NP +seeking VBG B-VP +to TO I-VP +improve VB I-VP +these DT B-NP +results NNS I-NP +. . O + +These DT B-NP +research NN I-NP +protocols NNS I-NP +offer VBP B-VP +to TO B-PP +the DT B-NP +patient NN I-NP +not RB O +only RB O +the DT B-NP +very RB I-NP +best JJS I-NP +therapy NN I-NP +which WDT B-NP +we PRP B-NP +have VBP B-VP +established VBN I-VP +today NN B-NP +but CC B-NP +also RB I-NP +the DT B-NP +hope NN I-NP +of IN B-PP +something NN B-NP +still RB B-ADJP +better JJR I-ADJP +. . O + +I PRP B-NP +feel VBP B-VP +any DT B-NP +patient NN I-NP +with IN B-PP +high-risk JJ B-NP +cancer NN I-NP +is VBZ B-VP +getting VBG I-VP +short JJ B-NP +shrift NN I-NP +if IN B-SBAR +he PRP B-NP +is VBZ B-VP +not RB I-VP +offered VBN I-VP +this DT B-NP +opportunity NN I-NP +. . O +'' '' O + +We PRP B-NP +have VBP B-VP +very RB B-NP +exciting JJ I-NP +prospects NNS I-NP +for IN B-PP +far RB B-NP +more RBR I-NP +impressive JJ I-NP +advances NNS I-NP +in IN B-PP +the DT B-NP +treatment NN I-NP +of IN B-PP +colon NN B-NP +cancer NN I-NP +during IN B-PP +the DT B-NP +years NNS I-NP +immediately RB B-ADJP +ahead RB I-ADJP +. . O + +This DT B-NP +hope NN I-NP +, , O +however RB B-ADVP +, , O +will MD B-VP +never RB I-VP +be VB I-VP +realized VBN I-VP +if IN B-SBAR +we PRP B-NP +use VBP B-VP +levamisole NN B-NP +and CC I-NP +5-fluorouracil JJ I-NP +as IN B-PP +a DT B-NP +stopping VBG I-NP +point NN I-NP +. . O + +Charles NNP B-NP +G. NNP I-NP +Moertel NNP I-NP +M.D NNP I-NP +. . O +Mayo NNP B-NP +Clinic NNP I-NP +Rochester NNP B-NP +, , O +Minn NNP B-NP +. . O + +The DT B-NP +oil NN I-NP +and CC I-NP +auto NN I-NP +industries NNS I-NP +, , O +united VBN B-VP +in IN B-PP +their PRP$ B-NP +dislike NN I-NP +of IN B-PP +President NNP B-NP +Bush NNP I-NP +'s POS B-NP +proposal NN I-NP +for IN B-PP +cars NNS B-NP +that WDT B-NP +run VBP B-VP +on IN B-PP +alternative NN B-NP +fuels NNS I-NP +, , O +announced VBD B-VP +a DT B-NP +joint JJ I-NP +research NN I-NP +program NN I-NP +that WDT B-NP +could MD B-VP +turn VB I-VP +up IN B-PRT +a DT B-NP +cleaner-burning JJ I-NP +gasoline NN I-NP +. . O + +Officials NNS B-NP +of IN B-PP +the DT B-NP +Big NNP I-NP +Three CD I-NP +auto NN I-NP +makers NNS I-NP +and CC O +14 CD B-NP +petroleum NN I-NP +companies NNS I-NP +said VBD B-VP +they PRP B-NP +are VBP B-VP +setting VBG I-VP +out IN B-PRT +to TO B-VP +find VB I-VP +the DT B-NP +most RBS I-NP +cost-effective JJ I-NP +fuel NN I-NP +for IN B-PP +reducing VBG B-VP +cities NNS B-NP +' POS B-NP +air-pollution NN I-NP +problems NNS I-NP +, , O +with IN B-PP +no DT B-NP +bias NN I-NP +toward IN B-PP +any DT B-NP +fuel NN I-NP +in IN B-PP +particular NN B-NP +. . O + +However RB B-ADVP +, , O +their PRP$ B-NP +search NN I-NP +notably RB B-ADVP +wo MD B-VP +n't RB I-VP +include VB I-VP +natural JJ B-NP +gas NN I-NP +or CC O +pure JJ B-NP +methanol NN I-NP +-- : O +the DT B-NP +two CD I-NP +front-running JJ I-NP +alternative NN I-NP +fuels NNS I-NP +-- : O +in IN B-PP +tests NNS B-NP +to TO B-VP +be VB I-VP +completed VBN I-VP +by IN B-PP +next JJ B-NP +summer NN I-NP +. . O + +Instead RB B-ADVP +, , O +the DT B-NP +tests NNS I-NP +will MD B-VP +focus VB I-VP +heavily RB B-ADVP +on IN B-PP +new JJ B-NP +blends NNS I-NP +of IN B-PP +gasoline NN B-NP +, , O +which WDT B-NP +are VBP B-VP +still RB B-ADVP +undeveloped JJ B-ADJP +but CC O +which WDT B-NP +the DT B-NP +petroleum NN I-NP +industry NN I-NP +has VBZ B-VP +been VBN I-VP +touting VBG I-VP +as IN B-PP +a DT B-NP +solution NN I-NP +for IN B-PP +automobile NN B-NP +pollution NN I-NP +that WDT B-NP +is VBZ B-VP +choking VBG I-VP +urban JJ B-NP +areas NNS I-NP +. . O + +Environmentalists NNS B-NP +criticized VBD B-VP +the DT B-NP +program NN I-NP +as IN B-PP +merely RB B-NP +a DT I-NP +public-relations NNS I-NP +attempt VBP I-NP +to TO B-VP +head VB I-VP +off IN B-PRT +a DT B-NP +White NNP I-NP +House NNP I-NP +proposal NN I-NP +to TO B-VP +require VB I-VP +a DT B-NP +million CD I-NP +cars NNS I-NP +a DT B-NP +year NN I-NP +that WDT B-NP +run VBP B-VP +on IN B-PP +cleaner-burning JJ B-NP +fuels NNS I-NP +by IN B-PP +1997 CD B-NP +. . O + +While IN B-SBAR +major JJ B-NP +oil NN I-NP +companies NNS I-NP +have VBP B-VP +been VBN I-VP +experimenting VBG I-VP +with IN B-PP +cleaner-burning JJ B-NP +gasoline NN I-NP +blends NNS I-NP +for IN B-PP +years NNS B-NP +, , O +only RB B-NP +Atlantic NNP I-NP +Richfield NNP I-NP +Co. NNP I-NP +is VBZ B-VP +now RB I-VP +marketing VBG I-VP +a DT B-NP +lower-emission NN I-NP +gasoline NN I-NP +for IN B-PP +older JJR B-NP +cars NNS I-NP +currently RB B-VP +running VBG I-VP +on IN B-PP +leaded JJ B-NP +fuel NN I-NP +. . O + +The DT B-NP +initial JJ I-NP +$ $ I-NP +11 CD I-NP +million CD I-NP +research NN I-NP +program NN I-NP +will MD B-VP +conduct VB I-VP +the DT B-NP +most RBS I-NP +extensive JJ I-NP +testing NN I-NP +to TO B-PP +date VB B-NP +of IN B-PP +reformulated VBN B-NP +gasolines NNS I-NP +, , O +said VBD B-VP +Joe NNP B-NP +Colucci NNP I-NP +, , O +head NN B-NP +of IN B-PP +fuels NNS B-NP +and CC I-NP +lubricants NNS I-NP +at IN B-PP +General NNP B-NP +Motors NNPS I-NP +Corp. NNP I-NP +research NN I-NP +laboratories NNS I-NP +. . O + +It PRP B-NP +will MD B-VP +compare VB I-VP +21 CD B-NP +different JJ I-NP +blends NNS I-NP +of IN B-PP +gasolines NNS B-NP +with IN B-PP +three CD B-NP +mixtures NNS I-NP +of IN B-PP +up IN B-NP +to TO I-NP +85 CD I-NP +% NN I-NP +methanol NN I-NP +. . O + +A DT B-NP +second JJ I-NP +phase NN I-NP +of IN B-PP +research NN B-NP +, , O +which WDT B-NP +is VBZ B-VP +still RB I-VP +being VBG I-VP +planned VBN I-VP +, , O +will MD B-VP +test VB I-VP +reformulated VBN B-NP +gasolines NNS I-NP +on IN B-PP +newer JJR B-NP +engine NN I-NP +technologies NNS I-NP +now RB B-ADVP +being VBG B-VP +developed VBN I-VP +for IN B-PP +use NN B-NP +in IN B-PP +1992 CD B-NP +or CC I-NP +1993 CD I-NP +cars NNS I-NP +. . O + +There EX B-NP +was VBD B-VP +no DT B-NP +cost NN I-NP +estimate NN I-NP +for IN B-PP +the DT B-NP +second JJ I-NP +phase NN I-NP +. . O + +`` `` O +The DT B-NP +whole JJ I-NP +idea NN I-NP +here RB I-NP +is VBZ B-VP +the DT B-NP +automobile NN I-NP +and CC I-NP +oil NN I-NP +companies NNS I-NP +have VBP B-VP +joint JJ B-NP +customers NNS I-NP +, , O +'' '' O +said VBD B-VP +Keith NNP B-NP +McHenry NNP I-NP +, , O +a DT B-NP +senior JJ I-NP +vice NN I-NP +president NN I-NP +of IN B-PP +technology NN B-NP +at IN B-PP +Amoco NNP B-NP +Corp NNP I-NP +. . O + +`` `` O +And CC O +we PRP B-NP +are VBP B-VP +looking VBG I-VP +for IN B-PP +the DT B-NP +most RBS I-NP +cost-effective JJ I-NP +way NN I-NP +to TO B-VP +clean VB I-VP +up IN B-PRT +the DT B-NP +air NN I-NP +. . O +'' '' O + +But CC O +David NNP B-NP +Hawkins NNP I-NP +, , O +an DT B-NP +environmental JJ I-NP +lawyer NN I-NP +with IN B-PP +the DT B-NP +Natural NNP I-NP +Resources NNP I-NP +Defense NNP I-NP +Council NNP I-NP +, , O +said VBD B-VP +the DT B-NP +research NN I-NP +appears VBZ B-VP +merely RB I-VP +to TO I-VP +be VB I-VP +a DT B-NP +way NN I-NP +to TO B-VP +promote VB I-VP +reformulated VBN B-NP +gasoline NN I-NP +. . O + +Oil NNP B-NP +and CC I-NP +auto NN I-NP +companies NNS I-NP +supported VBD B-VP +a DT B-NP +move NN I-NP +on IN B-PP +Capitol NNP B-NP +Hill NNP I-NP +last JJ B-NP +week NN I-NP +to TO B-VP +gut VB I-VP +Mr. NNP B-NP +Bush NNP I-NP +'s POS B-NP +plans NNS I-NP +to TO B-VP +require VB I-VP +auto NN B-NP +makers NNS I-NP +to TO B-VP +begin VB I-VP +selling VBG I-VP +alternative-fueled JJ B-NP +cars NNS I-NP +by IN B-PP +1995 CD B-NP +. . O + +Instead RB B-ADVP +, , O +a DT B-NP +House NNP I-NP +subcommittee NN I-NP +adopted VBD B-VP +a DT B-NP +clean-fuels NNS I-NP +program VBP I-NP +that WDT B-NP +specifically RB B-ADVP +mentions VBZ B-VP +reformulated VBN B-NP +gasoline NN I-NP +as IN B-PP +an DT B-NP +alternative NN I-NP +. . O + +The DT B-NP +Bush NNP I-NP +administration NN I-NP +has VBZ B-VP +said VBD I-VP +it PRP B-NP +will MD B-VP +try VB I-VP +to TO I-VP +resurrect VB I-VP +its PRP$ B-NP +plan NN I-NP +when WRB B-ADVP +the DT B-NP +House NNP I-NP +Energy NNP I-NP +and CC I-NP +Commerce NNP I-NP +Committee NNP I-NP +takes VBZ B-VP +up IN B-PRT +a DT B-NP +comprehensive JJ I-NP +clean-air JJ I-NP +bill NN I-NP +. . O + +William NNP B-NP +Seidman NNP I-NP +, , O +chairman NN B-NP +of IN B-PP +the DT B-NP +Federal NNP I-NP +Deposit NNP I-NP +Insurance NNP I-NP +Corp. NNP I-NP +, , O +said VBD B-VP +Lincoln NNP B-NP +Savings NNP I-NP +& CC I-NP +Loan NNP I-NP +Association NNP I-NP +should MD B-VP +have VB I-VP +been VBN I-VP +seized VBN I-VP +by IN B-PP +the DT B-NP +government NN I-NP +in IN B-PP +1986 CD B-NP +to TO B-VP +contain VB I-VP +losses NNS B-NP +that IN B-NP +he PRP B-NP +estimated VBD B-VP +will MD B-VP +cost VB I-VP +taxpayers NNS B-NP +as RB B-NP +much JJ I-NP +as IN I-NP +$ $ I-NP +2 CD I-NP +billion CD I-NP +. . O + +Mr. NNP B-NP +Seidman NNP I-NP +, , O +who WP B-NP +has VBZ B-VP +been VBN I-VP +the DT B-NP +nation NN I-NP +'s POS B-NP +top JJ I-NP +bank NN I-NP +regulator NN I-NP +, , O +inherited VBD B-VP +the DT B-NP +problems NNS I-NP +of IN B-PP +Lincoln NNP B-NP +, , O +based VBN B-VP +in IN B-PP +Irvine NNP B-NP +, , O +Calif. NNP B-NP +, , O +after IN B-SBAR +his PRP$ B-NP +regulatory JJ I-NP +role NN I-NP +was VBD B-VP +expanded VBN I-VP +by IN B-PP +the DT B-NP +new JJ I-NP +savings-and-loan JJ I-NP +bailout NN I-NP +law NN I-NP +. . O + +He PRP B-NP +made VBD B-VP +his PRP$ B-NP +comments NNS I-NP +before IN B-PP +House NNP B-NP +Banking NNP I-NP +Committee NNP I-NP +hearings NNS I-NP +to TO B-VP +investigate VB I-VP +what WP B-NP +appears VBZ B-VP +to TO I-VP +be VB I-VP +the DT B-NP +biggest JJS I-NP +thrift NN I-NP +disaster NN I-NP +in IN B-PP +a DT B-NP +scandal-ridden JJ I-NP +industry NN I-NP +. . O + +The DT B-NP +inquiry NN I-NP +also RB B-ADVP +will MD B-VP +cover VB I-VP +the DT B-NP +actions NNS I-NP +of IN B-PP +Charles NNP B-NP +Keating NNP I-NP +Jr. NNP I-NP +, , O +who WP B-NP +is VBZ B-VP +chairman NN B-NP +of IN B-PP +American NNP B-NP +Continental NNP I-NP +Corp. NNP I-NP +, , O +Lincoln NNP B-NP +'s POS B-NP +parent NN I-NP +, , O +and CC O +who WP B-NP +contributed VBD B-VP +heavily RB B-ADVP +to TO B-PP +several JJ B-NP +U.S. NNP I-NP +senators NNS I-NP +. . O + +Mr. NNP B-NP +Seidman NNP I-NP +told VBD B-VP +the DT B-NP +committee NN I-NP +that IN B-SBAR +the DT B-NP +Resolution NNP I-NP +Trust NNP I-NP +Corp. NNP I-NP +, , O +the DT B-NP +agency NN I-NP +created VBN B-VP +to TO B-VP +sell VB I-VP +sick JJ B-NP +thrifts NNS I-NP +, , O +has VBZ B-VP +studied VBN I-VP +Lincoln NNP B-NP +'s POS B-NP +examination NN I-NP +reports NNS I-NP +by IN B-PP +former JJ B-NP +regulators NNS I-NP +dating VBG B-VP +back RB B-ADVP +to TO B-PP +1986 CD B-NP +. . O + +`` `` O +My PRP$ B-NP +staff NN I-NP +indicated VBD B-VP +that WDT B-SBAR +had VBD O +we PRP B-NP +made VBD B-VP +such JJ B-NP +findings NNS I-NP +in IN B-PP +one CD B-NP +of IN B-PP +our PRP$ B-NP +own JJ I-NP +institutions NNS I-NP +, , O +we PRP B-NP +would MD B-VP +have VB I-VP +sought VBN I-VP +an DT B-NP +immediate JJ I-NP +cease-and-desist JJ I-NP +order NN I-NP +to TO B-VP +stop VB I-VP +the DT B-NP +hazardous JJ I-NP +operations NNS I-NP +, , O +'' '' O +Mr. NNP B-NP +Seidman NNP I-NP +said VBD B-VP +. . O + +When WRB B-ADVP +Lincoln NNP B-NP +was VBD B-VP +seized VBN I-VP +by IN B-PP +the DT B-NP +government NN I-NP +, , O +for IN B-PP +example NN B-NP +, , O +15 CD B-NP +% NN I-NP +of IN B-PP +its PRP$ B-NP +loans NNS I-NP +, , O +or CC O +$ $ B-NP +250 CD I-NP +million CD I-NP +, , O +were VBD B-VP +to TO B-PP +borrowers NNS B-NP +who WP B-NP +were VBD B-VP +buying VBG I-VP +real JJ B-NP +estate NN I-NP +from IN B-PP +one CD B-NP +of IN B-PP +American NNP B-NP +Continental NNP I-NP +'s POS B-NP +50 CD I-NP +other JJ I-NP +subsidiaries NNS I-NP +, , O +according VBG B-PP +to TO B-PP +Mr. NNP B-NP +Seidman NNP I-NP +. . O + +But CC O +the DT B-NP +government NN I-NP +did VBD B-VP +n't RB I-VP +step VB I-VP +in IN B-ADVP +until IN B-PP +six CD B-NP +months NNS I-NP +ago RB B-ADVP +, , O +when WRB B-ADVP +thrift NN B-NP +officials NNS I-NP +put VBP B-VP +Lincoln NNP B-NP +into IN B-PP +conservatorship NN B-NP +-- : O +the DT B-NP +day NN I-NP +after IN B-SBAR +American NNP B-NP +Continental NNP I-NP +filed VBD B-VP +for IN B-PP +Chapter NN B-NP +11 CD I-NP +bankruptcy NN I-NP +protection NN I-NP +from IN B-PP +creditors NNS B-NP +. . O + +The DT B-NP +bankruptcy NN I-NP +filing NN I-NP +, , O +the DT B-NP +government NN I-NP +has VBZ B-VP +charged VBN I-VP +in IN B-PP +a DT B-NP +$ $ I-NP +1.1 CD I-NP +billion CD I-NP +civil JJ I-NP +lawsuit NN I-NP +, , O +was VBD B-VP +part NN B-NP +of IN B-PP +a DT B-NP +pattern NN I-NP +to TO B-VP +shift VB I-VP +insured VBN B-NP +deposits NNS I-NP +to TO B-PP +the DT B-NP +parent NN I-NP +company NN I-NP +, , O +which WDT B-NP +used VBD B-VP +the DT B-NP +deposits NNS I-NP +as IN B-PP +a DT B-NP +cache NN I-NP +for IN B-PP +real-estate NN B-NP +deals NNS I-NP +. . O + +The DT B-NP +deposits NNS I-NP +that WDT B-NP +have VBP B-VP +been VBN I-VP +transferred VBN I-VP +to TO B-PP +other JJ B-NP +subsidiaries NNS I-NP +are VBP B-VP +now RB B-ADVP +under IN B-PP +the DT B-NP +jurisdiction NN I-NP +of IN B-PP +the DT B-NP +bankruptcy NN I-NP +court NN I-NP +. . O + +`` `` O +I PRP B-NP +think VBP B-VP +it PRP B-NP +'s VBZ B-VP +fairly RB B-ADJP +clear JJ I-ADJP +-LCB- ( O +Mr. NNP B-NP +Keating NNP I-NP +-RCB- ) O +knew VBD B-VP +, , O +'' '' O +that IN B-SBAR +regulators NNS B-NP +were VBD B-VP +set VBN I-VP +to TO I-VP +seize VB I-VP +Lincoln NNP B-NP +, , O +Mr. NNP B-NP +Seidman NNP I-NP +said VBD B-VP +. . O + +Further JJ B-NP +investigation NN I-NP +, , O +he PRP B-NP +said VBD B-VP +, , O +may MD B-VP +result VB I-VP +in IN B-PP +further JJ B-NP +actions NNS I-NP +against IN B-PP +Lincoln NNP B-NP +'s POS B-NP +executives NNS I-NP +, , O +said VBD B-VP +Mr. NNP B-NP +Seidman NNP I-NP +, , O +`` `` O +including VBG B-PP +fraud NN B-NP +actions NNS I-NP +. . O +'' '' O + +Mr. NNP B-NP +Keating NNP I-NP +, , O +for IN B-PP +his PRP$ B-NP +part NN I-NP +, , O +has VBZ B-VP +filed VBN I-VP +suit NN B-NP +alleging VBG B-VP +that IN B-SBAR +regulators NNS B-NP +unlawfully RB B-VP +seized VBN I-VP +the DT B-NP +thrift NN I-NP +. . O + +Leonard NNP B-NP +Bickwit NNP I-NP +, , O +an DT B-NP +attorney NN I-NP +in IN B-PP +Washington NNP B-NP +for IN B-PP +Mr. NNP B-NP +Keating NNP I-NP +, , O +declined VBD B-VP +to TO I-VP +comment VB I-VP +on IN B-PP +the DT B-NP +hearings NNS I-NP +, , O +except VB B-SBAR +to TO B-VP +say VB I-VP +, , O +`` `` O +We PRP B-NP +will MD B-VP +be VB I-VP +responding VBG I-VP +comprehensively RB B-ADVP +in IN B-PP +several JJ B-NP +forums NNS I-NP +to TO B-PP +each DT B-NP +of IN B-PP +these DT B-NP +allegations NNS I-NP +at IN B-PP +the DT B-NP +appropriate JJ I-NP +time NN I-NP +. . O +'' '' O + +Lincoln NNP B-NP +'s POS B-NP +treatment NN I-NP +by IN B-PP +former JJ B-NP +thrift NN I-NP +regulators NNS I-NP +, , O +in IN B-PP +an DT B-NP +agency NN I-NP +disbanded VBN B-VP +by IN B-PP +the DT B-NP +new JJ I-NP +law NN I-NP +, , O +has VBZ B-VP +proved VBN I-VP +embarrassing JJ B-ADJP +for IN B-PP +five CD B-NP +senators NNS I-NP +who WP B-NP +received VBD B-VP +thousands NNS B-NP +of IN B-PP +dollars NNS B-NP +in IN B-PP +campaign NN B-NP +contributions NNS I-NP +from IN B-PP +Mr. NNP B-NP +Keating NNP I-NP +. . O + +Mr. NNP B-NP +Seidman NNP I-NP +said VBD B-VP +yesterday NN B-NP +, , O +for IN B-PP +example NN B-NP +, , O +that IN B-SBAR +Sen. NNP B-NP +Dennis NNP I-NP +DeConcini NNP I-NP +-LRB- ( O +D. NNP B-NP +, , O +Ariz. NNP B-NP +-RRB- ) O +, , O +who WP B-NP +received VBD B-VP +$ $ B-NP +48,100 CD I-NP +in IN B-PP +contributions NNS B-NP +from IN B-PP +Mr. NNP B-NP +Keating NNP I-NP +, , O +phoned VBD B-VP +Mr. NNP B-NP +Seidman NNP I-NP +to TO B-VP +request VB I-VP +that IN B-SBAR +he PRP B-NP +push VBP B-VP +for IN B-PP +a DT B-NP +sale NN I-NP +of IN B-PP +Lincoln NNP B-NP +before IN B-SBAR +it PRP B-NP +would MD B-VP +be VB I-VP +seized VBN I-VP +. . O + +After IN B-SBAR +the DT B-NP +government NN I-NP +lawsuit NN I-NP +was VBD B-VP +filed VBN I-VP +against IN B-PP +Lincoln NNP B-NP +, , O +Sen. NNP B-NP +DeConcini NNP I-NP +returned VBD B-VP +the DT B-NP +campaign NN I-NP +contributions NNS I-NP +. . O + +The DT B-NP +senator NN I-NP +'s POS B-NP +spokesman NN I-NP +said VBD B-VP +yesterday NN B-NP +that IN B-SBAR +he PRP B-NP +pushed VBD B-VP +for IN B-PP +the DT B-NP +sale NN I-NP +of IN B-PP +Lincoln NNP B-NP +because IN B-SBAR +`` `` O +hundreds NNS B-NP +of IN B-PP +Arizona NNP B-NP +jobs NNS I-NP +-LCB- ( O +at IN B-PP +Lincoln NNP B-NP +-RCB- ) O +were VBD B-VP +on IN B-PP +the DT B-NP +line NN I-NP +. . O +'' '' O + +Senate NNP B-NP +Banking NNP I-NP +Committee NNP I-NP +Chairman NNP I-NP +Donald NNP I-NP +Riegle NNP I-NP +-LRB- ( O +D. NNP B-NP +, , O +Mich NNP B-NP +. . O +-RRB- ) O +has VBZ B-VP +also RB I-VP +returned VBN I-VP +contributions NNS B-NP +he PRP B-NP +received VBD B-VP +from IN B-PP +Mr. NNP B-NP +Keating NNP I-NP +a DT B-NP +year NN I-NP +ago RB B-ADVP +. . O + +Sens. NNP O +John NNP O +Glenn NNP O +-LRB- ( O +D. NNP B-NP +, , O +Ohio NNP B-NP +-RRB- ) O +, , O +John NNP O +McCain NNP O +, , O +-LRB- ( O +R. NNP B-NP +, , O +Ariz. NNP B-NP +-RRB- ) O +and CC B-NP +Alan NNP I-NP +Cranston NNP I-NP +-LRB- ( O +D. NNP B-NP +, , O +Calif. NNP B-NP +-RRB- ) O +also RB B-ADVP +received VBD B-VP +substantial JJ B-NP +contributions NNS I-NP +from IN B-PP +Mr. NNP B-NP +Keating NNP I-NP +and CC O +sought VBD B-VP +to TO I-VP +intervene VB I-VP +on IN B-PP +behalf NN B-NP +of IN B-PP +Lincoln NNP B-NP +. . O + +House NNP B-NP +Banking NNP I-NP +Committee NNP I-NP +Chairman NNP I-NP +Henry NNP I-NP +Gonzalez NNP I-NP +-LRB- ( O +D. NNP B-NP +, , O +Texas NNP B-NP +-RRB- ) O +said VBD B-VP +Sen. NNP B-NP +Cranston NNP I-NP +volunteered VBD B-VP +to TO I-VP +appear VB I-VP +before IN B-PP +the DT B-NP +House NNP I-NP +committee NN I-NP +, , O +if IN B-SBAR +necessary JJ B-ADJP +. . O + +But CC O +a DT B-NP +committee NN I-NP +staff NN I-NP +member NN I-NP +said VBD B-VP +the DT B-NP +panel NN I-NP +is VBZ B-VP +unlikely JJ B-ADJP +to TO B-VP +pursue VB I-VP +closely RB B-ADVP +the DT B-NP +role NN I-NP +of IN B-PP +the DT B-NP +senators NNS I-NP +. . O + +At IN B-PP +the DT B-NP +hearing NN I-NP +, , O +Mr. NNP B-NP +Seidman NNP I-NP +said VBD B-VP +the DT B-NP +RTC NNP I-NP +has VBZ B-VP +already RB I-VP +pumped VBN I-VP +$ $ B-NP +729 CD I-NP +million CD I-NP +into IN B-PP +Lincoln NNP B-NP +for IN B-PP +liquidity NN B-NP +. . O + +He PRP B-NP +also RB B-ADVP +held VBD B-VP +out IN B-PRT +little JJ B-NP +hope NN I-NP +of IN B-PP +restitution NN B-NP +for IN B-PP +purchasers NNS B-NP +of IN B-PP +$ $ B-NP +225 CD I-NP +million CD I-NP +in IN B-PP +American NNP B-NP +Continental NNP I-NP +subordinated VBD I-NP +debt NN I-NP +. . O + +Some DT B-NP +of IN B-PP +those DT B-NP +debtholders NNS I-NP +have VBP B-VP +filed VBN I-VP +a DT B-NP +suit NN I-NP +, , O +saying VBG B-VP +they PRP B-NP +believed VBD B-VP +they PRP B-NP +were VBD B-VP +buying VBG I-VP +government-insured JJ B-NP +certificates NNS I-NP +of IN B-PP +deposit NN B-NP +. . O + +`` `` O +We PRP B-NP +have VBP B-VP +no DT B-NP +plans NNS I-NP +at IN B-PP +this DT B-NP +time NN I-NP +to TO B-VP +pay VB I-VP +off IN B-PRT +those DT B-NP +notes NNS I-NP +, , O +'' '' O +he PRP B-NP +said VBD B-VP +. . O + +Eastern NNP B-NP +Airlines NNPS I-NP +' POS B-NP +creditors NNS I-NP +committee NN I-NP +, , O +unhappy JJ B-ADJP +with IN B-PP +the DT B-NP +carrier NN I-NP +'s POS B-NP +plans NNS I-NP +for IN B-PP +emerging VBG B-VP +from IN B-PP +bankruptcy-law NN B-NP +proceedings NNS I-NP +, , O +asked VBD B-VP +its PRP$ B-NP +own JJ I-NP +experts NNS I-NP +to TO B-VP +devise VB I-VP +alternate JJ B-NP +approaches NNS I-NP +to TO B-PP +a DT B-NP +reorganization NN I-NP +. . O + +Representatives NNS B-NP +of IN B-PP +the DT B-NP +accounting NN I-NP +firm NN I-NP +of IN B-PP +Ernst NNP B-NP +& CC I-NP +Young NNP I-NP +and CC O +the DT B-NP +securities NNS I-NP +firm NN I-NP +of IN B-PP +Goldman NNP B-NP +, , I-NP +Sachs NNP I-NP +& CC I-NP +Co. NNP I-NP +, , O +hired VBN B-VP +by IN B-PP +creditors NNS B-NP +to TO B-VP +consult VB I-VP +on IN B-PP +Eastern NNP B-NP +'s POS B-NP +financial JJ I-NP +plans NNS I-NP +, , O +told VBD B-VP +the DT B-NP +committee NN I-NP +in IN B-PP +a DT B-NP +private JJ I-NP +meeting NN I-NP +yesterday NN B-NP +that IN B-SBAR +Eastern NNP B-NP +'s POS B-NP +latest JJS I-NP +plan NN I-NP +to TO B-VP +emerge VB I-VP +from IN B-PP +bankruptcy-law NN B-NP +protection NN I-NP +is VBZ B-VP +far RB B-ADJP +riskier JJR I-ADJP +than IN B-PP +an DT B-NP +earlier RBR I-NP +one CD I-NP +which WDT B-NP +won VBD B-VP +the DT B-NP +creditors NNS I-NP +' POS B-NP +approval NN I-NP +. . O + +According VBG B-PP +to TO B-PP +one CD B-NP +person NN I-NP +present JJ B-ADJP +at IN B-PP +the DT B-NP +meeting NN I-NP +, , O +Eastern NNP B-NP +'s POS B-NP +new JJ I-NP +plan NN I-NP +is VBZ B-VP +financially RB B-ADJP +`` `` I-ADJP +overly RB I-ADJP +optimistic JJ I-ADJP +. . O +'' '' O + +Asked VBN B-VP +about IN B-PP +the DT B-NP +consultants NNS I-NP +' POS B-NP +reports NNS I-NP +, , O +an DT B-NP +Eastern NNP I-NP +spokeswoman NN I-NP +said VBD B-VP +`` `` O +we PRP B-NP +totally RB B-VP +disagree VBP I-VP +. . O +'' '' O + +She PRP B-NP +said VBD B-VP +they PRP B-NP +have VBP B-VP +`` `` O +oversimplified VBN B-VP +and CC O +made VBD B-VP +some DT B-NP +erroneous JJ I-NP +assumptions NNS I-NP +that WDT B-NP +make VBP B-VP +their PRP$ B-NP +analysis NN I-NP +completely RB B-ADJP +off-base JJ I-ADJP +. . O +'' '' O + +At IN B-PP +a DT B-NP +later JJ I-NP +news NN I-NP +conference NN I-NP +here RB I-NP +, , O +Frank NNP B-NP +Lorenzo NNP I-NP +, , O +chairman NN B-NP +of IN B-PP +Eastern NNP B-NP +'s POS B-NP +parent NN I-NP +Texas NNP I-NP +Air NNP I-NP +Corp. NNP I-NP +, , O +said VBD B-VP +Eastern NNP B-NP +was VBD B-VP +exceeding VBG I-VP +its PRP$ B-NP +goals NNS I-NP +for IN B-PP +getting VBG B-VP +back RB B-ADVP +into IN B-PP +operation NN B-NP +and CC O +predicted VBD B-VP +it PRP B-NP +would MD B-VP +emerge VB I-VP +from IN B-PP +Chapter NN B-NP +11 CD I-NP +protection NN I-NP +from IN B-PP +creditors NNS B-NP +early JJ B-NP +next JJ I-NP +year NN I-NP +, , O +operating VBG B-VP +with IN B-PP +more JJR B-NP +service NN I-NP +than IN B-SBAR +it PRP B-NP +originally RB B-ADVP +had VBD B-VP +scheduled VBN I-VP +. . O + +He PRP B-NP +insisted VBD B-VP +, , O +as IN B-SBAR +he PRP B-NP +has VBZ B-VP +before RB B-ADVP +, , O +that IN B-SBAR +creditors NNS B-NP +would MD B-VP +be VB I-VP +paid VBN I-VP +in IN B-PP +full JJ B-ADJP +under IN B-PP +the DT B-NP +plan NN I-NP +. . O + +Mr. NNP B-NP +Lorenzo NNP I-NP +made VBD B-VP +no DT B-NP +mention NN I-NP +of IN B-PP +creditors NNS B-NP +' POS B-NP +negative JJ I-NP +response NN I-NP +to TO B-PP +his PRP$ B-NP +plan NN I-NP +. . O + +`` `` O +We PRP B-NP +'re VBP B-VP +in IN B-PP +the DT B-NP +process NN I-NP +of IN B-PP +discussing VBG B-VP +an DT B-NP +amended VBN I-NP +plan NN I-NP +with IN B-PP +the DT B-NP +creditors NNS I-NP +and CC O +anticipate VB B-VP +filing NN I-VP +that WDT B-NP +amended VBD I-NP +plan NN I-NP +shortly RB B-ADVP +, , O +'' '' O +Mr. NNP B-NP +Lorenzo NNP I-NP +told VBD B-VP +reporters NNS B-NP +. . O + +`` `` O +We PRP B-NP +'re VBP B-VP +meeting VBG I-VP +and CC I-VP +surpassing VBG I-VP +our PRP$ B-NP +goals NNS I-NP +, , O +'' '' O +he PRP B-NP +added VBD B-VP +. . O + +In IN B-PP +July NNP B-NP +, , O +Eastern NNP B-NP +and CC O +its PRP$ B-NP +creditors NNS I-NP +agreed VBD B-VP +on IN B-PP +a DT B-NP +reorganization NN I-NP +plan NN I-NP +that WDT B-NP +called VBD B-VP +for IN B-SBAR +Eastern NNP B-NP +to TO B-VP +sell VB I-VP +$ $ B-NP +1.8 CD I-NP +billion CD I-NP +in IN B-PP +assets NNS B-NP +and CC O +to TO B-VP +emerge VB I-VP +from IN B-PP +bankruptcy-law NN B-NP +protection NN I-NP +at IN B-PP +two-thirds NNS B-NP +its PRP$ I-NP +former JJ I-NP +size NN I-NP +. . O + +But CC O +after IN B-PP +selling VBG B-VP +off IN B-PRT +pieces NNS B-NP +such JJ B-PP +as IN I-PP +its PRP$ B-NP +East NNP I-NP +Coast NNP I-NP +shuttle NN I-NP +, , O +its PRP$ B-NP +Philadelphia NNP I-NP +hub NN I-NP +and CC O +various JJ B-NP +planes NNS I-NP +, , O +Eastern NNP B-NP +hit VBD B-VP +a DT B-NP +stumbling VBG I-NP +block NN I-NP +. . O + +It PRP B-NP +could MD B-VP +n't RB I-VP +sell VB I-VP +its PRP$ B-NP +South JJ I-NP +American JJ I-NP +routes NNS I-NP +, , O +one CD B-NP +of IN B-PP +the DT B-NP +major JJ I-NP +assets NNS I-NP +marked VBN B-VP +for IN B-PP +disposal NN B-NP +. . O + +Those DT B-NP +routes NNS I-NP +, , O +valued VBN B-VP +by IN B-PP +the DT B-NP +creditors NNS I-NP +' POS B-NP +professionals NNS I-NP +at IN B-PP +about RB B-NP +$ $ I-NP +400 CD I-NP +million CD I-NP +, , O +were VBD B-VP +to TO I-VP +be VB I-VP +sold VBN I-VP +to TO B-PP +AMR NNP B-NP +Corp. NNP I-NP +'s POS B-NP +American NNP I-NP +Airlines NNPS I-NP +. . O + +A DT B-NP +last-minute JJ I-NP +snag NN I-NP +in IN B-PP +negotiations NNS B-NP +with IN B-PP +AMR NNP B-NP +, , O +over IN B-PP +an DT B-NP +unrelated JJ I-NP +lawsuit NN I-NP +between IN B-PP +American NNP B-NP +and CC O +another DT B-NP +Texas NNP I-NP +Air NNP I-NP +unit NN I-NP +, , O +caused VBD B-VP +the DT B-NP +deal NN I-NP +to TO B-VP +collapse VB I-VP +. . O + +Eastern NNP B-NP +ultimately RB B-ADVP +decided VBD B-VP +it PRP B-NP +would MD B-VP +have VB I-VP +to TO I-VP +keep VB I-VP +and CC I-VP +operate VB I-VP +the DT B-NP +routes NNS I-NP +itself PRP B-NP +, , O +which WDT B-NP +would MD B-VP +leave VB I-VP +it PRP B-NP +with IN B-PP +less JJR B-NP +cash NN I-NP +for IN B-PP +its PRP$ B-NP +reorganization NN I-NP +. . O + +It PRP B-NP +also RB B-ADVP +would MD B-VP +leave VB I-VP +Eastern NNP B-NP +a DT B-NP +bigger JJR I-NP +carrier NN I-NP +than IN B-PP +the DT B-NP +scaled-down JJ I-NP +one CD I-NP +proposed VBN B-VP +under IN B-PP +the DT B-NP +initial JJ I-NP +plan NN I-NP +. . O + +Those DT B-NP +changes NNS I-NP +in IN B-PP +its PRP$ B-NP +condition NN I-NP +meant VBD B-VP +the DT B-NP +reorganization NN I-NP +plan NN I-NP +previously RB B-VP +presented VBD I-VP +to TO B-PP +creditors NNS B-NP +would MD B-VP +have VB I-VP +to TO I-VP +be VB I-VP +revamped VBN I-VP +. . O + +Since IN B-PP +then RB B-NP +, , O +Eastern NNP B-NP +has VBZ B-VP +been VBN I-VP +negotiating VBG I-VP +with IN B-PP +creditors NNS B-NP +over IN B-PP +revisions NNS B-NP +, , O +but CC O +the DT B-NP +creditors NNS I-NP +committee NN I-NP +has VBZ B-VP +been VBN I-VP +having VBG I-VP +problems NNS B-NP +with IN B-PP +the DT B-NP +revisions NNS I-NP +. . O + +The DT B-NP +committee NN I-NP +has VBZ B-VP +two CD B-NP +groups NNS I-NP +of IN B-PP +experts NNS B-NP +it PRP B-NP +calls VBZ B-VP +on IN B-PP +to TO B-VP +analyze VB I-VP +Eastern NNP B-NP +'s POS B-NP +plans NNS I-NP +. . O + +Both DT B-NP +said VBD B-VP +the DT B-NP +new JJ I-NP +plan NN I-NP +would MD B-VP +n't RB I-VP +work VB I-VP +. . O + +Ernst NNP B-NP +& CC I-NP +Young NNP I-NP +said VBD B-VP +Eastern NNP B-NP +'s POS B-NP +plans NNS I-NP +will MD B-VP +miss VB I-VP +its PRP$ B-NP +projections NNS I-NP +of IN B-PP +earnings NNS B-NP +before IN B-PP +interest NN B-NP +, , I-NP +tax NN I-NP +and CC I-NP +depreciation NN I-NP +by IN B-PP +$ $ B-NP +100 CD I-NP +million CD I-NP +, , O +and CC O +that IN B-SBAR +Eastern NNP B-NP +'s POS B-NP +plan NN I-NP +presented VBD B-VP +no DT B-NP +comfort NN I-NP +level NN I-NP +, , O +according VBG B-PP +to TO B-PP +a DT B-NP +source NN I-NP +present JJ B-ADJP +at IN B-PP +yesterday NN B-NP +'s POS B-NP +session NN I-NP +. . O + +Experts NNS B-NP +from IN B-PP +Goldman NNP B-NP +Sachs NNP I-NP +estimated VBD B-VP +Eastern NNP B-NP +would MD B-VP +miss VB I-VP +the DT B-NP +same JJ I-NP +mark NN I-NP +by IN B-PP +$ $ B-NP +120 CD I-NP +million CD I-NP +to TO I-NP +$ $ I-NP +135 CD I-NP +million CD I-NP +, , O +the DT B-NP +source NN I-NP +said VBD B-VP +. . O + +The DT B-NP +experts NNS I-NP +said VBD B-VP +they PRP B-NP +expected VBD B-VP +Eastern NNP B-NP +would MD B-VP +have VB I-VP +to TO I-VP +issue VB I-VP +new JJ B-NP +debt NN I-NP +to TO B-VP +cover VB I-VP +its PRP$ B-NP +costs NNS I-NP +, , O +and CC O +that IN B-SBAR +it PRP B-NP +would MD B-VP +generate VB I-VP +far RB B-NP +less JJR I-NP +cash NN I-NP +than IN B-PP +anticipated VBN B-VP +. . O + +Other JJ B-NP +costs NNS I-NP +also RB B-ADVP +would MD B-VP +increase VB I-VP +, , O +including VBG B-PP +maintenance NN B-NP +, , O +because IN B-SBAR +Eastern NNP B-NP +has VBZ B-VP +an DT B-NP +older JJR I-NP +fleet NN I-NP +. . O + +At IN B-PP +the DT B-NP +news NN I-NP +conference NN I-NP +, , O +Mr. NNP B-NP +Lorenzo NNP I-NP +and CC O +Eastern NNP B-NP +President NNP I-NP +Phil NNP I-NP +Bakes NNP I-NP +presented VBD B-VP +a DT B-NP +far RB I-NP +rosier JJR I-NP +assessment NN I-NP +. . O + +Flanked VBN B-VP +by IN B-PP +flight NN B-NP +attendants NNS I-NP +, , O +pilots NNS B-NP +and CC O +gate NN B-NP +agents NNS I-NP +dressed VBN B-VP +in IN B-PP +spiffy JJ B-NP +new JJ I-NP +blue JJ I-NP +uniforms NNS I-NP +, , O +they PRP B-NP +said VBD B-VP +Eastern NNP B-NP +has VBZ B-VP +exceeded VBN I-VP +its PRP$ B-NP +operational JJ I-NP +goals NNS I-NP +and CC O +is VBZ B-VP +filling VBG I-VP +its PRP$ B-NP +seats NNS I-NP +. . O + +Starting VBG B-VP +next JJ B-NP +month NN I-NP +, , O +Eastern NNP B-NP +will MD B-VP +begin VB I-VP +flying VBG I-VP +775 CD B-NP +flights NNS I-NP +daily JJ B-ADVP +instead RB B-PP +of IN I-PP +the DT B-NP +previously RB I-NP +announced VBN I-NP +700 CD I-NP +, , O +they PRP B-NP +said VBD B-VP +. . O + +Mr. NNP B-NP +Bakes NNP I-NP +declined VBD B-VP +to TO I-VP +give VB I-VP +out IN B-ADVP +Eastern NNP B-NP +'s POS B-NP +daily JJ I-NP +losses NNS I-NP +, , O +but CC O +said VBD B-VP +he PRP B-NP +did VBD B-VP +n't RB I-VP +expect VB I-VP +Eastern NNP B-NP +would MD B-VP +have VB I-VP +to TO I-VP +dip VB I-VP +into IN B-PP +the DT B-NP +cash NN I-NP +from IN B-PP +asset NN B-NP +sales NNS I-NP +currently RB B-VP +held VBN I-VP +in IN B-PP +escrow NN B-NP +. . O + +These DT B-NP +accounts NNS I-NP +hold VBP B-VP +several JJ B-NP +hundred CD I-NP +million CD I-NP +dollars NNS I-NP +, , O +primarily RB B-ADVP +from IN B-PP +asset NN B-NP +sales NNS I-NP +. . O + +The DT B-NP +plan NN I-NP +Eastern NNP B-NP +hopes VBZ B-VP +to TO I-VP +pursue VB I-VP +, , O +he PRP B-NP +said VBD B-VP +, , O +calls VBZ B-VP +for IN B-SBAR +Eastern NNP B-NP +to TO B-VP +have VB I-VP +$ $ B-NP +390 CD I-NP +million CD I-NP +in IN B-PP +cash NN B-NP +by IN B-PP +year NN B-NP +'s POS B-NP +end NN I-NP +. . O + +Both DT B-NP +he PRP B-NP +and CC O +Mr. NNP B-NP +Lorenzo NNP I-NP +predicted VBD B-VP +that DT B-NP +plan NN I-NP +might MD B-VP +be VB I-VP +confirmed VBN I-VP +in IN B-PP +January NNP B-NP +. . O + +As IN B-PP +to TO B-PP +negotiations NNS B-NP +with IN B-PP +creditors NNS B-NP +, , O +Mr. NNP B-NP +Lorenzo NNP I-NP +said VBD B-VP +in IN B-PP +remarks NNS B-NP +after IN B-PP +the DT B-NP +conference NN I-NP +`` `` O +we PRP B-NP +'ll MD B-VP +have VB I-VP +to TO I-VP +see VB I-VP +how WRB B-ADVP +they PRP B-NP +-LCB- ( O +talks NNS B-NP +-RCB- ) O +come VB B-VP +along IN B-PRT +. . O +'' '' O + +However RB B-ADVP +, , O +he PRP B-NP +added VBD B-VP +, , O +`` `` O +it PRP B-NP +'s VBZ B-VP +not RB O +a DT B-NP +requirement NN I-NP +that IN B-SBAR +the DT B-NP +plan NN I-NP +be VB B-VP +accepted VBN I-VP +by IN B-PP +creditors NNS B-NP +. . O + +It PRP B-NP +must MD B-VP +be VB I-VP +accepted VBN I-VP +by IN B-PP +the DT B-NP +court NN I-NP +. . O +'' '' O + +Under IN B-PP +bankruptcy NN B-NP +law NN I-NP +, , O +Eastern NNP B-NP +has VBZ B-VP +exclusive JJ B-NP +rights NNS I-NP +for IN B-PP +a DT B-NP +certain JJ I-NP +period NN I-NP +to TO B-VP +develop VB I-VP +its PRP$ B-NP +own JJ I-NP +reorganization NN I-NP +plan NN I-NP +. . O + +That DT B-NP +deadline NN I-NP +has VBZ B-VP +been VBN I-VP +extended VBN I-VP +once RB B-ADVP +and CC O +could MD B-VP +be VB I-VP +extended VBN I-VP +again RB B-ADVP +. . O + +If IN B-SBAR +Eastern NNP B-NP +can MD B-VP +get VB I-VP +creditor NN B-NP +support NN I-NP +, , O +court NN B-NP +confirmation NN I-NP +of IN B-PP +its PRP$ B-NP +plan NN I-NP +could MD B-VP +be VB I-VP +relatively RB B-ADJP +swift JJ I-ADJP +. . O + +But CC O +creditors NNS B-NP +are VBP B-VP +free JJ B-ADJP +to TO B-VP +press VB I-VP +for IN B-PP +court NN B-NP +approval NN I-NP +of IN B-PP +their PRP$ B-NP +own JJ I-NP +plan NN I-NP +, , O +or CC O +the DT B-NP +court NN I-NP +could MD B-VP +ignore VB I-VP +both DT B-NP +sides NNS I-NP +and CC O +draw VB B-VP +its PRP$ B-NP +own JJ I-NP +. . O + +In IN B-PP +any DT B-NP +event NN I-NP +, , O +some DT B-NP +people NNS I-NP +familiar JJ B-ADJP +with IN B-PP +the DT B-NP +case NN I-NP +question NN B-VP +whether IN B-SBAR +the DT B-NP +court NN I-NP +will MD B-VP +act VB I-VP +by IN B-PP +January NNP B-NP +as IN B-SBAR +forecast NN B-VP +by IN B-PP +Mr. NNP B-NP +Lorenzo NNP I-NP +and CC O +Mr. NNP B-NP +Bakes NNP I-NP +. . O + +Eastern NNP B-NP +sought VBD B-VP +bankruptcy-law NN B-NP +protection NN I-NP +a DT B-NP +few JJ I-NP +days NNS I-NP +after IN B-SBAR +a DT B-NP +crippling JJ I-NP +strike NN I-NP +began VBD B-VP +March NNP B-NP +4 CD I-NP +. . O + +Mr. NNP B-NP +Lorenzo NNP I-NP +told VBD B-VP +reporters NNS B-NP +the DT B-NP +reorganization NN I-NP +Eastern NNP B-NP +is VBZ B-VP +pursuing VBG I-VP +would MD B-VP +create VB I-VP +a DT B-NP +carrier NN I-NP +85 CD B-NP +% NN I-NP +to TO I-NP +90 CD I-NP +% NN I-NP +of IN B-PP +the DT B-NP +size NN I-NP +of IN B-PP +the DT B-NP +pre-bankruptcy NN I-NP +Eastern NNP I-NP +. . O + +He PRP B-NP +projected VBD B-VP +it PRP B-NP +would MD B-VP +be VB I-VP +operating VBG I-VP +about IN B-NP +1,000 CD I-NP +flights NNS I-NP +a DT B-NP +day NN I-NP +by IN B-PP +late JJ B-NP +spring NN I-NP +, , O +only RB B-ADJP +slightly RB I-ADJP +fewer JJR I-ADJP +than IN B-PP +the DT B-NP +carrier NN I-NP +'s POS B-NP +old JJ I-NP +volume NN I-NP +of IN B-PP +1,050 CD B-NP +a DT B-NP +day NN I-NP +. . O + +HOPES NNS B-NP +OF IN B-PP +SIMPLIFYING VBG B-VP +the DT B-NP +corporate JJ I-NP +minimum JJ I-NP +tax NN I-NP +before IN B-PP +1990 CD B-NP +are VBP B-VP +weakening VBG I-VP +. . O + +The DT B-NP +method NN I-NP +of IN B-PP +calculating VBG B-VP +the DT B-NP +20 CD I-NP +% NN I-NP +tax NN I-NP +, , O +paid VBN B-VP +if IN B-SBAR +it PRP B-NP +exceeds VBZ B-VP +tax NN B-NP +figured VBD B-VP +the DT B-NP +regular JJ I-NP +way NN I-NP +, , O +is VBZ B-VP +due JJ B-ADJP +for IN B-PP +a DT B-NP +change NN I-NP +in IN B-PP +1990 CD B-NP +, , O +thanks VBZ B-NP +to TO B-PP +1986 CD B-NP +'s POS B-NP +tax NN I-NP +act NN I-NP +. . O + +But CC O +most RBS B-NP +experts NNS I-NP +agree VBP B-VP +that IN B-SBAR +the DT B-NP +concept NN I-NP +that WDT B-NP +is VBZ B-VP +to TO I-VP +be VB I-VP +introduced VBN I-VP +drags VBZ B-VP +in IN B-ADVP +great JJ B-NP +complexity NN I-NP +; : O +they PRP B-NP +have VBP B-VP +been VBN I-VP +trying VBG I-VP +to TO I-VP +head VB I-VP +it PRP B-NP +off IN B-PRT +this DT B-NP +year NN I-NP +. . O + +Ways NNS B-NP +and CC I-NP +Means NNP I-NP +Chairman NNP I-NP +Rostenkowski NNP I-NP +backed VBD B-VP +a DT B-NP +simplification NN I-NP +plan NN I-NP +in IN B-PP +the DT B-NP +pending VBG I-NP +House NNP I-NP +tax NN I-NP +bill NN I-NP +, , O +but CC O +the DT B-NP +plan NN I-NP +turns VBZ B-VP +out IN B-PRT +to TO B-VP +be VB I-VP +a DT B-NP +big JJ I-NP +revenue NN I-NP +loser NN I-NP +. . O + +Now RB B-ADVP +the DT B-NP +Senate NNP I-NP +'s POS B-NP +stripped-down JJ I-NP +bill NN I-NP +omits VBZ B-VP +any DT B-NP +proposal NN I-NP +to TO B-VP +deal VB I-VP +with IN B-PP +the DT B-NP +corporate JJ I-NP +tax NN I-NP +. . O + +Proponents NNS B-NP +of IN B-PP +simplification NN B-NP +fear NN B-VP +that IN B-SBAR +the DT B-NP +chances NNS I-NP +of IN B-PP +getting VBG B-VP +it PRP B-NP +into IN B-PP +the DT B-NP +final JJ I-NP +bill NN I-NP +are VBP B-VP +waning VBG I-VP +. . O + +`` `` O +We PRP B-NP +hear VBP B-VP +it PRP B-NP +has VBZ B-VP +low JJ B-NP +priority NN I-NP +on IN B-PP +the DT B-NP +House NNP I-NP +side NN I-NP +, , O +'' '' O +says VBZ B-VP +Samuel NNP B-NP +Starr NNP I-NP +of IN B-PP +Coopers NNP B-NP +& CC I-NP +Lybrand NNP I-NP +, , I-NP +CPAs NNS I-NP +. . O + +If IN B-SBAR +the DT B-NP +law NN I-NP +is VBZ B-VP +n't RB I-VP +changed VBN I-VP +, , O +he PRP B-NP +says VBZ B-VP +, , O +`` `` O +we PRP B-NP +are VBP B-VP +left VBN I-VP +staring VBG I-VP +at IN B-PP +rules NNS B-NP +that WDT B-NP +are VBP B-VP +almost RB B-ADJP +impossible JJ I-ADJP +to TO B-VP +implement VB I-VP +, , O +because IN B-SBAR +there EX B-NP +are VBP B-VP +so RB B-NP +many JJ I-NP +complex JJ I-NP +depreciation NN I-NP +calculations NNS I-NP +to TO B-VP +do VB I-VP +. . O +'' '' O + +But CC O +Congress NNP B-NP +still RB B-ADVP +could MD B-VP +resolve VB I-VP +the DT B-NP +issue NN I-NP +with IN B-PP +other JJ B-NP +legislation NN I-NP +this DT B-NP +year NN I-NP +or CC O +next JJ B-NP +, , O +Starr NNP B-NP +adds VBZ B-VP +. . O + +HUGO NNP B-NP +'S VBZ B-NP +RAVAGES NNS I-NP +may MD B-VP +be VB I-VP +offset VB I-VP +by IN B-PP +immediate JJ B-NP +claims NNS I-NP +for IN B-PP +tax NN B-NP +refunds NNS I-NP +. . O + +This DT B-NP +law NN I-NP +aids VBZ B-VP +hurricane-wracked JJ B-NP +locales NNS I-NP +named VBN B-VP +by IN B-PP +the DT B-NP +president NN I-NP +as IN B-PP +disaster NN B-NP +areas NNS I-NP +, , O +as RB B-CONJP +well RB I-CONJP +as IN I-CONJP +regions NNS B-NP +so RB B-VP +designated VBN I-VP +after IN B-PP +other JJ B-NP +1989 CD I-NP +disasters NNS I-NP +. . O + +It PRP B-NP +lets VBZ B-VP +victims NNS B-NP +elect VBP B-VP +to TO I-VP +deduct VB I-VP +casualty NN B-NP +losses NNS I-NP +on IN B-PP +either DT O +1989 CD B-NP +or CC O +amended VBN B-NP +1988 CD I-NP +returns NNS B-NP +, , O +whichever WDT B-NP +offers VBZ B-VP +the DT B-NP +larger JJR I-NP +tax NN I-NP +benefit NN I-NP +; : O +they PRP B-NP +have VBP B-VP +until IN B-PP +April NNP B-NP +16 CD I-NP +to TO B-VP +choose VB I-VP +. . O + +Amending VBG B-VP +a DT B-NP +1988 CD I-NP +return NN I-NP +to TO B-VP +claim VB I-VP +a DT B-NP +refund NN I-NP +brings VBZ B-VP +cash NN B-NP +faster RBR B-ADVP +; : O +but CC O +for IN B-PP +personal JJ B-NP +losses NNS I-NP +, , O +there EX B-NP +are VBP B-VP +other JJ B-NP +factors NNS I-NP +to TO B-VP +consider VB I-VP +, , O +notes NNS B-VP +publisher NN B-NP +Prentice NNP I-NP +Hall NNP I-NP +. . O + +A DT B-NP +loss NN I-NP +-- : O +after IN B-PP +insurance NN B-NP +recoveries NNS I-NP +-- : O +is VBZ B-VP +deductible JJ B-ADJP +only RB B-ADVP +to TO B-PP +the DT B-NP +extent NN I-NP +that IN B-SBAR +it PRP B-NP +exceeds VBZ B-VP +$ $ B-NP +100 CD I-NP +and CC O +that IN B-SBAR +the DT B-NP +year NN I-NP +'s POS B-NP +total JJ I-NP +losses NNS I-NP +exceed VBP B-VP +10 CD B-NP +% NN I-NP +of IN B-PP +adjusted VBN B-NP +gross JJ I-NP +income NN I-NP +; : O +victims NNS B-NP +may MD B-VP +pick VB I-VP +the DT B-NP +year NN I-NP +when WRB B-ADVP +income NN B-NP +is VBZ B-VP +lower JJR B-ADJP +and CC O +deductions NNS B-NP +higher JJR B-ADJP +. . O + +In IN B-PP +filing VBG B-VP +an DT O +original JJ O +-LRB- ( O +not RB B-ADJP +amended VBN I-ADJP +-RRB- ) O +return NN B-NP +, , O +a DT B-NP +couple NN I-NP +should MD B-VP +consider VB I-VP +whether IN B-SBAR +damaged VBN B-NP +property NN I-NP +is VBZ B-VP +owned VBN I-VP +jointly RB B-ADVP +or CC I-ADVP +separately RB I-ADVP +and CC O +whether IN B-SBAR +one CD B-NP +spouse NN I-NP +has VBZ B-VP +larger JJR B-NP +income NN I-NP +; : O +that WDT B-NP +may MD B-VP +determine VB I-VP +whether IN B-SBAR +they PRP B-NP +should MD B-VP +file VB I-VP +jointly RB B-ADVP +or CC I-ADVP +separately RB I-ADVP +. . O + +THE DT B-NP +IRS NNP I-NP +DELAYS VBZ B-VP +several JJ B-NP +deadlines NNS I-NP +for IN B-PP +Hugo NNP B-NP +'s POS B-NP +victims NNS I-NP +. . O + +Returns NNS B-NP +for IN B-PP +1988 CD B-NP +from IN B-PP +people NNS B-NP +with IN B-PP +six-month JJ B-NP +filing NN I-NP +extensions NNS I-NP +were VBD B-VP +due JJ B-ADJP +Monday NNP B-NP +, , O +but CC O +the DT B-NP +IRS NNP I-NP +says VBZ B-VP +people NNS B-NP +in IN B-PP +the DT B-NP +disaster NN I-NP +areas NNS I-NP +wo MD B-VP +n't RB I-VP +be VB I-VP +penalized VBN I-VP +for IN B-PP +late JJ B-NP +filing NN I-NP +if IN B-SBAR +their PRP$ B-NP +returns NNS I-NP +are VBP B-VP +marked VBN I-VP +`` `` O +Hugo NNP B-NP +'' '' O +and CC O +postmarked VBN B-VP +by IN B-PP +Jan. NNP B-NP +16 CD I-NP +. . O + +Interest NN B-NP +will MD B-VP +be VB I-VP +imposed VBN I-VP +on IN B-PP +unpaid JJ B-NP +taxes NNS I-NP +, , O +but CC O +late-payment NN B-NP +penalties NNS I-NP +on IN B-PP +the DT B-NP +returns NNS I-NP +will MD B-VP +be VB I-VP +waived VBN I-VP +if IN B-SBAR +the DT B-NP +balance NN I-NP +due JJ B-ADJP +and CC I-ADJP +paid VBN I-ADJP +is VBZ B-VP +10 CD B-NP +% NN I-NP +or CC I-NP +less JJR I-NP +of IN B-PP +the DT B-NP +liability NN I-NP +. . O + +IRS NNP B-NP +Notice NN I-NP +89-136 CD I-NP +describes VBZ B-VP +this DT B-NP +and CC O +other JJ B-NP +deadline NN I-NP +relief NN I-NP +for IN B-PP +Hugo NNP B-NP +'s POS B-NP +victims NNS I-NP +. . O + +Among IN B-PP +the DT B-NP +provisions NNS I-NP +: : O +Fiscal-year JJ B-NP +taxpayers NNS I-NP +with IN B-PP +returns NNS B-NP +due JJ B-ADJP +last JJ B-NP +Monday NNP I-NP +wo MD B-VP +n't RB I-VP +be VB I-VP +penalized VBN I-VP +if IN B-SBAR +they PRP B-NP +file VBP B-VP +-- : O +or CC O +request VB B-VP +an DT B-NP +extension NN I-NP +-- : O +and CC O +pay VB B-VP +tax NN B-NP +due JJ B-ADJP +by IN B-PP +Nov. NNP B-NP +15 CD I-NP +. . O + +Excise-tax JJ B-NP +returns NNS I-NP +due JJ B-ADJP +by IN B-PP +Oct. NNP B-NP +31 CD I-NP +or CC O +Nov. NNP B-NP +30 CD I-NP +may MD B-VP +be VB I-VP +delayed VBN I-VP +to TO B-PP +Jan. NNP B-NP +16 CD I-NP +. . O + +Extensions NNS B-NP +ca MD B-VP +n't RB I-VP +be VB I-VP +granted VBN I-VP +for IN B-PP +filing VBG B-VP +employment-tax JJ B-NP +returns NNS I-NP +due JJ B-ADJP +Oct. NNP B-NP +31 CD I-NP +or CC B-PP +for IN B-PP +depositing VBG B-VP +withheld VBN B-NP +taxes NNS I-NP +, , O +but CC O +late JJ B-NP +penalties NNS I-NP +will MD B-VP +be VB I-VP +abated VBN I-VP +for IN B-PP +deposits NNS B-NP +made VBN B-VP +by IN B-PP +Nov. NNP B-NP +15 CD I-NP +. . O + +The DT B-NP +notice NN I-NP +also RB B-ADVP +grants VBZ B-VP +relief NN B-NP +for IN B-PP +certain JJ B-NP +estate-tax JJ I-NP +returns NNS I-NP +. . O + +ONE-DAY JJ B-NP +JAUNTS NNS I-NP +in IN B-PP +a DT B-NP +chartered JJ I-NP +boat NN I-NP +were VBD B-VP +perks NNS B-NP +for IN B-PP +permanent JJ B-NP +staffers NNS I-NP +of IN B-PP +American NNP B-NP +Business NNP I-NP +Service NNP I-NP +Corp. NNP I-NP +, , O +a DT B-NP +Costa NNP I-NP +Mesa NNP I-NP +, , I-NP +Calif. NNP I-NP +, , I-NP +supplier NN I-NP +of IN B-PP +temporary JJ B-NP +workers NNS I-NP +. . O + +The DT B-NP +IRS NNP I-NP +denied VBD B-VP +cost NN B-NP +deductions NNS I-NP +because IN B-SBAR +few NN B-NP +of IN B-PP +the DT B-NP +temps NNS I-NP +got VBD B-VP +to TO I-VP +go VB I-VP +aboard RB B-ADVP +. . O + +But CC O +the DT B-NP +Tax NNP I-NP +Court NNP I-NP +said VBD B-VP +the DT B-NP +limitations NNS I-NP +were VBD B-VP +reasonable JJ B-ADJP +and CC I-ADJP +realistic JJ I-ADJP +and CC O +allowed VBD B-VP +the DT B-NP +deductions NNS I-NP +. . O + +USED-CAR NN B-NP +BUYERS NNS I-NP +who WP B-NP +try VBP B-VP +to TO I-VP +avoid VB I-VP +sales NNS B-NP +tax VB I-NP +by IN B-PP +understating VBG B-VP +prices NNS B-NP +paid VBN B-VP +in IN B-PP +private JJ B-NP +deals NNS I-NP +are VBP B-VP +the DT B-NP +targets NNS I-NP +of IN B-PP +a DT B-NP +New NNP I-NP +York NNP I-NP +drive NN I-NP +. . O + +Estimating VBG B-VP +that IN B-SBAR +the DT B-NP +state NN I-NP +may MD B-VP +lose VB I-VP +$ $ B-NP +15 CD I-NP +million CD I-NP +a DT B-NP +year NN I-NP +, , O +officials NNS B-NP +announced VBD B-VP +the DT B-NP +filing NN I-NP +of IN B-PP +15 CD B-NP +criminal JJ I-NP +actions NNS I-NP +and CC O +`` `` O +hundreds NNS B-NP +'' '' O +of IN B-PP +civil JJ B-NP +penalties NNS I-NP +. . O + +WHEN WRB B-ADVP +AN DT B-NP +IRA NNP I-NP +OWNER NNP I-NP +dies VBZ B-VP +, , O +the DT B-NP +trustee NN I-NP +of IN B-PP +the DT B-NP +individual JJ I-NP +retirement NN I-NP +account NN I-NP +must MD B-VP +file VB I-VP +forms NNS B-NP +5498 CD I-NP +reporting VBG B-VP +market NN B-NP +values NNS I-NP +relating VBG B-VP +to TO B-PP +the DT B-NP +decedent NN I-NP +and CC O +each DT B-NP +beneficiary NN I-NP +, , O +with IN B-PP +copies NNS B-NP +to TO B-PP +the DT B-NP +executor NN I-NP +and CC I-NP +beneficiaries NNS I-NP +. . O + +IRS NNP B-NP +Revenue NN I-NP +Procedure NN I-NP +89-52 CD I-NP +describes VBZ B-VP +the DT B-NP +reporting VBG I-NP +requirements NNS I-NP +. . O + +BIGGER JJR B-ADJP +THAN IN B-PP +A DT B-NP +BREADBOX NN I-NP +was VBD B-VP +this DT B-NP +cash NN I-NP +hoarder NN I-NP +'s POS B-NP +reputation NN I-NP +for IN B-PP +honesty NN B-NP +. . O + +People NNS B-NP +often RB B-ADVP +cite VBP B-VP +frugality NN B-NP +and CC O +distrust NN B-NP +of IN B-PP +banks NNS B-NP +to TO B-VP +justify VB I-VP +cash NN B-NP +caches NNS I-NP +to TO B-PP +the DT B-NP +IRS NNP I-NP +. . O + +Gregory NNP B-NP +Damonne NNP I-NP +Brown NNP I-NP +of IN B-PP +Fremont NNP B-NP +, , O +Calif. NNP B-NP +, , O +a DT B-NP +hardworking JJ I-NP +, , I-NP +reclusive JJ I-NP +young JJ I-NP +bachelor NN I-NP +, , O +told VBD B-VP +that DT B-NP +story NN I-NP +to TO B-PP +the DT B-NP +Tax NNP I-NP +Court NNP I-NP +. . O + +But CC O +judges NNS B-NP +usually RB B-ADVP +find VBP B-VP +the DT B-NP +real JJ I-NP +aim NN I-NP +is VBZ B-VP +to TO B-VP +escape VB I-VP +tax NN B-NP +on IN B-PP +hidden VBN B-NP +income NN I-NP +; : O +and CC O +the DT B-NP +IRS NNP I-NP +said VBD B-VP +Brown NNP B-NP +must MD B-VP +have VB I-VP +had VBN I-VP +such JJ B-NP +income NN I-NP +-- : O +although IN B-SBAR +it PRP B-NP +uncovered VBD B-VP +no DT B-NP +source NN I-NP +-- : O +because IN B-SBAR +he PRP B-NP +deposited VBD B-VP +$ $ B-NP +124,732 CD I-NP +in IN B-PP +a DT B-NP +bank NN I-NP +account NN I-NP +in IN B-PP +1982-84 CD B-NP +while IN B-SBAR +reporting VBG B-VP +income NN B-NP +of IN B-PP +only RB B-NP +$ $ I-NP +52,012 CD I-NP +. . O + +Brown NNP B-NP +'s POS B-NP +story NN I-NP +: : O + +The DT B-NP +deposits NNS I-NP +came VBD B-VP +from IN B-PP +savings NNS B-NP +kept VBD B-VP +in IN B-PP +a DT B-NP +Tupperware NNP I-NP +breadbox NN I-NP +; : O +he PRP B-NP +saved VBD B-VP +$ $ B-NP +47,000 CD I-NP +in IN B-PP +1974-81 CD B-NP +by IN B-PP +living VBG B-VP +with IN B-PP +family NN B-NP +members NNS I-NP +and CC O +pinching VBG B-VP +pennies NNS B-NP +and CC O +$ $ B-NP +45,000 CD I-NP +of IN B-PP +secret JJ B-NP +gifts NNS I-NP +from IN B-PP +his PRP$ B-NP +remorseful JJ I-NP +father NN I-NP +, , O +who WP B-NP +had VBD B-VP +abandoned VBN I-VP +the DT B-NP +family NN I-NP +in IN B-PP +1955 CD B-NP +. . O + +Brown NNP B-NP +had VBD B-VP +no DT B-NP +proof NN I-NP +; : O +but CC O +testimony NN B-NP +of IN B-PP +his PRP$ B-NP +mother NN I-NP +and CC I-NP +stepmother NN I-NP +about IN B-PP +his PRP$ B-NP +father NN I-NP +and CC O +of IN B-PP +an DT B-NP +ex-employer NN I-NP +about IN B-PP +his PRP$ B-NP +honesty NN I-NP +and CC I-NP +habits NNS I-NP +satisfied VBD B-VP +a DT B-NP +judge NN I-NP +that IN B-SBAR +Brown NNP B-NP +was VBD B-VP +truthful JJ B-ADJP +and CC O +his PRP$ B-NP +tale NN I-NP +of IN B-PP +gifts NNS B-NP +was VBD B-VP +possible JJ B-ADJP +. . O + +The DT B-NP +IRS NNP I-NP +offered VBD B-VP +no DT B-NP +evidence NN I-NP +of IN B-PP +hidden VBN B-NP +sources NNS I-NP +of IN B-PP +taxable JJ B-NP +income NN I-NP +, , O +so RB O +Judge NNP B-NP +Shields NNP I-NP +rejected VBD B-VP +its PRP$ B-NP +claims NNS I-NP +. . O + +BRIEFS NNS B-NP +: : O + +Asked VBN B-VP +how WRB B-ADVP +he PRP B-NP +made VBD B-VP +charitable JJ B-NP +gifts NNS I-NP +of IN B-PP +$ $ B-NP +26,350 CD I-NP +out IN B-ADVP +of IN B-PP +reported VBN B-NP +two-year JJ I-NP +income NN I-NP +of IN B-PP +$ $ B-NP +46,892 CD I-NP +, , O +Thomas NNP B-NP +H. NNP I-NP +McFall NNP I-NP +of IN B-PP +Bryan NNP B-NP +, , O +Texas NNP B-NP +, , O +told VBD B-VP +the DT B-NP +Tax NNP I-NP +Court NNP I-NP +he PRP B-NP +had VBD B-VP +understated VBN I-VP +his PRP$ B-NP +income NN I-NP +. . O + +The DT B-NP +court NN I-NP +rejected VBD B-VP +his PRP$ B-NP +incredible JJ I-NP +claims NNS I-NP +, , O +denied VBD B-VP +his PRP$ B-NP +deductions NNS I-NP +, , O +and CC O +imposed VBD B-VP +a DT B-NP +negligence NN I-NP +penalty NN I-NP +... : O +. . O + +Rep. NNP B-NP +Schaefer NNP I-NP +-LRB- ( O +R. NNP B-NP +, , O +Colo. NNP B-NP +-RRB- ) O +entered VBD B-VP +a DT B-NP +bill NN I-NP +to TO B-VP +exempt VB I-VP +from IN B-PP +tax NN B-NP +rewards NNS B-NP +for IN B-PP +tips NNS B-NP +leading VBG B-VP +to TO B-PP +the DT B-NP +arrest NN I-NP +of IN B-PP +violent JJ B-NP +criminals NNS I-NP +. . O + +Kay NNP B-NP +Peterson NNP I-NP +mounts NNS B-VP +her PRP$ B-NP +bicycle NN I-NP +and CC O +grinds VBZ B-VP +up IN B-PRT +yet RB B-NP +another DT I-NP +steep NN I-NP +, , I-NP +rocky JJ I-NP +path NN I-NP +seemingly RB B-ADJP +suitable JJ I-ADJP +only RB B-ADVP +for IN B-PP +mountain NN B-NP +goats NNS I-NP +. . O + +After IN B-PP +a DT B-NP +tortuous JJ I-NP +climb NN I-NP +, , O +she PRP B-NP +is VBZ B-VP +rewarded VBN I-VP +by IN B-PP +a DT B-NP +picture-postcard NN I-NP +vista NN I-NP +: : O +a DT B-NP +glade NN I-NP +of IN B-PP +golden JJ B-NP +aspens NNS I-NP +under IN B-PP +an DT B-NP +azure JJ I-NP +Indian-summer JJ I-NP +sky NN I-NP +. . O + +This DT B-NP +place NN I-NP +is VBZ B-VP +12 CD B-NP +miles NNS I-NP +into IN B-PP +the DT B-NP +back JJ I-NP +country NN I-NP +-- : O +a DT B-NP +day-long JJ I-NP +trudge NN I-NP +for IN B-PP +a DT B-NP +hiker NN I-NP +, , O +but CC O +reached VBD B-VP +by IN B-PP +Ms. NNP B-NP +Peterson NNP I-NP +and CC O +six CD B-NP +others NNS I-NP +in IN B-PP +a DT B-NP +mere JJ I-NP +two CD I-NP +hours NNS I-NP +of IN B-PP +pedaling VBG B-VP +fat-tired JJ B-NP +mountain NN I-NP +bikes NNS I-NP +. . O + +`` `` O +This DT B-NP +, , O +'' '' O +says VBZ B-VP +Ms. NNP B-NP +Peterson NNP I-NP +, , O +`` `` O +is VBZ B-VP +what WP B-NP +it PRP B-NP +'s VBZ B-VP +all DT O +about IN B-PP +. . O +'' '' O + +Twelve CD B-NP +hundred CD I-NP +miles NNS I-NP +away RB B-ADVP +, , O +rangers NNS B-NP +at IN B-PP +a DT B-NP +Napa NNP I-NP +County NNP I-NP +, , I-NP +Calif. NNP I-NP +, , I-NP +state NN I-NP +park NN I-NP +are VBP B-VP +among IN B-PP +the DT B-NP +many JJ I-NP +who WP B-NP +do VBP B-VP +n't RB I-VP +quite RB I-VP +share VBP I-VP +the DT B-NP +enthusiasm NN I-NP +. . O + +This DT B-NP +summer NN I-NP +, , O +speeding VBG B-NP +bikers NNS I-NP +were VBD B-VP +blamed VBN I-VP +for IN B-PP +an DT B-NP +accident NN I-NP +in IN B-PP +the DT B-NP +Napa NNP I-NP +County NNP I-NP +park NN I-NP +, , O +in IN B-PP +which WDT B-NP +a DT B-NP +horse NN I-NP +-- : O +spooked VBN B-VP +on IN B-PP +a DT B-NP +trail NN I-NP +that WDT B-NP +was VBD B-VP +closed VBN I-VP +to TO B-PP +bikers NNS B-NP +-- : O +broke VBD B-VP +its PRP$ B-NP +leg NN I-NP +. . O + +The DT B-NP +animal NN I-NP +had VBD B-VP +to TO I-VP +be VB I-VP +destroyed VBN I-VP +; : O +the DT B-NP +bikers NNS I-NP +fled VBD B-VP +and CC O +were VBD B-VP +never RB I-VP +found VBN I-VP +. . O + +In IN B-PP +numerous JJ B-NP +parks NNS I-NP +near IN B-PP +San NNP B-NP +Francisco NNP I-NP +, , O +rangers NNS B-NP +have VBP B-VP +been VBN I-VP +forced VBN I-VP +to TO I-VP +close VB I-VP +trails NNS B-NP +, , O +set VBN B-VP +up IN B-PRT +speed NN B-NP +traps NNS I-NP +and CC O +use NN B-VP +radar NN B-NP +guns NNS I-NP +to TO B-VP +curb VB I-VP +fast RB B-NP +and CC I-NP +reckless JJ I-NP +riding NN I-NP +. . O + +They PRP B-NP +have VBP B-VP +even RB I-VP +sent VBN I-VP +helicopters NNS B-NP +in IN B-PP +pursuit NN B-NP +of IN B-PP +bikers NNS B-NP +after IN B-SBAR +hikers NNS B-NP +and CC I-NP +equestrians NNS I-NP +complained VBD B-VP +they PRP B-NP +were VBD B-VP +being VBG I-VP +driven VBN I-VP +from IN B-PP +trails NNS B-NP +. . O + +`` `` O +We PRP B-NP +were VBD B-VP +being VBG I-VP +overrun VBN I-VP +, , O +'' '' O +says VBZ B-VP +Steve NNP B-NP +Fiala NNP I-NP +, , O +trails NNS B-NP +coordinator NN I-NP +of IN B-PP +the DT B-NP +East NNP I-NP +Bay NNP I-NP +Regional NNP I-NP +Park NNP I-NP +District NNP I-NP +. . O + +Two CD B-NP +years NNS I-NP +ago RB B-ADVP +, , O +the DT B-NP +district NN I-NP +decided VBD B-VP +to TO I-VP +limit VB I-VP +the DT B-NP +bikes NNS I-NP +to TO B-PP +fire VB B-NP +roads NNS I-NP +in IN B-PP +its PRP$ B-NP +65,000 CD I-NP +hilly JJ I-NP +acres NNS I-NP +. . O + +From IN B-PP +about IN B-NP +200,000 CD I-NP +six CD B-NP +years NNS I-NP +ago RB B-ADVP +, , O +the DT B-NP +number NN I-NP +of IN B-PP +mountain NN B-NP +bikes NNS I-NP +in IN B-PP +the DT B-NP +U.S. NNP I-NP +is VBZ B-VP +expected VBN I-VP +to TO I-VP +grow VB I-VP +to TO B-PP +10 CD B-NP +million CD I-NP +in IN B-PP +1990 CD B-NP +. . O + +At IN B-NP +least JJS I-NP +half PDT I-NP +that DT I-NP +growth NN I-NP +will MD B-VP +have VB I-VP +come VBN I-VP +in IN B-PP +the DT B-NP +past JJ I-NP +three CD I-NP +years NNS I-NP +alone RB B-ADVP +. . O + +The DT B-NP +controversy NN I-NP +kicked VBD B-VP +up IN B-PRT +by IN B-PP +the DT B-NP +proliferation NN I-NP +of IN B-PP +these DT B-NP +all-terrain JJ I-NP +bicycles NNS I-NP +is VBZ B-VP +one CD B-NP +of IN B-PP +the DT B-NP +most RBS I-NP +divisive JJ I-NP +storms NNS I-NP +to TO B-VP +blow VB I-VP +through IN B-PP +the DT B-NP +national JJ I-NP +conservation NN I-NP +movement NN I-NP +in IN B-PP +recent JJ B-NP +memory NN I-NP +. . O + +Bikers NNS B-NP +-- : O +many NN B-NP +of IN B-PP +them PRP B-NP +ardent JJ B-NP +environmentalists NNS I-NP +-- : O +proclaim VB B-VP +their PRP$ B-NP +sport NN I-NP +an DT B-NP +efficient JJ I-NP +, , I-NP +safe JJ I-NP +, , I-NP +fitness-promoting JJ I-NP +way NN I-NP +to TO B-VP +get VB I-VP +back RB B-ADVP +to TO B-PP +nature NN B-NP +, , O +while IN B-SBAR +asserting VBG B-VP +a DT B-NP +right NN I-NP +, , O +as IN B-PP +taxpayers NNS B-NP +, , O +to TO B-VP +pedal VB I-VP +on IN B-PP +public JJ B-NP +lands NNS I-NP +. . O + +But CC O +the DT B-NP +bikes NNS I-NP +' POS B-NP +burgeoning VBG I-NP +numbers NNS I-NP +, , O +safety NN B-NP +concerns NNS I-NP +and CC O +fear NN B-NP +that IN B-SBAR +they PRP B-NP +damage VBP B-VP +fragile JJ B-NP +landscapes NNS I-NP +have VBP B-VP +prompted VBN I-VP +pleas NNS B-NP +, , O +from IN B-PP +the DT B-NP +Sierras NNPS I-NP +to TO B-PP +the DT B-NP +Eastern NNP I-NP +Seaboard NNP I-NP +, , O +to TO B-VP +ban VB I-VP +them PRP B-NP +from IN B-PP +the DT B-NP +back JJ I-NP +country NN I-NP +. . O + +Key NNP B-ADJP +to TO B-PP +the DT B-NP +issue NN I-NP +is VBZ B-VP +that IN B-SBAR +the DT B-NP +bikes NNS I-NP +, , O +in IN B-PP +skillful JJ B-NP +hands NNS I-NP +, , O +can MD B-VP +go VB I-VP +virtually RB B-ADVP +anywhere RB I-ADVP +, , O +and CC O +in IN B-PP +reckless JJ B-NP +hands NNS I-NP +can MD B-VP +become VB I-VP +vehicles NNS B-NP +of IN B-PP +terror NN B-NP +. . O + +An DT B-NP +adept JJ I-NP +bicyclist NN I-NP +can MD B-VP +leap VB I-VP +from IN B-PP +a DT B-NP +dead JJ I-NP +stop NN I-NP +to TO B-PP +the DT B-NP +top NN I-NP +of IN B-PP +a DT B-NP +picnic NN I-NP +table NN I-NP +without IN B-PP +losing VBG B-VP +balance NN B-NP +. . O + +Such JJ B-NP +skills NNS I-NP +allow VBP B-VP +riders NNS B-NP +to TO B-VP +fly VB I-VP +down RB B-PP +treacherous JJ B-NP +mountain NN I-NP +grades NNS I-NP +at IN B-PP +speeds NNS B-NP +of IN B-PP +up IN B-NP +to TO I-NP +40 CD I-NP +miles NNS I-NP +an DT B-NP +hour NN I-NP +-- : O +a DT B-NP +thrill NN I-NP +for IN B-PP +the DT B-NP +cyclist NN I-NP +but CC O +a DT B-NP +nightmare NN I-NP +for IN B-PP +unsuspecting JJ B-NP +hikers NNS I-NP +or CC I-NP +equestrians NNS I-NP +. . O + +For IN B-PP +harried VBN B-NP +public-land JJ I-NP +managers NNS I-NP +across IN B-PP +the DT B-NP +nation NN I-NP +, , O +the DT B-NP +response NN I-NP +is VBZ B-VP +increasingly RB B-ADVP +to TO B-VP +shut VB I-VP +the DT B-NP +gates NNS I-NP +. . O + +The DT B-NP +state NN I-NP +of IN B-PP +California NNP B-NP +, , O +following VBG B-VP +the DT B-NP +lead NN I-NP +of IN B-PP +some DT B-NP +regional JJ I-NP +parks NNS I-NP +, , O +recently RB B-ADVP +adopted VBN B-VP +regulations NNS B-NP +that WDT B-NP +closed VBD B-VP +nearly RB B-NP +all DT I-NP +hiking VBG I-NP +paths NNS I-NP +in IN B-PP +state NN B-NP +parks NNS I-NP +to TO B-PP +mountain NN B-NP +bicycles NNS I-NP +. . O + +The DT B-NP +move NN I-NP +largely RB B-ADVP +consigns VBZ B-VP +them PRP B-NP +to TO B-PP +roads NNS B-NP +used VBN B-VP +by IN B-PP +motorized JJ B-NP +vehicles NNS I-NP +. . O + +Most JJS B-NP +other JJ I-NP +states NNS I-NP +have VBP B-VP +enacted VBN I-VP +similar JJ B-NP +bans NNS I-NP +. . O + +The DT B-NP +bikes NNS I-NP +are VBP B-VP +unwelcome JJ B-ADJP +on IN B-PP +trails NNS B-NP +in IN B-PP +national JJ B-NP +parks NNS I-NP +. . O + +Even RB B-NP +the DT I-NP +U.S. NNP I-NP +Forest NNP I-NP +Service NNP I-NP +, , O +whose WP$ B-NP +lenient JJ I-NP +`` `` I-NP +multiple-use JJ I-NP +'' '' I-NP +philosophy NN I-NP +permits VBZ B-VP +motorized VBN B-NP +vehicles NNS I-NP +on IN B-PP +thousands NNS B-NP +of IN B-PP +miles NNS B-NP +of IN B-PP +its PRP$ B-NP +trails NNS I-NP +across IN B-PP +the DT B-NP +U.S. NNP I-NP +, , O +has VBZ B-VP +begun VBN I-VP +to TO I-VP +close VB I-VP +some DT B-NP +lands NNS I-NP +to TO B-PP +the DT B-NP +bikes NNS I-NP +, , O +including VBG B-PP +major JJ B-NP +portions NNS I-NP +of IN B-PP +the DT B-NP +popular JJ I-NP +Pacific NNP I-NP +Crest NNP I-NP +Trail NNP I-NP +, , O +which WDT B-NP +stretches VBZ B-VP +from IN B-PP +California NNP B-NP +to TO B-PP +Canada NNP B-NP +. . O + +Often RB B-ADVP +these DT B-NP +closings NNS I-NP +come VBP B-VP +after IN B-PP +vigorous JJ B-NP +anti-bike JJ I-NP +lobbying NN I-NP +by IN B-PP +conservation NN B-NP +organizations NNS I-NP +, , O +the DT B-NP +politically RB I-NP +potent JJ I-NP +Sierra NNP I-NP +Club NNP I-NP +among IN B-PP +them PRP B-NP +. . O + +Sierra NNP B-NP +has VBZ B-VP +been VBN I-VP +instrumental JJ B-ADJP +in IN B-PP +securing VBG B-VP +a DT B-NP +number NN I-NP +of IN B-PP +the DT B-NP +California NNP I-NP +bans NNS I-NP +. . O + +It PRP B-NP +has VBZ B-VP +been VBN I-VP +waging VBG I-VP +an DT B-NP +all-out JJ I-NP +campaign NN I-NP +to TO B-VP +beat VB I-VP +back RB B-ADVP +a DT B-NP +proposal NN I-NP +, , O +pushed VBN B-VP +by IN B-PP +Utah NNP B-NP +bike NN I-NP +groups NNS I-NP +, , O +to TO B-VP +allow VB I-VP +the DT B-NP +cycles NNS I-NP +in IN B-PP +federally RB B-NP +designated VBN I-NP +wilderness NN I-NP +areas NNS I-NP +, , O +where WRB B-ADVP +they PRP B-NP +are VBP B-VP +now RB I-VP +prohibited VBN I-VP +. . O + +Yet RB B-ADVP +Sierra NNP B-NP +'s POS B-NP +hard-line JJ I-NP +stance NN I-NP +has VBZ B-VP +created VBN I-VP +something NN B-NP +of IN B-PP +a DT B-NP +rift NN I-NP +in IN B-PP +the DT B-NP +organization NN I-NP +, , O +which WDT B-NP +estimates VBZ B-VP +that IN B-SBAR +17 CD B-NP +% NN I-NP +of IN B-PP +its PRP$ B-NP +500,000 CD I-NP +members NNS I-NP +own JJ B-VP +mountain NN B-NP +bikes NNS I-NP +. . O + +Pressure NN B-NP +from IN B-PP +these DT B-NP +members NNS I-NP +prompted VBD B-VP +the DT B-NP +club NN I-NP +recently RB B-ADVP +to TO B-VP +soften VB I-VP +its PRP$ B-NP +anti-bike JJ I-NP +rhetoric NN I-NP +; : O +it PRP B-NP +no RB B-ADVP +longer RB I-ADVP +, , O +for IN B-PP +example NN B-NP +, , O +lumps VBZ B-VP +the DT B-NP +bikes NNS I-NP +into IN B-PP +the DT B-NP +same JJ I-NP +category NN I-NP +as IN B-PP +motorcycles NNS B-NP +and CC O +other JJ B-NP +terrain-marring JJ I-NP +off-road JJ I-NP +vehicles NNS I-NP +. . O + +But CC O +the DT B-NP +club NN I-NP +still RB B-ADVP +insists VBZ B-VP +that IN B-SBAR +public JJ B-NP +lands NNS I-NP +ought MD B-VP +to TO I-VP +be VB I-VP +closed VBN I-VP +to TO B-PP +the DT B-NP +bikes NNS I-NP +unless IN B-SBAR +studies NNS B-NP +indicate VBP B-VP +the DT B-NP +bikes NNS I-NP +wo MD B-VP +n't RB I-VP +injure VB I-VP +the DT B-NP +environment NN I-NP +or CC O +other JJ B-NP +users NNS I-NP +. . O + +`` `` O +I PRP B-NP +have VBP B-VP +a DT B-NP +mountain NN I-NP +bike NN I-NP +, , O +yet RB B-ADVP +as IN B-PP +a DT B-NP +hiker NN I-NP +I PRP B-NP +'ve VBP B-VP +been VBN I-VP +run VB I-VP +off IN B-PP +the DT B-NP +road NN I-NP +by IN B-PP +kids NNS B-NP +careening VBG B-VP +down RP O +a DT B-NP +fire NN I-NP +trail NN I-NP +on IN B-PP +them PRP B-NP +, , O +'' '' O +says VBZ B-VP +Gene NNP B-NP +Coan NNP I-NP +, , O +an DT B-NP +official NN I-NP +at IN B-PP +Sierra NNP B-NP +'s POS B-NP +headquarters NN I-NP +in IN B-PP +San NNP B-NP +Francisco NNP I-NP +, , O +echoing VBG B-VP +the DT B-NP +concerns NNS I-NP +of IN B-PP +many JJ B-NP +members NNS I-NP +. . O + +`` `` O +People NNS B-NP +who WP B-NP +feel VBP B-VP +that IN B-SBAR +cyclists NNS B-NP +should MD B-VP +be VB I-VP +banned VBN I-VP +from IN B-PP +an DT B-NP +area NN I-NP +are VBP B-VP +n't RB I-VP +looking VBG I-VP +at IN B-PP +the DT B-NP +whole JJ I-NP +picture NN I-NP +, , O +'' '' O +complains VBZ B-VP +Mark NNP B-NP +Langton NNP I-NP +, , O +associate JJ B-NP +editor NN I-NP +of IN B-PP +Mountain NNP B-NP +and CC I-NP +City NNP I-NP +Biking NNP I-NP +magazine NN I-NP +in IN B-PP +Canoga NNP B-NP +Park NNP I-NP +, , O +Calif NNP B-NP +. . O + +Mr. NNP B-NP +Langton NNP I-NP +is VBZ B-VP +among IN B-PP +the DT B-NP +legions NNS I-NP +of IN B-PP +bikers NNS B-NP +who WP B-NP +got VBD B-VP +their PRP$ B-NP +first JJ I-NP +taste NN I-NP +of IN B-PP +wilderness NN B-NP +as IN B-PP +hikers NNS B-NP +or CC I-NP +backpackers NNS I-NP +. . O + +He PRP B-NP +says VBZ B-VP +fellow NN B-NP +bikers NNS I-NP +show VBP B-VP +the DT B-NP +same JJ I-NP +concern NN I-NP +for IN B-PP +the DT B-NP +land NN I-NP +that IN B-NP +they PRP B-NP +demonstrated VBD B-VP +as IN B-PP +hikers NNS B-NP +; : O +many JJ B-NP +are VBP B-VP +appalled VBN B-ADJP +that IN B-SBAR +the DT B-NP +conservation NN I-NP +community NN I-NP +would MD B-VP +suddenly RB I-VP +consider VB I-VP +them PRP B-NP +the DT B-NP +enemy NN I-NP +. . O + +To TO B-VP +fight VB I-VP +back RB B-PRT +, , O +activists NNS B-NP +such JJ B-PP +as IN I-PP +Mr. NNP B-NP +Langton NNP I-NP +are VBP B-VP +forming VBG I-VP +groups NNS B-NP +to TO B-VP +lobby VB I-VP +land NN B-NP +managers NNS I-NP +over IN B-PP +access NN B-NP +issues NNS I-NP +and CC O +undertake VB B-VP +education NN B-NP +programs NNS I-NP +to TO B-VP +show VB I-VP +that IN B-SBAR +the DT B-NP +bikes NNS I-NP +can MD B-VP +responsibly RB I-VP +share VB I-VP +trails NNS B-NP +. . O + +Mr. NNP B-NP +Langton NNP I-NP +'s POS B-NP +group NN I-NP +, , O +Concerned NNP B-NP +Off-Road NNP I-NP +Bicyclists NNPS I-NP +Association NNP I-NP +, , O +mounted VBN B-VP +petition NN B-NP +drives NNS I-NP +to TO B-VP +help VB I-VP +keep VB I-VP +open JJ B-ADJP +certain JJ B-NP +Santa NNP I-NP +Monica NNP I-NP +Mountain NNP I-NP +trails NNS I-NP +designated VBN B-VP +for IN B-PP +closing VBG B-NP +. . O + +Biking NNP B-NP +groups NNS I-NP +in IN B-PP +Montana NNP B-NP +, , I-NP +Idaho NNP I-NP +, , I-NP +Michigan NNP I-NP +and CC I-NP +Massachusetts NNP I-NP +have VBP B-VP +won VBN I-VP +similar JJ B-NP +concessions NNS I-NP +, , O +says VBZ B-VP +Tim NNP B-NP +Blumenthal NNP I-NP +, , O +mountain NN B-NP +bike NN I-NP +editor NN I-NP +of IN B-PP +Bicycling NNP B-NP +magazine NN I-NP +. . O + +These DT B-NP +groups NNS I-NP +have VBP B-VP +been VBN I-VP +trying VBG I-VP +to TO I-VP +improve VB I-VP +the DT B-NP +mountain NN I-NP +biker NN I-NP +'s POS B-NP +image NN I-NP +; : O +in IN B-PP +the DT B-NP +San NNP I-NP +Francisco-area JJ I-NP +park NN I-NP +district NN I-NP +where WRB B-ADVP +a DT B-NP +ranger NN I-NP +was VBD B-VP +clobbered VBN I-VP +by IN B-PP +a DT B-NP +cyclist NN I-NP +this DT B-NP +summer NN I-NP +bikers NNS B-NP +have VBP B-VP +formed VBN I-VP +a DT B-NP +volunteer NN I-NP +patrol NN I-NP +to TO B-VP +help VB I-VP +rangers NNS B-NP +enforce VB B-VP +regulations NNS B-NP +, , O +and CC O +to TO B-VP +school VB I-VP +riders NNS B-NP +in IN B-PP +proper JJ B-NP +trail NN I-NP +etiquette NN I-NP +. . O + +Even RB B-NP +staunch JJ I-NP +anti-bike JJ I-NP +Sierra NNP I-NP +members NNS I-NP +concede VBP B-VP +that IN B-SBAR +10 CD B-NP +% NN I-NP +of IN B-PP +all DT B-NP +riders NNS I-NP +cause VBP B-VP +most RBS B-NP +of IN B-PP +the DT B-NP +problems NNS I-NP +. . O + +While IN B-SBAR +some DT B-NP +are VBP B-VP +renegade NN B-NP +riders NNS I-NP +who WP B-NP +simply JJ B-ADVP +scorn NN B-VP +regulations NNS B-NP +, , O +much JJ B-NP +bad JJ I-NP +riding NN I-NP +simply RB B-ADVP +reflects VBZ B-VP +ignorance NN B-NP +that WDT B-NP +can MD B-VP +be VB I-VP +corrected VBN I-VP +through IN B-PP +`` `` O +education NN B-NP +and CC O +peer NN B-NP +pressure NN I-NP +, , O +'' '' O +says VBZ B-VP +Jim NNP B-NP +Hasenauer NNP I-NP +, , O +a DT B-NP +director NN I-NP +of IN B-PP +the DT B-NP +International NNP I-NP +Mountain NNP I-NP +Biking NNP I-NP +Association NNP I-NP +. . O + +`` `` O +I PRP B-NP +think VBP B-VP +we PRP B-NP +'re VBP B-VP +making VBG I-VP +progress NN B-NP +. . O +'' '' O + +Few JJ B-NP +would MD B-VP +have VB I-VP +foreseen VBN I-VP +such JJ B-NP +a DT I-NP +furor NN I-NP +when WRB B-ADVP +, , O +a DT B-NP +decade NN I-NP +ago RB B-ADVP +, , O +some DT B-NP +Marin NNP I-NP +County NNP I-NP +bicycle NN I-NP +enthusiasts NNS I-NP +created VBD B-VP +a DT B-NP +hybrid JJ I-NP +bike NN I-NP +using VBG B-VP +fat JJ B-NP +tires NNS I-NP +, , O +lightweight JJ B-NP +metallurgy NN I-NP +and CC O +multi-gear JJ B-NP +technology NN I-NP +. . O + +They PRP B-NP +wanted VBD B-VP +a DT B-NP +machine NN I-NP +that WDT B-NP +would MD B-VP +allow VB I-VP +them PRP B-NP +to TO B-VP +pedal VB I-VP +into IN B-PP +rugged JJ B-NP +terrain NN I-NP +then RB B-ADJP +inaccessible JJ I-ADJP +to TO B-PP +cycles NNS B-NP +. . O + +They PRP B-NP +got VBD B-VP +a DT B-NP +machine NN I-NP +more RBR B-ADJP +responsive JJ I-ADJP +, , O +more RBR B-ADJP +stable JJ I-ADJP +and CC O +in IN B-PP +many JJ B-NP +ways NNS I-NP +easier JJR B-ADJP +to TO B-VP +ride VB I-VP +than IN B-PP +the DT B-NP +thin-tired JJ I-NP +racing NN I-NP +bikes NNS I-NP +that IN B-NP +then RB B-ADVP +were VBD B-VP +the DT B-NP +rage NN I-NP +. . O + +When WRB B-ADVP +the DT B-NP +bikes NNS I-NP +first JJ B-ADVP +entered VBD B-VP +mass NN B-NP +production NN I-NP +in IN B-PP +1981 CD B-NP +, , O +they PRP B-NP +were VBD B-VP +dismissed VBN I-VP +as IN B-PP +a DT B-NP +fad NN I-NP +. . O + +Last JJ B-NP +year NN I-NP +, , O +25 CD B-NP +% NN I-NP +of IN B-PP +the DT B-NP +10 CD I-NP +million CD I-NP +bicycles NNS I-NP +sold VBN B-VP +in IN B-PP +the DT B-NP +U.S. NNP I-NP +were VBD B-VP +mountain NN B-NP +bikes NNS I-NP +. . O + +In IN B-PP +California NNP B-NP +, , O +a DT B-NP +bellwether NN I-NP +market NN I-NP +, , O +they PRP B-NP +accounted VBD B-VP +for IN B-PP +more JJR B-NP +than IN I-NP +80 CD I-NP +% NN I-NP +of IN B-PP +all DT B-NP +bike NN I-NP +sales NNS I-NP +. . O + +The DT B-NP +majority NN I-NP +of IN B-PP +the DT B-NP +bikes NNS I-NP +never RB B-ADVP +even RB B-ADVP +make VB B-VP +it PRP B-NP +into IN B-PP +the DT B-NP +high JJ I-NP +country NN I-NP +. . O + +City NN B-NP +dwellers NNS I-NP +love VBP B-VP +them PRP B-NP +because IN B-SBAR +they PRP B-NP +shift VBP B-VP +smoothly RB B-ADVP +in IN B-PP +traffic NN B-NP +, , O +bounce VB B-VP +easily RB B-ADVP +over IN B-PP +curbs NNS B-NP +and CC O +roll NN B-VP +through IN B-PP +road NN B-NP +glass NN I-NP +with IN B-PP +far RB B-NP +fewer RBR I-NP +flat JJ I-NP +tires NNS I-NP +than IN B-PP +racing VBG B-NP +bikes NNS I-NP +. . O + +Crested NNP B-NP +Butte NNP I-NP +, , O +population NN B-NP +1,200 CD I-NP +, , O +is VBZ B-VP +a DT B-NP +bastion NN I-NP +of IN B-PP +the DT B-NP +sport NN I-NP +. . O + +By IN B-PP +one CD B-NP +estimate NN I-NP +, , O +everyone NN B-NP +here RB I-NP +under IN B-PP +50 CD B-NP +owns VBZ B-VP +at IN B-NP +least JJS I-NP +one CD I-NP +bike NN I-NP +. . O + +The DT B-NP +town NN I-NP +is VBZ B-VP +home NN B-NP +to TO B-PP +the DT B-NP +Mountain NNP I-NP +Bike NNP I-NP +Hall NNP I-NP +of IN B-PP +Fame NNP B-NP +and CC O +it PRP B-NP +hosts VBZ B-VP +the DT B-NP +annual JJ I-NP +Fat NNP I-NP +Tire NNP I-NP +Bike NNP I-NP +Week NNP I-NP +. . O + +This DT B-NP +summer NN I-NP +, , O +the DT B-NP +jamboree NN I-NP +attracted VBN B-VP +more JJR B-NP +visitors NNS I-NP +than IN B-PP +the DT B-NP +busiest JJS I-NP +week NN I-NP +of IN B-PP +the DT B-NP +town NN I-NP +'s POS B-NP +winter NN I-NP +ski NN I-NP +season NN I-NP +. . O + +David NNP B-NP +Lindsey NNP I-NP +, , O +chairman NN B-NP +of IN B-PP +the DT B-NP +Fat NNP I-NP +Tire NNP I-NP +Bike NNP I-NP +celebration NN I-NP +, , O +muses VBZ B-VP +that IN B-SBAR +the DT B-NP +bike NN I-NP +'s POS B-NP +popularity NN I-NP +may MD B-VP +be VB I-VP +a DT B-NP +combination NN I-NP +of IN B-PP +technology NN B-NP +and CC I-NP +nostalgia NN I-NP +. . O + +`` `` O +The DT B-NP +mountain NN I-NP +bike NN I-NP +feels VBZ B-VP +as RB B-ADJP +comfortable JJ I-ADJP +as IN B-PP +the DT B-NP +` `` I-NP +paperboy NN I-NP +' '' I-NP +bike NN I-NP +you PRP B-NP +had VBD B-VP +as IN B-PP +a DT B-NP +kid NN I-NP +, , O +but CC O +it PRP B-NP +can MD B-VP +do VB I-VP +so RB B-NP +much RB I-NP +more JJR I-NP +, , O +'' '' O +he PRP B-NP +says VBZ B-VP +. . O + +The DT B-NP +following VBG I-NP +issues NNS I-NP +were VBD B-VP +recently RB I-VP +filed VBN I-VP +with IN B-PP +the DT B-NP +Securities NNP I-NP +and CC I-NP +Exchange NNP I-NP +Commission NNP I-NP +: : O + +Canada NNP B-NP +'s POS B-NP +Province NNP I-NP +of IN B-PP +Nova NNP B-NP +Scotia NNP I-NP +, , O +shelf NN B-NP +offering NN I-NP +of IN B-PP +up IN B-NP +to TO I-NP +$ $ I-NP +550 CD I-NP +million CD I-NP +of IN B-PP +debentures NNS B-NP +. . O + +Golar NNP B-NP +Gas NNP I-NP +Holding NNP I-NP +Co. NNP I-NP +, , O +a DT B-NP +subsidiary NN I-NP +of IN B-PP +Gotaas-Larsen NNP B-NP +Shipping NNP I-NP +Corp. NNP I-NP +, , O +offering NN B-NP +of IN B-PP +$ $ B-NP +280 CD I-NP +million CD I-NP +first JJ I-NP +preferred JJ I-NP +ship NN I-NP +mortgage NN I-NP +notes NNS I-NP +, , O +via IN B-PP +Merrill NNP B-NP +Lynch NNP I-NP +Capital NNP I-NP +Markets NNPS I-NP +. . O + +H.F. NNP B-NP +Ahmanson NNP I-NP +& CC I-NP +Co. NNP I-NP +, , O +offering NN B-NP +of IN B-PP +four CD B-NP +million CD I-NP +shares NNS I-NP +of IN B-PP +noncumulative JJ B-NP +convertible JJ I-NP +preferred JJ I-NP +stock NN I-NP +, , O +Series NNP B-NP +B. NNP I-NP +, , O +via IN B-PP +Goldman NNP B-NP +, , I-NP +Sachs NNP I-NP +& CC I-NP +Co NNP I-NP +, , O +First NNP B-NP +Boston NNP I-NP +Corp. NNP I-NP +, , O +and CC O +Merrill NNP B-NP +Lynch NNP I-NP +. . O + +Shared NNP B-NP +Technologies NNP I-NP +Inc. NNP I-NP +, , O +offering NN B-NP +of IN B-PP +2.5 CD B-NP +million CD I-NP +common JJ I-NP +shares NNS I-NP +, , O +via IN B-PP +Smetek NNP B-NP +, , I-NP +Van NNP I-NP +Horn NNP I-NP +& CC I-NP +Cormack NNP I-NP +Inc. NNP I-NP +and CC O +Oakes NNP B-NP +, , I-NP +Fitzwilliams NNP I-NP +& CC I-NP +Co NNP I-NP +. . O + +Stock-market NN B-NP +tremors NNS I-NP +again RB B-ADVP +shook VBD B-VP +bond NN B-NP +prices NNS I-NP +, , O +while IN B-SBAR +the DT B-NP +dollar NN I-NP +turned VBD B-VP +in IN B-PRT +a DT B-NP +mixed VBN I-NP +performance NN I-NP +. . O + +Early JJ B-NP +yesterday NN I-NP +, , O +investors NNS B-NP +scrambled VBD B-VP +to TO I-VP +buy VB I-VP +Treasury NNP B-NP +bonds NNS I-NP +for IN B-PP +safety NN B-NP +as IN B-SBAR +stock NN B-NP +prices NNS I-NP +plummeted VBD B-VP +and CC O +fears NNS B-NP +mounted VBN B-VP +of IN B-PP +a DT B-NP +replay NN I-NP +of IN B-PP +Friday NNP B-NP +. . O + +But CC O +stocks NNS B-NP +later RB B-ADVP +recovered VBD B-VP +, , O +erasing VBG B-VP +most RBS B-NP +of IN B-PP +their PRP$ B-NP +early JJ I-NP +declines NNS I-NP +. . O + +That DT B-NP +cut NN B-VP +short VB B-ADJP +the DT B-NP +rally NN I-NP +in IN B-PP +Treasury NNP B-NP +bonds NNS I-NP +and CC O +depressed JJ B-VP +prices NNS B-NP +moderately RB B-ADVP +below IN B-PP +late JJ B-NP +Monday NNP I-NP +'s POS B-NP +levels NNS I-NP +. . O + +The DT B-NP +Dow NNP I-NP +Jones NNP I-NP +Industrial NNP I-NP +Average NNP I-NP +, , O +down RB B-ADVP +more JJR B-NP +than IN I-NP +60.25 CD I-NP +points NNS I-NP +early RB B-ADVP +in IN B-PP +the DT B-NP +day NN I-NP +, , O +finished VBD B-VP +18.65 CD B-NP +points NNS I-NP +lower JJR B-ADVP +at IN B-PP +2638.73 CD B-NP +. . O + +Long-term NNP B-NP +Treasury NNP I-NP +issues NNS I-NP +declined VBD B-VP +about IN B-NP +half PDT I-NP +a DT I-NP +point NN I-NP +, , O +or CC O +$ $ B-NP +5 NN I-NP +for IN B-PP +each DT B-NP +$ $ I-NP +1,000 CD I-NP +face NN I-NP +amount NN I-NP +. . O + +`` `` O +The DT B-NP +stock NN I-NP +market NN I-NP +clearly RB B-ADVP +is VBZ B-VP +leading VBG I-VP +the DT B-NP +bond NN I-NP +markets NNS I-NP +, , O +'' '' O +said VBD B-VP +Jack NNP B-NP +Conlon NNP I-NP +, , O +an DT B-NP +executive JJ I-NP +vice NN I-NP +president NN I-NP +at IN B-PP +Nikko NNP B-NP +Securities NNP I-NP +. . O + +`` `` O +People NNS B-NP +are VBP B-VP +breathing VBG I-VP +a DT B-NP +major JJ I-NP +sigh NN I-NP +of IN B-PP +relief NN B-NP +that IN B-SBAR +the DT B-NP +world NN I-NP +did VBD B-VP +n't RB I-VP +end VB I-VP +Monday NNP B-NP +morning NN I-NP +'' '' O +or CC O +yesterday NN B-NP +. . O + +Gold NNP B-NP +, , O +a DT B-NP +closely RB I-NP +watched VBN I-NP +barometer NN I-NP +of IN B-PP +investor NN B-NP +anxiety NN I-NP +, , O +was VBD B-VP +little RB B-ADJP +changed VBN I-ADJP +. . O + +The DT B-NP +dollar NN I-NP +initially RB B-ADVP +fell VBD B-VP +against IN B-PP +other JJ B-NP +major JJ I-NP +currencies NNS I-NP +on IN B-PP +news NN B-NP +that IN B-SBAR +the DT B-NP +U.S. NNP I-NP +trade NN I-NP +deficit NN I-NP +surged VBD B-VP +in IN B-PP +August NNP B-NP +to TO B-PP +$ $ B-NP +10.77 CD I-NP +billion CD I-NP +. . O + +But CC O +the DT B-NP +dollar NN I-NP +later RB B-ADVP +rebounded VBD B-VP +, , O +finishing VBG B-VP +slightly RB B-ADJP +higher JJR I-ADJP +against IN B-PP +the DT B-NP +yen NN I-NP +although IN B-ADJP +slightly RB B-ADJP +lower JJR I-ADJP +against IN B-PP +the DT B-NP +mark NN I-NP +. . O + +Federal NNP B-NP +Reserve NNP I-NP +officials NNS I-NP +sent VBD B-VP +another DT B-NP +signal NN I-NP +of IN B-PP +their PRP$ B-NP +determination NN I-NP +to TO B-VP +shore VB I-VP +up IN B-PRT +investor NN B-NP +confidence NN I-NP +. . O + +In IN B-PP +an DT B-NP +apparent JJ I-NP +attempt NN I-NP +to TO B-VP +keep VB I-VP +a DT B-NP +lid NN I-NP +on IN B-PP +short-term JJ B-NP +interest NN I-NP +rates NNS I-NP +, , O +the DT B-NP +Fed NNP I-NP +once RB B-ADVP +again RB I-ADVP +pumped VBN B-VP +money NN B-NP +into IN B-PP +the DT B-NP +banking NN I-NP +system NN I-NP +. . O + +But CC O +the DT B-NP +Fed NNP I-NP +move NN I-NP +was VBD B-VP +a DT B-NP +small JJ I-NP +gesture NN I-NP +, , O +traders NNS B-NP +said VBD B-VP +. . O + +Fed JJ B-NP +officials NNS I-NP +appear VBP B-VP +reluctant JJ B-ADJP +to TO B-VP +ease VB I-VP +their PRP$ B-NP +credit NN I-NP +grip NN I-NP +any DT B-ADVP +further JJ I-ADVP +because IN B-SBAR +a DT B-NP +bold JJ I-NP +move NN I-NP +does VBZ B-VP +n't RB I-VP +appear VB I-VP +necessary JJ B-ADJP +, , O +several JJ B-NP +investment NN I-NP +managers NNS I-NP +said VBD B-VP +. . O + +The DT B-NP +Fed NNP I-NP +has VBZ B-VP +allowed VBN I-VP +a DT B-NP +key JJ I-NP +short-term JJ I-NP +interest NN I-NP +rate NN I-NP +to TO B-VP +decline VB I-VP +about IN B-NP +one-quarter NN I-NP +percentage NN I-NP +point NN I-NP +. . O + +The DT B-NP +federal JJ I-NP +funds NNS I-NP +rate NN I-NP +on IN B-PP +overnight JJ B-NP +loans NNS I-NP +between IN B-PP +banks NNS B-NP +has VBZ B-VP +been VBN I-VP +hovering VBG I-VP +around IN B-PP +8 CD B-NP +3\/4 CD I-NP +% NN I-NP +, , O +down RB B-ADVP +from IN B-PP +9 CD B-NP +% NN I-NP +previously RB B-ADVP +. . O + +Although IN B-SBAR +stocks NNS B-NP +have VBP B-VP +led VBN I-VP +bonds NNS B-NP +this DT B-NP +week NN I-NP +, , O +some DT B-NP +traders NNS I-NP +predict VBP B-VP +that DT B-NP +relationship NN I-NP +will MD B-VP +reverse VB I-VP +during IN B-PP +the DT B-NP +next JJ I-NP +few JJ I-NP +weeks NNS I-NP +. . O + +Nikko NNP B-NP +'s POS B-NP +Mr. NNP I-NP +Conlon NNP I-NP +fears VBZ B-VP +a DT B-NP +huge JJ I-NP +wave NN I-NP +of IN B-PP +Treasury NNP B-NP +borrowing NN I-NP +early JJ B-NP +next JJ I-NP +month NN I-NP +will MD B-VP +drive VB I-VP +down RB B-ADVP +Treasury NNP B-NP +bond NN I-NP +prices NNS I-NP +. . O + +That DT B-NP +, , O +coupled VBN B-VP +with IN B-PP +poor JJ B-NP +third-quarter JJ I-NP +corporate-earnings NNS I-NP +comparisons NNS I-NP +, , O +`` `` O +will MD B-VP +make VB I-VP +trouble NN B-NP +for IN B-PP +the DT B-NP +equity NN I-NP +market NN I-NP +for IN B-PP +the DT B-NP +next JJ I-NP +two CD I-NP +to TO I-NP +three CD I-NP +months NNS I-NP +, , O +'' '' O +he PRP B-NP +says VBZ B-VP +. . O + +But CC O +several JJ B-NP +other JJ I-NP +traders NNS I-NP +contend VBP B-VP +investors NNS B-NP +have VBP B-VP +overreacted VBN I-VP +to TO B-PP +junk-bond NN B-NP +jitters NNS I-NP +, , O +and CC O +that IN B-SBAR +stock NN B-NP +prices NNS I-NP +will MD B-VP +continue VB I-VP +to TO I-VP +recover VB I-VP +. . O + +`` `` O +They PRP B-NP +shot NN B-VP +the DT B-NP +whole JJ I-NP +orchestra NN I-NP +just RB B-ADVP +because IN B-SBAR +the DT B-NP +piano NN I-NP +player NN I-NP +hit VBD B-VP +a DT B-NP +bad JJ I-NP +note NN I-NP +, , O +'' '' O +said VBD B-VP +Laszlo NNP B-NP +Birinyi NNP I-NP +, , O +president NN B-NP +of IN B-PP +Birinyi NNP B-NP +Associates NNP I-NP +Inc. NNP I-NP +, , O +referring VBG B-VP +to TO B-PP +the DT B-NP +stock NN I-NP +market NN I-NP +'s POS B-NP +plunge NN I-NP +Friday NNP B-NP +on IN B-PP +news NN B-NP +of IN B-PP +trouble NN B-NP +in IN B-PP +financing VBG B-VP +the DT B-NP +UAL NNP I-NP +Corp NNP I-NP +. . I-NP +buy-out NN I-NP +. . O + +In IN B-PP +major JJ B-NP +market NN I-NP +activity NN I-NP +: : O +Treasury NNP B-NP +bond NN I-NP +prices NNS I-NP +fell VBD B-VP +. . O + +The DT B-NP +yield NN I-NP +on IN B-PP +30-year NNP B-NP +Treasury NNP I-NP +bonds NNS I-NP +climbed VBD B-VP +back RB B-ADVP +above IN B-PP +8 CD B-NP +% NN I-NP +, , O +ending VBG B-VP +the DT B-NP +day NN I-NP +at IN B-PP +8.03 CD B-NP +% NN I-NP +. . O + +The DT B-NP +dollar NN I-NP +was VBD B-VP +mixed VBN B-ADJP +. . O + +Late JJ B-NP +yesterday NN I-NP +in IN B-PP +New NNP B-NP +York NNP I-NP +, , O +the DT B-NP +dollar NN I-NP +rose VBD B-VP +to TO B-PP +142.75 CD B-NP +yen NN I-NP +from IN B-PP +141.80 CD B-NP +yen NN I-NP +Monday NNP B-NP +, , O +but CC O +fell VBD B-VP +to TO B-PP +1.8667 CD B-NP +marks NNS I-NP +from IN B-PP +1.8685 CD B-NP +marks NNS I-NP +. . O + +The DT B-NP +Consumer NNP I-NP +News NNP I-NP +and CC I-NP +Business NNP I-NP +Channel NNP I-NP +cable NN I-NP +network NN I-NP +and CC O +U.S. NNP B-NP +News NNP I-NP +& CC I-NP +World NNP I-NP +Report NNP I-NP +have VBP B-VP +formed VBN I-VP +a DT B-NP +joint JJ I-NP +venture NN I-NP +to TO B-VP +produce VB I-VP +cable NN B-NP +program NN I-NP +versions NNS I-NP +of IN B-PP +special JJ B-NP +issues NNS I-NP +of IN B-PP +the DT B-NP +magazine NN I-NP +. . O + +The DT B-NP +programs NNS I-NP +will MD B-VP +run VB I-VP +on IN B-PP +the DT B-NP +cable NN I-NP +network NN I-NP +the DT B-NP +Sunday NNP I-NP +evening NN I-NP +immediately RB B-ADVP +prior RB B-PP +to TO B-PP +the DT B-NP +release NN I-NP +of IN B-PP +the DT B-NP +special JJ I-NP +issue NN I-NP +of IN B-PP +U.S. NNP B-NP +News NNP I-NP +& CC I-NP +World NNP I-NP +Report NNP I-NP +. . O + +CNBC NNP B-NP +is VBZ B-VP +a DT B-NP +joint JJ I-NP +venture NN I-NP +of IN B-PP +the DT B-NP +National NNP I-NP +Broadcasting NNP I-NP +Co. NNP I-NP +, , O +a DT B-NP +unit NN I-NP +of IN B-PP +General NNP B-NP +Electric NNP I-NP +Co. NNP I-NP +, , O +and CC O +Cablevision NNP B-NP +System NNP I-NP +Corp NNP I-NP +. . O + +Advertisers NNS B-NP +will MD B-VP +be VB I-VP +offered VBN I-VP +an DT B-NP +advertising NN I-NP +package NN I-NP +, , O +which WDT B-NP +for IN B-PP +a DT B-NP +single JJ I-NP +price NN I-NP +, , O +will MD B-VP +include VB I-VP +time NN B-NP +on IN B-PP +the DT B-NP +CNBC NNP I-NP +program NN I-NP +and CC O +ad NN B-NP +pages NNS I-NP +in IN B-PP +the DT B-NP +special JJ I-NP +guides NNS I-NP +. . O + +CNBC NNP B-NP +will MD B-VP +produce VB I-VP +six CD B-NP +, , I-NP +one-hour JJ I-NP +programs NNS I-NP +, , O +beginning VBG B-VP +in IN B-PP +April NNP B-NP +1990 CD I-NP +. . O + +The DT B-NP +first JJ I-NP +program NN I-NP +scheduled VBN B-VP +in IN B-PP +the DT B-NP +joint JJ I-NP +venture NN I-NP +is VBZ B-VP +`` `` O +The DT O +1990 CD O +Homeowner NNP B-NP +'s POS B-NP +Guide NNP I-NP +. . O +'' '' O + +Other JJ B-NP +programs NNS I-NP +and CC I-NP +special JJ I-NP +issues NNS I-NP +will MD B-VP +be VB I-VP +based VBN I-VP +on IN B-PP +themes NNS B-NP +of IN B-PP +health NN B-NP +, , O +jobs NNS B-NP +, , O +personal JJ B-NP +finance NN I-NP +, , O +the DT B-NP +best JJS I-NP +colleges NNS I-NP +, , O +and CC O +investments NNS B-NP +. . O + +The DT B-NP +programs NNS I-NP +will MD B-VP +be VB I-VP +written VBN I-VP +and CC I-VP +produced VBN I-VP +by IN B-PP +CNBC NNP B-NP +, , O +with IN B-SBAR +background NN B-NP +and CC I-NP +research NN I-NP +provided VBN B-VP +by IN B-PP +staff NN B-NP +from IN B-PP +U.S. NNP B-NP +News NNP I-NP +& CC I-NP +World NNP I-NP +Report NNP I-NP +. . O + +Skoal NNP B-NP +Daze NNP I-NP + +I PRP B-NP +'ve VBP B-VP +learned VBD I-VP +the DT B-NP +hard JJ I-NP +way NN I-NP +that IN B-SBAR +too RB B-NP +much JJ I-NP +booze NN I-NP +Takes VBZ B-VP +revenge NN B-NP +the DT B-NP +next JJ I-NP +day NN I-NP +about IN B-PP +nine CD B-NP +; : O +No DT B-NP +wonder NN I-NP +I PRP B-NP +say VBP B-VP +, , O +`` `` O +I PRP B-NP +drink VBP B-VP +to TO B-PP +your PRP$ B-NP +health NN I-NP +'' '' O +-- : O +It PRP B-NP +certainly RB B-ADVP +is VBZ B-VP +n't RB O +to TO B-PP +mine VB B-NP +! . O + +-- : B-NP +George NNP I-NP +O. NNP I-NP +Ludcke NNP I-NP +. . O + +Spaced NNP B-ADJP +Out IN I-ADJP + +Those DT B-NP +supermarket NN I-NP +tabloids NNS I-NP +Make VBP B-VP +me PRP B-NP +feel VBP B-VP +slow JJ B-ADJP +Because IN B-SBAR +I PRP B-NP +still RB B-ADVP +have VBP B-VP +n't RB I-VP +seen VBN I-VP + +-- : B-NP +Bruce NNP I-NP +Kafaroff NNP I-NP +. . O + +Daffynition NN B-NP + +Repression NN B-NP +: : O +emote VB B-NP +control NN I-NP +. . O + +-- : B-NP +Daisy NNP I-NP +Brown NNP I-NP +. . O + +Weyerhaeuser NNP B-NP +Co. NNP I-NP +reported VBD B-VP +a DT B-NP +one-time JJ I-NP +gain NN I-NP +and CC O +strong JJ B-NP +wood-product NN I-NP +sales NNS I-NP +that WDT B-NP +offset VBP B-VP +weakness NN B-NP +in IN B-PP +pulp NN B-NP +and CC I-NP +paper NN I-NP +to TO B-VP +fuel VB I-VP +a DT B-NP +15 CD I-NP +% NN I-NP +jump NN I-NP +in IN B-PP +third-quarter JJ B-NP +net JJ I-NP +income NN I-NP +to TO B-PP +$ $ B-NP +166.8 CD I-NP +million CD I-NP +, , O +or CC O +78 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +. . O + +In IN B-PP +the DT B-NP +1988 CD I-NP +third JJ I-NP +quarter NN I-NP +, , O +the DT B-NP +forest-products NNS I-NP +company NN I-NP +reported VBD B-VP +profit NN B-NP +of IN B-PP +$ $ B-NP +144.9 CD I-NP +million CD I-NP +, , O +or CC O +69 CD B-NP +cents NNS I-NP +a DT B-NP +share NN I-NP +. . O + +Sales NNS B-NP +rose VBD B-VP +9 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +2.57 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +2.36 CD I-NP +billion CD I-NP +. . O + +For IN B-PP +the DT B-NP +nine CD I-NP +months NNS I-NP +, , O +the DT B-NP +company NN I-NP +posted VBD B-VP +a DT B-NP +14 CD I-NP +% NN I-NP +rise NN I-NP +in IN B-PP +profit NN B-NP +to TO B-PP +$ $ B-NP +469.8 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +2.21 CD I-NP +a DT B-NP +share NN I-NP +, , O +from IN B-PP +$ $ B-NP +410.3 CD I-NP +million CD I-NP +, , O +or CC O +$ $ B-NP +1.95 CD I-NP +a DT B-NP +share NN I-NP +. . O + +Sales NNS B-NP +rose VBD B-VP +9 CD B-NP +% NN I-NP +to TO B-PP +$ $ B-NP +7.54 CD I-NP +billion CD I-NP +from IN B-PP +$ $ B-NP +6.95 CD I-NP +billion CD I-NP +. . O + +Results NNS B-NP +for IN B-PP +the DT B-NP +1989 CD I-NP +third JJ I-NP +quarter NN I-NP +and CC I-NP +nine CD I-NP +months NNS I-NP +include VBP B-VP +a DT B-NP +pretax JJ I-NP +loss NN I-NP +of IN B-PP +$ $ B-NP +33 CD I-NP +million CD I-NP +from IN B-PP +the DT B-NP +company NN I-NP +'s POS B-NP +business NN I-NP +improvement NN I-NP +and CC I-NP +refocusing NN I-NP +program NN I-NP +, , O +and CC O +a DT B-NP +gain NN I-NP +of IN B-PP +$ $ B-NP +49 CD I-NP +million CD I-NP +on IN B-PP +the DT B-NP +sale NN I-NP +of IN B-PP +a DT B-NP +subsidiary NN I-NP +'s POS B-NP +common JJ I-NP +stock NN I-NP +. . O + +Forest-products NNS B-NP +operations NNS I-NP +strengthened VBN B-VP +in IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +, , O +while IN B-SBAR +paper NN B-NP +operations NNS I-NP +were VBD B-VP +dogged VBN I-VP +by IN B-PP +higher JJR B-NP +costs NNS I-NP +, , O +soft JJ B-NP +newsprint NN I-NP +exports NNS I-NP +and CC O +a DT B-NP +strong JJ I-NP +Japanese JJ I-NP +yen NN I-NP +. . O + +Some DT B-NP +competing VBG I-NP +forest-products NNS I-NP +firms NNS I-NP +have VBP B-VP +recently RB I-VP +reported VBN I-VP +improved VBN B-NP +results NNS I-NP +due JJ B-ADJP +to TO B-PP +strong JJ B-NP +pulp NN I-NP +and CC I-NP +paper NN I-NP +business NN I-NP +. . O + +Weyerhaeuser NNP B-NP +'s POS B-NP +pulp NN I-NP +and CC I-NP +paper NN I-NP +operations NNS I-NP +were VBD B-VP +up IN B-ADVP +for IN B-PP +the DT B-NP +nine CD I-NP +months NNS I-NP +, , O +but CC O +full-year JJ B-NP +performance NN I-NP +depends VBZ B-VP +on IN B-PP +the DT B-NP +balance NN I-NP +of IN B-PP +operating VBG B-NP +and CC I-NP +maintenance NN I-NP +costs NNS I-NP +, , O +plus CC O +pricing NN B-NP +of IN B-PP +certain JJ B-NP +products NNS I-NP +, , O +the DT B-NP +company NN I-NP +said VBD B-VP +. . O + +Looking VBG B-VP +ahead RB B-ADVP +to TO B-PP +the DT B-NP +fourth JJ I-NP +quarter NN I-NP +, , O +the DT B-NP +company NN I-NP +said VBD B-VP +export NN B-NP +log NN I-NP +and CC I-NP +lumber NN I-NP +markets NNS I-NP +will MD B-VP +be VB I-VP +weak JJ B-ADJP +, , O +while IN B-SBAR +panel NN B-NP +and CC I-NP +plywood NN I-NP +markets NNS I-NP +will MD B-VP +be VB I-VP +stronger JJR B-ADJP +. . O + +Pulp NNP B-NP +and CC I-NP +paper NN I-NP +performance NN I-NP +depends VBZ B-VP +on IN B-PP +cost NN B-NP +and CC I-NP +price NN I-NP +variables NNS I-NP +, , O +the DT B-NP +company NN I-NP +said VBD B-VP +. . O + +Bankers NNP B-NP +Trust NNP I-NP +New NNP I-NP +York NNP I-NP +Corp. NNP I-NP +became VBD B-VP +the DT B-NP +latest JJS I-NP +major JJ I-NP +U.S. NNP I-NP +bank NN I-NP +to TO B-VP +increase VB I-VP +reserves NNS B-NP +for IN B-PP +its PRP$ B-NP +loans NNS I-NP +to TO B-PP +less-developed JJ B-NP +countries NNS I-NP +, , O +making VBG B-VP +a DT B-NP +$ $ I-NP +1.6 CD I-NP +billion CD I-NP +third-quarter JJ I-NP +addition NN I-NP +to TO B-PP +its PRP$ B-NP +provision NN I-NP +. . O + +The DT B-NP +bank NN I-NP +also RB B-ADVP +said VBD B-VP +it PRP B-NP +expects VBZ B-VP +to TO I-VP +report VB I-VP +a DT B-NP +$ $ I-NP +1.42 CD I-NP +billion CD I-NP +loss NN I-NP +for IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +and CC O +a DT B-NP +loss NN I-NP +for IN B-PP +the DT B-NP +full JJ I-NP +year NN I-NP +. . O + +The DT B-NP +new JJ I-NP +reserves NNS I-NP +bring VBP B-VP +the DT B-NP +company NN I-NP +'s POS B-NP +provision NN I-NP +for IN B-PP +loans NNS B-NP +to TO B-PP +Third NNP B-NP +World NNP I-NP +countries NNS I-NP +to TO B-PP +$ $ B-NP +2.6 CD I-NP +billion CD I-NP +, , O +or CC O +85 CD B-NP +% NN I-NP +of IN B-PP +Bankers NNP B-NP +Trust NNP I-NP +'s POS B-NP +medium NN B-ADJP +and CC I-ADJP +long-term JJ I-ADJP +loans NNS B-NP +to TO B-PP +these DT B-NP +countries NNS I-NP +. . O + +`` `` O +Step NN B-VP +up IN B-ADVP +to TO B-PP +the DT B-NP +plate NN I-NP +and CC O +take VB B-VP +the DT B-NP +big JJ I-NP +swing NN I-NP +. . O + +Get VB B-VP +the DT B-NP +problem NN I-NP +behind IN B-PP +you PRP B-NP +and CC O +do VBP B-VP +n't RB I-VP +look VB I-VP +back RB B-ADVP +, , O +'' '' O +said VBD B-VP +James NNP B-NP +J. NNP I-NP +McDermott NNP I-NP +, , O +analyst NN B-NP +at IN B-PP +Keefe NNP B-NP +, , I-NP +Bruyette NNP I-NP +& CC I-NP +Woods NNP I-NP +, , O +in IN B-PP +approving VBG B-VP +of IN B-PP +the DT B-NP +move NN I-NP +. . O + +Bankers NNP B-NP +Trust NNP I-NP +`` `` O +has VBZ B-VP +had VBN I-VP +the DT B-NP +capacity NN I-NP +to TO B-VP +do VB I-VP +this DT B-NP +for IN B-PP +some DT B-NP +time NN I-NP +, , O +'' '' O +the DT B-NP +analyst NN I-NP +said VBD B-VP +. . O + +He PRP B-NP +expects VBZ B-VP +Citicorp NNP B-NP +to TO B-VP +take VB I-VP +a DT B-NP +similar JJ I-NP +step NN I-NP +this DT B-NP +year NN I-NP +. . O + +Citicorp NN B-NP +yesterday NN B-NP +reported VBD B-VP +a DT B-NP +9 CD I-NP +% NN I-NP +third-quarter JJ I-NP +earnings NNS I-NP +drop NN I-NP +, , O +which WDT B-NP +analysts NNS B-NP +called VBD B-VP +a DT B-ADJP +bit NN I-ADJP +disappointing JJ I-ADJP +, , O +while IN B-SBAR +Manufacturers NNP B-NP +Hanover NNP I-NP +Corp. NNP I-NP +posted VBD B-VP +a DT B-NP +$ $ I-NP +789 CD I-NP +million CD I-NP +loss NN I-NP +for IN B-PP +the DT B-NP +quarter NN I-NP +after IN B-PP +adding VBG B-VP +$ $ B-NP +950 CD I-NP +million CD I-NP +to TO B-PP +its PRP$ B-NP +reserve NN I-NP +for IN B-PP +loans NNS B-NP +to TO B-PP +less-developed JJ B-NP +countries NNS I-NP +. . O + +Three CD B-NP +other JJ I-NP +major JJ I-NP +U.S. NNP I-NP +banks NNS I-NP +posted VBD B-VP +earnings NNS B-NP +increases NNS I-NP +. . O + +Wells NNP B-NP +Fargo NNP I-NP +& CC I-NP +Co. NNP I-NP +of IN B-PP +San NNP B-NP +Francisco NNP I-NP +posted VBD B-VP +a DT B-NP +17 CD I-NP +% NN I-NP +jump NN I-NP +. . O + +PNC NNP B-NP +Financial NNP I-NP +Corp. NNP I-NP +, , O +the DT B-NP +parent NN I-NP +of IN B-PP +Pittsburgh NNP B-NP +National NNP I-NP +Bank NNP I-NP +, , O +reported VBD B-VP +net JJ B-NP +income NN I-NP +climbed VBD B-VP +9.8 CD B-NP +% NN I-NP +, , O +while IN B-SBAR +net JJ B-NP +for IN B-PP +Banc NNP B-NP +One CD I-NP +Corp. NNP I-NP +of IN B-PP +Columbus NNP B-NP +, , O +Ohio NNP B-NP +, , O +grew VBD B-VP +3.8 CD B-NP +% NN I-NP +. . O + diff --git a/CRF/example/chunking/train.data b/CRF/example/chunking/train.data new file mode 100644 index 0000000000000000000000000000000000000000..619e982b3b82c5fe295a0ac00922a81edd1f04fd --- /dev/null +++ b/CRF/example/chunking/train.data @@ -0,0 +1,1973 @@ +Confidence NN B-NP +in IN B-PP +the DT B-NP +pound NN I-NP +is VBZ B-VP +widely RB I-VP +expected VBN I-VP +to TO I-VP +take VB I-VP +another DT B-NP +sharp JJ I-NP +dive NN I-NP +if IN B-SBAR +trade NN B-NP +figures NNS I-NP +for IN B-PP +September NNP B-NP +, , O +due JJ B-ADJP +for IN B-PP +release NN B-NP +tomorrow NN B-NP +, , O +fail VB B-VP +to TO I-VP +show VB I-VP +a DT B-NP +substantial JJ I-NP +improvement NN I-NP +from IN B-PP +July NNP B-NP +and CC I-NP +August NNP I-NP +'s POS B-NP +near-record JJ I-NP +deficits NNS I-NP +. . O + +Chancellor NNP O +of IN B-PP +the DT B-NP +Exchequer NNP I-NP +Nigel NNP B-NP +Lawson NNP I-NP +'s POS B-NP +restated VBN I-NP +commitment NN I-NP +to TO B-PP +a DT B-NP +firm NN I-NP +monetary JJ I-NP +policy NN I-NP +has VBZ B-VP +helped VBN I-VP +to TO I-VP +prevent VB I-VP +a DT B-NP +freefall NN I-NP +in IN B-PP +sterling NN B-NP +over IN B-PP +the DT B-NP +past JJ I-NP +week NN I-NP +. . O + +But CC O +analysts NNS B-NP +reckon VBP B-VP +underlying VBG B-NP +support NN I-NP +for IN B-PP +sterling NN B-NP +has VBZ B-VP +been VBN I-VP +eroded VBN I-VP +by IN B-PP +the DT B-NP +chancellor NN I-NP +'s POS B-NP +failure NN I-NP +to TO B-VP +announce VB I-VP +any DT B-NP +new JJ I-NP +policy NN I-NP +measures NNS I-NP +in IN B-PP +his PRP$ B-NP +Mansion NNP I-NP +House NNP I-NP +speech NN I-NP +last JJ B-NP +Thursday NNP I-NP +. . O + +This DT B-NP +has VBZ B-VP +increased VBN I-VP +the DT B-NP +risk NN I-NP +of IN B-PP +the DT B-NP +government NN I-NP +being VBG B-VP +forced VBN I-VP +to TO I-VP +increase VB I-VP +base NN B-NP +rates NNS I-NP +to TO B-PP +16 CD B-NP +% NN I-NP +from IN B-PP +their PRP$ B-NP +current JJ I-NP +15 CD I-NP +% NN I-NP +level NN I-NP +to TO B-VP +defend VB I-VP +the DT B-NP +pound NN I-NP +, , O +economists NNS B-NP +and CC O +foreign JJ B-NP +exchange NN I-NP +market NN I-NP +analysts NNS I-NP +say VBP B-VP +. . O + +`` `` O +The DT B-NP +risks NNS I-NP +for IN B-PP +sterling NN B-NP +of IN B-PP +a DT B-NP +bad JJ I-NP +trade NN I-NP +figure NN I-NP +are VBP B-VP +very RB B-ADVP +heavily RB I-ADVP +on IN B-PP +the DT B-NP +down JJ I-NP +side NN I-NP +, , O +'' '' O +said VBD B-VP +Chris NNP B-NP +Dillow NNP I-NP +, , O +senior JJ B-NP +U.K. NNP I-NP +economist NN I-NP +at IN B-PP +Nomura NNP B-NP +Research NNP I-NP +Institute NNP I-NP +. . O + +`` `` O +If IN B-SBAR +there EX B-NP +is VBZ B-VP +another DT B-NP +bad JJ I-NP +trade NN I-NP +number NN I-NP +, , O +there EX B-NP +could MD B-VP +be VB I-VP +an DT B-NP +awful JJ I-NP +lot NN I-NP +of IN B-PP +pressure NN B-NP +, , O +'' '' O +noted VBD B-VP +Simon NNP B-NP +Briscoe NNP I-NP +, , O +U.K. NNP B-NP +economist NN I-NP +for IN B-PP +Midland NNP B-NP +Montagu NNP I-NP +, , O +a DT B-NP +unit NN I-NP +of IN B-PP +Midland NNP B-NP +Bank NNP I-NP +PLC NNP I-NP +. . O + +Forecasts NNS B-NP +for IN B-PP +the DT B-NP +trade NN I-NP +figures NNS I-NP +range VBP B-VP +widely RB B-ADVP +, , O +but CC O +few JJ B-NP +economists NNS I-NP +expect VBP B-VP +the DT B-NP +data NNS I-NP +to TO B-VP +show VB I-VP +a DT B-NP +very RB I-NP +marked VBN I-NP +improvement NN I-NP +from IN B-PP +the DT O +# # O +2 CD O +billion CD O +-LRB- ( O +$ $ B-ADJP +3.2 CD O +billion CD O +-RRB- ) O +deficit NN B-NP +in IN B-PP +the DT B-NP +current JJ I-NP +account NN I-NP +reported VBD B-VP +for IN B-PP +August NNP B-NP +. . O + +The DT B-NP +August NNP I-NP +deficit NN I-NP +and CC O +the DT B-NP +# # I-NP +2.2 CD I-NP +billion CD I-NP +gap NN I-NP +registered VBN B-VP +in IN B-PP +July NNP B-NP +are VBP B-VP +topped VBN I-VP +only RB B-ADVP +by IN B-PP +the DT B-NP +# # I-NP +2.3 CD I-NP +billion CD I-NP +deficit NN I-NP +of IN B-PP +October NNP B-NP +1988 CD I-NP +. . O + +Sanjay NNP B-NP +Joshi NNP I-NP +, , O +European JJ B-NP +economist NN I-NP +at IN B-PP +Baring NNP B-NP +Brothers NNPS I-NP +& CC I-NP +Co. NNP I-NP +, , O +said VBD B-VP +there EX B-NP +is VBZ B-VP +no DT B-NP +sign NN I-NP +that IN B-SBAR +Britain NNP B-NP +'s POS B-NP +manufacturing NN I-NP +industry NN I-NP +is VBZ B-VP +transforming VBG I-VP +itself PRP B-NP +to TO B-VP +boost VB I-VP +exports NNS B-NP +. . O + +At IN B-PP +the DT B-NP +same JJ I-NP +time NN I-NP +, , O +he PRP B-NP +remains VBZ B-VP +fairly RB B-ADJP +pessimistic JJ I-ADJP +about IN B-PP +the DT B-NP +outlook NN I-NP +for IN B-PP +imports NNS B-NP +, , O +given VBN B-PP +continued VBD B-NP +high JJ I-NP +consumer NN I-NP +and CC I-NP +capital NN I-NP +goods NNS I-NP +inflows NNS I-NP +. . O + +He PRP B-NP +reckons VBZ B-VP +the DT B-NP +current JJ I-NP +account NN I-NP +deficit NN I-NP +will MD B-VP +narrow VB I-VP +to TO B-PP +only RB B-NP +# # I-NP +1.8 CD I-NP +billion CD I-NP +in IN B-PP +September NNP B-NP +. . O + +However RB B-ADVP +, , O +Mr. NNP B-NP +Dillow NNP I-NP +said VBD B-VP +he PRP B-NP +believes VBZ B-VP +that IN B-SBAR +a DT B-NP +reduction NN I-NP +in IN B-PP +raw JJ B-NP +material NN I-NP +stockbuilding VBG I-NP +by IN B-PP +industry NN B-NP +could MD B-VP +lead VB I-VP +to TO B-PP +a DT B-NP +sharp JJ I-NP +drop NN I-NP +in IN B-PP +imports NNS B-NP +. . O + +Combined VBN B-PP +with IN B-PP +at IN B-ADVP +least JJS I-ADVP +some DT B-NP +rebound NN I-NP +in IN B-PP +exports NNS B-NP +after IN B-PP +August NNP B-NP +'s POS B-NP +unexpected JJ I-NP +decline NN I-NP +, , O +the DT B-NP +deficit NN I-NP +could MD B-VP +narrow VB I-VP +to TO B-PP +as RB B-NP +little JJ I-NP +as IN I-NP +# # I-NP +1.3 CD I-NP +billion CD I-NP +. . O + +Mr. NNP B-NP +Briscoe NNP I-NP +, , O +who WP B-NP +also RB B-ADVP +forecasts VBZ B-VP +a DT B-NP +# # I-NP +1.3 CD I-NP +billion CD I-NP +current JJ I-NP +account NN I-NP +gap NN I-NP +, , O +warns VBZ B-VP +that IN B-SBAR +even RB B-SBAR +if IN I-SBAR +the DT B-NP +trade NN I-NP +figures NNS I-NP +are VBP B-VP +bullish JJ B-ADJP +for IN B-PP +sterling NN B-NP +, , O +the DT B-NP +currency NN I-NP +wo MD B-VP +n't RB I-VP +advance VB I-VP +much JJ B-NP +because IN B-SBAR +investors NNS B-NP +will MD B-VP +want VB I-VP +to TO I-VP +see VB I-VP +further JJ B-NP +evidence NN I-NP +of IN B-PP +the DT B-NP +turnaround NN I-NP +before IN B-PP +adjusting VBG B-VP +positions NNS B-NP +. . O + +Nevertheless RB B-ADVP +, , O +he PRP B-NP +noted VBD B-VP +, , O +`` `` O +No DT B-NP +one PRP I-NP +will MD B-VP +want VB I-VP +to TO I-VP +go VB I-VP +into IN B-PP +the DT B-NP +trade NN I-NP +figures NNS I-NP +without IN B-PP +a DT B-NP +flat JJ I-NP +position NN I-NP +'' '' O +in IN B-PP +the DT B-NP +pound NN I-NP +. . O + +Meanwhile RB B-ADVP +, , O +overall JJ B-NP +evidence NN I-NP +on IN B-PP +the DT B-NP +economy NN I-NP +remains VBZ B-VP +fairly RB B-ADJP +clouded VBN I-ADJP +. . O + +In IN B-PP +his PRP$ B-NP +Mansion NNP I-NP +House NNP I-NP +speech NN I-NP +, , O +Mr. NNP B-NP +Lawson NNP I-NP +warned VBD B-VP +that IN B-SBAR +a DT B-NP +further JJ I-NP +slowdown NN I-NP +can MD B-VP +be VB I-VP +expected VBN I-VP +as IN B-SBAR +the DT B-NP +impact NN I-NP +of IN B-PP +the DT B-NP +last JJ I-NP +rise NN I-NP +in IN B-PP +interest NN B-NP +rates NNS I-NP +earlier RBR B-NP +this DT I-NP +month NN I-NP +takes VBZ B-VP +effect NN B-NP +. . O + +U.K. JJ B-NP +base NN I-NP +rates NNS I-NP +are VBP B-VP +at IN B-PP +their PRP$ B-NP +highest JJS I-NP +level NN I-NP +in IN B-PP +eight CD B-NP +years NNS I-NP +. . O + +But CC O +consumer NN B-NP +expenditure NN I-NP +data NNS I-NP +released VBD B-VP +Friday NNP B-NP +do VBP B-VP +n't RB I-VP +suggest VB I-VP +that IN B-SBAR +the DT B-NP +U.K. NNP I-NP +economy NN I-NP +is VBZ B-VP +slowing VBG I-VP +that DT B-ADVP +quickly RB I-ADVP +. . O + +The DT B-NP +figures NNS I-NP +show VBP B-VP +that DT O +spending NN B-NP +rose VBD B-VP +0.1 CD B-NP +% NN I-NP +in IN B-PP +the DT B-NP +third JJ I-NP +quarter NN I-NP +from IN B-PP +the DT B-NP +second JJ I-NP +quarter NN I-NP +and CC O +was VBD B-VP +up IN B-ADVP +3.8 CD B-NP +% NN I-NP +from IN B-PP +a DT B-NP +year NN I-NP +ago RB B-ADVP +. . O + +This DT B-NP +compares VBZ B-VP +with IN B-PP +a DT B-NP +1.6 CD I-NP +% NN I-NP +rise NN I-NP +in IN B-PP +the DT B-NP +second NN I-NP +from IN B-PP +the DT B-NP +first JJ I-NP +quarter NN I-NP +and CC O +a DT B-NP +5.4 CD I-NP +% NN I-NP +increase NN I-NP +from IN B-PP +the DT B-NP +second JJ I-NP +quarter NN I-NP +of IN B-PP +1988 CD B-NP +. . O + +Mr. NNP B-NP +Dillow NNP I-NP +said VBD B-VP +the DT B-NP +data NNS I-NP +show VBP B-VP +the DT B-NP +economy NN I-NP +`` `` O +is VBZ B-VP +still RB B-ADVP +quite RB B-ADJP +strong JJ I-ADJP +, , O +'' '' O +but CC O +suggestions NNS B-NP +that IN B-SBAR +much NN B-NP +of IN B-PP +the DT B-NP +spending NN I-NP +went VBD B-VP +on IN B-PP +services NNS B-NP +rather RB B-PP +than IN I-PP +consumer NN B-NP +goods NNS I-NP +should MD B-VP +reduce VB I-VP +fears NNS B-NP +of IN B-PP +more JJR B-NP +import NN I-NP +rises NNS I-NP +. . O + +Certainly RB B-ADVP +, , O +the DT B-NP +chancellor NN I-NP +has VBZ B-VP +made VBN I-VP +it PRP B-NP +clear JJ B-ADJP +that IN B-SBAR +he PRP B-NP +is VBZ B-VP +prepared VBN I-VP +to TO I-VP +increase VB I-VP +interest NN B-NP +rates NNS I-NP +again RB B-ADVP +if IN B-SBAR +necessary JJ B-ADJP +to TO B-VP +both DT I-VP +ensure VB I-VP +that IN B-SBAR +a DT B-NP +substantial JJ I-NP +slowdown NN I-NP +does VBZ B-VP +take VB I-VP +place NN B-NP +and CC O +that DT O +sterling NN B-NP +does VBZ B-VP +n't RB I-VP +decline VB I-VP +further JJ B-ADVP +. . O + +Thursday NNP B-NP +, , O +he PRP B-NP +reminded VBD B-VP +his PRP$ B-NP +audience NN I-NP +that IN B-SBAR +the DT B-NP +government NN I-NP +`` `` O +can MD B-VP +not RB I-VP +allow VB I-VP +the DT B-NP +necessary JJ I-NP +rigor NN I-NP +of IN B-PP +monetary JJ B-NP +policy NN I-NP +to TO B-VP +be VB I-VP +undermined VBN I-VP +by IN B-PP +exchange NN B-NP +rate NN I-NP +weakness NN I-NP +. . O +'' '' O + +Analysts NNS B-NP +agree VBP B-VP +there EX B-NP +is VBZ B-VP +little JJ B-NP +holding NN B-VP +sterling NN B-NP +firm NN B-ADJP +at IN B-PP +the DT B-NP +moment NN I-NP +other JJ B-ADJP +than IN B-PP +Mr. NNP B-NP +Lawson NNP I-NP +'s POS B-NP +promise NN I-NP +that IN B-SBAR +rates NNS B-NP +will MD B-VP +be VB I-VP +pushed VBN I-VP +higher JJR B-ADJP +if IN B-SBAR +necessary JJ B-ADJP +. . O + +And CC O +, , O +they PRP B-NP +warn VBP B-VP +, , O +any DT B-NP +further JJ I-NP +drop NN I-NP +in IN B-PP +the DT B-NP +government NN I-NP +'s POS B-NP +popularity NN I-NP +could MD B-VP +swiftly RB I-VP +make VB I-VP +this DT B-NP +promise NN I-NP +sound NN B-VP +hollow JJ B-ADJP +. . O + +Sterling NNP B-NP +was VBD B-VP +already RB I-VP +showing VBG I-VP +some DT B-NP +signs NNS I-NP +of IN B-PP +a DT B-NP +lack NN I-NP +of IN B-PP +confidence NN B-NP +in IN B-PP +Mr. NNP B-NP +Lawson NNP I-NP +'s POS B-NP +promise NN I-NP +Friday NNP B-NP +. . O + +In IN B-PP +European JJ B-NP +trading NN I-NP +it PRP B-NP +declined VBD B-VP +to TO B-PP +$ $ B-NP +1.5890 CD I-NP +and CC O +2.9495 CD B-NP +marks NNS I-NP +from IN B-PP +$ $ B-NP +1.5940 CD I-NP +and CC O +2.9429 CD B-NP +marks NNS I-NP +late JJ B-NP +Thursday NNP I-NP +. . O + +Economists NNS B-NP +suggested VBD B-VP +that IN B-SBAR +if IN B-SBAR +the DT B-NP +pound NN I-NP +falls VBZ B-VP +much JJ B-NP +below IN B-PP +2.90 CD B-NP +marks NNS I-NP +, , O +the DT B-NP +government NN I-NP +will MD B-VP +be VB I-VP +forced VBN I-VP +to TO I-VP +increase VB I-VP +rates NNS B-NP +to TO B-PP +16 CD B-NP +% NN I-NP +, , O +both DT B-VP +to TO I-VP +halt VB B-VP +any DT B-NP +further JJ I-NP +decline NN I-NP +and CC O +ensure VB B-VP +that IN B-SBAR +the DT B-NP +balance NN I-NP +of IN B-PP +monetary JJ B-NP +policy NN I-NP +remains VBZ B-VP +unchanged JJ B-ADJP +. . O + +Friday NNP B-NP +'s POS B-NP +Market NNP I-NP +Activity NN I-NP + +The DT B-NP +dollar NN I-NP +posted VBD B-VP +gains NNS B-NP +in IN B-PP +quiet JJ B-NP +trading NN I-NP +as IN B-SBAR +concerns NNS B-NP +about IN B-PP +equities NNS B-NP +abated VBN B-VP +. . O + +Foreign JJ B-NP +exchange NN I-NP +dealers NNS I-NP +said VBD B-VP +that IN B-SBAR +the DT B-NP +currency NN I-NP +market NN I-NP +has VBZ B-VP +begun VBN I-VP +to TO I-VP +distance VB I-VP +itself PRP B-NP +from IN B-PP +the DT B-NP +volatile JJ I-NP +stock NN I-NP +exchange NN I-NP +, , O +which WDT B-NP +has VBZ B-VP +preoccupied VBN I-VP +the DT B-NP +market NN I-NP +since IN B-PP +Oct. NNP B-NP +13 CD I-NP +, , O +when WRB B-ADVP +the DT B-NP +Dow NNP I-NP +Jones NNP I-NP +Industrial NNP I-NP +Average NNP I-NP +plunged VBD B-VP +more JJR B-NP +than IN I-NP +190 CD I-NP +points NNS I-NP +. . O + +Currency NN B-NP +analysts NNS I-NP +predict VBP B-VP +that IN B-SBAR +in IN B-PP +the DT B-NP +coming VBG I-NP +week NN I-NP +the DT B-NP +foreign JJ I-NP +exchange NN I-NP +market NN I-NP +will MD B-VP +shift VB I-VP +its PRP$ B-NP +focus NN I-NP +back RB B-ADVP +to TO B-PP +economic JJ B-NP +fundamentals NNS I-NP +, , O +keeping VBG B-VP +a DT B-NP +close NN I-NP +eye NN I-NP +out IN B-ADVP +for IN B-PP +any DT B-NP +signs NNS I-NP +of IN B-PP +monetary JJ B-NP +easing NN I-NP +by IN B-PP +U.S. NNP B-NP +Federal NNP I-NP +Reserve NNP I-NP +. . O + +Late RB B-ADVP +in IN B-PP +the DT B-NP +New NNP I-NP +York NNP I-NP +trading NN I-NP +day NN I-NP +, , O +the DT B-NP +dollar NN I-NP +was VBD B-VP +quoted VBN I-VP +at IN B-PP +1.8578 CD B-NP +marks NNS I-NP +, , O +up IN B-ADVP +from IN B-PP +1.8470 CD B-NP +marks NNS I-NP +late JJ B-NP +Thursday NNP I-NP +in IN B-PP +New NNP B-NP +York NNP I-NP +. . O + +The DT B-NP +U.S. NNP I-NP +currency NN I-NP +was VBD B-VP +also RB I-VP +changing VBG I-VP +hands NNS B-NP +at IN B-PP +142.43 CD B-NP +yen NN I-NP +, , O +up IN B-ADVP +from IN B-PP +141.70 CD B-NP +yen NN I-NP +in IN B-PP +New NNP B-NP +York NNP I-NP +late JJ B-NP +Thursday NNP I-NP +. . O + +In IN B-PP +Tokyo NNP B-NP +on IN B-PP +Monday NNP B-NP +, , O +the DT B-NP +U.S. NNP I-NP +currency NN I-NP +opened VBD B-VP +for IN B-PP +trading NN B-NP +at IN B-PP +141.95 CD B-NP +yen NN I-NP +, , O +up IN B-ADVP +from IN B-PP +Friday NNP B-NP +'s POS B-NP +Tokyo NNP I-NP +close NN I-NP +of IN B-PP +141.35 CD B-NP +yen NN I-NP +. . O + +On IN B-PP +the DT B-NP +Commodity NNP I-NP +Exchange NNP I-NP +in IN B-PP +New NNP B-NP +York NNP I-NP +, , O +gold NN B-NP +for IN B-PP +current JJ B-NP +delivery NN I-NP +settled VBD B-VP +at IN B-PP +$ $ B-NP +367.30 CD I-NP +an DT B-NP +ounce NN I-NP +, , O +up IN B-ADVP +20 CD B-NP +cents NNS I-NP +. . O + +Estimated VBN B-NP +volume NN I-NP +was VBD B-VP +a DT B-NP +light NN I-NP +2.4 CD I-NP +million CD I-NP +ounces NNS I-NP +. . O + +In IN B-PP +early JJ B-NP +trading NN I-NP +in IN B-PP +Hong NNP B-NP +Kong NNP I-NP +Monday NNP B-NP +, , O +gold NN B-NP +was VBD B-VP +quoted VBN I-VP +at IN B-PP +$ $ B-NP +366.50 CD I-NP +an DT B-NP +ounce NN I-NP +. . O + +East NNP B-NP +Rock NNP I-NP +Partners NNP I-NP +Limited NNP I-NP +Partnership NNP I-NP +said VBD B-VP +it PRP B-NP +proposed VBD B-VP +to TO I-VP +acquire VB I-VP +A.P. NNP B-NP +Green NNP I-NP +Industries NNP I-NP +Inc. NNP I-NP +for IN B-PP +$ $ B-NP +40 CD I-NP +a DT B-NP +share NN I-NP +. . O + +In IN B-PP +an DT B-NP +Oct. NNP I-NP +19 CD I-NP +letter NN I-NP +to TO B-PP +A.P. NNP B-NP +Green NNP I-NP +'s POS B-NP +board NN I-NP +, , O +East NNP B-NP +Rock NNP I-NP +said VBD B-VP +the DT B-NP +offer NN I-NP +is VBZ B-VP +subject NN B-ADJP +to TO B-PP +the DT B-NP +signing NN I-NP +of IN B-PP +a DT B-NP +merger NN I-NP +agreement NN I-NP +by IN B-PP +no DT B-ADVP +later RB I-ADVP +than IN B-PP +Oct. NNP B-NP +31 CD I-NP +. . O + +The DT B-NP +letter NN I-NP +, , O +attached VBN B-VP +to TO B-PP +a DT B-NP +filing NN I-NP +with IN B-PP +the DT B-NP +Securities NNP I-NP +and CC I-NP +Exchange NNP I-NP +Commission NNP I-NP +, , O +said VBD B-VP +the DT B-NP +approval NN I-NP +is VBZ B-VP +also RB B-ADVP +contingent JJ B-ADJP +upon IN B-PP +obtaining VBG B-VP +satisfactory JJ B-NP +financing NN I-NP +. . O + +An DT B-NP +A.P. NNP I-NP +Green NNP I-NP +official NN I-NP +declined VBD B-VP +to TO I-VP +comment VB I-VP +on IN B-PP +the DT B-NP +filing NN I-NP +. . O + +The DT B-NP +$ $ I-NP +40-a-share JJ I-NP +proposal NN I-NP +values VBZ B-VP +the DT B-NP +company NN I-NP +at IN B-PP +about RB B-NP +$ $ I-NP +106.6 CD I-NP +million CD I-NP +. . O + +A.P. NNP B-NP +Green NNP I-NP +currently RB B-ADVP +has VBZ B-VP +2,664,098 CD B-NP +shares NNS I-NP +outstanding JJ B-ADJP +. . O + +Its PRP$ B-NP +stock NN I-NP +closed VBD B-VP +at IN B-PP +$ $ B-NP +38 CD I-NP +, , O +up IN B-ADVP +$ $ B-NP +1.875 CD I-NP +, , O +in IN B-PP +national JJ B-NP +over-the-counter JJ I-NP +trading NN I-NP +. . O + +The DT B-NP +company NN I-NP +is VBZ B-VP +a DT B-NP +Mexico NNP I-NP +, , I-NP +Mo. NNP I-NP +, , I-NP +maker NN I-NP +of IN B-PP +refractory JJ B-NP +products NNS I-NP +. . O + +East NNP B-NP +Rock NNP I-NP +also RB B-ADVP +said VBD B-VP +in IN B-PP +the DT B-NP +filing NN I-NP +that IN B-SBAR +it PRP B-NP +boosted VBD B-VP +its PRP$ B-NP +stake NN I-NP +in IN B-PP +A.P. NNP B-NP +Green NNP I-NP +to TO B-PP +8.7 CD B-NP +% NN I-NP +. . O + +It PRP B-NP +now RB B-ADVP +holds VBZ B-VP +233,000 CD B-NP +A.P. NNP I-NP +Green NNP I-NP +common JJ I-NP +shares NNS I-NP +, , O +including VBG B-PP +30,000 CD B-NP +shares NNS I-NP +bought VBD B-VP +last JJ B-NP +Thursday NNP I-NP +for IN B-PP +$ $ B-NP +35.50 CD I-NP +to TO I-NP +$ $ I-NP +36.50 CD I-NP +a DT B-NP +share NN I-NP +. . O + +New NNP B-NP +York-based JJ I-NP +John NNP I-NP +Kuhns NNP I-NP +and CC I-NP +Robert NNP I-NP +MacDonald NNP I-NP +control NN B-VP +East NNP B-NP +Rock NNP I-NP +Partners NNP I-NP +Inc. NNP I-NP +, , O +the DT B-NP +sole JJ I-NP +general JJ I-NP +partner NN I-NP +of IN B-PP +East NNP B-NP +Rock NNP I-NP +Partners NNP I-NP +L.P NNP I-NP +. . O + +The DT B-NP +sole JJ I-NP +limited JJ I-NP +partner NN I-NP +of IN B-PP +the DT B-NP +partnership NN I-NP +is VBZ B-VP +Westwood NNP B-NP +Brick NNP I-NP +Lime NNP I-NP +Inc. NNP I-NP +, , O +an DT B-NP +indirect JJ I-NP +subsidiary NN I-NP +of IN B-PP +Westwood NNP B-NP +Group NNP I-NP +Inc NNP I-NP +. . O + +Both DT B-NP +Westwood NNP B-NP +Brick NNP I-NP +and CC O +Westwood NNP B-NP +Group NNP I-NP +are VBP B-VP +based VBN I-VP +in IN B-PP +Boston NNP B-NP +. . O + +Freight NN B-NP +rates NNS I-NP +, , O +declining VBG B-VP +for IN B-PP +most RBS B-NP +of IN B-PP +the DT B-NP +decade NN I-NP +because IN B-PP +of IN I-PP +competition NN B-NP +spurred VBN B-VP +by IN B-PP +deregulation NN B-NP +, , O +are VBP B-VP +bottoming VBG I-VP +out IN B-PRT +, , O +turning VBG B-VP +upward RB B-ADVP +and CC O +threatening VBG B-VP +to TO I-VP +fuel VB I-VP +inflation NN B-NP +. . O + +Trucking NNP B-NP +, , I-NP +shipping VBG I-NP +and CC I-NP +air-freight NN I-NP +companies NNS I-NP +have VBP B-VP +announced VBN I-VP +rate NN B-NP +increases NNS I-NP +, , O +scheduled VBN B-VP +for IN B-PP +this DT B-NP +fall NN I-NP +or CC O +early JJ B-NP +next JJ I-NP +year NN I-NP +, , O +reflecting VBG B-VP +higher JJR B-NP +costs NNS I-NP +and CC O +tightened VBD B-NP +demand NN I-NP +for IN B-PP +freight NN B-NP +transport NN I-NP +. . O + +Major JJ B-NP +shippers NNS I-NP +say VBP B-VP +they PRP B-NP +expect VBP B-VP +freight NN B-NP +rates NNS I-NP +to TO B-VP +rise VB I-VP +at IN B-ADVP +least JJS I-ADVP +as RB B-ADVP +fast RB I-ADVP +as IN B-PP +inflation NN B-NP +and CC B-ADVP +maybe RB I-ADVP +faster RBR B-ADVP +in IN B-PP +the DT B-NP +next JJ I-NP +few JJ I-NP +years NNS I-NP +. . O + +That DT B-NP +'s VBZ B-VP +a DT B-NP +big JJ I-NP +change NN I-NP +from IN B-PP +recent JJ B-NP +years NNS I-NP +when WRB B-ADVP +freight NN B-NP +haulage NN I-NP +was VBD B-VP +a DT B-NP +bright JJ I-NP +spot NN I-NP +for IN B-PP +U.S. NNP B-NP +productivity NN I-NP +, , O +helping VBG B-VP +to TO I-VP +restrain VB I-VP +inflation NN B-NP +and CC O +make VB B-VP +U.S. NNP B-NP +industry NN I-NP +more RBR B-ADJP +competitive JJ I-ADJP +abroad RB B-ADVP +. . O + +`` `` O +Demand NN B-NP +has VBZ B-VP +caught VBN I-VP +up IN B-PRT +with IN B-PP +the DT B-NP +supply NN I-NP +of IN B-PP +certain JJ B-NP +types NNS I-NP +of IN B-PP +freight NN B-NP +transportation NN I-NP +, , O +and CC O +rates NNS B-NP +are VBP B-VP +starting VBG I-VP +to TO I-VP +move VB I-VP +up IN B-ADVP +'' '' O +at IN B-PP +a DT B-NP +rate NN I-NP +`` `` O +close RB B-ADJP +to TO B-PP +or CC O +slightly RB B-ADJP +more JJR I-ADJP +than IN B-PP +the DT B-NP +inflation NN I-NP +rate NN I-NP +, , O +'' '' O +said VBD B-VP +Clifford NNP B-NP +Sayre NNP I-NP +, , O +director NN B-NP +of IN B-PP +logistics NNS B-NP +at IN B-PP +Du NNP B-NP +Pont NNP I-NP +Co NNP I-NP +. . O + +Shippers NNS B-NP +surveyed VBN B-VP +recently RB B-ADVP +by IN B-PP +Ohio NNP B-NP +State NNP I-NP +University NNP I-NP +said VBD B-VP +they PRP B-NP +expect VBP B-VP +their PRP$ B-NP +freight-transport JJ I-NP +, , I-NP +storage NN I-NP +and CC I-NP +distribution NN I-NP +costs NNS I-NP +to TO B-VP +rise VB I-VP +about IN B-NP +4 CD I-NP +% NN I-NP +this DT B-NP +year NN I-NP +. . O + +Only RB B-NP +10 CD I-NP +% NN I-NP +of IN B-PP +the DT B-NP +250 CD I-NP +shippers NNS I-NP +polled VBN B-VP +expected VBN B-VP +their PRP$ B-NP +freight-transport JJ I-NP +costs NNS I-NP +to TO B-VP +decrease VB I-VP +, , O +compared VBN B-PP +with IN B-PP +30 CD B-NP +% NN I-NP +who WP B-NP +had VBD B-VP +looked VBN I-VP +to TO B-PP +freight VB B-NP +transport NN I-NP +to TO B-VP +reduce VB I-VP +costs NNS B-NP +in IN B-PP +past JJ B-NP +years NNS I-NP +. . O + +`` `` O +This DT B-NP +is VBZ B-VP +the DT B-NP +first JJ I-NP +year NN I-NP +since IN B-PP +transportation NN B-NP +deregulation NN I-NP +in IN B-PP +1980 CD B-NP +that IN B-ADVP +we PRP B-NP +have VBP B-VP +had VBN I-VP +such JJ B-NP +a DT I-NP +dramatic JJ I-NP +and CC I-NP +broad-based JJ I-NP +upturn NN I-NP +in IN B-PP +perceived VBN B-NP +transportation NN I-NP +rates NNS I-NP +, , O +'' '' O +said VBD B-VP +Bernard NNP B-NP +LaLonde NNP I-NP +, , O +a DT B-NP +transportation NN I-NP +logistics NNS I-NP +professor NN I-NP +at IN B-PP +Ohio NNP B-NP +State NNP I-NP +in IN B-PP +Columbus NNP B-NP +. . O + +The DT B-NP +deregulation NN I-NP +of IN B-PP +railroads NNS B-NP +and CC I-NP +trucking NN I-NP +companies NNS I-NP +that WDT B-NP +began VBD B-VP +in IN B-PP +1980 CD B-NP +enabled VBD B-VP +shippers NNS B-NP +to TO B-VP +bargain VB I-VP +for IN B-PP +transportation NN B-NP +. . O + +Carriers NNP B-NP +could MD B-VP +use VB I-VP +their PRP$ B-NP +equipment NN I-NP +more RBR B-ADVP +efficiently RB I-ADVP +, , O +leading VBG B-VP +to TO B-PP +overcapacity NN B-NP +they PRP B-NP +were VBD B-VP +eager JJ B-ADJP +to TO B-VP +fill VB I-VP +. . O + +Shippers NNS B-NP +cut VBP B-VP +about RB B-NP +$ $ I-NP +35 CD I-NP +billion CD I-NP +from IN B-PP +their PRP$ B-NP +annual JJ I-NP +, , I-NP +inter-city JJ I-NP +truck NN I-NP +and CC I-NP +rail NN I-NP +costs NNS I-NP +, , O +to TO B-PP +about RB B-NP +$ $ I-NP +150 CD I-NP +billion CD I-NP +, , O +or CC O +about IN B-NP +6.4 CD I-NP +% NN I-NP +of IN B-PP +gross JJ B-NP +national JJ I-NP +product NN I-NP +, , O +down RB B-ADVP +from IN B-PP +8 CD B-NP +% NN I-NP +of IN B-PP +GNP NNP B-NP +in IN B-PP +1981 CD B-NP +. . O + +But CC O +with IN B-PP +much NN B-NP +of IN B-PP +the DT B-NP +inefficiency NN I-NP +squeezed VBN B-VP +out IN B-PP +of IN B-PP +the DT B-NP +freight-transport JJ I-NP +system NN I-NP +, , O +rising VBG B-NP +costs NNS I-NP +are VBP B-VP +likely JJ B-ADJP +to TO B-VP +be VB I-VP +reflected VBN I-VP +directly RB B-ADVP +in IN B-PP +higher JJR B-NP +freight NN I-NP +rates NNS I-NP +. . O + +`` `` O +Shippers NNS B-NP +are VBP B-VP +saying VBG I-VP +` `` O +the DT B-NP +party NN I-NP +'s POS B-VP +over IN B-ADJP +, , O +' '' O +'' '' O +said VBD B-VP +Mr. NNP B-NP +LaLonde NNP I-NP +. . O + +`` `` O +Shippers NNS B-NP +wo MD B-VP +n't RB I-VP +be VB I-VP +able JJ B-ADJP +to TO B-VP +look VB I-VP +for IN B-PP +transportation-cost JJ B-NP +savings NNS I-NP +as IN B-SBAR +they PRP B-NP +have VBP B-VP +for IN B-PP +the DT B-NP +last JJ I-NP +eight CD I-NP +or CC I-NP +nine CD I-NP +years NNS I-NP +. . O + +Transport NN B-NP +rates NNS I-NP +wo MD B-VP +n't RB I-VP +be VB I-VP +an DT B-NP +opportunity NN I-NP +for IN B-PP +offsetting VBG B-VP +cost NN B-NP +increases NNS I-NP +in IN B-PP +other JJ B-NP +segments NNS I-NP +of IN B-PP +the DT B-NP +economy NN I-NP +. . O +'' '' O + +Robert NNP B-NP +Delaney NNP I-NP +, , O +a DT B-NP +consultant NN I-NP +at IN B-PP +Arthur NNP B-NP +D. NNP I-NP +Little NNP I-NP +Inc. NNP I-NP +, , O +Cambridge NNP B-NP +, , O +Mass. NNP B-NP +, , O +said VBD B-VP +`` `` O +We PRP B-NP +'ve VBP B-VP +gotten VBN I-VP +all PDT B-NP +the DT I-NP +benefits NNS I-NP +of IN B-PP +deregulation NN B-NP +in IN B-PP +freight-cost JJ B-NP +reductions NNS I-NP +. . O + +Now RB B-ADVP +we PRP B-NP +are VBP B-VP +starting VBG I-VP +to TO I-VP +see VB I-VP +real JJ B-NP +freight-rate JJ I-NP +increases NNS I-NP +as IN B-SBAR +carriers NNS B-NP +replace VBP B-VP +equipment NN B-NP +, , O +pay VB B-VP +higher JJR B-NP +fuel NN I-NP +costs NNS I-NP +and CC O +pay VB B-VP +more JJR B-NP +for IN B-PP +labor NN B-NP +. . O + +You PRP B-NP +'ll MD B-VP +see VB I-VP +carriers NNS B-NP +try VB B-VP +to TO I-VP +recoup VB I-VP +some DT B-NP +of IN B-PP +the DT B-NP +price NN I-NP +cutting VBG I-NP +that WDT B-NP +occurred VBD B-VP +previously RB B-ADVP +. . O +'' '' O + +Not RB B-NP +everyone NN I-NP +believes VBZ B-VP +that IN B-SBAR +the DT B-NP +good JJ I-NP +times NNS I-NP +are VBP B-VP +over IN B-ADJP +for IN B-PP +shippers NNS B-NP +. . O + +`` `` O +There EX B-NP +'s VBZ B-VP +still RB B-ADVP +a DT B-NP +lot NN I-NP +of IN B-PP +pressure NN B-NP +on IN B-PP +rates NNS B-NP +in IN B-PP +both DT B-NP +rail NN I-NP +and CC I-NP +truck NN I-NP +, , O +'' '' O +said VBD B-VP +Gerard NNP B-NP +McCullough NNP I-NP +, , O +lecturer NN B-NP +in IN B-PP +transportation NN B-NP +at IN B-PP +Massachusetts NNP B-NP +Institute NNP I-NP +of IN B-PP +Technology NNP B-NP +. . O + +Less-than-truckload JJ B-NP +companies NNS I-NP +, , O +which WDT B-NP +carry VBP B-VP +the DT B-NP +freight NN I-NP +of IN B-PP +several JJ B-NP +shippers NNS I-NP +in IN B-PP +each DT B-NP +truck NN I-NP +trailer NN I-NP +, , O +discounted VBD B-VP +away RB B-ADVP +a DT B-NP +4.7 CD I-NP +% NN I-NP +rate NN I-NP +increase NN I-NP +implemented VBD B-VP +last JJ B-NP +April NNP I-NP +. . O + +The DT B-NP +carriers NNS I-NP +were VBD B-VP +competing VBG I-VP +fiercely RB B-ADVP +for IN B-PP +market NN B-NP +share NN I-NP +. . O + +Railroad-rate JJ B-NP +increases NNS I-NP +are VBP B-VP +likely JJ B-ADJP +to TO B-VP +be VB I-VP +restrained VBN I-VP +by IN B-PP +weakening VBG B-NP +rail-traffic JJ I-NP +levels NNS I-NP +and CC O +keen JJ B-NP +competition NN I-NP +for IN B-PP +freight NN B-NP +from IN B-PP +trucks NNS B-NP +. . O + +An DT B-NP +official NN I-NP +at IN B-PP +Consolidated NNP B-NP +Freightways NNP I-NP +Inc. NNP I-NP +, , O +a DT B-NP +Menlo NNP I-NP +Park NNP I-NP +, , I-NP +Calif. NNP I-NP +, , I-NP +less-than-truckload JJ I-NP +carrier NN I-NP +, , O +said VBD B-VP +rate NN B-NP +discounting NN I-NP +in IN B-PP +that DT B-NP +industry NN I-NP +has VBZ B-VP +begun VBN I-VP +to TO I-VP +`` `` O +stabilize VB B-VP +. . O +'' '' O + +Consolidated NNP B-NP +Freightways NNP I-NP +plans VBZ B-VP +to TO I-VP +raise VB I-VP +its PRP$ B-NP +rates NNS I-NP +5.3 CD B-NP +% NN I-NP +late JJ B-NP +this DT I-NP +year NN I-NP +or CC O +early JJ B-NP +next JJ I-NP +year NN I-NP +, , O +and CC O +at IN B-NP +least JJS I-NP +two CD I-NP +competitors NNS I-NP +have VBP B-VP +announced VBN I-VP +similar JJ B-NP +increases NNS I-NP +. . O + diff --git a/CRF/example/seg/exec.sh b/CRF/example/seg/exec.sh new file mode 100644 index 0000000000000000000000000000000000000000..65251fd446a087058df15e61d1171277718a0761 --- /dev/null +++ b/CRF/example/seg/exec.sh @@ -0,0 +1,7 @@ +#!/bin/sh +../../crf_learn -f 3 -c 4.0 template train.data model +../../crf_test -m model test.data + +../../crf_learn -a MIRA -f 3 template train.data model +../../crf_test -m model test.data +rm -f model diff --git a/CRF/example/seg/template b/CRF/example/seg/template new file mode 100644 index 0000000000000000000000000000000000000000..f69482343ef7b3435ee628152d1d778871fde0f7 --- /dev/null +++ b/CRF/example/seg/template @@ -0,0 +1,14 @@ +# Unigram +U00:%x[-2,0] +U01:%x[-1,0] +U02:%x[0,0] +U03:%x[1,0] +U04:%x[2,0] +U05:%x[-2,0]/%x[-1,0]/%x[0,0] +U06:%x[-1,0]/%x[0,0]/%x[1,0] +U07:%x[0,0]/%x[1,0]/%x[2,0] +U08:%x[-1,0]/%x[0,0] +U09:%x[0,0]/%x[1,0] + +# Bigram +B diff --git a/CRF/example/seg/test.data b/CRF/example/seg/test.data new file mode 100644 index 0000000000000000000000000000000000000000..b8298a5b86fd47fdcb0f17737eba81ec62b639ea --- /dev/null +++ b/CRF/example/seg/test.data @@ -0,0 +1,1000 @@ +よ h I +㣠h I +㦠h I +ç§ k B +㟠h B +ã¡ h I +ã® h B +世 k B +代 k I +㌠h B +〠y B +ã“ h B +ã‚Œ h I +ã‹ h I +ら h I +ã“ h B +ã® h I +地 k B +上 k I +ã« h B +〠y B +ã h B +ã® h I +足 k B +è·¡ k I +ã‚’ h B +ã— h B +ã‚‹ h I +ã™ h I +ã¹ h B +ã h I +〠y B +舞 k B +ã„ h I +é™ k B +ã‚Š h I +ã‚‹ h I +å½¹ k B +割 k I +ã‚’ h B +æ‹… k B +ㆠh I +ã“ h B +㨠h I +ã« h B +㪠h B +ã‚‹ h I +ã® h B +ã  h B +㨠h B +æ„Ÿ k B +㘠h I +㦠h B +ã„ h B +ã¾ h B +ã™ h I +。 y B + +ã“ h B +ã® h I +よ h B +ㆠh I +㪠h B +å•“ k B +発 k I +ã‚’ h B +与 k B +㈠h I +㦠h B +下 k B +ã• h I +㣠h I +㟠h B +大 k B +江 k I +ã• h B +ã‚“ h I +ã« h B +æ„Ÿ k B +è¬ k I +ã— h B +㟠h B +ã„ h I +æ°— k B +æŒ k I +ã¡ h I +㧠h B +ã„ h B +㣠h I +ã± h I +ã„ h I +㧠h B +ã™ h I +。 y B + +ï¼» u B +ã¿ h B +ã‚“ h I +㪠h I +ã® h B +広 k B +å ´ k I +ï¼½ u B +戦 k B +争 k I +ã« h B +よ h I +ã‚‹ h I +補 k B +å„Ÿ k I +ã« h B +㤠h I +ã„ h I +㦠h I +ï¼ y B +大 k B +å­¦ k I +講 k B +師 k I +・ t B +多 k B +ç”° k I +æ­£ k B +é  k I +  y B +ï¼– n B +5 n B + +  y B +( y B +æ± k B +京 k I +都 k B +å“ k B +å· k I +区 k B +) y B + +  y B +七 k B +æ—¥ k B +ã® h B +本 k B +欄 k I +「 y B +æ—¥ k B +本 k I +政 k B +府 k I +㌠h B +( y B +外 k B +国 k I +ç± k B +ã® h B +) y B +å…ƒ k B +æ…° k B +安 k I +婦 k B +ã« h B +国 k B +家 k I +è³  k B +å„Ÿ k I +ã™ h B +ã¹ h B +ã h I +ã  h B +〠y B +㨠h B +ã„ h I +ㆠh I +投 k B +稿 k I +者 k B +㯠h B +〠y B +主 k B +å¼µ k I +ã® h B +æ ¹ k B +æ‹  k I +㨠h B +ã— h I +㦠h I +〠y B +æ—¥ k B +ç³» k I +ç±³ k B +国 k I +人 k B +㌠h B +戦 k B +時 k I +中 k B +ã® h B +å¼· k B +制 k I +åŽ k B +容 k I +ã« h B +対 k I +ã— h I +〠y B +ç±³ k B +国 k I +政 k B +府 k I +ã‹ h B +ら h I +è¬ k B +罪 k I +㨠h B +è³  k B +å„Ÿ k I +金 k B +ã‚’ h B +å‹ k B +ã¡ h I +å– k I +㣠h I +㟠h B +例 k B +ã‚’ h B +ã‚ h B +ã’ h I +㦠h B +ã„ h B +ã‚‹ h I +㌠h B +〠y B +ã“ h B +ã‚Œ h I +㯠h B +明 k B +ら h I +ã‹ h I +㪠h B +事 k B +実 k I +誤 k B +èª k I +㧠h B +ã‚ h B +ã‚‹ h I +。 y B + +  y B +ç±³ k B +国 k I +㌠h B +補 k B +å„Ÿ k I +ã« h B +å¿œ k B +㘠h I +㟠h B +ã® h B +㯠h B +〠y B +憲 k B +法 k I +ã® h B +定 k B +ã‚ h I +ã‚‹ h I +「 y B +é© k B +法 k I +ã® h B +手 k B +続 k I +ã h I +〠y B +ã‚’ h B +経 k B +ãš h B +ã« h B +罪 k B +ã‚‚ h B +㪠h B +ã„ h I +ç±³ k B +国 k I +市 k B +æ°‘ k I +権 k B +ã‚’ h B +æŒ k B +㤠h I +æ—¥ k B +ç³» k I +人 k B +ã‚’ h B +è¡Œ k B +政 k I +命 k B +令 k I +㧠h B +å¼· k B +制 k I +åŽ k B +容 k I +ã— h B +㟠h B +ã® h B +㧠h B +ã‚ h B +㣠h I +㦠h B +〠y B +ã‚ h B +ã h I +ã¾ h I +㧠h I +憲 k B +法 k I +é• k B +å k I +ã« h B +よ h I +ã‚Š h I +自 k B +国 k B +æ°‘ k I +㌠h B +人 k B +権 k I +ã‚„ h B +財 k B +産 k I +ã‚’ h B +æ k B +㪠h I +ã‚ h I +ã‚Œ h B +㟠h B +ã“ h B +㨠h I +ã« h B +対 k I +ã™ h I +ã‚‹ h I +補 k B +å„Ÿ k I +ã‚’ h B +ã— h B +㟠h B +ã‚‚ h B +ã® h I +㧠h B +ã‚ h B +ã‚‹ h I +。 y B + +  y B +投 k B +稿 k I +者 k B +ã® h B +æ„ k B +見 k I +ã‚’ h B +準 k B +用 k I +ã™ h B +ã‚Œ h I +ã° h B +〠y B +ã‚€ h B +ã— h I +ã‚ h I +ç±³ k B +国 k I +政 k B +府 k I +ã« h B +㯠h B +原 k B +爆 k I +投 k B +下 k I +ã® h B +補 k B +å„Ÿ k I +ã‚’ h B +求 k B +ã‚ h I +ã‚‹ h I +æ–¹ k B +㌠h B +首 k B +å°¾ k I +一 k B +貫 k I +性 k B +㌠h B +ã‚ h B +ã‚‹ h I +㌠h B +〠y B +å½¼ k B +ら h I +㯠h B +ã“ h B +ã® h I +è¡Œ k B +為 k I +㌠h B +終 k B +戦 k I +ã‚’ h B +æ—© k B +ã‚ h I +〠y B +多 k B +ã h I +ã® h B +人 k B +命 k I +ã‚’ h B +æ•‘ k B +㣠h I +㟠h B +㨠h B +ã„ h I +ㆠh I +ã“ h B +㨠h I +㧠h B +æ­£ k B +当 k I +化 k B +ã— h B +〠y B +記 k B +念 k I +切 k B +手 k I +ã• h B +㈠h I +発 k B +è¡Œ k I +ã— h B +よ h I +ㆠh B +㨠h B +ã— h B +㟠h B +。 y B + +æ…° k B +安 k I +婦 k B +ã« h B +補 k B +å„Ÿ k I +ã‚’ h B +èª k B +ã‚ h I +ã‚Œ h I +ã° h B +〠y B +国 k B +éš› k I +法 k B +é• k B +å k I +ã® h B +「 y B +真 k B +ç  k I +æ¹¾ k I +ã  h B +ã¾ h I +ã— h I +ㆠh I +ã¡ h I +æ”» k B +æ’ƒ k I +〠y B +ã« h B +よ h I +ã‚‹ h I +ç±³ k B +国 k I +市 k B +æ°‘ k I +個 k B +人 k I +ã® h B +æ k B +害 k I +ã‚’ h B +補 k B +å„Ÿ k I +ã› h B +よ h I +㨠h B +ã„ h I +ㆠh I +ç† k B +è«– k I +ã  h B +㣠h I +㦠h I +æˆ k B +ç«‹ k I +ã™ h B +ã‚‹ h I +ã® h B +㧠h B +ã‚ h B +ã‚Š h I +〠y B +è¦ k B +求 k I +ã« h B +éš› k B +é™ k I +㌠h B +㪠h B +ã„ h I +。 y B + +ï¼» u B +デ t B +ー t I +ã‚¿ t I +ï¼½ u B +å­¦ k B +生 k I +ã® h B +飲 k B +é…’ k I +㯠h B +犯 k B +罪 k I +ã® h B +温 k B +床 k I +− y B +− y I +ç±³ k B +国 k I + +  y B +ç±³ k B +国 k I +ã® h B +ã‚­ t B +ャ t I +ン t I +パ t I +ス t I +内 k B +㧠h B +㯠h B +〠y B +æš´ k B +力 k I +事 k B +件 k I +ã® h B +ï¼™ n B +5 n B +ï¼… y B +㌠h B +ã‚¢ t B +ル t I +コ t I +ー t I +ル t I +ã‹ h B +ド t B +ラ t I +ッ t I +ã‚° t I +㨠h B +é–¢ k B +ä¿‚ k I +㌠h B +ã‚ h B +ã‚Š h I +〠y B +レ t B +イ t I +プ t I +事 k B +件 k I +ã® h B +5 n B +5 n B +ï¼… y B +㯠h B +ã‚¢ t B +ル t I +コ t I +ー t I +ル t I +ã‹ h B +ド t B +ラ t I +ッ t I +ã‚° t I +使 k B +用 k I +者 k B +ã« h B +よ h I +ã‚‹ h I +ã‚‚ h B +ã® h I +㨠h B +㪠h B +㣠h I +㦠h B +ã„ h B +ã‚‹ h I +。 y B + +  y B +ç±³ k B +国 k I +ã® h B +大 k B +å­¦ k I +生 k I +ã® h B +ï¼” n B +ï¼” n B +ï¼… y B +( y B +ç”· k B +å­ k I +5 n B +ï¼ n B +ï¼… y B +〠y B +女 k B +å­ k I +3 n B +ï¼™ n B +ï¼… y B +) y B +㌠h B +〠y B +ï¼’ n B +週 k B +é–“ k I +ã« h B +1 n B +度 k B +㯠h B +é…’ k B +ã‚’ h B +飲 k B +ã‚“ h I +㧠h B +大 k B +騒 k I +㎠h I +。 y B + +ã“ h B +ã® h I +比 k B +率 k I +㯠h B +〠y B +多 k B +ã h I +ã® h B +å·ž k B +㧠h B +飲 k B +é…’ k I +å¹´ k B +é½¢ k I +㌠h B +ï¼’ n B +1 n B +æ­³ k B +ã« h B +引 k B +ã h I +上 k I +ã’ h I +ら h B +ã‚Œ h I +〠y B +ç±³ k B +国 k I +社 k B +会 k I +㌠h B +大 k B +ã h I +ã h I +変 k B +化 k I +ã— h B +㟠h B +ç¾ k B +在 k I +㧠h B +ã‚‚ h I +〠y B +1 n B +ï¼™ n B +8 n B +ï¼ n B +å¹´ k B +ã” h B +ã‚ h I +㨠h B +変 k B +ã‚ h I +㣠h I +㦠h B +ã„ h B +㪠h B +ã„ h I +。 y B + +1 n B +å¹´ k B +é–“ k I +ã« h B +使 k B +ㆠh I +é…’ k B +代 k I +㯠h B +書 k B +ç± k I +代 k B +よ h B +ã‚Š h I +多 k B +ã„ h I +。 y B + +飲 k B +ã‚€ h I +㨠h B +ã h I +㯠h B +ã„ h B +㤠h I +ã‚‚ h I +大 k B +騒 k I +㎠h I +ã™ h B +ã‚‹ h I +㨠h B +ã„ h I +ㆠh I +å­¦ k B +生 k I +㯠h B +ç”· k B +å­ k I +ï¼” n B +3 n B +ï¼… y B +〠y B +女 k B +å­ k I +㧠h B +ã‚‚ h B +3 n B +8 n B +ï¼… y B +。 y B + +ã¾ h B +㣠h I +㟠h I +ã h I +é…’ k B +ã‚’ h B +飲 k B +ã¾ h I +㪠h B +ã„ h I +å­¦ k B +生 k I +㯠h B +å…¨ k B +体 k I +ã® h B +1 n B +ï¼– n B +ï¼… y B +ã  h B +。 y B + +  y B +一 k B +æ–¹ k I +〠y B +1 n B +ã‚« t B +月 k I +ã« h B +1 n B +度 k B +〠y B +マ t B +リ t I +フ t I +ã‚¢ t I +ナ t I +ã‚’ h B +å¸ k B +ㆠh I +大 k B +å­¦ k I +生 k I +ã® h B +割 k B +åˆ k I +㯠h B +〠y B +8 n B +ï¼ n B +å¹´ k B +ã® h B +3 n B +人 k B +ã« h B +1 n B +人 k B +ã‹ h B +ら h I +昨 k B +å¹´ k I +㯠h B +ï¼— n B +人 k B +ã« h B +1 n B +人 k B +ã« h B +低 k B +下 k I +。 y B + +コ t B +ã‚« t I +イ t I +ン t I +㧠h B +ã‚‚ h B +åŒ k B +時 k B +期 k I +㧠h B +ï¼— n B +ï¼… y B +ã‹ h B +ら h I +ï¼ n B +. y B +ï¼— n B +ï¼… y B +ã« h B +減 k B +㣠h I +㟠h B +。 y B + +é…’ k B +ã‚’ h B +飲 k B +ã‚“ h I +㧠h B +二 k B +æ—¥ k I +é…” k I +ã„ h I +ã« h B +㪠h B +ã‚‹ h I +㨠h B +分 k B +ã‹ h I +㣠h I +㦠h B +ã„ h B +㦠h B +ã‚‚ h B +大 k B +騒 k I +㎠h I +ã™ h B +ã‚‹ h I +ã® h B +㯠h B +〠y B +ド t B +ラ t I +ッ t I +ã‚° t I +ã‚’ h B +使 k B +ã‚ h I +㪠h B +ã„ h I +㧠h B +「 y B +ムt B +イ t I +ã« h B +㪠h B +ã‚‹ h I +〠y B +㟠h B +ã‚ h I +ã® h B +よ h B +ㆠh I +ã  h B +。 y B + +  y B +çµ± k B +計 k I +ã‚’ h B +掲 k B +載 k I +ã— h B +㟠h B +「 y B +ニ t B +ュ t I +ー t I +ズ t I +ウ t I +ã‚£ t I +ー t I +ク t I +〠y B +誌 k B +㯠h B +〠y B +大 k B +å­¦ k I +生 k I +ã® h B +飲 k B +é…’ k I +å• k B +é¡Œ k I +ã« h B +ç­” k B +㈠h I +ã‚’ h B +見 k B +㤠h I +ã‘ h I +ã‚‹ h I +ã® h B +㯠h B +難 k B +ã— h I +ã„ h I +㌠h B +〠y B +å½¼ k B +ら h I +㌠h B +å°† k B +æ¥ k I +ã® h B +リ t B +ー t I +ダ t I +ー t I +ã« h B +㪠h B +ã‚‹ h I +ã® h B +ã  h B +〠y B +㨠h B +è­¦ k B +é˜ k I +ã‚’ h B +é³´ k B +ら h I +ã— h I +㦠h B +ã„ h B +ã‚‹ h I +。 y B + diff --git a/CRF/example/seg/train.data b/CRF/example/seg/train.data new file mode 100644 index 0000000000000000000000000000000000000000..39a65b7e375870c2192e10cb0117c46aa3230fa9 --- /dev/null +++ b/CRF/example/seg/train.data @@ -0,0 +1,1000 @@ +毎 k B +æ—¥ k I +æ–° k I +èž k I +社 k I +特 k B +別 k I +顧 k B +å• k I +ï¼” n B +æ° k B +ã® h B +ç•¥ k B +æ­´ k I +  y B +有 k B +馬 k I +朗 k B +人 k I +æ° k B +〠y B +梅 k B +棹 k I +å¿  k B +夫 k I +æ° k B +〠y B +京 k B +極 k I +ç´” k B +一 k I +æ° k B +〠y B +丸 k B +è°· k I +æ‰ k B +一 k I +æ° k B + +  y B +1 n B +æ—¥ k B +付 k B +㧠h B +毎 k B +æ—¥ k I +æ–° k I +èž k I +社 k I +特 k B +別 k I +顧 k B +å• k I +ã« h B +委 k B +嘱 k I +ã• h B +ã‚Œ h B +㟠h B +ï¼” n B +æ° k B +ã® h B +ç•¥ k B +æ­´ k I +㯠h B +次 k B +ã® h B +通 k B +ã‚Š h I +。 y B + +  y B +有 k B +馬 k I +朗 k B +人 k I +æ° k B +( y B +ã‚ h B +ã‚Š h I +ã¾ h I +・ t B +ã‚ h B +ã h I +㨠h I +) y B +大 k B +阪 k I +市 k B +出 k B +身 k I +。 y B + +1 n B +ï¼™ n B +5 n B +3 n B +å¹´ k B +æ± k B +大 k I +ç† k B +å­¦ k I +部 k I +å’ k B +。 y B + +ï¼— n B +5 n B +å¹´ k B +åŒ k B +æ•™ k B +授 k I +。 y B + +8 n B +ï¼™ n B +å¹´ k B +æ± k B +大 k I +å­¦ k B +é•· k I +。 y B + +ï¼™ n B +3 n B +å¹´ k B +ã‹ h B +ら h I +ç† k B +化 k I +å­¦ k I +ç ” k I +究 k I +所 k I +ç† k B +事 k I +é•· k B +。 y B + +æ—¥ k B +本 k I +å­¦ k B +è¡“ k I +会 k B +è­° k I +会 k B +å“¡ k I +。 y B + +è‘— k B +書 k I +ã« h B +「 y B +原 k B +å­ k I +㨠h B +原 k B +å­ k I +æ ¸ k I +〠y B +「 y B +ã‚· t B +ン t I +メ t I +ト t I +リ t I +ー t I +ã® h B +世 k B +ç•Œ k I +〠y B +。 y B + +俳 k B +誌 k I +「 y B +天 k B +為 k I +〠y B +主 k B +å®° k I +。 y B + +å¥ k B +集 k I +ã« h B +「 y B +知 k B +命 k I +〠y B +㪠h B +ã© h I +。 y B + +ï¼– n B +3 n B +æ­³ k B +。 y B + +  y B +梅 k B +棹 k I +å¿  k B +夫 k I +æ° k B +( y B +ㆠh B +ã‚ h I +ã• h I +㊠h I +・ t B +㟠h B +ã  h I +㊠h I +) y B +京 k B +都 k I +府 k B +出 k B +身 k I +。 y B + +ï¼” n B +3 n B +å¹´ k B +京 k B +大 k I +ç† k B +å­¦ k I +部 k I +å’ k B +。 y B + +大 k B +阪 k I +市 k I +ç«‹ k I +大 k I +助 k B +æ•™ k I +授 k I +〠y B +京 k B +大 k I +人 k B +æ–‡ k I +ç ” k I +æ•™ k B +授 k I +㪠h B +ã© h I +ã‚’ h B +経 k B +㦠h B +ï¼— n B +ï¼” n B +å¹´ k B +国 k B +ç«‹ k I +æ°‘ k B +æ— k I +å­¦ k B +åš k B +物 k I +館 k I +é•· k B +。 y B + +ï¼™ n B +3 n B +å¹´ k B +åŒ k B +顧 k B +å• k I +。 y B + +è‘— k B +書 k I +ã« h B +「 y B +モ t B +ã‚´ t I +ー t I +ル t I +æ— k B +探 k B +検 k I +記 k B +〠y B +「 y B +æ–‡ k B +明 k I +ã® h B +生 k B +æ…‹ k I +å² k B +観 k I +〠y B +「 y B +知 k B +çš„ k I +生 k B +産 k I +ã® h B +技 k B +è¡“ k I +〠y B +㪠h B +ã© h I +。 y B + +ï¼— n B +3 n B +æ­³ k B +。 y B + +  y B +京 k B +極 k I +ç´” k B +一 k I +æ° k B +( y B +ã h B +ょ h I +ㆠh I +ã” h I +ã h I +・ t B +㘠h B +ã‚… h I +ã‚“ h I +ã„ h I +ã¡ h I +) y B +京 k B +都 k I +府 k B +出 k B +身 k I +。 y B + +ï¼” n B +ï¼— n B +å¹´ k B +æ± k B +大 k I +法 k B +å­¦ k I +部 k I +å’ k B +。 y B + +æ± k B +大 k I +講 k B +師 k I +〠y B +助 k B +æ•™ k I +授 k I +ã‚’ h B +経 k B +㦠h B +ï¼– n B +5 n B +å¹´ k B +æ•™ k B +授 k I +。 y B + +8 n B +8 n B +å¹´ k B +æ± k B +京 k I +女 k I +å­ k I +大 k I +å­¦ k B +é•· k I +〠y B +ï¼™ n B +3 n B +å¹´ k B +退 k B +ä»» k I +。 y B + +è‘— k B +書 k I +ã« h B +「 y B +æ¤ k B +æ‘ k I +æ­£ k B +ä¹… k I +― y B +― y I +ã h B +ã® h I +人 k B +㨠h B +æ€ k B +想 k I +〠y B +「 y B +政 k B +æ²» k I +æ„ k B +è­˜ k I +ã® h B +分 k B +æž k I +〠y B +「 y B +æ—¥ k B +本 k I +ã® h B +政 k B +æ²» k I +〠y B +㪠h B +ã© h I +。 y B + +ï¼– n B +ï¼™ n B +æ­³ k B +。 y B + +  y B +丸 k B +è°· k I +æ‰ k B +一 k I +æ° k B +( y B +ã¾ h B +ã‚‹ h I +ã‚„ h I +・ t B +ã• h B +ã„ h I +ã„ h I +ã¡ h I +) y B +å±± k B +å½¢ k I +県 k B +出 k B +身 k I +。 y B + +5 n B +ï¼ n B +å¹´ k B +æ± k B +大 k I +æ–‡ k B +å­¦ k I +部 k I +å’ k B +〠y B +国 k B +å­¦ k I +院 k I +大 k I +助 k B +æ•™ k I +授 k I +㪠h B +ã© h I +ã‚’ h B +経 k B +㦠h B +æ–‡ k B +ç­† k I +生 k B +æ´» k I +。 y B + +ï¼– n B +8 n B +å¹´ k B +「 y B +å¹´ k B +ã® h B +残 k B +ã‚Š h I +〠y B +㧠h B +芥 k B +å· k I +賞 k I +〠y B +ã» h B +ã‹ h I +ã« h B +「 y B +笹 k B +ã¾ h B +ã h I +ら h I +〠y B +「 y B +㟠h B +㣠h I +㟠h I +一 k B +人 k B +ã® h B +å k B +ä¹± k I +〠y B +「 y B +後 k B +é³¥ k I +ç¾½ k I +院 k B +〠y B +「 y B +å¿  k B +臣 k I +蔵 k I +㨠h B +㯠h B +何 k B +ã‹ h B +〠y B +「 y B +女 k B +ã– h B +ã‹ h I +ã‚Š h I +〠y B +㪠h B +ã© h I +。 y B + +ï¼– n B +8 n B +æ­³ k B +。 y B + +『 y B +人 k B +体 k I +実 k B +験 k I +〠y B +犠 k B +牲 k I +者 k B +ã« h B +補 k B +å„Ÿ k I +  y B +ク t B +リ t I +ン t I +ト t I +ン t I +政 k B +権 k I +〠y B +対 k B +ç­– k I +ã‚’ h B +å” k B +è­° k I +㸠h B + +  y B +〠y B +ワ t B +ã‚· t I +ン t I +ト t I +ン t I +3 n B +1 n B +æ—¥ k B +æ²³ k B +野 k I +ä¿Š k B +å² k I +】 y B +æ ¸ k B +é–‹ k B +発 k I +åˆ k B +期 k I +ã® h B +一 k B +ä¹ k B +å›› k B +〇 y B +å¹´ k B +代 k I +ã‹ h B +ら h I +五 k B +〇 y B +å¹´ k B +代 k I +ã« h B +ã‹ h I +ã‘ h I +㦠h I +〠y B +ç±³ k B +政 k B +府 k I +㌠h B +放 k B +å°„ k I +能 k I +ã® h B +å½± k B +響 k I +ã‚’ h B +調 k B +ã¹ h I +ã‚‹ h I +㟠h B +ã‚ h I +ã« h B +市 k B +æ°‘ k I +ã« h B +「 y B +人 k B +体 k I +実 k B +験 k I +〠y B +ã‚’ h B +è¡Œ k B +㣠h I +㦠h B +ã„ h B +㟠h B +å• k B +é¡Œ k I +㧠h B +〠y B +ク t B +リ t I +ン t I +ト t I +ン t I +政 k B +権 k I +㯠h B +三 k B +æ—¥ k B +ã« h B +é–¢ k B +ä¿‚ k I +å„ k B +çœ k I +ã‚’ h B +ホ t B +ワ t I +イ t I +ト t I +ムt I +ウ t I +ス t I +ã« h B +集 k B +ã‚ h I +〠y B +対 k B +ç­– k I +ã‚’ h B +å” k B +è­° k I +ã™ h B +ã‚‹ h I +ã“ h B +㨠h I +ã‚’ h B +決 k B +ã‚ h I +㟠h B +。 y B + +  y B +エ t B +ムt I +ル t I +ã‚® t I +ー t I +çœ k I +ã® h B +ホ t B +ッ t I +ト t I +ラ t I +イ t I +ン t I +㸠h B +ã® h B +情 k B +å ± k I +æ k B +ä¾› k I +ã‚„ h B +抗 k B +è­° k I +㯠h B +åƒ k B +件 k B +ã‚’ h B +超 k B +㈠h I +〠y B +オ t B +レ t I +ã‚¢ t I +リ t I +・ t B +エ t B +ムt I +ル t I +ã‚® t I +ー t I +é•· k B +官 k I +㯠h B +「 y B +犠 k B +牲 k I +者 k B +㯠h B +補 k B +å„Ÿ k I +ã• h B +ã‚Œ h B +ã‚‹ h I +ã¹ h B +ã h I +ã  h B +〠y B +㨠h B +言 k B +明 k I +。 y B + +ã‚¢ t B +ス t I +ピ t I +ン t I +国 k B +防 k I +é•· k B +官 k I +ã‚‚ h B +三 k B +å k B +æ—¥ k B +〠y B +国 k B +防 k I +ç· k I +çœ k I +ã® h B +資 k B +æ–™ k I +ã‚’ h B +ムt B +ェ t I +ッ t I +ク t I +ã— h B +〠y B +è» k B +ã® h B +é–¢ k B +与 k I +ã® h B +実 k B +æ…‹ k I +ã‚’ h B +æ´— k B +ã„ h I +ç›´ k I +ã™ h I +よ h B +ㆠh I +指 k B +示 k I +ã™ h B +ã‚‹ h I +㪠h B +ã© h I +æ³¢ k B +ç´‹ k I +㯠h B +広 k B +㌠h I +ã‚‹ h I +一 k B +æ–¹ k I +。 y B + +å›› k B +å k B +å¹´ k B +ã‚’ h B +経 k B +㦠h B +明 k B +ã‚‹ h I +ã¿ h I +ã« h B +出 k B +㟠h B +人 k B +体 k I +実 k B +験 k I +ス t B +ã‚­ t I +ャ t I +ン t I +ダ t I +ル t I +㯠h B +〠y B +当 k B +分 k I +〠y B +å°¾ k B +ã‚’ h B +引 k B +ã h I +ã h B +ㆠh I +㪠h B +æ°— k B +é… k I +ã  h B +。 y B + +  y B +ホ t B +ワ t I +イ t I +ト t I +ムt I +ウ t I +ス t I +ã« h B +æ‹› k B +集 k I +ã• h B +ã‚Œ h B +ã‚‹ h I +ã® h B +㯠h B +〠y B +人 k B +体 k I +実 k B +験 k I +ã® h B +実 k B +æ…‹ k I +㨠h B +被 k B +害 k I +者 k B +ã® h B +追 k B +è·¡ k I +調 k B +査 k I +ã‚’ h B +è¡Œ k B +㣠h I +㦠h B +ã„ h B +ã‚‹ h I +エ t B +ムt I +ル t I +ã‚® t I +ー t I +çœ k I +ã‚’ h B +㯠h B +㘠h I +ã‚ h I +〠y B +国 k B +防 k I +ç· k I +çœ k I +〠y B +復 k B +å“¡ k I +è» k I +人 k I +çœ k I +〠y B +航 k B +空 k I +宇 k B +å®™ k I +å±€ k B +( y B +ï¼® a B +A a I +ï¼³ a I +A a I +) y B +。 y B + +å›› k B +〇 y B +å¹´ k B +代 k I +ã« h B +ã• h B +ã‹ h I +ã® h I +ã¼ h I +㣠h I +㦠h B +ã® h B +é–¢ k B +ä¿‚ k I +記 k B +録 k I +ã® h B +å…¬ k B +表 k I +ã‚„ h B +補 k B +å„Ÿ k I +å• k B +é¡Œ k I +ã® h B +å– k B +ã‚Š h I +扱 k I +ã„ h I +㌠h B +中 k B +心 k I +テ t B +ー t I +マ t I +ã« h B +㪠h B +ã‚‹ h I +㨠h B +ã¿ h B +ら h B +ã‚Œ h I +㦠h B +ã„ h B +ã‚‹ h I +。 y B + +  y B +ã“ h B +ã® h I +å• k B +é¡Œ k I +㯠h B +å k B +二 k I +月 k I +七 k B +æ—¥ k B +〠y B +オ t B +レ t I +ã‚¢ t I +リ t I +é•· k B +官 k I +㌠h B +åˆ k B +ã‚ h I +㦠h I +記 k B +者 k I +会 k B +見 k I +㧠h B +èª k B +ã‚ h I +〠y B +調 k B +査 k I diff --git a/CRF/feature.cpp b/CRF/feature.cpp new file mode 100644 index 0000000000000000000000000000000000000000..fefc2aa036df2ffad560c76a0d7e79d7d4641e68 --- /dev/null +++ b/CRF/feature.cpp @@ -0,0 +1,176 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: feature.cpp 1595 2007-02-24 10:18:32Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include "feature_index.h" +#include "common.h" +#include "node.h" +#include "path.h" +#include "tagger.h" + +namespace CRFPP { +static const char *BOS[4] = { "_B-1", "_B-2", "_B-3", "_B-4"}; +static const char *EOS[4] = { "_B+1", "_B+2", "_B+3", "_B+4"}; + +const char *FeatureIndex::get_index(char *&p, + size_t pos, + const TaggerImpl &tagger) { + if (*p++ !='[') return 0; + + int col = 0; + int row = 0; + + int neg = 1; + if (*p++ == '-') + neg = -1; + else + --p; + + for (; *p; ++p) { + switch (*p) { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + row = 10 * row +(*p - '0'); + break; + case ',': + ++p; + goto NEXT1; + default: return 0; + } + } + +NEXT1: + + for (; *p; ++p) { + switch (*p) { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + col = 10 * col +(*p - '0'); + break; + case ']': goto NEXT2; + default: return 0; + } + } + +NEXT2: + + row *= neg; + + if (row < -4 || row > 4 || + col < 0 || col >= static_cast(tagger.xsize())) + return 0; + + max_xsize_ = _max(max_xsize_, static_cast(col + 1)); + + int idx = pos + row; + if (idx < 0) + return BOS[-idx-1]; + if (idx >= static_cast(tagger.size())) + return EOS[idx - tagger.size()]; + + return tagger.x(idx, col); +} + +bool FeatureIndex::apply_rule(string_buffer *os, + char *p, + size_t pos, + const TaggerImpl& tagger) { + os->assign(""); // clear + const char *r; + + for (; *p; p++) { + switch (*p) { + default: + *os << *p; + break; + case '%': + switch (*++p) { + case 'x': + ++p; + r = get_index(p, pos, tagger); + if (!r) return false; + *os << r; + break; + default: + return false; + } + break; + } + } + + *os << '\0'; + + return true; +} + +void FeatureIndex::rebuildFeatures(TaggerImpl *tagger) { + size_t fid = tagger->feature_id(); + unsigned short thread_id = tagger->thread_id(); + + path_freelist_[thread_id].free(); + node_freelist_[thread_id].free(); + + for (size_t cur = 0; cur < tagger->size(); ++cur) { + int *f = feature_cache_[fid++]; + for (size_t i = 0; i < y_.size(); ++i) { + Node *n = node_freelist_[thread_id].alloc(); + n->clear(); + n->x = cur; + n->y = i; + n->fvector = f; + tagger->set_node(n, cur, i); + } + } + + for (size_t cur = 1; cur < tagger->size(); ++cur) { + int *f = feature_cache_[fid++]; + for (size_t j = 0; j < y_.size(); ++j) { + for (size_t i = 0; i < y_.size(); ++i) { + Path *p = path_freelist_[thread_id].alloc(); + p->clear(); + p->add(tagger->node(cur-1, j), + tagger->node(cur, i)); + p->fvector = f; + } + } + } +} + +#define ADD { int id = this->getID(os.c_str()); \ + if (id != -1) feature.push_back(id); } while (0) + +bool FeatureIndex::buildFeatures(TaggerImpl *tagger) { + string_buffer os; + std::vector feature; + + tagger->set_feature_id(feature_cache_.size()); + + for (size_t cur = 0; cur < tagger->size(); ++cur) { + for (std::vector::const_iterator it = unigram_templs_.begin(); + it != unigram_templs_.end(); ++it) { + CHECK_FALSE(apply_rule(&os, *it, cur, *tagger)) + << " format error: " << *it; + ADD; + } + feature_cache_.add(feature); + feature.clear(); + } + + for (size_t cur = 1; cur < tagger->size(); ++cur) { + for (std::vector::const_iterator it = bigram_templs_.begin(); + it != bigram_templs_.end(); ++it) { + CHECK_FALSE(apply_rule(&os, *it, cur, *tagger)) + << "format error: " << *it; + ADD; + } + feature_cache_.add(feature); + feature.clear(); + } + + return true; +} +#undef ADD +} diff --git a/CRF/feature.lo b/CRF/feature.lo new file mode 100644 index 0000000000000000000000000000000000000000..5b5fd98865aaf52f88b02b217cb8e5676a44e36d --- /dev/null +++ b/CRF/feature.lo @@ -0,0 +1,12 @@ +# feature.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/feature.o' + +# Name of the non-PIC object +non_pic_object='feature.o' + diff --git a/CRF/feature.o b/CRF/feature.o new file mode 100644 index 0000000000000000000000000000000000000000..c85259a33353bffe7d9f6dcbf6b75aa906016176 Binary files /dev/null and b/CRF/feature.o differ diff --git a/CRF/feature_cache.cpp b/CRF/feature_cache.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7323a60148c17b2b70d1162d66532bfb5853df6b --- /dev/null +++ b/CRF/feature_cache.cpp @@ -0,0 +1,32 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: feature_cache.cpp 1587 2007-02-12 09:00:36Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include +#include "feature_cache.h" + +namespace CRFPP { + +void FeatureCache::add(const std::vector &f) { + int *p = feature_freelist_.alloc(f.size() + 1); + std::copy(f.begin(), f.end(), p); + p[f.size()] = -1; // sentinel + this->push_back(p); +} + +void FeatureCache::shrink(std::map *old2new) { + for (size_t i = 0; i < size(); ++i) { + std::vector newf; + for (int *f = (*this)[i]; *f != -1; ++f) { + std::map::iterator it = old2new->find(*f); + if (it != old2new->end()) newf.push_back(it->second); + } + newf.push_back(-1); + std::copy(newf.begin(), newf.end(), (*this)[i]); + } + return; +} +} diff --git a/CRF/feature_cache.h b/CRF/feature_cache.h new file mode 100644 index 0000000000000000000000000000000000000000..875b88b45bfc5de8093b7a3ebf7bb19dce3d4e8f --- /dev/null +++ b/CRF/feature_cache.h @@ -0,0 +1,34 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: feature_cache.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_FEATURE_CACHE_H_ +#define CRFPP_FEATURE_CACHE_H_ + +#include +#include +#include "freelist.h" + +namespace CRFPP { + +class FeatureCache: public std::vector { + private: + FreeList feature_freelist_; + + public: + void clear() { + std::vector::clear(); + feature_freelist_.free(); + } + + void add(const std::vector &); + void shrink(std::map *); + + explicit FeatureCache(): feature_freelist_(8192 * 16) {} + virtual ~FeatureCache() {} +}; +} +#endif diff --git a/CRF/feature_cache.lo b/CRF/feature_cache.lo new file mode 100644 index 0000000000000000000000000000000000000000..e34a5d8499c7f3054eb8771d990b542609cc4b1c --- /dev/null +++ b/CRF/feature_cache.lo @@ -0,0 +1,12 @@ +# feature_cache.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/feature_cache.o' + +# Name of the non-PIC object +non_pic_object='feature_cache.o' + diff --git a/CRF/feature_cache.o b/CRF/feature_cache.o new file mode 100644 index 0000000000000000000000000000000000000000..6d1157dd934c9369e9d7f619da910bf3fd233731 Binary files /dev/null and b/CRF/feature_cache.o differ diff --git a/CRF/feature_index.cpp b/CRF/feature_index.cpp new file mode 100644 index 0000000000000000000000000000000000000000..eee66b7a27b0626ce062002d065f5c9aed14cc00 --- /dev/null +++ b/CRF/feature_index.cpp @@ -0,0 +1,437 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: feature_index.cpp 1587 2007-02-12 09:00:36Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include +#include +#include +#include +#include "common.h" +#include "feature_index.h" + +namespace CRFPP { + +static inline char *read_ptr(char **ptr, size_t size) { + char *r = *ptr; + *ptr += size; + return r; +} + +template static inline void read_static(char **ptr, + T *value) { + char *r = read_ptr(ptr, sizeof(T)); + memcpy(value, r, sizeof(T)); +} + +int DecoderFeatureIndex::getID(const char *key) { + return da_.exactMatchSearch(key); +} + +int EncoderFeatureIndex::getID(const char *key) { + std::map >::iterator + it = dic_.find(key); + if (it == dic_.end()) { + dic_.insert(std::make_pair > + (key, std::make_pair(maxid_, 1))); + int n = maxid_; + maxid_ += (key[0] == 'U' ? y_.size() : y_.size() * y_.size()); + return n; + } else { + it->second.second++; + return it->second.first; + } + return -1; +} + +bool EncoderFeatureIndex::open(const char *filename1, + const char *filename2) { + return openTemplate(filename1) && openTagSet(filename2); +} + +bool EncoderFeatureIndex::openTemplate(const char *filename) { + std::ifstream ifs(filename); + CHECK_FALSE(ifs) << "open failed: " << filename; + + std::string line; + while (std::getline(ifs, line)) { + if (!line[0] || line[0] == '#') continue; + if (line[0] == 'U') { + unigram_templs_.push_back(this->strdup(line.c_str())); + } else if (line[0] == 'B') { + bigram_templs_.push_back(this->strdup(line.c_str())); + } else { + CHECK_FALSE(true) << "unknown type: " << line << " " << filename; + } + } + + return true; +} + +bool EncoderFeatureIndex::openTagSet(const char *file) { + std::ifstream ifs(file); + CHECK_FALSE(ifs) << "no such file or directory: " << file ; + + char line[8192]; + char* column[1024]; + size_t max_size = 0; + std::set candset; + + while (ifs.getline(line, sizeof(line))) { + if (line[0] == '\0' || line[0] == ' ' || line[0] == '\t') continue; + size_t size = tokenize2(line, "\t ", column, 1024); + if (max_size == 0) max_size = size; + CHECK_FALSE(max_size == size) + << "inconsistent column size: " + << max_size << " " << size << " " << file; + xsize_ = size - 1; + candset.insert(column[max_size-1]); + } + + y_.clear(); + for (std::set::iterator it = candset.begin(); + it != candset.end(); ++it) + y_.push_back(this->strdup(it->c_str())); + + ifs.close(); + + return true; +} + +bool DecoderFeatureIndex::open(const char *filename1, + const char *filename2) { + CHECK_FALSE(mmap_.open(filename1)) << mmap_.what(); + + char *ptr = mmap_.begin(); + unsigned int version_ = 0; + + read_static(&ptr, &version_); + + CHECK_FALSE(version_ / 100 == version / 100) + << "model version is different: " << version_ + << " vs " << version << " : " << filename1; + int type = 0; + read_static(&ptr, &type); + read_static(&ptr, &cost_factor_); + read_static(&ptr, &maxid_); + read_static(&ptr, &xsize_); + + unsigned int dsize = 0; + read_static(&ptr, &dsize); + + unsigned int y_str_size; + read_static(&ptr, &y_str_size); + char *y_str = read_ptr(&ptr, y_str_size); + size_t pos = 0; + while (pos < y_str_size) { + y_.push_back(y_str + pos); + while (y_str[pos++] != '\0') {} + } + + unsigned int tmpl_str_size; + read_static(&ptr, &tmpl_str_size); + char *tmpl_str = read_ptr(&ptr, tmpl_str_size); + pos = 0; + while (pos < tmpl_str_size) { + char *v = tmpl_str + pos; + if (v[0] == '\0') { + ++pos; + } else if (v[0] == 'U') { + unigram_templs_.push_back(v); + } else if (v[0] == 'B') { + bigram_templs_.push_back(v); + } else { + CHECK_FALSE(true) << "unknown type: " << v; + } + while (tmpl_str[pos++] != '\0') {} + } + + da_.set_array(ptr); + ptr += dsize; + + alpha_float_ = reinterpret_cast(ptr); + ptr += sizeof(alpha_float_[0]) * maxid_; + + CHECK_FALSE(ptr == mmap_.end()) << + "model file is broken: " << filename1; + + return true; +} + +void EncoderFeatureIndex::shrink(size_t freq) { + if (freq <= 1) return; + + std::map old2new; + int new_maxid = 0; + + for (std::map >::iterator + it = dic_.begin(); it != dic_.end();) { + const std::string &key = it->first; + + if (it->second.second >= freq) { + old2new.insert(std::make_pair(it->second.first, new_maxid)); + it->second.first = new_maxid; + new_maxid += (key[0] == 'U' ? y_.size() : y_.size() * y_.size()); + ++it; + } else { + dic_.erase(it++); + } + } + + feature_cache_.shrink(&old2new); + + maxid_ = new_maxid; + + return; +} + +void DecoderFeatureIndex::clear() { + char_freelist_.free(); + feature_cache_.clear(); + for (size_t i = 0; i < thread_num_; ++i) { + node_freelist_[i].free(); + path_freelist_[i].free(); + } +} + +void EncoderFeatureIndex::clear() {} + +bool EncoderFeatureIndex::convert(const char *filename1, + const char *filename2) { + std::ifstream ifs(filename1); + + y_.clear(); + dic_.clear(); + unigram_templs_.clear(); + bigram_templs_.clear(); + xsize_ = 0; + maxid_ = 0; + + CHECK_FALSE(ifs) << "open failed: " << filename1; + + char line[8192]; + char *column[8]; + + // read header + while (true) { + CHECK_FALSE(ifs.getline(line, sizeof(line))) + << " format error: " << filename1; + + if (std::strlen(line) == 0) break; + + size_t size = tokenize(line, "\t ", column, 2); + + CHECK_FALSE(size == 2) << "format error: " << filename1; + + if (std::strcmp(column[0], "xsize:") == 0) + xsize_ = std::atoi(column[1]); + + if (std::strcmp(column[0], "maxid:") == 0) + maxid_ = std::atoi(column[1]); + } + + CHECK_FALSE(maxid_ > 0) << "maxid is not defined: " << filename1; + + CHECK_FALSE(xsize_ > 0) << "xsize is not defined: " << filename1; + + while (true) { + CHECK_FALSE(ifs.getline(line, sizeof(line))) + << "format error: " << filename1; + if (std::strlen(line) == 0) break; + y_.push_back(this->strdup(line)); + } + + while (true) { + CHECK_FALSE(ifs.getline(line, sizeof(line))) + << "format error: " << filename1; + if (std::strlen(line) == 0) break; + if (line[0] == 'U') { + unigram_templs_.push_back(this->strdup(line)); + } else if (line[0] == 'B') { + bigram_templs_.push_back(this->strdup(line)); + } else { + CHECK_FALSE(true) << "unknown type: " << line << " " << filename1; + } + } + + while (true) { + CHECK_FALSE(ifs.getline(line, sizeof(line))) + << "format error: " << filename1; + if (std::strlen(line) == 0) break; + + size_t size = tokenize(line, "\t ", column, 2); + CHECK_FALSE(size == 2) << "format error: " << filename1; + + dic_.insert(std::make_pair > + (column[1], + std::make_pair(std::atoi(column[0]), 1))); + } + + std::vector alpha; + while (ifs.getline(line, sizeof(line))) + alpha.push_back(std::atof(line)); + + alpha_ = &alpha[0]; + + CHECK_FALSE(alpha.size() == maxid_) << " file is broken: " << filename1; + + return save(filename2, false); +} + + +bool EncoderFeatureIndex::save(const char *filename, bool textmodelfile) { + std::vector key; + std::vector val; + + std::string y_str; + for (size_t i = 0; i < y_.size(); ++i) { + y_str += std::string(y_[i]); + y_str += '\0'; + } + + std::string templ_str; + for (size_t i = 0; i < unigram_templs_.size(); ++i) { + templ_str += std::string(unigram_templs_[i]); + templ_str += '\0'; + } + + for (size_t i = 0; i < bigram_templs_.size(); ++i) { + templ_str += std::string(bigram_templs_[i]); + templ_str += '\0'; + } + + while ((y_str.size() + templ_str.size()) % 4 != 0) + templ_str += '\0'; + + for (std::map >::iterator + it = dic_.begin(); + it != dic_.end(); ++it) { + key.push_back(const_cast(it->first.c_str())); + val.push_back(it->second.first); + } + + Darts::DoubleArray da; + + CHECK_FALSE(da.build(key.size(), &key[0], 0, &val[0]) == 0) + << "cannot build double-array"; + + std::ofstream bofs; + bofs.open(filename, OUTPUT_MODE); + + CHECK_FALSE(bofs) << "open failed: " << filename; + + unsigned int version_ = version; + bofs.write(reinterpret_cast(&version_), sizeof(unsigned int)); + + int type = 0; + bofs.write(reinterpret_cast(&type), sizeof(type)); + bofs.write(reinterpret_cast(&cost_factor_), sizeof(cost_factor_)); + bofs.write(reinterpret_cast(&maxid_), sizeof(maxid_)); + + if (max_xsize_ > 0) { + xsize_ = _min(xsize_, max_xsize_); + } + bofs.write(reinterpret_cast(&xsize_), sizeof(xsize_)); + unsigned int dsize = da.unit_size() * da.size(); + bofs.write(reinterpret_cast(&dsize), sizeof(dsize)); + unsigned int size = y_str.size(); + bofs.write(reinterpret_cast(&size), sizeof(size)); + bofs.write(const_cast(y_str.data()), y_str.size()); + size = templ_str.size(); + bofs.write(reinterpret_cast(&size), sizeof(size)); + bofs.write(const_cast(templ_str.data()), templ_str.size()); + bofs.write(reinterpret_cast(da.array()), dsize); + + for (size_t i = 0; i < maxid_; ++i) { + float alpha = static_cast(alpha_[i]); + bofs.write(reinterpret_cast(&alpha), sizeof(alpha)); + } + + bofs.close(); + + if (textmodelfile) { + std::string filename2 = filename; + filename2 += ".txt"; + + std::ofstream tofs(filename2.c_str()); + + CHECK_FALSE(tofs) << " no such file or directory: " << filename2; + + // header + tofs << "version: " << version_ << std::endl; + tofs << "cost-factor: " << cost_factor_ << std::endl; + tofs << "maxid: " << maxid_ << std::endl; + tofs << "xsize: " << xsize_ << std::endl; + + tofs << std::endl; + + // y + for (size_t i = 0; i < y_.size(); ++i) + tofs << y_[i] << std::endl; + + tofs << std::endl; + + // template + for (size_t i = 0; i < unigram_templs_.size(); ++i) + tofs << unigram_templs_[i] << std::endl; + + for (size_t i = 0; i < bigram_templs_.size(); ++i) + tofs << bigram_templs_[i] << std::endl; + + tofs << std::endl; + + // dic + for (std::map >::iterator + it = dic_.begin(); + it != dic_.end(); ++it) { + tofs << it->second.first << " " << it->first << std::endl; + } + + tofs << std::endl; + + tofs.setf(std::ios::fixed, std::ios::floatfield); + tofs.precision(16); + + for (size_t i = 0; i < maxid_; ++i) + tofs << alpha_[i] << std::endl; + } + + return true; +} + +char *FeatureIndex::strdup(const char *p) { + size_t len = std::strlen(p); + char *q = char_freelist_.alloc(len+1); + std::strcpy(q, p); + return q; +} + +void FeatureIndex::calcCost(Node *n) { + n->cost = 0.0; + +#define ADD_COST(T, A) \ + { T c = 0; \ + for (int *f = n->fvector; *f != -1; ++f) c += (A)[*f + n->y]; \ + n->cost =cost_factor_ *(T)c; } + + if (alpha_float_) ADD_COST(float, alpha_float_) + else ADD_COST(double, alpha_); +#undef ADD_COST +} + +void FeatureIndex::calcCost(Path *p) { + p->cost = 0.0; + +#define ADD_COST(T, A) \ + { T c = 0.0; \ + for (int *f = p->fvector; *f != -1; ++f) \ + c += (A)[*f + p->lnode->y * y_.size() + p->rnode->y]; \ + p->cost =cost_factor_*(T)c; } + + if (alpha_float_) ADD_COST(float, alpha_float_) + else ADD_COST(double, alpha_); +} +#undef ADD_COST +} diff --git a/CRF/feature_index.h b/CRF/feature_index.h new file mode 100644 index 0000000000000000000000000000000000000000..1c3d836888be1dad320f8986f2a26e996c90efd1 --- /dev/null +++ b/CRF/feature_index.h @@ -0,0 +1,120 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: feature_index.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_FEATURE_INDEX_H_ +#define CRFPP_FEATURE_INDEX_H_ + +#include +#include +#include +#include "common.h" +#include "scoped_ptr.h" +#include "feature_cache.h" +#include "path.h" +#include "node.h" +#include "freelist.h" +#include "mmap.h" +#include "darts.h" + +namespace CRFPP { +class TaggerImpl; + +class FeatureIndex { + protected: + unsigned int maxid_; + double *alpha_; + float *alpha_float_; + double cost_factor_; + unsigned int xsize_; + unsigned int max_xsize_; + size_t thread_num_; + FeatureCache feature_cache_; + std::vector unigram_templs_; + std::vector bigram_templs_; + std::vector y_; + FreeList char_freelist_; + scoped_array< FreeList > path_freelist_; + scoped_array< FreeList > node_freelist_; + whatlog what_; + + virtual int getID(const char *) = 0; + + const char *get_index(char *&, size_t, const TaggerImpl &); + bool apply_rule(string_buffer *, + char *, + size_t, const TaggerImpl &); + + public: + static const unsigned int version = MODEL_VERSION; + + size_t size() const { return maxid_; } + size_t xsize() const { return xsize_; } + size_t ysize() const { return y_.size(); } + const char* y(size_t i) const { return y_[i]; } + void set_alpha(double *alpha) { alpha_ = alpha; } + const float *alpha_float() { return const_cast(alpha_float_); } + const double *alpha() const { return const_cast(alpha_); } + void set_cost_factor(double cost_factor) { cost_factor_ = cost_factor; } + double cost_factor() const { return cost_factor_; } + char *strdup(const char *); + void calcCost(Node *); + void calcCost(Path *); + + bool buildFeatures(TaggerImpl *); + void rebuildFeatures(TaggerImpl *); + + const char* what() { return what_.str(); } + + virtual bool open(const char*, const char*) = 0; + virtual void clear() = 0; + + void init() { + path_freelist_.reset(new FreeList [thread_num_]); + node_freelist_.reset(new FreeList [thread_num_]); + for (size_t i = 0; i < thread_num_; ++i) { + path_freelist_[i].set_size(8192 * 16); + node_freelist_[i].set_size(8192); + } + } + + explicit FeatureIndex(): maxid_(0), alpha_(0), alpha_float_(0), + cost_factor_(1.0), xsize_(0), max_xsize_(0), + thread_num_(1), char_freelist_(8192) {} + virtual ~FeatureIndex() {} +}; + +class EncoderFeatureIndex: public FeatureIndex { + private: + std::map > dic_; + int getID(const char *); + bool openTemplate(const char *); + bool openTagSet(const char *); + public: + explicit EncoderFeatureIndex(size_t n) { + thread_num_ = n; + init(); + } + bool open(const char*, const char*); + bool save(const char *, bool); + bool convert(const char *, const char*); + void clear(); + void shrink(size_t) ; +}; + +class DecoderFeatureIndex: public FeatureIndex { + private: + Mmap mmap_; + Darts::DoubleArray da_; + int getID(const char *); + public: + explicit DecoderFeatureIndex() { init(); } + bool open(const char *, const char *); + void clear(); +}; +} + +#endif diff --git a/CRF/feature_index.lo b/CRF/feature_index.lo new file mode 100644 index 0000000000000000000000000000000000000000..91f8912c77105e22d61b98a755b28608ad4b1767 --- /dev/null +++ b/CRF/feature_index.lo @@ -0,0 +1,12 @@ +# feature_index.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/feature_index.o' + +# Name of the non-PIC object +non_pic_object='feature_index.o' + diff --git a/CRF/feature_index.o b/CRF/feature_index.o new file mode 100644 index 0000000000000000000000000000000000000000..23cda4e43728ccfc8bf8016396708ef59b296c20 Binary files /dev/null and b/CRF/feature_index.o differ diff --git a/CRF/freelist.h b/CRF/freelist.h new file mode 100644 index 0000000000000000000000000000000000000000..b97f9fdf012fc5896cae0d6a8b6d167da20fa5c4 --- /dev/null +++ b/CRF/freelist.h @@ -0,0 +1,72 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: freelist.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_FREELIST_H_ +#define CRFPP_FREELIST_H_ + +#include +#include + +namespace CRFPP { +template +class Length { + public: + size_t operator()(const T *str) const { return 1; } +}; + +class charLength { + public: + size_t operator()(const char *str) const { return strlen(str) + 1; } +}; + +template > +class FreeList { + private: + std::vector freeList; + size_t pi; + size_t li; + size_t size; + + public: + void free() { li = pi = 0; } + + T* alloc(size_t len = 1) { + if ((pi + len) >= size) { + li++; + pi = 0; + } + if (li == freeList.size()) { + freeList.push_back(new T[size]); + } + T* r = freeList[li] + pi; + pi += len; + return r; + } + + T* dup(T *src, size_t len = 0) { + if (!len) len = LengthFunc () (src); + T *p = alloc(len); + if (src == 0) memset (p, 0, len * sizeof (T)); + else memcpy(p, src, len * sizeof(T)); + return p; + } + + void set_size(size_t n) { size = n; } + + explicit FreeList(size_t _size): pi(0), li(0), size(_size) {} + explicit FreeList(): pi(0), li(0), size(0) {} + + virtual ~FreeList() { + for (li = 0; li < freeList.size(); ++li) { + delete [] freeList[li]; + } + } +}; + +typedef FreeList StrFreeList; +} +#endif diff --git a/CRF/install-sh b/CRF/install-sh new file mode 100644 index 0000000000000000000000000000000000000000..dd97db7aa1cae9655149aad9d21c6cf42476c0da --- /dev/null +++ b/CRF/install-sh @@ -0,0 +1,322 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-09-10.20 + +# 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. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= +dstarg= +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: +-c (ignored) +-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. +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -c) shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t) dstarg=$2 + shift + shift + continue;; + + -T) no_target_directory=true + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + test -n "$dir_arg$dstarg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; 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 + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + mkdircmd=: + chmodcmd= + else + mkdircmd=$mkdirprog + fi + 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 "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # 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: $dstarg: Is a directory" >&2 + exit 1 + fi + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test -d "$pathcomp" || exit + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $mkdircmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + dstfile=`basename "$dst"` + + # 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 + trap '(exit $?); exit' 1 2 13 15 + + # Copy the file name to the temp name. + $doit $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 "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 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. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/CRF/java/.am b/CRF/java/.am new file mode 100644 index 0000000000000000000000000000000000000000..0608003b7dc378ad7a8674445fd2dbf8094b1a81 --- /dev/null +++ b/CRF/java/.am @@ -0,0 +1,27 @@ +TARGET=MeCab +JAVAC=javac +JAVA=java +JAR=jar +CXX=c++ +INCLUDE=/usr/lib/jvm/java-6-openjdk/include + +PACKAGE=org/chasen/mecab + +LIBS=`mecab-config --libs` +INC=`mecab-config --cflags` -I$(INCLUDE) -I$(INCLUDE)/linux + +all: + $(CXX) -O3 -c -fpic $(TARGET)_wrap.cxx $(INC) + $(CXX) -shared $(TARGET)_wrap.o -o lib$(TARGET).so $(LIBS) + $(JAVAC) $(PACKAGE)/*.java + $(JAVAC) test.java + $(JAR) cfv $(TARGET).jar $(PACKAGE)/*.class + +test: + env LD_LIBRARY_PATH=. $(JAVA) test + +clean: + rm -fr *.jar *.o *.so *.class $(PACKAGE)/*.class + +cleanall: + rm -fr $(TARGET).java *.cxx diff --git a/CRF/java/CRFPP_wrap.cxx b/CRF/java/CRFPP_wrap.cxx new file mode 100644 index 0000000000000000000000000000000000000000..487919a28cfb546a6f129b0a4b5763b1e0fbfee4 --- /dev/null +++ b/CRF/java/CRFPP_wrap.cxx @@ -0,0 +1,1373 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGJAVA + + +#ifdef __cplusplus +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigMovePointer { + T *ptr; + SwigMovePointer(T *p) : ptr(p) { } + ~SwigMovePointer() { delete ptr; } + SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; } + operator T&() const { return *pointer.ptr; } + T *operator&() { return pointer.ptr; } +}; + +template T SwigValueInit() { + return T(); +} +#endif + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Fix for jlong on some versions of gcc on Windows */ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) + typedef long long __int64; +#endif + +/* Fix for jlong on 64-bit x86 Solaris */ +#if defined(__x86_64) +# ifdef _LP64 +# undef _LP64 +# endif +#endif + +#include +#include +#include + + +/* Support for throwing Java exceptions */ +typedef enum { + SWIG_JavaOutOfMemoryError = 1, + SWIG_JavaIOException, + SWIG_JavaRuntimeException, + SWIG_JavaIndexOutOfBoundsException, + SWIG_JavaArithmeticException, + SWIG_JavaIllegalArgumentException, + SWIG_JavaNullPointerException, + SWIG_JavaDirectorPureVirtual, + SWIG_JavaUnknownError +} SWIG_JavaExceptionCodes; + +typedef struct { + SWIG_JavaExceptionCodes code; + const char *java_exception; +} SWIG_JavaExceptions_t; + + +static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) { + jclass excep; + static const SWIG_JavaExceptions_t java_exceptions[] = { + { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, + { SWIG_JavaIOException, "java/io/IOException" }, + { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, + { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, + { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, + { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, + { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, + { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, + { SWIG_JavaUnknownError, "java/lang/UnknownError" }, + { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } }; + const SWIG_JavaExceptions_t *except_ptr = java_exceptions; + + while (except_ptr->code != code && except_ptr->code) + except_ptr++; + + jenv->ExceptionClear(); + excep = jenv->FindClass(except_ptr->java_exception); + if (excep) + jenv->ThrowNew(excep, msg); +} + + +/* Contract support */ + +#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else + +/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + + + +SWIGINTERN void SWIG_JavaException(JNIEnv *jenv, int code, const char *msg) { + SWIG_JavaExceptionCodes exception_code = SWIG_JavaUnknownError; + switch(code) { + case SWIG_MemoryError: + exception_code = SWIG_JavaOutOfMemoryError; + break; + case SWIG_IOError: + exception_code = SWIG_JavaIOException; + break; + case SWIG_SystemError: + case SWIG_RuntimeError: + exception_code = SWIG_JavaRuntimeException; + break; + case SWIG_OverflowError: + case SWIG_IndexError: + exception_code = SWIG_JavaIndexOutOfBoundsException; + break; + case SWIG_DivisionByZero: + exception_code = SWIG_JavaArithmeticException; + break; + case SWIG_SyntaxError: + case SWIG_ValueError: + case SWIG_TypeError: + exception_code = SWIG_JavaIllegalArgumentException; + break; + case SWIG_UnknownError: + default: + exception_code = SWIG_JavaUnknownError; + break; + } + SWIG_JavaThrowException(jenv, exception_code, msg); +} + + +#include + + +#include "crfpp.h" + + + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + + + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1set_1vlevel(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + unsigned int arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (unsigned int)jarg2; + { + try { + (arg1)->set_vlevel(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1vlevel(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + unsigned int result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (unsigned int)((CRFPP::Tagger const *)arg1)->vlevel(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1set_1cost_1factor(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jfloat jarg2) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + float arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (float)jarg2; + { + try { + (arg1)->set_cost_factor(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jfloat JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1cost_1factor(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jfloat jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + float result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (float)((CRFPP::Tagger const *)arg1)->cost_factor(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jfloat)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1set_1nbest(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + (arg1)->set_nbest(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1nbest(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->nbest(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1add(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + { + try { + result = (bool)(arg1)->add((char const *)arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1size(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->size(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1xsize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->xsize(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1dsize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->dsize(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1result(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = ((CRFPP::Tagger const *)arg1)->result(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1answer(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = ((CRFPP::Tagger const *)arg1)->answer(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1y(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = ((CRFPP::Tagger const *)arg1)->y(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1y2(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->y2(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1yname(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->yname(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1x(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->x(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1ysize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jlong jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = ((CRFPP::Tagger const *)arg1)->ysize(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jlong)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prob_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prob_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prob_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1alpha(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->alpha(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1beta(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->beta(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1emission_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->emission_cost(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1next_1transition_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + arg4 = (size_t)jarg4; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->next_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1prev_1transition_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3, jlong jarg4) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + arg4 = (size_t)jarg4; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prev_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1best_1cost(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = (size_t)jarg2; + arg3 = (size_t)jarg3; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->best_cost(arg2,arg3); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1Z(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jdouble jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + double result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->Z(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jdouble)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1parse_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)(arg1)->parse(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1empty(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)((CRFPP::Tagger const *)arg1)->empty(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)(arg1)->clear(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jboolean JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1next(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jboolean jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + bool result; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (bool)(arg1)->next(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + jresult = (jboolean)result; + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1parse_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + arg2 = 0; + if (jarg2) { + arg2 = (char *)jenv->GetStringUTFChars(jarg2, 0); + if (!arg2) return 0; + } + { + try { + result = (char *)(arg1)->parse((char const *)arg2); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_Tagger_1what(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) { + jstring jresult = 0 ; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + (void)jarg1_; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + result = (char *)(arg1)->what(); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_chasen_crfpp_CRFPPJNI_delete_1Tagger(JNIEnv *jenv, jclass jcls, jlong jarg1) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = *(CRFPP::Tagger **)&jarg1; + { + try { + delete arg1; + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return ; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return ; + }; + } + } +} + + +SWIGEXPORT jlong JNICALL Java_org_chasen_crfpp_CRFPPJNI_new_1Tagger(JNIEnv *jenv, jclass jcls, jstring jarg1) { + jlong jresult = 0 ; + char *arg1 = (char *) 0 ; + CRFPP::Tagger *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = 0; + if (jarg1) { + arg1 = (char *)jenv->GetStringUTFChars(jarg1, 0); + if (!arg1) return 0; + } + { + try { + result = (CRFPP::Tagger *)new_CRFPP_Tagger((char const *)arg1); + } + catch (char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, e); return 0; + }; + } + catch (const char *e) { + { + SWIG_JavaException(jenv, SWIG_RuntimeError, (char*)e); return 0; + }; + } + } + *(CRFPP::Tagger **)&jresult = result; + if (arg1) jenv->ReleaseStringUTFChars(jarg1, (const char *)arg1); + return jresult; +} + + +SWIGEXPORT jstring JNICALL Java_org_chasen_crfpp_CRFPPJNI_VERSION_1get(JNIEnv *jenv, jclass jcls) { + jstring jresult = 0 ; + char *result = 0 ; + + (void)jenv; + (void)jcls; + result = (char *) "0.52"; + if(result) jresult = jenv->NewStringUTF((const char *)result); + return jresult; +} + + +#ifdef __cplusplus +} +#endif + diff --git a/CRF/java/Makefile b/CRF/java/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..32b0a2ebf4e9ca06c3d90ddb1c3b5054ffb6b1db --- /dev/null +++ b/CRF/java/Makefile @@ -0,0 +1,27 @@ +TARGET=CRFPP +JAVAC=javac +JAVA=java +JAR=jar +CXX=c++ +INCLUDE=/usr/local/jdk/include + +PACKAGE=org/chasen/crfpp + +LIBS=-lcrfpp -lpthread +INC=-I$(INCLUDE) -I$(INCLUDE)/linux + +all: + $(CXX) -O3 -c -fpic $(TARGET)_wrap.cxx $(INC) + $(CXX) -shared $(TARGET)_wrap.o -o lib$(TARGET).so $(LIBS) + $(JAVAC) $(PACKAGE)/*.java + $(JAVAC) test.java + $(JAR) cfv $(TARGET).jar $(PACKAGE)/*.class + +test: + env LD_LIBRARY_PATH=. $(JAVA) test + +clean: + rm -fr *.jar *.o *.so *.class $(PACKAGE)/*.class + +cleanall: + rm -fr $(TARGET).java *.cxx diff --git a/CRF/java/README b/CRF/java/README new file mode 100644 index 0000000000000000000000000000000000000000..3d8128e24b53e5b82ab1e12646d38415698c3553 --- /dev/null +++ b/CRF/java/README @@ -0,0 +1,7 @@ +CRF++ java module + +$Id: README,v 1.2 2005/12/25 16:55:43 taku-ku Exp $; + + See test.java as sample program. + + % java -classpath CRFPP.jar test -d ../dic diff --git a/CRF/java/org/chasen/crfpp/CRFPP.java b/CRF/java/org/chasen/crfpp/CRFPP.java new file mode 100644 index 0000000000000000000000000000000000000000..f2316d653f3e86c73b3ce49d435094121b8785f7 --- /dev/null +++ b/CRF/java/org/chasen/crfpp/CRFPP.java @@ -0,0 +1,12 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +public class CRFPP implements CRFPPConstants { +} diff --git a/CRF/java/org/chasen/crfpp/CRFPPConstants.java b/CRF/java/org/chasen/crfpp/CRFPPConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..a21b66fad98a622f0f1610aa7c15492344cb86bd --- /dev/null +++ b/CRF/java/org/chasen/crfpp/CRFPPConstants.java @@ -0,0 +1,13 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +public interface CRFPPConstants { + public final static String VERSION = CRFPPJNI.VERSION_get(); +} diff --git a/CRF/java/org/chasen/crfpp/CRFPPJNI.java b/CRF/java/org/chasen/crfpp/CRFPPJNI.java new file mode 100644 index 0000000000000000000000000000000000000000..cd1020e5cad0638179832b918aea0205d6c941eb --- /dev/null +++ b/CRF/java/org/chasen/crfpp/CRFPPJNI.java @@ -0,0 +1,48 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +class CRFPPJNI { + public final static native void Tagger_set_vlevel(long jarg1, Tagger jarg1_, long jarg2); + public final static native long Tagger_vlevel(long jarg1, Tagger jarg1_); + public final static native void Tagger_set_cost_factor(long jarg1, Tagger jarg1_, float jarg2); + public final static native float Tagger_cost_factor(long jarg1, Tagger jarg1_); + public final static native void Tagger_set_nbest(long jarg1, Tagger jarg1_, long jarg2); + public final static native long Tagger_nbest(long jarg1, Tagger jarg1_); + public final static native boolean Tagger_add(long jarg1, Tagger jarg1_, String jarg2); + public final static native long Tagger_size(long jarg1, Tagger jarg1_); + public final static native long Tagger_xsize(long jarg1, Tagger jarg1_); + public final static native long Tagger_dsize(long jarg1, Tagger jarg1_); + public final static native long Tagger_result(long jarg1, Tagger jarg1_, long jarg2); + public final static native long Tagger_answer(long jarg1, Tagger jarg1_, long jarg2); + public final static native long Tagger_y(long jarg1, Tagger jarg1_, long jarg2); + public final static native String Tagger_y2(long jarg1, Tagger jarg1_, long jarg2); + public final static native String Tagger_yname(long jarg1, Tagger jarg1_, long jarg2); + public final static native String Tagger_x(long jarg1, Tagger jarg1_, long jarg2, long jarg3); + public final static native long Tagger_ysize(long jarg1, Tagger jarg1_); + public final static native double Tagger_prob__SWIG_0(long jarg1, Tagger jarg1_, long jarg2, long jarg3); + public final static native double Tagger_prob__SWIG_1(long jarg1, Tagger jarg1_, long jarg2); + public final static native double Tagger_prob__SWIG_2(long jarg1, Tagger jarg1_); + public final static native double Tagger_alpha(long jarg1, Tagger jarg1_, long jarg2, long jarg3); + public final static native double Tagger_beta(long jarg1, Tagger jarg1_, long jarg2, long jarg3); + public final static native double Tagger_emission_cost(long jarg1, Tagger jarg1_, long jarg2, long jarg3); + public final static native double Tagger_next_transition_cost(long jarg1, Tagger jarg1_, long jarg2, long jarg3, long jarg4); + public final static native double Tagger_prev_transition_cost(long jarg1, Tagger jarg1_, long jarg2, long jarg3, long jarg4); + public final static native double Tagger_best_cost(long jarg1, Tagger jarg1_, long jarg2, long jarg3); + public final static native double Tagger_Z(long jarg1, Tagger jarg1_); + public final static native boolean Tagger_parse__SWIG_0(long jarg1, Tagger jarg1_); + public final static native boolean Tagger_empty(long jarg1, Tagger jarg1_); + public final static native boolean Tagger_clear(long jarg1, Tagger jarg1_); + public final static native boolean Tagger_next(long jarg1, Tagger jarg1_); + public final static native String Tagger_parse__SWIG_1(long jarg1, Tagger jarg1_, String jarg2); + public final static native String Tagger_what(long jarg1, Tagger jarg1_); + public final static native void delete_Tagger(long jarg1); + public final static native long new_Tagger(String jarg1); + public final static native String VERSION_get(); +} diff --git a/CRF/java/org/chasen/crfpp/Model.java b/CRF/java/org/chasen/crfpp/Model.java new file mode 100644 index 0000000000000000000000000000000000000000..2ec8ad6b5d0d483d21e4d216498914b5c5fc0709 --- /dev/null +++ b/CRF/java/org/chasen/crfpp/Model.java @@ -0,0 +1,51 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.40 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +public class Model { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected Model(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Model obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if (swigCPtr != 0) { + if (swigCMemOwn) { + swigCMemOwn = false; + CRFPPJNI.delete_Model(swigCPtr); + } + swigCPtr = 0; + } + } + + public Tagger createTagger() { + long cPtr = CRFPPJNI.Model_createTagger(swigCPtr, this); + return (cPtr == 0) ? null : new Tagger(cPtr, false); + } + + public String what() { + return CRFPPJNI.Model_what(swigCPtr, this); + } + + public Model(String arg) { + this(CRFPPJNI.new_Model(arg), true); + } + +} diff --git a/CRF/java/org/chasen/crfpp/SWIGTYPE_p_float.java b/CRF/java/org/chasen/crfpp/SWIGTYPE_p_float.java new file mode 100644 index 0000000000000000000000000000000000000000..54a1b14d7c6a46180c1a5e96904dc3a194b809e4 --- /dev/null +++ b/CRF/java/org/chasen/crfpp/SWIGTYPE_p_float.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.31 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +public class SWIGTYPE_p_float { + private long swigCPtr; + + protected SWIGTYPE_p_float(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_float() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_float obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/CRF/java/org/chasen/crfpp/SWIGTYPE_p_int.java b/CRF/java/org/chasen/crfpp/SWIGTYPE_p_int.java new file mode 100644 index 0000000000000000000000000000000000000000..26d8d3b7e4d86812f203c85f82c9639b8c23da02 --- /dev/null +++ b/CRF/java/org/chasen/crfpp/SWIGTYPE_p_int.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.31 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +public class SWIGTYPE_p_int { + private long swigCPtr; + + protected SWIGTYPE_p_int(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_int() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_int obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/CRF/java/org/chasen/crfpp/SWIGTYPE_p_p_char.java b/CRF/java/org/chasen/crfpp/SWIGTYPE_p_p_char.java new file mode 100644 index 0000000000000000000000000000000000000000..3ce073fe401a23397c6b2c8e97bc1d5db3de944a --- /dev/null +++ b/CRF/java/org/chasen/crfpp/SWIGTYPE_p_p_char.java @@ -0,0 +1,26 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.31 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +public class SWIGTYPE_p_p_char { + private long swigCPtr; + + protected SWIGTYPE_p_p_char(long cPtr, boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_p_char() { + swigCPtr = 0; + } + + protected static long getCPtr(SWIGTYPE_p_p_char obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} + diff --git a/CRF/java/org/chasen/crfpp/Tagger.java b/CRF/java/org/chasen/crfpp/Tagger.java new file mode 100644 index 0000000000000000000000000000000000000000..91699be26a2b364f646fc6a0dbebb49297538f69 --- /dev/null +++ b/CRF/java/org/chasen/crfpp/Tagger.java @@ -0,0 +1,172 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.chasen.crfpp; + +public class Tagger { + private long swigCPtr; + protected boolean swigCMemOwn; + + protected Tagger(long cPtr, boolean cMemoryOwn) { + swigCMemOwn = cMemoryOwn; + swigCPtr = cPtr; + } + + protected static long getCPtr(Tagger obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected void finalize() { + delete(); + } + + public synchronized void delete() { + if(swigCPtr != 0 && swigCMemOwn) { + swigCMemOwn = false; + CRFPPJNI.delete_Tagger(swigCPtr); + } + swigCPtr = 0; + } + + public void set_vlevel(long vlevel) { + CRFPPJNI.Tagger_set_vlevel(swigCPtr, this, vlevel); + } + + public long vlevel() { + return CRFPPJNI.Tagger_vlevel(swigCPtr, this); + } + + public void set_cost_factor(float cost_factor) { + CRFPPJNI.Tagger_set_cost_factor(swigCPtr, this, cost_factor); + } + + public float cost_factor() { + return CRFPPJNI.Tagger_cost_factor(swigCPtr, this); + } + + public void set_nbest(long nbest) { + CRFPPJNI.Tagger_set_nbest(swigCPtr, this, nbest); + } + + public long nbest() { + return CRFPPJNI.Tagger_nbest(swigCPtr, this); + } + + public boolean add(String str) { + return CRFPPJNI.Tagger_add(swigCPtr, this, str); + } + + public long size() { + return CRFPPJNI.Tagger_size(swigCPtr, this); + } + + public long xsize() { + return CRFPPJNI.Tagger_xsize(swigCPtr, this); + } + + public long dsize() { + return CRFPPJNI.Tagger_dsize(swigCPtr, this); + } + + public long result(long i) { + return CRFPPJNI.Tagger_result(swigCPtr, this, i); + } + + public long answer(long i) { + return CRFPPJNI.Tagger_answer(swigCPtr, this, i); + } + + public long y(long i) { + return CRFPPJNI.Tagger_y(swigCPtr, this, i); + } + + public String y2(long i) { + return CRFPPJNI.Tagger_y2(swigCPtr, this, i); + } + + public String yname(long i) { + return CRFPPJNI.Tagger_yname(swigCPtr, this, i); + } + + public String x(long i, long j) { + return CRFPPJNI.Tagger_x(swigCPtr, this, i, j); + } + + public long ysize() { + return CRFPPJNI.Tagger_ysize(swigCPtr, this); + } + + public double prob(long i, long j) { + return CRFPPJNI.Tagger_prob__SWIG_0(swigCPtr, this, i, j); + } + + public double prob(long i) { + return CRFPPJNI.Tagger_prob__SWIG_1(swigCPtr, this, i); + } + + public double prob() { + return CRFPPJNI.Tagger_prob__SWIG_2(swigCPtr, this); + } + + public double alpha(long i, long j) { + return CRFPPJNI.Tagger_alpha(swigCPtr, this, i, j); + } + + public double beta(long i, long j) { + return CRFPPJNI.Tagger_beta(swigCPtr, this, i, j); + } + + public double emission_cost(long i, long j) { + return CRFPPJNI.Tagger_emission_cost(swigCPtr, this, i, j); + } + + public double next_transition_cost(long i, long j, long k) { + return CRFPPJNI.Tagger_next_transition_cost(swigCPtr, this, i, j, k); + } + + public double prev_transition_cost(long i, long j, long k) { + return CRFPPJNI.Tagger_prev_transition_cost(swigCPtr, this, i, j, k); + } + + public double best_cost(long i, long j) { + return CRFPPJNI.Tagger_best_cost(swigCPtr, this, i, j); + } + + public double Z() { + return CRFPPJNI.Tagger_Z(swigCPtr, this); + } + + public boolean parse() { + return CRFPPJNI.Tagger_parse__SWIG_0(swigCPtr, this); + } + + public boolean empty() { + return CRFPPJNI.Tagger_empty(swigCPtr, this); + } + + public boolean clear() { + return CRFPPJNI.Tagger_clear(swigCPtr, this); + } + + public boolean next() { + return CRFPPJNI.Tagger_next(swigCPtr, this); + } + + public String parse(String str) { + return CRFPPJNI.Tagger_parse__SWIG_1(swigCPtr, this, str); + } + + public String what() { + return CRFPPJNI.Tagger_what(swigCPtr, this); + } + + public Tagger(String argc) { + this(CRFPPJNI.new_Tagger(argc), true); + } + +} diff --git a/CRF/java/test.java b/CRF/java/test.java new file mode 100644 index 0000000000000000000000000000000000000000..3ffafe6c473cdc94eafd923a9978589227b38078 --- /dev/null +++ b/CRF/java/test.java @@ -0,0 +1,80 @@ +import org.chasen.crfpp.Tagger; + +public class test { + +public static void main(String[] argv) { + Tagger tagger = new Tagger("-m ../model -v 3 -n2"); + // clear internal context + tagger.clear(); + + // add context + tagger.add("Confidence NN"); + tagger.add("in IN"); + tagger.add("the DT"); + tagger.add("pound NN"); + tagger.add("is VBZ"); + tagger.add("widely RB"); + tagger.add("expected VBN"); + tagger.add("to TO"); + tagger.add("take VB"); + tagger.add("another DT"); + tagger.add("sharp JJ"); + tagger.add("dive NN"); + tagger.add("if IN"); + tagger.add("trade NN"); + tagger.add("figures NNS"); + tagger.add("for IN"); + tagger.add("September NNP"); + + System.out.println("column size: " + tagger.xsize()); + System.out.println("token size: " + tagger.size()); + System.out.println("tag size: " + tagger.ysize()); + + System.out.println("tagset information:"); + for (int i = 0; i < tagger.ysize(); ++i) { + System.out.println("tag " + i + " " + tagger.yname(i)); + } + + // parse and change internal stated as 'parsed' + if (!tagger.parse()) + return; + + System.out.println("conditional prob=" + tagger.prob() + + " log(Z)=" + tagger.Z()); + + for (int i = 0; i < tagger.size(); ++i) { + for (int j = 0; j < tagger.xsize(); ++j) { + System.out.print(tagger.x(i, j) + "\t"); + } + System.out.print(tagger.y2(i) + "\t"); + System.out.print("\n"); + + System.out.print("Details"); + for (int j = 0; j < tagger.ysize(); ++j) { + System.out.print("\t" + tagger.yname(j) + "/prob=" + tagger.prob(i,j) + + "/alpha=" + tagger.alpha(i, j) + + "/beta=" + tagger.beta(i, j)); + } + System.out.print("\n"); + } + + // when -n20 is specified, you can access nbest outputs + System.out.println("nbest outputs:"); + for (int n = 0; n < 10; ++n) { + if (! tagger.next()) break; + System.out.println("nbest n=" + n + "\tconditional prob=" + tagger.prob()); + // you can access any information using tagger.y()... + } + System.out.println("Done"); +} + +static { + try { + System.loadLibrary("CRFPP"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Cannot load the example native code.\nMake sure your LD_LIBRARY_PATH contains \'.\'\n" + e); + System.exit(1); + } +} + +} diff --git a/CRF/lbfgs.cpp b/CRF/lbfgs.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7e607f82d575ebaf5eb808e63dd2fd23139b4e2a --- /dev/null +++ b/CRF/lbfgs.cpp @@ -0,0 +1,571 @@ +// MeCab -- Yet Another Part-of-Speech and Morphological Analyzer +// +// $Id: lbfgs.c 1528 2006-08-07 02:39:50Z taku $; +// +// lbfgs.c was ported from the FORTRAN code of lbfgs.m to C +// using f2c converter +// +// http://www.ece.northwestern.edu/~nocedal/lbfgs.html +// +// Software for Large-scale Unconstrained Optimization +// L-BFGS is a limited-memory quasi-Newton code for unconstrained +// optimization. +// The code has been developed at the Optimization Technology Center, +// a joint venture of Argonne National Laboratory and Northwestern University. +// +// Authors +// Jorge Nocedal +// +// References +// - J. Nocedal. Updating Quasi-Newton Matrices with Limited Storage(1980), +// Mathematics of Computation 35, pp. 773-782. +// - D.C. Liu and J. Nocedal. On the Limited Memory Method for +// Large Scale Optimization(1989), +// Mathematical Programming B, 45, 3, pp. 503-528. +#include "lbfgs.h" +#include "common.h" +#include +#include +#include + +#define min(a, b) ((a) <= (b) ? (a) : (b)) +#define max(a, b) ((a) >= (b) ? (a) : (b)) + +namespace { +static const double ftol = 1e-4; +static const double xtol = 1e-16; +static const double eps = 1e-7; +static const double lb3_1_gtol = 0.9; +static const double lb3_1_stpmin = 1e-20; +static const double lb3_1_stpmax = 1e20; +static const int lb3_1_mp = 6; +static const int lb3_1_lp = 6; + +inline double pi(double x, double y) { + return CRFPP::sigma(x) == CRFPP::sigma(y) ?x : 0.0; +} + +inline void daxpy_(int n, double da, const double *dx, double *dy) { + for (int i = 0; i < n; ++i) + dy[i] += da * dx[i]; +} + +inline double ddot_(int size, const double *dx, const double *dy) { + return std::inner_product(dx, dx + size, dy, 0.0); +} + +void mcstep(double *stx, double *fx, double *dx, + double *sty, double *fy, double *dy, + double *stp, double fp, double dp, + int *brackt, + double stpmin, double stpmax, + int *info) { + bool bound = true; + double p, q, s, d1, d2, d3, r, gamma, theta, stpq, stpc, stpf; + *info = 0; + + if (*brackt && ((*stp <= min(*stx, *sty) || *stp >= max(*stx, *sty)) || + *dx * (*stp - *stx) >= 0.0 || stpmax < stpmin)) { + return; + } + + double sgnd = dp * (*dx / std::abs(*dx)); + + if (fp > *fx) { + *info = 1; + bound = true; + theta =(*fx - fp) * 3 / (*stp - *stx) + *dx + dp; + d1 = std::abs(theta); + d2 = std::abs(*dx); + d1 = max(d1, d2); + d2 = std::abs(dp); + s = max(d1, d2); + d1 = theta / s; + gamma = s * std::sqrt(d1 * d1 - *dx / s *(dp / s)); + if (*stp < *stx) { + gamma = -gamma; + } + p = gamma - *dx + theta; + q = gamma - *dx + gamma + dp; + r = p / q; + stpc = *stx + r * (*stp - *stx); + stpq = *stx + *dx / ((*fx - fp) / + (*stp - *stx) + *dx) / 2 * (*stp - *stx); + if ((d1 = stpc - *stx, std::abs(d1)) < (d2 = stpq - *stx, std::abs(d2))) { + stpf = stpc; + } else { + stpf = stpc + (stpq - stpc) / 2; + } + *brackt = true; + } else if (sgnd < 0.0) { + *info = 2; + bound = false; + theta = (*fx - fp) * 3 / (*stp - *stx) + *dx + dp; + d1 = std::abs(theta); + d2 = std::abs(*dx); + d1 = max(d1, d2); + d2 = std::abs(dp); + s = max(d1, d2); + d1 = theta / s; + gamma = s * std::sqrt(d1 * d1 - *dx / s * (dp / s)); + if (*stp > *stx) { + gamma = -gamma; + } + p = gamma - dp + theta; + q = gamma - dp + gamma + *dx; + r = p / q; + stpc = *stp + r *(*stx - *stp); + stpq = *stp + dp /(dp - *dx) * (*stx - *stp); + if ((d1 = stpc - *stp, std::abs(d1)) > (d2 = stpq - *stp, std::abs(d2))) { + stpf = stpc; + } else { + stpf = stpq; + } + *brackt = true; + } else if (std::abs(dp) < std::abs(*dx)) { + *info = 3; + bound = true; + theta = (*fx - fp) * 3 / (*stp - *stx) + *dx + dp; + d1 = std::abs(theta); + d2 = std::abs(*dx); + d1 = max(d1, d2); + d2 = std::abs(dp); + s = max(d1, d2); + d3 = theta / s; + d1 = 0.0; + d2 = d3 * d3 - *dx / s *(dp / s); + gamma = s * std::sqrt((max(d1, d2))); + if (*stp > *stx) { + gamma = -gamma; + } + p = gamma - dp + theta; + q = gamma + (*dx - dp) + gamma; + r = p / q; + if (r < 0.0 && gamma != 0.0) { + stpc = *stp + r *(*stx - *stp); + } else if (*stp > *stx) { + stpc = stpmax; + } else { + stpc = stpmin; + } + stpq = *stp + dp /(dp - *dx) * (*stx - *stp); + if (*brackt) { + if ((d1 = *stp - stpc, std::abs(d1)) < + (d2 = *stp - stpq, std::abs(d2))) { + stpf = stpc; + } else { + stpf = stpq; + } + } else { + if ((d1 = *stp - stpc, std::abs(d1)) > + (d2 = *stp - stpq, std::abs(d2))) { + stpf = stpc; + } else { + stpf = stpq; + } + } + } else { + *info = 4; + bound = false; + if (*brackt) { + theta =(fp - *fy) * 3 / (*sty - *stp) + *dy + dp; + d1 = std::abs(theta); + d2 = std::abs(*dy); + d1 = max(d1, d2); + d2 = std::abs(dp); + s = max(d1, d2); + d1 = theta / s; + gamma = s * std::sqrt(d1 * d1 - *dy / s * (dp / s)); + if (*stp > *sty) { + gamma = -gamma; + } + p = gamma - dp + theta; + q = gamma - dp + gamma + *dy; + r = p / q; + stpc = *stp + r * (*sty - *stp); + stpf = stpc; + } else if (*stp > *stx) { + stpf = stpmax; + } else { + stpf = stpmin; + } + } + + if (fp > *fx) { + *sty = *stp; + *fy = fp; + *dy = dp; + } else { + if (sgnd < 0.0) { + *sty = *stx; + *fy = *fx; + *dy = *dx; + } + *stx = *stp; + *fx = fp; + *dx = dp; + } + + stpf = min(stpmax, stpf); + stpf = max(stpmin, stpf); + *stp = stpf; + if (*brackt && bound) { + if (*sty > *stx) { + d1 = *stx + (*sty - *stx) * 0.66; + *stp = min(d1, *stp); + } else { + d1 = *stx + (*sty - *stx) * 0.66; + *stp = max(d1, *stp); + } + } + + return; +} +} + +namespace CRFPP { + +class LBFGS::Mcsrch { + private: + int infoc, stage1, brackt; + double finit, dginit, dgtest, width, width1; + double stx, fx, dgx, sty, fy, dgy, stmin, stmax; + + public: + Mcsrch(): + infoc(0), + stage1(0), + brackt(0), + finit(0.0), dginit(0.0), dgtest(0.0), width(0.0), width1(0.0), + stx(0.0), fx(0.0), dgx(0.0), sty(0.0), fy(0.0), dgy(0.0), + stmin(0.0), stmax(0.0) {} + + void mcsrch(int size, + double *x, + double f, const double *g, double *s, + double *stp, + int *info, int *nfev, double *wa) { + static const double p5 = 0.5; + static const double p66 = 0.66; + static const double xtrapf = 4.0; + static const int maxfev = 20; + + /* Parameter adjustments */ + --wa; + --s; + --g; + --x; + + if (*info == -1) goto L45; + infoc = 1; + + if (size <= 0 || *stp <= 0.0) return; + + dginit = ddot_(size, &g[1], &s[1]); + if (dginit >= 0.0) return; + + brackt = false; + stage1 = true; + *nfev = 0; + finit = f; + dgtest = ftol * dginit; + width = lb3_1_stpmax - lb3_1_stpmin; + width1 = width / p5; + for (int j = 1; j <= size; ++j) { + wa[j] = x[j]; + } + + stx = 0.0; + fx = finit; + dgx = dginit; + sty = 0.0; + fy = finit; + dgy = dginit; + + while (true) { + if (brackt) { + stmin = min(stx, sty); + stmax = max(stx, sty); + } else { + stmin = stx; + stmax = *stp + xtrapf * (*stp - stx); + } + + *stp = max(*stp, lb3_1_stpmin); + *stp = min(*stp, lb3_1_stpmax); + + if ((brackt && ((*stp <= stmin || *stp >= stmax) || + *nfev >= maxfev - 1 || infoc == 0)) || + (brackt && (stmax - stmin <= xtol * stmax))) { + *stp = stx; + } + + for (int j = 1; j <= size; ++j) { + x[j] = wa[j] + *stp * s[j]; + } + *info = -1; + return; + + L45: + *info = 0; + ++(*nfev); + double dg = ddot_(size, &g[1], &s[1]); + double ftest1 = finit + *stp * dgtest; + + if (brackt && ((*stp <= stmin || *stp >= stmax) || infoc == 0)) { + *info = 6; + } + if (*stp == lb3_1_stpmax && f <= ftest1 && dg <= dgtest) { + *info = 5; + } + if (*stp == lb3_1_stpmin && (f > ftest1 || dg >= dgtest)) { + *info = 4; + } + if (*nfev >= maxfev) { + *info = 3; + } + if (brackt && stmax - stmin <= xtol * stmax) { + *info = 2; + } + if (f <= ftest1 && std::abs(dg) <= lb3_1_gtol * (-dginit)) { + *info = 1; + } + + if (*info != 0) { + return; + } + + if (stage1 && f <= ftest1 && dg >= min(ftol, lb3_1_gtol) * dginit) { + stage1 = false; + } + + if (stage1 && f <= fx && f > ftest1) { + double fm = f - *stp * dgtest; + double fxm = fx - stx * dgtest; + double fym = fy - sty * dgtest; + double dgm = dg - dgtest; + double dgxm = dgx - dgtest; + double dgym = dgy - dgtest; + mcstep(&stx, &fxm, &dgxm, &sty, &fym, &dgym, stp, fm, dgm, &brackt, + stmin, stmax, &infoc); + fx = fxm + stx * dgtest; + fy = fym + sty * dgtest; + dgx = dgxm + dgtest; + dgy = dgym + dgtest; + } else { + mcstep(&stx, &fx, &dgx, &sty, &fy, &dgy, stp, f, dg, &brackt, + stmin, stmax, &infoc); + } + + if (brackt) { + double d1 = 0.0; + if ((d1 = sty - stx, std::abs(d1)) >= p66 * width1) { + *stp = stx + p5 * (sty - stx); + } + width1 = width; + width = (d1 = sty - stx, std::abs(d1)); + } + } + + return; + } +}; + +void LBFGS::clear() { + iflag_ = iscn = nfev = iycn = point = npt = + iter = info = ispt = isyt = iypt = 0; + stp = stp1 = 0.0; + diag_.clear(); + w_.clear(); + delete mcsrch_; + mcsrch_ = 0; +} + +void LBFGS::pseudo_gradient(int size, + double *v, + double *x, + const double *g, + double C) { + for (int i = 1; i <= size; ++ i) { + if (x[i] == 0) { + if (g[i] + C < 0) { + v[i] = g[i] + C; + } else if (g[i] - C > 0) { + v[i] = g[i] - C; + } else { + v[i] = 0; + } + } else { + v[i] = g[i] + C * sigma(x[i]); + } + } +} + + +void LBFGS::lbfgs_optimize(int size, + int msize, + double *x, + double f, + const double *g, + double *diag, + double *w, + bool orthant, + double C, + double *v, + double *xi, + int *iflag) { + double yy = 0.0; + double ys = 0.0; + int bound = 0; + int cp = 0; + + --diag; + --g; + --x; + --w; + --v; + + if (orthant) { + --xi; + pseudo_gradient(size, v, x, g, C); + } + + if (!mcsrch_) mcsrch_ = new Mcsrch; + + if (*iflag == 1) goto L172; + if (*iflag == 2) goto L100; + + // initialization + if (*iflag == 0) { + point = 0; + for (int i = 1; i <= size; ++i) { + diag[i] = 1.0; + } + ispt = size + (msize << 1); + iypt = ispt + size * msize; + for (int i = 1; i <= size; ++i) { + w[ispt + i] = -v[i] * diag[i]; + } + stp1 = 1.0 / std::sqrt(ddot_(size, &v[1], &v[1])); + } + + // MAIN ITERATION LOOP + while (true) { + ++iter; + info = 0; + if (orthant) { + for (int i = 1; i <= size; ++i) { + xi[i] = (x[i] != 0 ? sigma(x[i]) : sigma(-v[i])); + } + } + if (iter == 1) goto L165; + if (iter > size) bound = size; + + // COMPUTE -H*G USING THE FORMULA GIVEN IN: Nocedal, J. 1980, + // "Updating quasi-Newton matrices with limited storage", + // Mathematics of Computation, Vol.24, No.151, pp. 773-782. + ys = ddot_(size, &w[iypt + npt + 1], &w[ispt + npt + 1]); + yy = ddot_(size, &w[iypt + npt + 1], &w[iypt + npt + 1]); + for (int i = 1; i <= size; ++i) { + diag[i] = ys / yy; + } + + L100: + cp = point; + if (point == 0) cp = msize; + w[size + cp] = 1.0 / ys; + + for (int i = 1; i <= size; ++i) { + w[i] = -v[i]; + } + + bound = min(iter - 1, msize); + + cp = point; + for (int i = 1; i <= bound; ++i) { + --cp; + if (cp == -1) cp = msize - 1; + double sq = ddot_(size, &w[ispt + cp * size + 1], &w[1]); + int inmc = size + msize + cp + 1; + iycn = iypt + cp * size; + w[inmc] = w[size + cp + 1] * sq; + double d = -w[inmc]; + daxpy_(size, d, &w[iycn + 1], &w[1]); + } + + for (int i = 1; i <= size; ++i) { + w[i] = diag[i] * w[i]; + } + + for (int i = 1; i <= bound; ++i) { + double yr = ddot_(size, &w[iypt + cp * size + 1], &w[1]); + double beta = w[size + cp + 1] * yr; + int inmc = size + msize + cp + 1; + beta = w[inmc] - beta; + iscn = ispt + cp * size; + daxpy_(size, beta, &w[iscn + 1], &w[1]); + ++cp; + if (cp == msize) cp = 0; + } + + if (orthant) { + for (int i = 1; i <= size; ++ i) { + w[i] = (sigma(w[i]) == sigma(-v[i]) ? w[i] : 0); + } + } + // STORE THE NEW SEARCH DIRECTION + for (int i = 1; i <= size; ++i) { + w[ispt + point * size + i] = w[i]; + } + + L165: + // OBTAIN THE ONE-DIMENSIONAL MINIMIZER OF THE FUNCTION + // BY USING THE LINE SEARCH ROUTINE MCSRCH + nfev = 0; + stp = 1.0; + if (iter == 1) { + stp = stp1; + } + for (int i = 1; i <= size; ++i) { + w[i] = g[i]; + } + + L172: + mcsrch_->mcsrch(size, &x[1], f, &v[1], &w[ispt + point * size + 1], + &stp, &info, &nfev, &diag[1]); + if (info == -1) { + if (orthant) { + for (int i = 1; i <= size; ++ i) { + x[i] = (sigma(x[i]) == sigma(xi[i]) ? x[i] : 0); + } + } + *iflag = 1; // next value + return; + } + if (info != 1) { + std::cerr << "The line search routine mcsrch failed: error code:" + << info << std::endl; + *iflag = -1; + return; + } + + // COMPUTE THE NEW STEP AND GRADIENT CHANGE + npt = point * size; + for (int i = 1; i <= size; ++i) { + w[ispt + npt + i] = stp * w[ispt + npt + i]; + w[iypt + npt + i] = g[i] - w[i]; + } + ++point; + if (point == msize) point = 0; + + double gnorm = std::sqrt(ddot_(size, &v[1], &v[1])); + double xnorm = max(1.0, std::sqrt(ddot_(size, &x[1], &x[1]))); + if (gnorm / xnorm <= eps) { + *iflag = 0; // OK terminated + return; + } + } + + return; +} +} diff --git a/CRF/lbfgs.h b/CRF/lbfgs.h new file mode 100644 index 0000000000000000000000000000000000000000..a60381c2615bad41cf755b0e96c5bc4942243b97 --- /dev/null +++ b/CRF/lbfgs.h @@ -0,0 +1,91 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: lbfgs.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_LBFGS_H__ +#define CRFPP_LBFGS_H__ + +#include +#include + +namespace CRFPP { + +class LBFGS { + private: + class Mcsrch; + int iflag_, iscn, nfev, iycn, point, npt, iter, info, ispt, isyt, iypt, maxfev; + double stp, stp1; + std::vector diag_; + std::vector w_; + std::vector v_; + std::vector xi_; + Mcsrch *mcsrch_; + + void pseudo_gradient(int size, + double *v, + double *x, + const double *g, + double C); + + void lbfgs_optimize(int size, + int msize, + double *x, + double f, + const double *g, + double *diag, + double *w, bool orthant, double C, double *v, double *xi, int *iflag); + + public: + explicit LBFGS(): iflag_(0), iscn(0), nfev(0), iycn(0), + point(0), npt(0), iter(0), info(0), + ispt(0), isyt(0), iypt(0), maxfev(0), + stp(0.0), stp1(0.0), mcsrch_(0) {} + virtual ~LBFGS() { clear(); } + + void clear(); + + int optimize(size_t size, double *x, double f, double *g, bool orthant, double C) { + static const int msize = 5; + if (w_.empty()) { + iflag_ = 0; + w_.resize(size * (2 * msize + 1) + 2 * msize); + diag_.resize(size); + v_.resize(size); + if (orthant) { + xi_.resize(size); + } + } else if (diag_.size() != size || v_.size() != size) { + std::cerr << "size of array is different" << std::endl; + return -1; + } else if (orthant && v_.size() != size) { + std::cerr << "size of array is different" << std::endl; + return -1; + } + + if (orthant) { + lbfgs_optimize(static_cast(size), + msize, x, f, g, &diag_[0], &w_[0], orthant, C, &v_[0], &xi_[0], &iflag_); + } else { + lbfgs_optimize(static_cast(size), + msize, x, f, g, &diag_[0], &w_[0], orthant, C, g, &xi_[0], &iflag_); + } + + if (iflag_ < 0) { + std::cerr << "routine stops with unexpected error" << std::endl; + return -1; + } + + if (iflag_ == 0) { + clear(); + return 0; // terminate + } + + return 1; // evaluate next f and g + } +}; +} + +#endif diff --git a/CRF/lbfgs.lo b/CRF/lbfgs.lo new file mode 100644 index 0000000000000000000000000000000000000000..7c9d63674ec411ab186f2fb6bc8cc2c4ca904933 --- /dev/null +++ b/CRF/lbfgs.lo @@ -0,0 +1,12 @@ +# lbfgs.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/lbfgs.o' + +# Name of the non-PIC object +non_pic_object='lbfgs.o' + diff --git a/CRF/lbfgs.o b/CRF/lbfgs.o new file mode 100644 index 0000000000000000000000000000000000000000..d793441d1eddf919e736d17809e17069979dc48a Binary files /dev/null and b/CRF/lbfgs.o differ diff --git a/CRF/libcrfpp.cpp b/CRF/libcrfpp.cpp new file mode 100644 index 0000000000000000000000000000000000000000..0e02a01f62c4f7861dba830aaa1e6aec93a0eec9 --- /dev/null +++ b/CRF/libcrfpp.cpp @@ -0,0 +1,301 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: libcrfpp.cpp 1587 2007-02-12 09:00:36Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "crfpp.h" +#include + +#if defined(_WIN32) && !defined(__CYGWIN__) +#include +#endif + +#define LIBCRFPP_ID 113212 + +namespace { +std::string errorStr; +} + +struct crfpp_t { + int allocated; + CRFPP::Tagger* ptr; +}; + +#if defined(_WIN32) && !defined(__CYGWIN__) +BOOL __stdcall DllMain(HINSTANCE hinst, DWORD dwReason, void*) { + return TRUE; +} +#endif + +crfpp_t* crfpp_new(int argc, char **argv) { + crfpp_t *c = new crfpp_t; + CRFPP::Tagger *ptr = CRFPP::createTagger(argc, argv); + if (!c || !ptr) { + delete c; + delete ptr; + errorStr = CRFPP::getTaggerError(); + return 0; + } + c->ptr = ptr; + c->allocated = LIBCRFPP_ID; + return c; +} + +crfpp_t* crfpp_new2(char *arg) { + crfpp_t *c = new crfpp_t; + CRFPP::Tagger *ptr = CRFPP::createTagger(arg); + if (!c || !ptr) { + delete c; + delete ptr; + errorStr = CRFPP::getTaggerError(); + return 0; + } + c->ptr = ptr; + c->allocated = LIBCRFPP_ID; + return c; +} + +const char* crfpp_strerror(crfpp_t *c) { + if (!c || !c->allocated) + return const_cast (errorStr.c_str()); + return c->ptr->what(); +} + +void crfpp_destroy(crfpp_t *c) { + if (c && c->allocated) { + delete c->ptr; + delete c; + } + c = 0; +} + +#define CRFPP_CHECK_FIRST_ARG(c, t) \ + if (!(c) || (c)->allocated != LIBCRFPP_ID) { \ + errorStr = "first argment seems to be invalid"; \ + return 0; \ + } CRFPP::Tagger *(t) = (c)->ptr; + +#define CRFPP_CHECK_FIRST_ARG_VOID(c, t) \ + if (!(c) || (c)->allocated != LIBCRFPP_ID) { \ + errorStr = "first argment seems to be invalid"; \ + return; \ + } CRFPP::Tagger *(t) = (c)->ptr; + +bool crfpp_add2(crfpp_t* c, size_t s, const char **line) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->add(s, line); +} + +bool crfpp_add(crfpp_t* c, const char*s) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->add(s); +} + +size_t crfpp_size(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->size(); +} + +size_t crfpp_xsize(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->xsize(); +} + +size_t crfpp_result(crfpp_t* c, size_t i) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->result(i); +} + +size_t crfpp_answer(crfpp_t* c, size_t i) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->answer(i); +} + +size_t crfpp_y(crfpp_t* c, size_t i) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->y(i); +} + +size_t crfpp_ysize(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->ysize(); +} + +double crfpp_prob(crfpp_t* c, size_t i, size_t j) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->prob(i, j); +} + +double crfpp_prob2(crfpp_t* c, size_t i) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->prob(i); +} + +double crfpp_prob3(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->prob(); +} + +double crfpp_alpha(crfpp_t* c, size_t i, size_t j) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->alpha(i, j); +} + +double crfpp_beta(crfpp_t* c, size_t i, size_t j) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->beta(i, j); +} + +double crfpp_best_cost(crfpp_t* c, size_t i, size_t j) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->best_cost(i, j); +} + +double crfpp_emisstion_cost(crfpp_t* c, size_t i, size_t j) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->emission_cost(i, j); +} + +const int* crfpp_emisstion_vector(crfpp_t* c, size_t i, size_t j) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->emission_vector(i, j); +} + +double crfpp_next_transition_cost(crfpp_t* c, size_t i, size_t j, size_t k) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->next_transition_cost(i, j, k); +} + +double crfpp_prev_transition_cost(crfpp_t* c, size_t i, size_t j, size_t k) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->next_transition_cost(i, j, k); +} + +const int* crfpp_next_transition_vector(crfpp_t* c, size_t i, + size_t j, size_t k) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->next_transition_vector(i, j, k); +} + +const int* crfpp_prev_transition_vector(crfpp_t* c, size_t i, + size_t j, size_t k) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->next_transition_vector(i, j, k); +} + +size_t crfpp_dsize(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->dsize(); +} + +const float* crfpp_weight_vector(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->weight_vector(); +} + +double crfpp_Z(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->Z(); +} + +bool crfpp_parse(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->parse(); +} + +bool crfpp_empty(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->empty(); +} + +bool crfpp_clear(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->clear(); +} + +bool crfpp_next(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->next(); +} + +const char* crfpp_yname(crfpp_t* c, size_t i) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->yname(i); +} + +const char* crfpp_y2(crfpp_t* c, size_t i) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->y2(i); +} + +const char* crfpp_x(crfpp_t* c, size_t i, size_t j) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->x(i, j); +} + +const char** crfpp_x2(crfpp_t* c, size_t i) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->x(i); +} + +const char* crfpp_parse_tostr(crfpp_t* c, const char* str) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->parse(str); +} + +const char* crfpp_parse_tostr2(crfpp_t* c, const char* str, size_t len) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->parse(str, len); +} + +const char* crfpp_parse_tostr3(crfpp_t* c, const char* str, + size_t len, char *ostr, size_t len2) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->parse(str, len, ostr, len2); +} + +const char* crfpp_tostr(crfpp_t* c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->toString(); +} + +const char* crfpp_tostr2(crfpp_t* c, char *ostr, size_t len) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->toString(ostr, len); +} + +void crfpp_set_vlevel(crfpp_t *c, unsigned int vlevel) { + CRFPP_CHECK_FIRST_ARG_VOID(c, t); + t->set_vlevel(vlevel); +} + +unsigned int crfpp_vlevel(crfpp_t *c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->vlevel(); +} + +void crfpp_set_cost_factor(crfpp_t *c, float cost_factor) { + CRFPP_CHECK_FIRST_ARG_VOID(c, t); + t->set_cost_factor(cost_factor); +} + +float crfpp_cost_factor(crfpp_t *c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->cost_factor(); +} + +void crfpp_set_nbest(crfpp_t *c, size_t nbest) { + CRFPP_CHECK_FIRST_ARG_VOID(c, t); + t->set_nbest(nbest); +} + +size_t crfpp_nbest(crfpp_t *c) { + CRFPP_CHECK_FIRST_ARG(c, t); + return t->nbest(); +} diff --git a/CRF/libcrfpp.dll b/CRF/libcrfpp.dll new file mode 100644 index 0000000000000000000000000000000000000000..f00323283c92d28cc1de33f2795096e39b9fd1e7 Binary files /dev/null and b/CRF/libcrfpp.dll differ diff --git a/CRF/libcrfpp.la b/CRF/libcrfpp.la new file mode 100644 index 0000000000000000000000000000000000000000..657191448ed91cbc37f93164d318a43a3f75f568 --- /dev/null +++ b/CRF/libcrfpp.la @@ -0,0 +1,41 @@ +# libcrfpp.la - a libtool library file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libcrfpp.so.0' + +# Names of this library. +library_names='libcrfpp.so.0.0.0 libcrfpp.so.0 libcrfpp.so' + +# The name of the static archive. +old_library='libcrfpp.a' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread /usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/../../../libstdc++.la' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libcrfpp. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/CRF/libcrfpp.lo b/CRF/libcrfpp.lo new file mode 100644 index 0000000000000000000000000000000000000000..27581b0d61501da3f975fc3541b7c73b46dfc4eb --- /dev/null +++ b/CRF/libcrfpp.lo @@ -0,0 +1,12 @@ +# libcrfpp.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libcrfpp.o' + +# Name of the non-PIC object +non_pic_object='libcrfpp.o' + diff --git a/CRF/libcrfpp.o b/CRF/libcrfpp.o new file mode 100644 index 0000000000000000000000000000000000000000..501af55426d4311db2830cb50939a61348e72746 Binary files /dev/null and b/CRF/libcrfpp.o differ diff --git a/CRF/libtool b/CRF/libtool new file mode 100644 index 0000000000000000000000000000000000000000..4ec6d7ac15ec1735f955f6bc0949c50f65fae209 --- /dev/null +++ b/CRF/libtool @@ -0,0 +1,9063 @@ +#! /bin/sh + +# libtool - Provide generalized library-building support services. +# Generated automatically by config.status (CRF++) 0.54 +# Libtool was configured on host cbbdev1: +# 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 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=2.2.6b +macro_revision=1.3017 + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# What type of objects to build. +pic_mode=default + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=x86_64-unknown-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=x86_64-unknown-linux-gnu +build_os=linux-gnu + +# A sed program that does not truncate output. +SED="/bin/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="/bin/grep" + +# An ERE matcher. +EGREP="/bin/grep -E" + +# A literal string matcher. +FGREP="/bin/grep -F" + +# A BSD- or MS-compatible name lister. +NM="/usr/bin/nm -B" + +# Whether we need soft or hard links. +LN_S="ln -s" + +# What is the maximum length of a command? +max_cmd_len=98304 + +# Object file suffix (normally "o"). +objext=o + +# Executable file suffix (normally ""). +exeext= + +# whether the shell understands "unset". +lt_unset=unset + +# turn spaces into newlines. +SP2NL="tr \\040 \\012" + +# turn newlines into spaces. +NL2SP="tr \\015\\012 \\040\\040" + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# An object symbol dumper. +OBJDUMP="objdump" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == "file_magic". +file_magic_cmd="\$MAGIC_CMD" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A symbol stripping program. +STRIP="strip" + +# Commands used to install an old-style archive. +RANLIB="ranlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-O3 -Wall" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'" + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p'" + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"lib\\2\", (void *) \\&\\2},/p'" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# An echo program that does not interpret backslashes. +ECHO="echo" + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=file + +# Must we lock files when doing compilation? +need_locks="no" + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL="" + +# Tool to change global to local symbols on Mac OS X. +NMEDIT="" + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO="" + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL="" + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64="" + +# Old archive suffix (normally "a"). +libext=a + +# Shared library suffix (normally ".so"). +shrext_cmds=".so" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Do we need the "lib" prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Library versioning type. +version_type=linux + +# Shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# Shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# Format of library name prefix. +libname_spec="lib\$name" + +# 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="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Command to use after installation of a shared archive. +postinstall_cmds="" + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval="" + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Compile-time system search path for libraries. +sys_lib_search_path_spec="/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2 /lib64 /usr/lib64 /usr/lib64/gcc-4.4.2" + +# Run-time system search path for libraries. +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib64/nvidia-graphics /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib64/qt4/lib64 /usr/lib64/xulrunner-1.9.2 /usr/lib/nsr /usr/lib/nsr/lib64 " + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + + +# The linker used to build libraries. +LD="/usr/bin/ld -m elf_x86_64" + +# Commands used to build an old-style archive. +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" + +# A language specific compiler. +CC="gcc" + +# Is the compiler the GNU compiler? +with_gcc=yes + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=no + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object="no" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +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 -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds="" +module_expsym_cmds="" + +# Whether we are building with GNU ld or not. +with_gnu_ld="yes" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that enforces no undefined symbols. +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="\${wl}-rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into a binary +# during linking. This must work even if $libdir does not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator="" + +# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=no + +# 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=no + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=no + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=unsupported + +# 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=no + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=no + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to "yes" if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" + +# Symbols that must always be exported. +include_expsyms="" + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds="" + +# Specify filename containing input files. +file_list_spec="" + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs="" + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects="" +postdep_objects="" +predeps="" +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# ### END LIBTOOL CONFIG + +# Generated from ltmain.m4sh. + +# ltmain.sh (GNU libtool) 2.2.6b +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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 +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print informational messages (default) +# --version print version information +# -h, --help print short or long 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. +# 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.2.6b Debian-2.2.6b-2ubuntu1 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +TIMESTAMP="" +package_revision=1.3017 + +# 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 + +# NLS nuisances: We save the old values to restore during execute mode. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +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 + +$lt_unset CDPATH + + + + + +: ${CP="cp -f"} +: ${ECHO="echo"} +: ${EGREP="/bin/grep -E"} +: ${FGREP="/bin/grep -F"} +: ${GREP="/bin/grep"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SED="/bin/sed"} +: ${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_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 "X${1}" | $Xsed -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 "X${1}" | $Xsed -e "$basename"` +} + +# Generated shell functions inserted here. + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# 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 () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# 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_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}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $* )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$1+=\$2" +} +# Generated shell functions inserted here. + +# 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" + +# The name of this program: +# In the unlikely event $progname began with a '-', it would play havoc with +# func_echo (imagine progname=-n), so we prepend ./ in that case: +func_dirname_and_basename "$progpath" +progname=$func_basename_result +case $progname in + -*) progname=./$progname ;; +esac + +# 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=: + 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' + +# 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${mode+: }$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_error arg... +# Echo program name prefixed message to standard error. +func_error () +{ + $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 +} + +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname${mode+: }$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 "X$my_directory_path" | $Xsed -e "$dirname"` + done + my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e '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 "X$my_tmpdir" | $Xsed +} + + +# 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 "X$1" | $Xsed -e "$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 "X$1" | $Xsed \ + -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_version +# Echo version message to standard output and exit. +func_version () +{ + $SED -n '/^# '$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 () +{ + $SED -n '/^# Usage:/,/# -h/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + $ECHO + $ECHO "run \`$progname --help | more' for full usage" + exit $? +} + +# func_help +# Echo long help message to standard output and exit. +func_help () +{ + $SED -n '/^# Usage:/,/# Report bugs to/ { + 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 --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + p + }' < "$progpath" + exit $? +} + +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + func_error "missing argument for $1" + exit_cmd=exit +} + +exit_cmd=: + + + + + +# Check that we have a working $ECHO. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell, and then maybe $ECHO will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </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 +} + +# Parse options once, thoroughly. This comes as soon as possible in +# the script to make things like `libtool --version' happen quickly. +{ + + # 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 + + # Parse non-mode specific arguments: + while test "$#" -gt 0; do + opt="$1" + shift + + case $opt in + --config) func_config ;; + + --debug) preserve_args="$preserve_args $opt" + func_echo "enabling shell trace mode" + opt_debug='set -x' + $opt_debug + ;; + + -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break + execute_dlfiles="$execute_dlfiles $1" + shift + ;; + + --dry-run | -n) opt_dry_run=: ;; + --features) func_features ;; + --finish) mode="finish" ;; + + --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break + case $1 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 + + mode="$1" + shift + ;; + + --preserve-dup-deps) + opt_duplicate_deps=: ;; + + --quiet|--silent) preserve_args="$preserve_args $opt" + opt_silent=: + ;; + + --verbose| -v) preserve_args="$preserve_args $opt" + opt_silent=false + ;; + + --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break + preserve_args="$preserve_args $opt $1" + func_enable_tag "$1" # tagname is set here + shift + ;; + + # Separate optargs to long options: + -dlopen=*|--mode=*|--tag=*) + func_opt_split "$opt" + set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} + shift + ;; + + -\?|-h) func_usage ;; + --help) opt_help=: ;; + --version) func_version ;; + + -*) func_fatal_help "unrecognized option \`$opt'" ;; + + *) nonopt="$opt" + break + ;; + esac + done + + + 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_duplicate_deps + ;; + esac + + # Having warned about all mis-specified options, bail out if + # anything was wrong. + $exit_cmd $EXIT_FAILURE +} + +# 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 +} + + +## ----------- ## +## Main. ## +## ----------- ## + +$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 + + test -z "$mode" && func_fatal_error "error: you must specify a MODE." + + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$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=$mode' for more information." +} + + +# 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_ltwrapper_scriptname_result="" + if func_ltwrapper_executable_p "$1"; then + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" + fi +} + +# 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_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_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + 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 "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; + # 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_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case "$@ " in + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) + # 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 <?"'"'"' &()|`$[]' \ + && 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 "X$srcfile" | $Xsed -e 's%^.*/%%' -e '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 + removelist="$removelist $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + removelist="$removelist $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + 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 + command="$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 + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$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 "$mode" = compile && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $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 building PIC objects only + -prefer-non-pic try to building 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 + +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 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 + -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 + +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 \`$mode'" + ;; + esac + + $ECHO + $ECHO "Try \`$progname --help' for more information about other modes." + + exit $? +} + + # Now that we've collected a possible --mode arg, show help if necessary + $opt_help && func_mode_help + + +# 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 $execute_dlfiles; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" + + dir= + case $file in + *.la) + # 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 + dir="$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 + -*) ;; + *) + # 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_quote_for_eval "$file" + args="$args $func_quote_for_eval_result" + 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 "$mode" = execute && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + 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" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS + + $ECHO "X----------------------------------------------------------------------" | $Xsed + $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 "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS +} + +test "$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. + $ECHO "X$nonopt" | $GREP shtool >/dev/null; 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" + install_prog="$install_prog$func_quote_for_eval_result" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + install_prog="$install_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 -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. + staticlibs="$staticlibs $file" + ;; + + *.la) + # 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 "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir="$func_dirname_result" + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -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 "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "X$relink_command" | $Xsed -e "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_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" && staticlibs="$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 "X$lib" | $Xsed -e '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 "X$relink_command" | $Xsed -e '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 "X$file$stripped_ext" | $Xsed -e "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_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $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 "$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 + +/* 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 "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_verbose "extracting global C symbols from \`$progfile'" + $opt_dry_run || eval "$NM $progfile | $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" + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + 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 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; +" + case $host in + *cygwin* | *mingw* | *cegcc* ) + $ECHO >> "$output_objdir/$my_dlsyms" "\ +/* DATA imports from DLLs on WIN32 con't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs. */" + lt_dlsym_const= ;; + *osf5*) + echo >> "$output_objdir/$my_dlsyms" "\ +/* This system does not cope well with relocations in const data */" + lt_dlsym_const= ;; + *) + lt_dlsym_const=const ;; + esac + + $ECHO >> "$output_objdir/$my_dlsyms" "\ +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) ;; + *) symtab_cflags="$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 "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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 "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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. +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 + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | + $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_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' + 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 | $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 | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} + + + +# func_emit_wrapper_part1 [arg=no] +# +# Emit the first part of a libtool wrapper script on stdout. +# For more information, see the description associated with +# func_emit_wrapper(), below. +func_emit_wrapper_part1 () +{ + func_emit_wrapper_part1_arg1=no + if test -n "$1" ; then + func_emit_wrapper_part1_arg1=$1 + fi + + $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. +Xsed='${SED} -e 1s/^X//' +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 + ECHO=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$ECHO works! + : + else + # Restart under the correct shell, and then maybe \$ECHO will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $ECHO "\ + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e '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 \"X\$file\" | \$Xsed -e '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 \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done +" +} +# end: func_emit_wrapper_part1 + +# func_emit_wrapper_part2 [arg=no] +# +# Emit the second part of a libtool wrapper script on stdout. +# For more information, see the description associated with +# func_emit_wrapper(), below. +func_emit_wrapper_part2 () +{ + func_emit_wrapper_part2_arg1=no + if test -n "$1" ; then + func_emit_wrapper_part2_arg1=$1 + fi + + $ECHO "\ + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_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 \"X\$thisdir\" | \$Xsed -e '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" + + # 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 \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 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\ +" +} +# end: func_emit_wrapper_part2 + + +# 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=no + if test -n "$1" ; then + func_emit_wrapper_arg1=$1 + fi + + # split this up so that func_emit_cwrapperexe_src + # can call each part independently. + func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" + func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" +} + + +# func_to_host_path arg +# +# Convert paths to host format when used with build tools. +# Intended for use with "native" mingw (where libtool itself +# is running under the msys shell), or in the following cross- +# build environments: +# $build $host +# mingw (msys) mingw [e.g. native] +# cygwin mingw +# *nix + wine mingw +# where wine is equipped with the `winepath' executable. +# In the native mingw case, the (msys) shell automatically +# converts paths for any non-msys applications it launches, +# but that facility isn't available from inside the cwrapper. +# Similar accommodations are necessary for $host mingw and +# $build cygwin. Calling this function does no harm for other +# $host/$build combinations not listed above. +# +# ARG is the path (on $build) that should be converted to +# the proper representation for $host. The result is stored +# in $func_to_host_path_result. +func_to_host_path () +{ + func_to_host_path_result="$1" + if test -n "$1" ; then + case $host in + *mingw* ) + lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + case $build in + *mingw* ) # actually, msys + # awkward: cmd appends spaces to result + lt_sed_strip_trailing_spaces="s/[ ]*\$//" + func_to_host_path_tmp1=`( cmd //c echo "$1" |\ + $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + *cygwin* ) + func_to_host_path_tmp1=`cygpath -w "$1"` + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + * ) + # 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_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` + if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + else + # Allow warning below. + func_to_host_path_result="" + fi + ;; + esac + if test -z "$func_to_host_path_result" ; then + func_error "Could not determine host path corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_path_result="$1" + fi + ;; + esac + fi +} +# end: func_to_host_path + +# func_to_host_pathlist arg +# +# Convert pathlists to host format when used with build tools. +# See func_to_host_path(), above. This function supports the +# following $build/$host combinations (but does no harm for +# combinations not listed here): +# $build $host +# mingw (msys) mingw [e.g. native] +# cygwin mingw +# *nix + wine mingw +# +# 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. +# +# ARG is a pathlist (on $build) that should be converted to +# the proper representation on $host. The result is stored +# in $func_to_host_pathlist_result. +func_to_host_pathlist () +{ + func_to_host_pathlist_result="$1" + if test -n "$1" ; then + case $host in + *mingw* ) + lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + # 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_to_host_pathlist_tmp2="$1" + # Once set for this call, this variable should not be + # reassigned. It is used in tha fallback case. + func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e 's|^:*||' -e 's|:*$||'` + case $build in + *mingw* ) # Actually, msys. + # Awkward: cmd appends spaces to result. + lt_sed_strip_trailing_spaces="s/[ ]*\$//" + func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ + $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + *cygwin* ) + func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + * ) + # unfortunately, winepath doesn't convert pathlists + func_to_host_pathlist_result="" + func_to_host_pathlist_oldIFS=$IFS + IFS=: + for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do + IFS=$func_to_host_pathlist_oldIFS + if test -n "$func_to_host_pathlist_f" ; then + func_to_host_path "$func_to_host_pathlist_f" + if test -n "$func_to_host_path_result" ; then + if test -z "$func_to_host_pathlist_result" ; then + func_to_host_pathlist_result="$func_to_host_path_result" + else + func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" + fi + fi + fi + IFS=: + done + IFS=$func_to_host_pathlist_oldIFS + ;; + esac + if test -z "$func_to_host_pathlist_result" ; then + func_error "Could not determine the host path(s) corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This may break if $1 contains DOS-style drive + # specifications. The fix is not to complicate the expression + # below, but for the user to provide a working wine installation + # with winepath so that path translation in the cross-to-mingw + # case works properly. + lt_replace_pathsep_nix_to_dos="s|:|;|g" + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ + $SED -e "$lt_replace_pathsep_nix_to_dos"` + fi + # Now, add the leading and trailing path separators back + case "$1" in + :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" + ;; + esac + case "$1" in + *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" + ;; + esac + ;; + esac + fi +} +# end: func_to_host_pathlist + +# 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 < +#include +#ifdef _MSC_VER +# include +# include +# include +# define setmode _setmode +#else +# include +# include +# ifdef __CYGWIN__ +# include +# define HAVE_SETENV +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#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 + +#ifdef _MSC_VER +# define S_IXUSR _S_IEXEC +# define stat _stat +# ifndef _INTPTR_T_DEFINED +# define intptr_t int +# endif +#endif + +#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 */ + +#ifdef __CYGWIN__ +# define FOPEN_WB "wb" +#endif + +#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) + +#undef LTWRAPPER_DEBUGPRINTF +#if defined DEBUGWRAPPER +# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args +static void +ltwrapper_debugprintf (const char *fmt, ...) +{ + va_list args; + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); +} +#else +# define LTWRAPPER_DEBUGPRINTF(args) +#endif + +const char *program_name = NULL; + +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_fatal (const char *message, ...); +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_opt_process_env_set (const char *arg); +void lt_opt_process_env_prepend (const char *arg); +void lt_opt_process_env_append (const char *arg); +int lt_split_name_value (const char *arg, char** name, char** value); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); + +static const char *script_text_part1 = +EOF + + func_emit_wrapper_part1 yes | + $SED -e 's/\([\\"]\)/\\\1/g' \ + -e 's/^/ "/' -e 's/$/\\n"/' + echo ";" + cat <"))); + for (i = 0; i < newargc; i++) + { + LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); + } + +EOF + + case $host_os in + mingw*) + cat <<"EOF" + /* execv doesn't actually work on mingw as expected on unix */ + rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); + if (rval == -1) + { + /* failed to start process */ + LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, 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 ("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; + + LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + 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; + + LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + 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; + + LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", + wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); + + 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 ("getcwd failed"); + 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 ("getcwd failed"); + 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) + { + LTWRAPPER_DEBUGPRINTF (("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 + { + char *errstr = strerror (errno); + lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal ("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; +} + +static void +lt_error_core (int exit_status, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} + +void +lt_setenv (const char *name, const char *value) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", + (name ? name : ""), + (value ? 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; +} + +int +lt_split_name_value (const char *arg, char** name, char** value) +{ + const char *p; + int len; + if (!arg || !*arg) + return 1; + + p = strchr (arg, (int)'='); + + if (!p) + return 1; + + *value = xstrdup (++p); + + len = strlen (arg) - strlen (*value); + *name = XMALLOC (char, len); + strncpy (*name, arg, len-1); + (*name)[len - 1] = '\0'; + + return 0; +} + +void +lt_opt_process_env_set (const char *arg) +{ + char *name = NULL; + char *value = NULL; + + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); + } + + lt_setenv (name, value); + XFREE (name); + XFREE (value); +} + +void +lt_opt_process_env_prepend (const char *arg) +{ + char *name = NULL; + char *value = NULL; + char *new_value = NULL; + + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); + } + + new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + XFREE (name); + XFREE (value); +} + +void +lt_opt_process_env_append (const char *arg) +{ + char *name = NULL; + char *value = NULL; + char *new_value = NULL; + + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); + } + + new_value = lt_extend_str (getenv (name), value, 1); + lt_setenv (name, new_value); + XFREE (new_value); + XFREE (name); + XFREE (value); +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + (name ? name : ""), + (value ? 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) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + (name ? name : ""), + (value ? 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 +} +# end: func_emit_cwrapperexe_src + +# 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 + 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 + 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 + dlfiles="$dlfiles $arg" + else + dlprefiles="$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 "*) ;; + *) deplibs="$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 +# moreargs="$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 + dlfiles="$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. + dlprefiles="$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 "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + weak_libs="$weak_libs $arg" + prev= + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$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 + ;; + + -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" + dir=$func_stripname_result + if test -z "$dir"; 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 + # 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 "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) dllsearchpath="$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*) + # 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 + deplibs="$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 + deplibs="$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) + compiler_flags="$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) + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) new_inherited_linker_flags="$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_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$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" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$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" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" + linker_flags="$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" + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + *.$objext) + # A standard object. + objs="$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 + dlfiles="$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. + dlprefiles="$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. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + 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 \"X\${$shlibpath_var}\" \| \$Xsed -e \'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" + # 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_duplicate_deps ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$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 "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$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= + case $lib in + *.la) func_source "$lib" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` + case " $weak_libs " in + *" $deplib_base "*) ;; + *) deplibs="$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) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$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 "*) ;; + * ) new_inherited_linker_flags="$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" + newlib_search_path="$newlib_search_path $func_stripname_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" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + dir=$func_stripname_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$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 \"X$deplib\"" 2>/dev/null | $Xsed -e 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. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$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 "X$inherited_linker_flags" | $Xsed -e '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 "*) ;; + *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e '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" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$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. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$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= + for l in $old_library $library_names; do + linklib="$l" + done + 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. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$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 "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$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 + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$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 + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$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" && \ + dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + 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 + newlib_search_path="$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" + newlib_search_path="$newlib_search_path $func_stripname_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_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$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:"*) ;; + *) temp_rpath="$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 "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$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 + notinst_deplibs="$notinst_deplibs $lib" + need_relink=no + ;; + *) + if test "$installed" = no; then + notinst_deplibs="$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 "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$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 "$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$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$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:"*) ;; + *) compile_shlibpath="$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:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$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:"*) ;; + *) finalize_shlibpath="$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 + [\\/]*) + add_dir="$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 "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$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" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + 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_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 + compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + linker_flags="$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 "X $new_inherited_linker_flags" | $Xsed -e '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 "*) ;; + *) lib_search_path="$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 "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$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 + tmp_libs="$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" + objs="$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!" + libobjs="$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 + 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|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) + 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. + verstring="$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" + libobjs="$libobjs $symfileobj" + test "X$libobjs" = "X " && libobjs= + + if test "$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 + removelist="$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 + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` + # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` + # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "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 + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$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 "*) ;; + *) dlfiles="$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 "*) ;; + *) dlprefiles="$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*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$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 + deplibs="$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 </dev/null` + 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 "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$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. + newdeplibs="$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 "*) + newdeplibs="$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 \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$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. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ + -e 's/ -lc$//' -e '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 "X $tmp_deplibs" | $Xsed -e "s,$i,,"` + done + fi + if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | + $GREP . >/dev/null; then + $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 + fi + ;; + 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 "X $newdeplibs" | $Xsed -e '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 "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO "X $deplibs" | $Xsed -e '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 "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$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 + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$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 + 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"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$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" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$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 "$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 + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$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" + delfiles="$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 cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + func_len " $cmd" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + func_show_eval "$cmd" 'exit $?' + 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 "X$include_expsyms" | $Xsed | $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 + delfiles="$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 "*) ;; + *) + tmp_deplibs="$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" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$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\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$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 + output_la=`$ECHO "X$output" | $Xsed -e "$basename"` + + # 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 + $ECHO "$obj" >> $output + done + $ECHO ')' >> $output + delfiles="$delfiles $output" + 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 + $ECHO "$obj" >> $output + done + delfiles="$delfiles $output" + output=$firstobj\"$file_list_spec$output\" + 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. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$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~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + fi + delfiles="$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 "$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 "X$include_expsyms" | $Xsed | $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 + delfiles="$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" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + libobjs="$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 "$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 "$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 "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$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 "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e '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]) + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e '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 "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$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 "*) ;; + *) finalize_rpath="$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"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$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;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) dllsearchpath="$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"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$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 "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$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 + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *cegcc) + # Disable wrappers for cegcc, we are cross compiling anyway. + wrappers_required=no + ;; + *) + 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 "X$compile_command" | $Xsed -e '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=$?' + + # 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 + rpath="$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 + rpath="$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 "X$link_command" | $Xsed -e '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 $?' + 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 "X$compile_var$compile_command$compile_rpath" | $Xsed -e '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 "X$link_command" | $Xsed -e '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 $?' + + # 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 "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $ECHO for shipping. + if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$ECHO "X$ECHO" | $Xsed -e "$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 + oldobjs="$oldobjs $symfileobj" + fi + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$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" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + oldobjs="$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" + generated="$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" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + 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 + 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 "X$relink_command" | $Xsed -e "$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" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$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" + newdlfiles="$newdlfiles $libdir/$name" + ;; + *) newdlfiles="$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" + newdlprefiles="$newdlprefiles $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 + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + 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 "$mode" = link || test "$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) RM="$RM $arg"; rmforce=yes ;; + -*) RM="$RM $arg" ;; + *) files="$files $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + func_basename "$file" + name="$func_basename_result" + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + 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 + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${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 + rmfiles="$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 + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$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 + rmfiles="$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 + rmfiles="$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 + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + objdir="$origobjdir" + + # 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 "$mode" = uninstall || test "$mode" = clean; } && + func_mode_uninstall ${1+"$@"} + +test -z "$mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$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 + + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD="/usr/bin/ld -m elf_x86_64" + +# Commands used to build an old-style archive. +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" + +# A language specific compiler. +CC="g++" + +# Is the compiler the GNU compiler? +with_gcc=yes + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=no + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object="no" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build a shared archive. +archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds="" +module_expsym_cmds="" + +# Whether we are building with GNU ld or not. +with_gnu_ld="yes" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that enforces no undefined symbols. +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="\${wl}-rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into a binary +# during linking. This must work even if $libdir does not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator="" + +# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=no + +# 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=no + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=no + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=unsupported + +# 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=no + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=no + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to "yes" if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" + +# Symbols that must always be exported. +include_expsyms="" + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds="" + +# Specify filename containing input files. +file_list_spec="" + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs="/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2 /lib/../lib64 /usr/lib/../lib64 /usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/../../.." + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects="/usr/lib/../lib64/crti.o /usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/crtbeginS.o" +postdep_objects="/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/crtendS.o /usr/lib/../lib64/crtn.o" +predeps="" +postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="-L/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc-4.4.2/gcc/x86_64-unknown-linux-gnu/4.4.2/../../.." + +# ### END LIBTOOL TAG CONFIG: CXX diff --git a/CRF/ltmain.sh b/CRF/ltmain.sh new file mode 100644 index 0000000000000000000000000000000000000000..7ed280bc9525daa93de726e1100f11de4b113de2 --- /dev/null +++ b/CRF/ltmain.sh @@ -0,0 +1,8413 @@ +# Generated from ltmain.m4sh. + +# ltmain.sh (GNU libtool) 2.2.6b +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 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 +# --tag=TAG use configuration variables from tag TAG +# -v, --verbose print informational messages (default) +# --version print version information +# -h, --help print short or long 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. +# 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.2.6b Debian-2.2.6b-2ubuntu1 +# automake: $automake_version +# autoconf: $autoconf_version +# +# Report bugs to . + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" +TIMESTAMP="" +package_revision=1.3017 + +# 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 + +# NLS nuisances: We save the old values to restore during execute mode. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +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 + +$lt_unset CDPATH + + + + + +: ${CP="cp -f"} +: ${ECHO="echo"} +: ${EGREP="/bin/grep -E"} +: ${FGREP="/bin/grep -F"} +: ${GREP="/bin/grep"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SED="/bin/sed"} +: ${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_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 "X${1}" | $Xsed -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 "X${1}" | $Xsed -e "$basename"` +} + +# Generated shell functions inserted here. + +# 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" + +# The name of this program: +# In the unlikely event $progname began with a '-', it would play havoc with +# func_echo (imagine progname=-n), so we prepend ./ in that case: +func_dirname_and_basename "$progpath" +progname=$func_basename_result +case $progname in + -*) progname=./$progname ;; +esac + +# 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=: + 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' + +# 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${mode+: }$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_error arg... +# Echo program name prefixed message to standard error. +func_error () +{ + $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 +} + +# func_warning arg... +# Echo program name prefixed warning message to standard error. +func_warning () +{ + $opt_warning && $ECHO "$progname${mode+: }$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 "X$my_directory_path" | $Xsed -e "$dirname"` + done + my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e '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 "X$my_tmpdir" | $Xsed +} + + +# 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 "X$1" | $Xsed -e "$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 "X$1" | $Xsed \ + -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_version +# Echo version message to standard output and exit. +func_version () +{ + $SED -n '/^# '$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 () +{ + $SED -n '/^# Usage:/,/# -h/ { + s/^# // + s/^# *$// + s/\$progname/'$progname'/ + p + }' < "$progpath" + $ECHO + $ECHO "run \`$progname --help | more' for full usage" + exit $? +} + +# func_help +# Echo long help message to standard output and exit. +func_help () +{ + $SED -n '/^# Usage:/,/# Report bugs to/ { + 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 --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + p + }' < "$progpath" + exit $? +} + +# func_missing_arg argname +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + func_error "missing argument for $1" + exit_cmd=exit +} + +exit_cmd=: + + + + + +# Check that we have a working $ECHO. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell, and then maybe $ECHO will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </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 +} + +# Parse options once, thoroughly. This comes as soon as possible in +# the script to make things like `libtool --version' happen quickly. +{ + + # 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 + + # Parse non-mode specific arguments: + while test "$#" -gt 0; do + opt="$1" + shift + + case $opt in + --config) func_config ;; + + --debug) preserve_args="$preserve_args $opt" + func_echo "enabling shell trace mode" + opt_debug='set -x' + $opt_debug + ;; + + -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break + execute_dlfiles="$execute_dlfiles $1" + shift + ;; + + --dry-run | -n) opt_dry_run=: ;; + --features) func_features ;; + --finish) mode="finish" ;; + + --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break + case $1 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 + + mode="$1" + shift + ;; + + --preserve-dup-deps) + opt_duplicate_deps=: ;; + + --quiet|--silent) preserve_args="$preserve_args $opt" + opt_silent=: + ;; + + --verbose| -v) preserve_args="$preserve_args $opt" + opt_silent=false + ;; + + --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break + preserve_args="$preserve_args $opt $1" + func_enable_tag "$1" # tagname is set here + shift + ;; + + # Separate optargs to long options: + -dlopen=*|--mode=*|--tag=*) + func_opt_split "$opt" + set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} + shift + ;; + + -\?|-h) func_usage ;; + --help) opt_help=: ;; + --version) func_version ;; + + -*) func_fatal_help "unrecognized option \`$opt'" ;; + + *) nonopt="$opt" + break + ;; + esac + done + + + 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_duplicate_deps + ;; + esac + + # Having warned about all mis-specified options, bail out if + # anything was wrong. + $exit_cmd $EXIT_FAILURE +} + +# 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 +} + + +## ----------- ## +## Main. ## +## ----------- ## + +$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 + + test -z "$mode" && func_fatal_error "error: you must specify a MODE." + + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$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=$mode' for more information." +} + + +# 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_ltwrapper_scriptname_result="" + if func_ltwrapper_executable_p "$1"; then + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" + fi +} + +# 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_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_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + 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 "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; + # 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_quote_for_eval "$arg" + CC_quoted="$CC_quoted $func_quote_for_eval_result" + done + case "$@ " in + " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) + # 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 <?"'"'"' &()|`$[]' \ + && 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 "X$srcfile" | $Xsed -e 's%^.*/%%' -e '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 + removelist="$removelist $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + removelist="$removelist $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + 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 + command="$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 + command="$command -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + command="$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 "$mode" = compile && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $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 building PIC objects only + -prefer-non-pic try to building 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 + +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 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 + -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 + +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 \`$mode'" + ;; + esac + + $ECHO + $ECHO "Try \`$progname --help' for more information about other modes." + + exit $? +} + + # Now that we've collected a possible --mode arg, show help if necessary + $opt_help && func_mode_help + + +# 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 $execute_dlfiles; do + test -f "$file" \ + || func_fatal_help "\`$file' is not a file" + + dir= + case $file in + *.la) + # 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 + dir="$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 + -*) ;; + *) + # 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_quote_for_eval "$file" + args="$args $func_quote_for_eval_result" + 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 "$mode" = execute && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $opt_debug + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + 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" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_silent && exit $EXIT_SUCCESS + + $ECHO "X----------------------------------------------------------------------" | $Xsed + $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 "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS +} + +test "$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. + $ECHO "X$nonopt" | $GREP shtool >/dev/null; 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" + install_prog="$install_prog$func_quote_for_eval_result" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_for_eval "$arg" + install_prog="$install_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 -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. + staticlibs="$staticlibs $file" + ;; + + *.la) + # 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 "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir="$func_dirname_result" + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -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 "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "X$relink_command" | $Xsed -e "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_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" && staticlibs="$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 "X$lib" | $Xsed -e '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 "X$relink_command" | $Xsed -e '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 "X$file$stripped_ext" | $Xsed -e "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_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $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 "$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 + +/* 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 "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_verbose "extracting global C symbols from \`$progfile'" + $opt_dry_run || eval "$NM $progfile | $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" + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + 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 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; +" + case $host in + *cygwin* | *mingw* | *cegcc* ) + $ECHO >> "$output_objdir/$my_dlsyms" "\ +/* DATA imports from DLLs on WIN32 con't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs. */" + lt_dlsym_const= ;; + *osf5*) + echo >> "$output_objdir/$my_dlsyms" "\ +/* This system does not cope well with relocations in const data */" + lt_dlsym_const= ;; + *) + lt_dlsym_const=const ;; + esac + + $ECHO >> "$output_objdir/$my_dlsyms" "\ +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) ;; + *) symtab_cflags="$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 "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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 "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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. +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 + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | + $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_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $opt_debug + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' + 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 | $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 | $NL2SP` + done + + func_extract_archives_result="$my_oldobjs" +} + + + +# func_emit_wrapper_part1 [arg=no] +# +# Emit the first part of a libtool wrapper script on stdout. +# For more information, see the description associated with +# func_emit_wrapper(), below. +func_emit_wrapper_part1 () +{ + func_emit_wrapper_part1_arg1=no + if test -n "$1" ; then + func_emit_wrapper_part1_arg1=$1 + fi + + $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. +Xsed='${SED} -e 1s/^X//' +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 + ECHO=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$ECHO works! + : + else + # Restart under the correct shell, and then maybe \$ECHO will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $ECHO "\ + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e '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 \"X\$file\" | \$Xsed -e '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 \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done +" +} +# end: func_emit_wrapper_part1 + +# func_emit_wrapper_part2 [arg=no] +# +# Emit the second part of a libtool wrapper script on stdout. +# For more information, see the description associated with +# func_emit_wrapper(), below. +func_emit_wrapper_part2 () +{ + func_emit_wrapper_part2_arg1=no + if test -n "$1" ; then + func_emit_wrapper_part2_arg1=$1 + fi + + $ECHO "\ + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_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 \"X\$thisdir\" | \$Xsed -e '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" + + # 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 \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 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\ +" +} +# end: func_emit_wrapper_part2 + + +# 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=no + if test -n "$1" ; then + func_emit_wrapper_arg1=$1 + fi + + # split this up so that func_emit_cwrapperexe_src + # can call each part independently. + func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" + func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" +} + + +# func_to_host_path arg +# +# Convert paths to host format when used with build tools. +# Intended for use with "native" mingw (where libtool itself +# is running under the msys shell), or in the following cross- +# build environments: +# $build $host +# mingw (msys) mingw [e.g. native] +# cygwin mingw +# *nix + wine mingw +# where wine is equipped with the `winepath' executable. +# In the native mingw case, the (msys) shell automatically +# converts paths for any non-msys applications it launches, +# but that facility isn't available from inside the cwrapper. +# Similar accommodations are necessary for $host mingw and +# $build cygwin. Calling this function does no harm for other +# $host/$build combinations not listed above. +# +# ARG is the path (on $build) that should be converted to +# the proper representation for $host. The result is stored +# in $func_to_host_path_result. +func_to_host_path () +{ + func_to_host_path_result="$1" + if test -n "$1" ; then + case $host in + *mingw* ) + lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + case $build in + *mingw* ) # actually, msys + # awkward: cmd appends spaces to result + lt_sed_strip_trailing_spaces="s/[ ]*\$//" + func_to_host_path_tmp1=`( cmd //c echo "$1" |\ + $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + *cygwin* ) + func_to_host_path_tmp1=`cygpath -w "$1"` + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + * ) + # 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_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` + if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` + else + # Allow warning below. + func_to_host_path_result="" + fi + ;; + esac + if test -z "$func_to_host_path_result" ; then + func_error "Could not determine host path corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_path_result="$1" + fi + ;; + esac + fi +} +# end: func_to_host_path + +# func_to_host_pathlist arg +# +# Convert pathlists to host format when used with build tools. +# See func_to_host_path(), above. This function supports the +# following $build/$host combinations (but does no harm for +# combinations not listed here): +# $build $host +# mingw (msys) mingw [e.g. native] +# cygwin mingw +# *nix + wine mingw +# +# 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. +# +# ARG is a pathlist (on $build) that should be converted to +# the proper representation on $host. The result is stored +# in $func_to_host_pathlist_result. +func_to_host_pathlist () +{ + func_to_host_pathlist_result="$1" + if test -n "$1" ; then + case $host in + *mingw* ) + lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + # 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_to_host_pathlist_tmp2="$1" + # Once set for this call, this variable should not be + # reassigned. It is used in tha fallback case. + func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e 's|^:*||' -e 's|:*$||'` + case $build in + *mingw* ) # Actually, msys. + # Awkward: cmd appends spaces to result. + lt_sed_strip_trailing_spaces="s/[ ]*\$//" + func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ + $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + *cygwin* ) + func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e "$lt_sed_naive_backslashify"` + ;; + * ) + # unfortunately, winepath doesn't convert pathlists + func_to_host_pathlist_result="" + func_to_host_pathlist_oldIFS=$IFS + IFS=: + for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do + IFS=$func_to_host_pathlist_oldIFS + if test -n "$func_to_host_pathlist_f" ; then + func_to_host_path "$func_to_host_pathlist_f" + if test -n "$func_to_host_path_result" ; then + if test -z "$func_to_host_pathlist_result" ; then + func_to_host_pathlist_result="$func_to_host_path_result" + else + func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" + fi + fi + fi + IFS=: + done + IFS=$func_to_host_pathlist_oldIFS + ;; + esac + if test -z "$func_to_host_pathlist_result" ; then + func_error "Could not determine the host path(s) corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This may break if $1 contains DOS-style drive + # specifications. The fix is not to complicate the expression + # below, but for the user to provide a working wine installation + # with winepath so that path translation in the cross-to-mingw + # case works properly. + lt_replace_pathsep_nix_to_dos="s|:|;|g" + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ + $SED -e "$lt_replace_pathsep_nix_to_dos"` + fi + # Now, add the leading and trailing path separators back + case "$1" in + :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" + ;; + esac + case "$1" in + *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" + ;; + esac + ;; + esac + fi +} +# end: func_to_host_pathlist + +# 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 < +#include +#ifdef _MSC_VER +# include +# include +# include +# define setmode _setmode +#else +# include +# include +# ifdef __CYGWIN__ +# include +# define HAVE_SETENV +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#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 + +#ifdef _MSC_VER +# define S_IXUSR _S_IEXEC +# define stat _stat +# ifndef _INTPTR_T_DEFINED +# define intptr_t int +# endif +#endif + +#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 */ + +#ifdef __CYGWIN__ +# define FOPEN_WB "wb" +#endif + +#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) + +#undef LTWRAPPER_DEBUGPRINTF +#if defined DEBUGWRAPPER +# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args +static void +ltwrapper_debugprintf (const char *fmt, ...) +{ + va_list args; + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); +} +#else +# define LTWRAPPER_DEBUGPRINTF(args) +#endif + +const char *program_name = NULL; + +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_fatal (const char *message, ...); +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_opt_process_env_set (const char *arg); +void lt_opt_process_env_prepend (const char *arg); +void lt_opt_process_env_append (const char *arg); +int lt_split_name_value (const char *arg, char** name, char** value); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); + +static const char *script_text_part1 = +EOF + + func_emit_wrapper_part1 yes | + $SED -e 's/\([\\"]\)/\\\1/g' \ + -e 's/^/ "/' -e 's/$/\\n"/' + echo ";" + cat <"))); + for (i = 0; i < newargc; i++) + { + LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); + } + +EOF + + case $host_os in + mingw*) + cat <<"EOF" + /* execv doesn't actually work on mingw as expected on unix */ + rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); + if (rval == -1) + { + /* failed to start process */ + LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, 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 ("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; + + LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + 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; + + LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", + path ? (*path ? path : "EMPTY!") : "NULL!")); + 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; + + LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", + wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); + + 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 ("getcwd failed"); + 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 ("getcwd failed"); + 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) + { + LTWRAPPER_DEBUGPRINTF (("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 + { + char *errstr = strerror (errno); + lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal ("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; +} + +static void +lt_error_core (int exit_status, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} + +void +lt_setenv (const char *name, const char *value) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", + (name ? name : ""), + (value ? 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; +} + +int +lt_split_name_value (const char *arg, char** name, char** value) +{ + const char *p; + int len; + if (!arg || !*arg) + return 1; + + p = strchr (arg, (int)'='); + + if (!p) + return 1; + + *value = xstrdup (++p); + + len = strlen (arg) - strlen (*value); + *name = XMALLOC (char, len); + strncpy (*name, arg, len-1); + (*name)[len - 1] = '\0'; + + return 0; +} + +void +lt_opt_process_env_set (const char *arg) +{ + char *name = NULL; + char *value = NULL; + + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); + } + + lt_setenv (name, value); + XFREE (name); + XFREE (value); +} + +void +lt_opt_process_env_prepend (const char *arg) +{ + char *name = NULL; + char *value = NULL; + char *new_value = NULL; + + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); + } + + new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + XFREE (name); + XFREE (value); +} + +void +lt_opt_process_env_append (const char *arg) +{ + char *name = NULL; + char *value = NULL; + char *new_value = NULL; + + if (lt_split_name_value (arg, &name, &value) != 0) + { + XFREE (name); + XFREE (value); + lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); + } + + new_value = lt_extend_str (getenv (name), value, 1); + lt_setenv (name, new_value); + XFREE (new_value); + XFREE (name); + XFREE (value); +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + (name ? name : ""), + (value ? 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) +{ + LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + (name ? name : ""), + (value ? 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 +} +# end: func_emit_cwrapperexe_src + +# 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 + 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 + 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 + dlfiles="$dlfiles $arg" + else + dlprefiles="$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 "*) ;; + *) deplibs="$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 +# moreargs="$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 + dlfiles="$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. + dlprefiles="$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 "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + weak) + weak_libs="$weak_libs $arg" + prev= + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$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 + ;; + + -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" + dir=$func_stripname_result + if test -z "$dir"; 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 + # 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 "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) dllsearchpath="$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*) + # 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 + deplibs="$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 + deplibs="$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) + compiler_flags="$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) + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) new_inherited_linker_flags="$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_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$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" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$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" + arg="$arg $wl$func_quote_for_eval_result" + compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" + linker_flags="$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" + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -F/path gives path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + func_append compile_command " $arg" + func_append finalize_command " $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + # Some other compiler flag. + -* | +*) + func_quote_for_eval "$arg" + arg="$func_quote_for_eval_result" + ;; + + *.$objext) + # A standard object. + objs="$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 + dlfiles="$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. + dlprefiles="$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. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + 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 \"X\${$shlibpath_var}\" \| \$Xsed -e \'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" + # 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_duplicate_deps ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$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 "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$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= + case $lib in + *.la) func_source "$lib" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` + case " $weak_libs " in + *" $deplib_base "*) ;; + *) deplibs="$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) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + if test "$linkmode" = lib ; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) new_inherited_linker_flags="$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 "*) ;; + * ) new_inherited_linker_flags="$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" + newlib_search_path="$newlib_search_path $func_stripname_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" + newlib_search_path="$newlib_search_path $func_stripname_result" + ;; + *) + func_warning "\`-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + func_stripname '-R' '' "$deplib" + dir=$func_stripname_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$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 \"X$deplib\"" 2>/dev/null | $Xsed -e 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. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$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 "X$inherited_linker_flags" | $Xsed -e '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 "*) ;; + *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e '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" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$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. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$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= + for l in $old_library $library_names; do + linklib="$l" + done + 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. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$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 "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library \`$lib' was moved." + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$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 + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$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 + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$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" && \ + dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + 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 + newlib_search_path="$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" + newlib_search_path="$newlib_search_path $func_stripname_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_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$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:"*) ;; + *) temp_rpath="$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 "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$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 + notinst_deplibs="$notinst_deplibs $lib" + need_relink=no + ;; + *) + if test "$installed" = no; then + notinst_deplibs="$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 "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$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 "$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$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$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:"*) ;; + *) compile_shlibpath="$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:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$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:"*) ;; + *) finalize_shlibpath="$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 + [\\/]*) + add_dir="$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 "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$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" + if $opt_duplicate_deps ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + 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_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 + compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" + linker_flags="$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 "X $new_inherited_linker_flags" | $Xsed -e '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 "*) ;; + *) lib_search_path="$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 "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$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 + tmp_libs="$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" + objs="$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!" + libobjs="$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 + 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|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) + 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. + verstring="$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" + libobjs="$libobjs $symfileobj" + test "X$libobjs" = "X " && libobjs= + + if test "$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 + removelist="$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 + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` + # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` + # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "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 + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$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 "*) ;; + *) dlfiles="$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 "*) ;; + *) dlprefiles="$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*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$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 + deplibs="$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 </dev/null` + 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 "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$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. + newdeplibs="$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 "*) + newdeplibs="$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 \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$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. + newdeplibs="$newdeplibs $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ + -e 's/ -lc$//' -e '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 "X $tmp_deplibs" | $Xsed -e "s,$i,,"` + done + fi + if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | + $GREP . >/dev/null; then + $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 + fi + ;; + 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 "X $newdeplibs" | $Xsed -e '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 "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO "X $deplibs" | $Xsed -e '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 "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$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 + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$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 + 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"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$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" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$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 "$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 + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$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" + delfiles="$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 cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + func_len " $cmd" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + func_show_eval "$cmd" 'exit $?' + 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 "X$include_expsyms" | $Xsed | $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 + delfiles="$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 "*) ;; + *) + tmp_deplibs="$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" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$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\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$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 + output_la=`$ECHO "X$output" | $Xsed -e "$basename"` + + # 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 + $ECHO "$obj" >> $output + done + $ECHO ')' >> $output + delfiles="$delfiles $output" + 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 + $ECHO "$obj" >> $output + done + delfiles="$delfiles $output" + output=$firstobj\"$file_list_spec$output\" + 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. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$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~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + if test -n "$last_robj"; then + eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" + fi + delfiles="$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 "$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 "X$include_expsyms" | $Xsed | $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 + delfiles="$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" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + libobjs="$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 "$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 "$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 "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$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 "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e '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]) + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e '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 "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$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 "*) ;; + *) finalize_rpath="$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"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$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;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) dllsearchpath="$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"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$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 "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$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 + *cygwin* | *mingw* ) + if test "$build_libtool_libs" != yes; then + wrappers_required=no + fi + ;; + *cegcc) + # Disable wrappers for cegcc, we are cross compiling anyway. + wrappers_required=no + ;; + *) + 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 "X$compile_command" | $Xsed -e '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=$?' + + # 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 + rpath="$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 + rpath="$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 "X$link_command" | $Xsed -e '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 $?' + 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 "X$compile_var$compile_command$compile_rpath" | $Xsed -e '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 "X$link_command" | $Xsed -e '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 $?' + + # 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 "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $ECHO for shipping. + if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$ECHO "X$ECHO" | $Xsed -e "$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 + oldobjs="$oldobjs $symfileobj" + fi + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$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" + generated="$generated $gentop" + + func_extract_archives $gentop $dlprefiles + oldobjs="$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" + generated="$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" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + 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 + 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 "X$relink_command" | $Xsed -e "$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" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "\`$deplib' is not a valid libtool archive" + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$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" + newdlfiles="$newdlfiles $libdir/$name" + ;; + *) newdlfiles="$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" + newdlprefiles="$newdlprefiles $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 + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $RM $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + 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 "$mode" = link || test "$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) RM="$RM $arg"; rmforce=yes ;; + -*) RM="$RM $arg" ;; + *) files="$files $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + func_dirname "$file" "" "." + dir="$func_dirname_result" + if test "X$dir" = X.; then + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + func_basename "$file" + name="$func_basename_result" + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + 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 + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${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 + rmfiles="$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 + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$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 + rmfiles="$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 + rmfiles="$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 + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + objdir="$origobjdir" + + # 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 "$mode" = uninstall || test "$mode" = clean; } && + func_mode_uninstall ${1+"$@"} + +test -z "$mode" && { + help="$generic_help" + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode \`$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/CRF/merge-models.pl b/CRF/merge-models.pl new file mode 100644 index 0000000000000000000000000000000000000000..21a9a98451b98c6276a993de43890e0efdc86a83 --- /dev/null +++ b/CRF/merge-models.pl @@ -0,0 +1,141 @@ +#!/usr/bin/perl -w + +use strict; +use warnings; +my %model_u; +my %model_b; +my $xsize = -1; +my $version = -1; +my $cost_factor = -1; +my $template = ""; +my @class = (); +my $model_size = 0; + +die "merge-models.pl files ... > new_text_file\n" if (scalar(@ARGV) == 0); + +for my $file (@ARGV) { + print STDERR "reading $file ..\n"; + + # header + open(F, $file) || die "$file\n"; + while () { + chomp; + last if (/^$/); + if (/xsize: (\S+)/) { + die "xsize $xsize != $1\n" if ($xsize != -1 && $xsize != $1); + $xsize = $1; + } elsif (/version: (\S+)/) { + die "version $version != $1\n" if ($version != -1 && $version != $1); + $version = $1; + } elsif (/cost-factor: (\S+)/) { + die "cost-factor $cost_factor != $1\n" if ($cost_factor != -1 && $cost_factor != $1); + $cost_factor = $1; + } + } + + # class + my @tmp = (); + while () { + chomp; + last if (/^$/); + push @tmp, $_; + } + + die "@tmp != @class\n" if (@class && join(" ", @tmp) ne join(" ", @class)); + @class = @tmp; + + # template + my $templ = ""; + while () { + last if (/^$/); + $templ .= $_; + } + + die "$templ != $template\n" if ($template ne "" && $template ne $templ); + $template = $templ; + + # dic + my %u; + my %b; + while () { + chomp; + last if (/^$/); + my ($id, $v) = split; + if ($v =~ /^U/) { + $u{$v} = $id; + } elsif ($v =~ /^B/) { + $b{$v} = $id; + } + } + + # weights + my @w; + while () { + chomp; + push @w, $_; + } + close(F); + + ## merge + { + my $size = scalar(@class); + for my $v (keys %u) { + my $id = $u{$v}; + for (my $i = 0; $i < $size; ++$i) { + $model_u{$v}->[$i] += $w[$id + $i]; + } + } + } + + { + my $size = scalar(@class) * scalar(@class); + for my $v (keys %b) { + my $id = $b{$v}; + for (my $i = 0; $i < $size; ++$i) { + $model_b{$v}->[$i] += $w[$id + $i]; + } + } + } + + ++$model_size; +} + +my $size = scalar(@class); +my $maxid = scalar(keys %model_u) * $size + scalar(keys %model_b) * $size * $size; + +# output +print "version: $version\n"; +print "cost-factor: 1\n"; +print "maxid: $maxid\n"; +print "xsize: $xsize\n"; +print "\n"; +print (join "\n", @class); +print "\n\n"; +print $template; +print "\n"; + +my $id = 0; +my @w; +for my $v (sort keys %model_b) { + my $size = scalar(@class) * scalar(@class); + for (my $i = 0; $i < $size; ++$i) { + push @w, 1.0 * $model_b{$v}->[$i] / $model_size; + } + print "$id $v\n"; + $id += $size; +} + +for my $v (sort keys %model_u) { + my $size = scalar(@class); + for (my $i = 0; $i < $size; ++$i) { + push @w, 1.0 * $model_u{$v}->[$i] / $model_size; + } + print "$id $v\n"; + $id += $size; +} + +print "\n"; + +for (@w) { + print "$_\n"; +} diff --git a/CRF/missing b/CRF/missing new file mode 100644 index 0000000000000000000000000000000000000000..64b5f901dd558f301c33a0fb99466b48eb58a27f --- /dev/null +++ b/CRF/missing @@ -0,0 +1,353 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2004-09-07.08 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 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, 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. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# 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' + 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 + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit 0 + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit 0 + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# 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). +case "$1" in + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + 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 "$1" 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 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + 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 [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -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 [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -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 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + 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." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + 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-end: "$" +# End: diff --git a/CRF/mkinstalldirs b/CRF/mkinstalldirs new file mode 100644 index 0000000000000000000000000000000000000000..4f58503ea4e09c65165aa1ecaeac7c2c688648f3 --- /dev/null +++ b/CRF/mkinstalldirs @@ -0,0 +1,40 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $ + +errstatus=0 + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/CRF/mmap.h b/CRF/mmap.h new file mode 100644 index 0000000000000000000000000000000000000000..6af105c824d58dc22e13bafd08bca9c6b137c2ec --- /dev/null +++ b/CRF/mmap.h @@ -0,0 +1,220 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: mmap.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_MMAP_H__ +#define CRFPP_MMAP_H__ + +#include +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +extern "C" { + +#ifdef HAVE_SYS_TYPES_H +#include +#endif + +#ifdef HAVE_SYS_STAT_H +#include +#endif + +#ifdef HAVE_FCNTL_H +#include +#endif + +#ifdef HAVE_STRING_H +#include +#endif + +#if defined(_WIN32) && !defined(__CYGWIN__) +#ifdef HAVE_WINDOWS_H +#include +#endif +#else + +#ifdef HAVE_SYS_MMAN_H +#include +#endif + +#ifdef HAVE_UNISTD_H +#include +#endif +#endif +} + +#include "common.h" + +#ifndef O_BINARY +#define O_BINARY 0 +#endif + +#if !defined(_WIN32) || defined(__CYGWIN__) +namespace { +int open__(const char* name, int flag) { return open(name, flag); } +int close__(int fd) { return close(fd); } +} +#endif + +namespace CRFPP { + +template class Mmap { + private: + T *text; + size_t length; + std::string fileName; + whatlog what_; + +#if defined(_WIN32) && !defined(__CYGWIN__) + HANDLE hFile; + HANDLE hMap; +#else + int fd; + int flag; +#endif + + public: + T& operator[](size_t n) { return *(text + n); } + const T& operator[](size_t n) const { return *(text + n); } + T* begin() { return text; } + const T* begin() const { return text; } + T* end() { return text + size(); } + const T* end() const { return text + size(); } + size_t size() { return length/sizeof(T); } + const char *what() { return what_.str(); } + const char *file_name() { return fileName.c_str(); } + size_t file_size() { return length; } + bool empty() { return(length == 0); } + + // This code is imported from sufary, develoved by + // TATUO Yamashita Thanks! +#if defined(_WIN32) && !defined(__CYGWIN__) + bool open(const char *filename, const char *mode = "r") { + this->close(); + unsigned long mode1, mode2, mode3; + fileName = std::string(filename); + + if (std::strcmp(mode, "r") == 0) { + mode1 = GENERIC_READ; + mode2 = PAGE_READONLY; + mode3 = FILE_MAP_READ; + } else if (std::strcmp(mode, "r+") == 0) { + mode1 = GENERIC_READ | GENERIC_WRITE; + mode2 = PAGE_READWRITE; + mode3 = FILE_MAP_ALL_ACCESS; + } else { + CHECK_CLOSE_FALSE(false) << "unknown open mode:" << filename; + } + + hFile = CreateFile(filename, mode1, FILE_SHARE_READ, 0, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + CHECK_CLOSE_FALSE(hFile != INVALID_HANDLE_VALUE) + << "CreateFile() failed: " << filename; + + length = GetFileSize(hFile, 0); + + hMap = CreateFileMapping(hFile, 0, mode2, 0, 0, 0); + CHECK_CLOSE_FALSE(hMap) << "CreateFileMapping() failed: " << filename; + + text = reinterpret_cast(MapViewOfFile(hMap, mode3, 0, 0, 0)); + CHECK_CLOSE_FALSE(text) << "MapViewOfFile() failed: " << filename; + + return true; + } + + void close() { + if (text) { UnmapViewOfFile(text); } + if (hFile != INVALID_HANDLE_VALUE) { + CloseHandle(hFile); + hFile = INVALID_HANDLE_VALUE; + } + if (hMap) { + CloseHandle(hMap); + hMap = 0; + } + text = 0; + } + + Mmap(): text(0), hFile(INVALID_HANDLE_VALUE), hMap(0) {} + +#else + + bool open(const char *filename, const char *mode = "r") { + this->close(); + struct stat st; + fileName = std::string(filename); + + if (std::strcmp(mode, "r") == 0) + flag = O_RDONLY; + else if (std::strcmp(mode, "r+") == 0) + flag = O_RDWR; + else + CHECK_CLOSE_FALSE(false) << "unknown open mode: " << filename; + + CHECK_CLOSE_FALSE((fd = open__(filename, flag | O_BINARY)) >= 0) + << "open failed: " << filename; + + CHECK_CLOSE_FALSE(fstat(fd, &st) >= 0) + << "failed to get file size: " << filename; + + length = st.st_size; + +#ifdef HAVE_MMAP + int prot = PROT_READ; + if (flag == O_RDWR) prot |= PROT_WRITE; + char *p; + CHECK_CLOSE_FALSE((p = reinterpret_cast + (mmap(0, length, prot, MAP_SHARED, fd, 0))) + != MAP_FAILED) + << "mmap() failed: " << filename; + + text = reinterpret_cast(p); +#else + text = new T[length]; + CHECK_CLOSE_FALSE(read(fd, text, length) >= 0) + << "read() failed: " << filename; +#endif + close__(fd); + fd = -1; + + return true; + } + + void close() { + if (fd >= 0) { + close__(fd); + fd = -1; + } + + if (text) { +#ifdef HAVE_MMAP + munmap(reinterpret_cast(text), length); + text = 0; +#else + if (flag == O_RDWR) { + int fd2; + if ((fd2 = open__(fileName.c_str(), O_RDWR)) >= 0) { + write(fd2, text, length); + close__(fd2); + } + } + delete [] text; +#endif + } + + text = 0; + } + + Mmap(): text(0), fd(-1) {} +#endif + + virtual ~Mmap() { this->close(); } +}; +} +#endif diff --git a/CRF/node.cpp b/CRF/node.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a8e7bdfb1d4203bba14cf36f297abb2c5f041b2e --- /dev/null +++ b/CRF/node.cpp @@ -0,0 +1,38 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: node.cpp 1595 2007-02-24 10:18:32Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include +#include "node.h" +#include "common.h" + +namespace CRFPP { + +void Node::calcAlpha() { + alpha = 0.0; + for (const_Path_iterator it = lpath.begin(); it != lpath.end(); ++it) + alpha = logsumexp(alpha, + (*it)->cost +(*it)->lnode->alpha, + (it == lpath.begin())); + alpha += cost; +} + +void Node::calcBeta() { + beta = 0.0; + for (const_Path_iterator it = rpath.begin(); it != rpath.end(); ++it) + beta = logsumexp(beta, + (*it)->cost +(*it)->rnode->beta, + (it == rpath.begin())); + beta += cost; +} + +void Node::calcExpectation(double *expected, double Z, size_t size) const { + const double c = std::exp(alpha + beta - cost - Z); + for (int *f = fvector; *f != -1; ++f) expected[*f + y] += c; + for (const_Path_iterator it = lpath.begin(); it != lpath.end(); ++it) + (*it)->calcExpectation(expected, Z, size); +} +} diff --git a/CRF/node.h b/CRF/node.h new file mode 100644 index 0000000000000000000000000000000000000000..2ddd847e49024c9347ff1ba1d187f59f2348b0ce --- /dev/null +++ b/CRF/node.h @@ -0,0 +1,72 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: node.h 1595 2007-02-24 10:18:32Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_NODE_H__ +#define CRFPP_NODE_H__ + +#include +#include +#include "path.h" +#include "common.h" + +#define LOG2 0.69314718055 +#define MINUS_LOG_EPSILON 50 + +namespace CRFPP { +// log(exp(x) + exp(y)); +// this can be used recursivly +// e.g., log(exp(log(exp(x) + exp(y))) + exp(z)) = +// log(exp (x) + exp(y) + exp(z)) +inline double logsumexp(double x, double y, bool flg) { + if (flg) return y; // init mode + const double vmin = _min(x, y); + const double vmax = _max(x, y); + if (vmax > vmin + MINUS_LOG_EPSILON) { + return vmax; + } else { + return vmax + std::log(std::exp(vmin - vmax) + 1.0); + } +} + +struct Path; + +struct Node { + unsigned int x; + unsigned short int y; + double alpha; + double beta; + double cost; + double bestCost; + Node *prev; + int *fvector; + std::vector lpath; + std::vector rpath; + + void calcAlpha(); + void calcBeta(); + void calcExpectation(double *expected, double, size_t) const; + + void clear() { + x = y = 0; + alpha = beta = cost = 0.0; + prev = 0; + fvector = 0; + lpath.clear(); + rpath.clear(); + } + + void shrink() { + std::vector(lpath).swap(lpath); + std::vector(rpath).swap(rpath); + } + + Node(): x(0), y(0), alpha(0.0), beta(0.0), + cost(0.0), bestCost(0.0), prev(0), fvector(0) {} +}; +} + +#endif diff --git a/CRF/node.lo b/CRF/node.lo new file mode 100644 index 0000000000000000000000000000000000000000..1bd908999a4170a142ce558f60b513fc1d70ce51 --- /dev/null +++ b/CRF/node.lo @@ -0,0 +1,12 @@ +# node.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/node.o' + +# Name of the non-PIC object +non_pic_object='node.o' + diff --git a/CRF/node.o b/CRF/node.o new file mode 100644 index 0000000000000000000000000000000000000000..a2011fe3f9ced3daaf1513df254e243d4195d5a0 Binary files /dev/null and b/CRF/node.o differ diff --git a/CRF/param.cpp b/CRF/param.cpp new file mode 100644 index 0000000000000000000000000000000000000000..96d0d347ed3838322bfabc49cd7a4e4eb26a3b4e --- /dev/null +++ b/CRF/param.cpp @@ -0,0 +1,225 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: param.cpp 1587 2007-02-12 09:00:36Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include +#include +#include "param.h" +#include "common.h" + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +namespace CRFPP { + +using namespace std; + +void init_param(std::string *help, + std::string *version, + const std::string &system_name, + const Option *opts) { + *help = std::string(COPYRIGHT) + "\nUsage: " + + system_name + " [options] files\n"; + + *version = std::string(PACKAGE) + " of " + VERSION + '\n'; + + size_t max = 0; + for (size_t i = 0; opts[i].name; ++i) { + size_t l = 1 + std::strlen(opts[i].name); + if (opts[i].arg_description) + l += (1 + std::strlen(opts[i].arg_description)); + max = _max(l, max); + } + + for (size_t i = 0; opts[i].name; ++i) { + size_t l = std::strlen(opts[i].name); + if (opts[i].arg_description) + l += (1 + std::strlen(opts[i].arg_description)); + *help += " -"; + *help += opts[i].short_name; + *help += ", --"; + *help += opts[i].name; + if (opts[i].arg_description) { + *help += '='; + *help += opts[i].arg_description; + } + for (; l <= max; l++) *help += ' '; + *help += opts[i].description; + *help += '\n'; + } + + *help += '\n'; + return; +} + +void Param::dump_config(std::ostream *os) const { + for (std::map::const_iterator it = conf_.begin(); + it != conf_.end(); + ++it) { + *os << it->first << ": " << it->second << std::endl; + } +} + +bool Param::load(const char *filename) { + std::ifstream ifs(filename); + + CHECK_FALSE(ifs) << "no such file or directory: " << filename; + + std::string line; + while (std::getline(ifs, line)) { + if (!line.size() || + (line.size() && (line[0] == ';' || line[0] == '#'))) continue; + + size_t pos = line.find('='); + CHECK_FALSE(pos != std::string::npos) << "format error: " << line; + + size_t s1, s2; + for (s1 = pos+1; s1 < line.size() && isspace(line[s1]); s1++); + for (s2 = pos-1; static_cast(s2) >= 0 && isspace(line[s2]); s2--); + std::string value = line.substr(s1, line.size() - s1); + std::string key = line.substr(0, s2 + 1); + set(key.c_str(), value, false); + } + + return true; +} + +bool Param::open(int argc, char **argv, const Option *opts) { + int ind = 0; + int _errno = 0; + +#define GOTO_ERROR(n) { \ + _errno = n; \ + goto ERROR; } while (0) + + if (argc <= 0) { + system_name_ = "unknown"; + return true; // this is not error + } + + system_name_ = std::string(argv[0]); + + init_param(&help_, &version_, system_name_, opts); + + for (size_t i = 0; opts[i].name; ++i) { + if (opts[i].default_value) set + (opts[i].name, opts[i].default_value); + } + + for (ind = 1; ind < argc; ind++) { + if (argv[ind][0] == '-') { + // long options + if (argv[ind][1] == '-') { + char *s; + for (s = &argv[ind][2]; *s != '\0' && *s != '='; s++); + size_t len = (size_t)(s - &argv[ind][2]); + if (len == 0) return true; // stop the scanning + + bool hit = false; + size_t i = 0; + for (i = 0; opts[i].name; ++i) { + size_t nlen = std::strlen(opts[i].name); + if (nlen == len && std::strncmp(&argv[ind][2], + opts[i].name, len) == 0) { + hit = true; + break; + } + } + + if (!hit) GOTO_ERROR(0); + + if (opts[i].arg_description) { + if (*s == '=') { + if (*(s+1) == '\0') GOTO_ERROR(1); + set(opts[i].name, s+1); + } else { + if (argc == (ind+1)) GOTO_ERROR(1); + set(opts[i].name, argv[++ind]); + } + } else { + if (*s == '=') GOTO_ERROR(2); + set(opts[i].name, 1); + } + + // short options + } else if (argv[ind][1] != '\0') { + size_t i = 0; + bool hit = false; + for (i = 0; opts[i].name; ++i) { + if (opts[i].short_name == argv[ind][1]) { + hit = true; + break; + } + } + + if (!hit) GOTO_ERROR(0); + + if (opts[i].arg_description) { + if (argv[ind][2] != '\0') { + set(opts[i].name, &argv[ind][2]); + } else { + if (argc == (ind+1)) GOTO_ERROR(1); + set(opts[i].name, argv[++ind]); + } + } else { + if (argv[ind][2] != '\0') GOTO_ERROR(2); + set(opts[i].name, 1); + } + } + } else { + rest_.push_back(std::string(argv[ind])); // others + } + } + + return true; + +ERROR: + switch (_errno) { + case 0: WHAT << "unrecognized option `" << argv[ind] << "`"; break; + case 1: WHAT << "`" << argv[ind] << "` requres an argument"; break; + case 2: WHAT << "`" << argv[ind] << "` dosen't allow an argument"; break; + } + return false; +} + +void Param::clear() { + conf_.clear(); + rest_.clear(); +} + +bool Param::open(const char *arg, const Option *opts) { + char str[BUF_SIZE]; + std::strncpy(str, arg, sizeof(str)); + char* ptr[64]; + unsigned int size = 1; + ptr[0] = const_cast(PACKAGE); + + for (char *p = str; *p;) { + while (isspace(*p)) *p++ = '\0'; + if (*p == '\0') break; + ptr[size++] = p; + if (size == sizeof(ptr)) break; + while (*p && !isspace(*p)) p++; + } + + return open(size, ptr, opts); +} + +int Param::help_version() const { + if (get("help")) { + std::cout << help(); + return 0; + } + + if (get("version")) { + std::cout << version(); + return 0; + } + + return 1; +} +} diff --git a/CRF/param.h b/CRF/param.h new file mode 100644 index 0000000000000000000000000000000000000000..176b724e1c6c209477d6f784b645a44208e2bdfb --- /dev/null +++ b/CRF/param.h @@ -0,0 +1,94 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: param.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_PARAM_H__ +#define CRFPP_PARAM_H__ + +#include +#include +#include +#include +#include "scoped_ptr.h" +#include "common.h" + +namespace CRFPP { + +namespace { +template +Target lexical_cast(Source arg) { + std::stringstream interpreter; + Target result; + if (!(interpreter << arg) || !(interpreter >> result) || + !(interpreter >> std::ws).eof()) { + scoped_ptr r(new Target()); // return default value + return *r; + } + return result; +} + +template <> +std::string lexical_cast(std::string arg) { + return arg; +} +} + +struct Option { + const char *name; + char short_name; + const char *default_value; + const char *arg_description; + const char *description; +}; + +class Param { + private: + std::map conf_; + std::vector rest_; + std::string system_name_; + std::string help_; + std::string version_; + whatlog what_; + + public: + bool open(int argc, char **argv, const Option *opt); + bool open(const char *arg, const Option *opt); + bool load(const char *filename); + void clear(); + const std::vector& rest_args() const { return rest_; } + + const char* program_name() const { return system_name_.c_str(); } + const char *what() { return what_.str(); } + const char* help() const { return help_.c_str(); } + const char* version() const { return version_.c_str(); } + int help_version() const; + + template + T get(const char *key) const { + std::map::const_iterator it = conf_.find(key); + if (it == conf_.end()) { + scoped_ptr r(new T()); + return *r; + } + return lexical_cast(it->second); + } + + template + void set(const char* key, const T &value, + bool rewrite = true) { + std::string key2 = std::string(key); + if (rewrite || (!rewrite && conf_.find(key2) == conf_.end())) + conf_[key2] = lexical_cast(value); + } + + void dump_config(std::ostream *os) const; + + explicit Param() {} + virtual ~Param() {} +}; +} + +#endif diff --git a/CRF/param.lo b/CRF/param.lo new file mode 100644 index 0000000000000000000000000000000000000000..a71367ac3f61ce2c9f589fc6b62fbb700c3835f1 --- /dev/null +++ b/CRF/param.lo @@ -0,0 +1,12 @@ +# param.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/param.o' + +# Name of the non-PIC object +non_pic_object='param.o' + diff --git a/CRF/param.o b/CRF/param.o new file mode 100644 index 0000000000000000000000000000000000000000..9e986798f06c521af7549203089f796365b455e3 Binary files /dev/null and b/CRF/param.o differ diff --git a/CRF/path.cpp b/CRF/path.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7adaf46d13d402cd33d85d0710d419aba09bb7ea --- /dev/null +++ b/CRF/path.cpp @@ -0,0 +1,26 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: path.cpp 1587 2007-02-12 09:00:36Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include +#include "path.h" +#include "common.h" + +namespace CRFPP { + +void Path::calcExpectation(double *expected, double Z, size_t size) const { + const double c = std::exp(lnode->alpha + cost + rnode->beta - Z); + for (int *f = fvector; *f != -1; ++f) + expected[*f + lnode->y * size + rnode->y] += c; +} + +void Path::add(Node *_lnode, Node *_rnode) { + lnode = _lnode; + rnode = _rnode; + lnode->rpath.push_back(this); + rnode->lpath.push_back(this); +} +} diff --git a/CRF/path.h b/CRF/path.h new file mode 100644 index 0000000000000000000000000000000000000000..41c9ff0d1114bd049ea3993ae40862ebb5670104 --- /dev/null +++ b/CRF/path.h @@ -0,0 +1,38 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: path.h 1595 2007-02-24 10:18:32Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_PATH_H_ +#define CRFPP_PATH_H_ + +#include +#include "node.h" + +namespace CRFPP { +struct Node; + +struct Path { + Node *rnode; + Node *lnode; + int *fvector; + double cost; + + Path(): rnode(0), lnode(0), fvector(0), cost(0.0) {} + + // for CRF + void calcExpectation(double *expected, double, size_t) const; + void add(Node *_lnode, Node *_rnode) ; + + void clear() { + rnode = lnode = 0; + fvector = 0; + cost = 0.0; + } +}; + +typedef std::vector::const_iterator const_Path_iterator; +} +#endif diff --git a/CRF/path.lo b/CRF/path.lo new file mode 100644 index 0000000000000000000000000000000000000000..68c229e3e0d72f1a4a3eefd602457e005c206248 --- /dev/null +++ b/CRF/path.lo @@ -0,0 +1,12 @@ +# path.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/path.o' + +# Name of the non-PIC object +non_pic_object='path.o' + diff --git a/CRF/path.o b/CRF/path.o new file mode 100644 index 0000000000000000000000000000000000000000..a423fe2490669c0b06cb0e97a0daa22bd5cedf34 Binary files /dev/null and b/CRF/path.o differ diff --git a/CRF/perl/CRFPP.pm b/CRF/perl/CRFPP.pm new file mode 100644 index 0000000000000000000000000000000000000000..3dc9e0bb87cbd1fe0f22fa0e01d1e173f7862835 --- /dev/null +++ b/CRF/perl/CRFPP.pm @@ -0,0 +1,125 @@ +# This file was automatically generated by SWIG (http://www.swig.org). +# Version 1.3.38 +# +# Do not make changes to this file unless you know what you are doing--modify +# the SWIG interface file instead. + +package CRFPP; +use base qw(Exporter); +use base qw(DynaLoader); +package CRFPPc; +bootstrap CRFPP; +package CRFPP; +@EXPORT = qw(); + +# ---------- BASE METHODS ------------- + +package CRFPP; + +sub TIEHASH { + my ($classname,$obj) = @_; + return bless $obj, $classname; +} + +sub CLEAR { } + +sub FIRSTKEY { } + +sub NEXTKEY { } + +sub FETCH { + my ($self,$field) = @_; + my $member_func = "swig_${field}_get"; + $self->$member_func(); +} + +sub STORE { + my ($self,$field,$newval) = @_; + my $member_func = "swig_${field}_set"; + $self->$member_func($newval); +} + +sub this { + my $ptr = shift; + return tied(%$ptr); +} + + +# ------- FUNCTION WRAPPERS -------- + +package CRFPP; + + +############# Class : CRFPP::Tagger ############## + +package CRFPP::Tagger; +use vars qw(@ISA %OWNER %ITERATORS %BLESSEDMEMBERS); +@ISA = qw( CRFPP ); +%OWNER = (); +%ITERATORS = (); +*set_vlevel = *CRFPPc::Tagger_set_vlevel; +*vlevel = *CRFPPc::Tagger_vlevel; +*set_cost_factor = *CRFPPc::Tagger_set_cost_factor; +*cost_factor = *CRFPPc::Tagger_cost_factor; +*set_nbest = *CRFPPc::Tagger_set_nbest; +*nbest = *CRFPPc::Tagger_nbest; +*add = *CRFPPc::Tagger_add; +*size = *CRFPPc::Tagger_size; +*xsize = *CRFPPc::Tagger_xsize; +*dsize = *CRFPPc::Tagger_dsize; +*result = *CRFPPc::Tagger_result; +*answer = *CRFPPc::Tagger_answer; +*y = *CRFPPc::Tagger_y; +*y2 = *CRFPPc::Tagger_y2; +*yname = *CRFPPc::Tagger_yname; +*x = *CRFPPc::Tagger_x; +*ysize = *CRFPPc::Tagger_ysize; +*prob = *CRFPPc::Tagger_prob; +*alpha = *CRFPPc::Tagger_alpha; +*beta = *CRFPPc::Tagger_beta; +*emission_cost = *CRFPPc::Tagger_emission_cost; +*next_transition_cost = *CRFPPc::Tagger_next_transition_cost; +*prev_transition_cost = *CRFPPc::Tagger_prev_transition_cost; +*best_cost = *CRFPPc::Tagger_best_cost; +*Z = *CRFPPc::Tagger_Z; +*empty = *CRFPPc::Tagger_empty; +*clear = *CRFPPc::Tagger_clear; +*next = *CRFPPc::Tagger_next; +*parse = *CRFPPc::Tagger_parse; +*what = *CRFPPc::Tagger_what; +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + CRFPPc::delete_Tagger($self); + delete $OWNER{$self}; + } +} + +sub new { + my $pkg = shift; + my $self = CRFPPc::new_Tagger(@_); + bless $self, $pkg if defined($self); +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +# ------- VARIABLE STUBS -------- + +package CRFPP; + +*VERSION = *CRFPPc::VERSION; +1; diff --git a/CRF/perl/CRFPP_wrap.cxx b/CRF/perl/CRFPP_wrap.cxx new file mode 100644 index 0000000000000000000000000000000000000000..620b2b21417ead3b8beaf5afff18761e8c04b355 --- /dev/null +++ b/CRF/perl/CRFPP_wrap.cxx @@ -0,0 +1,4041 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGPERL +#define SWIG_CASTRANK_MODE + + +#ifdef __cplusplus +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigMovePointer { + T *ptr; + SwigMovePointer(T *p) : ptr(p) { } + ~SwigMovePointer() { delete ptr; } + SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; } + operator T&() const { return *pointer.ptr; } + T *operator&() { return pointer.ptr; } +}; + +template T SwigValueInit() { + return T(); +} +#endif + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + +/* ----------------------------------------------------------------------------- + * swigrun.swg + * + * This file contains generic C API SWIG runtime support for pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +/* This should only be incremented when either the layout of swig_type_info changes, + or for whatever reason, the runtime changes incompatibly */ +#define SWIG_RUNTIME_VERSION "4" + +/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ +#ifdef SWIG_TYPE_TABLE +# define SWIG_QUOTE_STRING(x) #x +# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) +# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) +#else +# define SWIG_TYPE_TABLE_NAME +#endif + +/* + You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for + creating a static or dynamic library from the SWIG runtime code. + In 99.9% of the cases, SWIG just needs to declare them as 'static'. + + But only do this if strictly necessary, ie, if you have problems + with your compiler or suchlike. +*/ + +#ifndef SWIGRUNTIME +# define SWIGRUNTIME SWIGINTERN +#endif + +#ifndef SWIGRUNTIMEINLINE +# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE +#endif + +/* Generic buffer size */ +#ifndef SWIG_BUFFER_SIZE +# define SWIG_BUFFER_SIZE 1024 +#endif + +/* Flags for pointer conversions */ +#define SWIG_POINTER_DISOWN 0x1 +#define SWIG_CAST_NEW_MEMORY 0x2 + +/* Flags for new pointer objects */ +#define SWIG_POINTER_OWN 0x1 + + +/* + Flags/methods for returning states. + + The SWIG conversion methods, as ConvertPtr, return and integer + that tells if the conversion was successful or not. And if not, + an error code can be returned (see swigerrors.swg for the codes). + + Use the following macros/flags to set or process the returning + states. + + In old versions of SWIG, code such as the following was usually written: + + if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { + // success code + } else { + //fail code + } + + Now you can be more explicit: + + int res = SWIG_ConvertPtr(obj,vptr,ty.flags); + if (SWIG_IsOK(res)) { + // success code + } else { + // fail code + } + + which is the same really, but now you can also do + + Type *ptr; + int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); + if (SWIG_IsOK(res)) { + // success code + if (SWIG_IsNewObj(res) { + ... + delete *ptr; + } else { + ... + } + } else { + // fail code + } + + I.e., now SWIG_ConvertPtr can return new objects and you can + identify the case and take care of the deallocation. Of course that + also requires SWIG_ConvertPtr to return new result values, such as + + int SWIG_ConvertPtr(obj, ptr,...) { + if () { + if () { + *ptr = ; + return SWIG_NEWOBJ; + } else { + *ptr = ; + return SWIG_OLDOBJ; + } + } else { + return SWIG_BADOBJ; + } + } + + Of course, returning the plain '0(success)/-1(fail)' still works, but you can be + more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the + SWIG errors code. + + Finally, if the SWIG_CASTRANK_MODE is enabled, the result code + allows to return the 'cast rank', for example, if you have this + + int food(double) + int fooi(int); + + and you call + + food(1) // cast rank '1' (1 -> 1.0) + fooi(1) // cast rank '0' + + just use the SWIG_AddCast()/SWIG_CheckState() +*/ + +#define SWIG_OK (0) +#define SWIG_ERROR (-1) +#define SWIG_IsOK(r) (r >= 0) +#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) + +/* The CastRankLimit says how many bits are used for the cast rank */ +#define SWIG_CASTRANKLIMIT (1 << 8) +/* The NewMask denotes the object was created (using new/malloc) */ +#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) +/* The TmpMask is for in/out typemaps that use temporal objects */ +#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) +/* Simple returning values */ +#define SWIG_BADOBJ (SWIG_ERROR) +#define SWIG_OLDOBJ (SWIG_OK) +#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) +#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) +/* Check, add and del mask methods */ +#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) +#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) +#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) +#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) +#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) +#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) + +/* Cast-Rank Mode */ +#if defined(SWIG_CASTRANK_MODE) +# ifndef SWIG_TypeRank +# define SWIG_TypeRank unsigned long +# endif +# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ +# define SWIG_MAXCASTRANK (2) +# endif +# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) +# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) +SWIGINTERNINLINE int SWIG_AddCast(int r) { + return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; +} +SWIGINTERNINLINE int SWIG_CheckState(int r) { + return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; +} +#else /* no cast-rank mode */ +# define SWIG_AddCast +# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) +#endif + + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(*swig_converter_func)(void *, int *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); + +/* Structure to store information on one type */ +typedef struct swig_type_info { + const char *name; /* mangled name of this type */ + const char *str; /* human readable name of this type */ + swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ + struct swig_cast_info *cast; /* linked list of types that can cast into this type */ + void *clientdata; /* language specific type data */ + int owndata; /* flag if the structure owns the clientdata */ +} swig_type_info; + +/* Structure to store a type and conversion function used for casting */ +typedef struct swig_cast_info { + swig_type_info *type; /* pointer to type that is equivalent to this type */ + swig_converter_func converter; /* function to cast the void pointers */ + struct swig_cast_info *next; /* pointer to next cast in linked list */ + struct swig_cast_info *prev; /* pointer to the previous cast */ +} swig_cast_info; + +/* Structure used to store module information + * Each module generates one structure like this, and the runtime collects + * all of these structures and stores them in a circularly linked list.*/ +typedef struct swig_module_info { + swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ + size_t size; /* Number of types in this module */ + struct swig_module_info *next; /* Pointer to next element in circularly linked list */ + swig_type_info **type_initial; /* Array of initially generated type structures */ + swig_cast_info **cast_initial; /* Array of initially generated casting structures */ + void *clientdata; /* Language specific module data */ +} swig_module_info; + +/* + Compare two type names skipping the space characters, therefore + "char*" == "char *" and "Class" == "Class", etc. + + Return 0 when the two name types are equivalent, as in + strncmp, but skipping ' '. +*/ +SWIGRUNTIME int +SWIG_TypeNameComp(const char *f1, const char *l1, + const char *f2, const char *l2) { + for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { + while ((*f1 == ' ') && (f1 != l1)) ++f1; + while ((*f2 == ' ') && (f2 != l2)) ++f2; + if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; + } + return (int)((l1 - f1) - (l2 - f2)); +} + +/* + Check type equivalence in a name list like ||... + Return 0 if not equal, 1 if equal +*/ +SWIGRUNTIME int +SWIG_TypeEquiv(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + +/* + Check type equivalence in a name list like ||... + Return 0 if equal, -1 if nb < tb, 1 if nb > tb +*/ +SWIGRUNTIME int +SWIG_TypeCompare(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + + +/* + Check the typename +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheck(const char *c, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (strcmp(iter->type->name, c) == 0) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (iter->type == from) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Cast a pointer up an inheritance hierarchy +*/ +SWIGRUNTIMEINLINE void * +SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { + return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); +} + +/* + Dynamic pointer casting. Down an inheritance hierarchy +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* + Return the name associated with this type +*/ +SWIGRUNTIMEINLINE const char * +SWIG_TypeName(const swig_type_info *ty) { + return ty->name; +} + +/* + Return the pretty name associated with this type, + that is an unmangled type name in a form presentable to the user. +*/ +SWIGRUNTIME const char * +SWIG_TypePrettyName(const swig_type_info *type) { + /* The "str" field contains the equivalent pretty names of the + type, separated by vertical-bar characters. We choose + to print the last name, as it is often (?) the most + specific. */ + if (!type) return NULL; + if (type->str != NULL) { + const char *last_name = type->str; + const char *s; + for (s = type->str; *s; s++) + if (*s == '|') last_name = s+1; + return last_name; + } + else + return type->name; +} + +/* + Set the clientdata field for a type +*/ +SWIGRUNTIME void +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + swig_cast_info *cast = ti->cast; + /* if (ti->clientdata == clientdata) return; */ + ti->clientdata = clientdata; + + while (cast) { + if (!cast->converter) { + swig_type_info *tc = cast->type; + if (!tc->clientdata) { + SWIG_TypeClientData(tc, clientdata); + } + } + cast = cast->next; + } +} +SWIGRUNTIME void +SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { + SWIG_TypeClientData(ti, clientdata); + ti->owndata = 1; +} + +/* + Search for a swig_type_info structure only by mangled name + Search is a O(log #types) + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_MangledTypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + swig_module_info *iter = start; + do { + if (iter->size) { + register size_t l = 0; + register size_t r = iter->size - 1; + do { + /* since l+r >= 0, we can (>> 1) instead (/ 2) */ + register size_t i = (l + r) >> 1; + const char *iname = iter->types[i]->name; + if (iname) { + register int compare = strcmp(name, iname); + if (compare == 0) { + return iter->types[i]; + } else if (compare < 0) { + if (i) { + r = i - 1; + } else { + break; + } + } else if (compare > 0) { + l = i + 1; + } + } else { + break; /* should never happen */ + } + } while (l <= r); + } + iter = iter->next; + } while (iter != end); + return 0; +} + +/* + Search for a swig_type_info structure for either a mangled name or a human readable name. + It first searches the mangled names of the types, which is a O(log #types) + If a type is not found it then searches the human readable names, which is O(#types). + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + /* STEP 1: Search the name field using binary search */ + swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); + if (ret) { + return ret; + } else { + /* STEP 2: If the type hasn't been found, do a complete search + of the str field (the human readable name) */ + swig_module_info *iter = start; + do { + register size_t i = 0; + for (; i < iter->size; ++i) { + if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) + return iter->types[i]; + } + iter = iter->next; + } while (iter != end); + } + + /* neither found a match */ + return 0; +} + +/* + Pack binary data into a string +*/ +SWIGRUNTIME char * +SWIG_PackData(char *c, void *ptr, size_t sz) { + static const char hex[17] = "0123456789abcdef"; + register const unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register unsigned char uu = *u; + *(c++) = hex[(uu & 0xf0) >> 4]; + *(c++) = hex[uu & 0xf]; + } + return c; +} + +/* + Unpack binary data from a string +*/ +SWIGRUNTIME const char * +SWIG_UnpackData(const char *c, void *ptr, size_t sz) { + register unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register char d = *(c++); + register unsigned char uu; + if ((d >= '0') && (d <= '9')) + uu = ((d - '0') << 4); + else if ((d >= 'a') && (d <= 'f')) + uu = ((d - ('a'-10)) << 4); + else + return (char *) 0; + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu |= (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + uu |= (d - ('a'-10)); + else + return (char *) 0; + *u = uu; + } + return c; +} + +/* + Pack 'void *' into a string buffer. +*/ +SWIGRUNTIME char * +SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { + char *r = buff; + if ((2*sizeof(void *) + 2) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,&ptr,sizeof(void *)); + if (strlen(name) + 1 > (bsz - (r - buff))) return 0; + strcpy(r,name); + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + *ptr = (void *) 0; + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sizeof(void *)); +} + +SWIGRUNTIME char * +SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { + char *r = buff; + size_t lname = (name ? strlen(name) : 0); + if ((2*sz + 2 + lname) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + if (lname) { + strncpy(r,name,lname+1); + } else { + *r = 0; + } + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + memset(ptr,0,sz); + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sz); +} + +#ifdef __cplusplus +} +#endif + +/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + + +#ifdef __cplusplus +/* Needed on some windows machines---since MS plays funny games with the header files under C++ */ +#include +#include +extern "C" { +#endif +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +/* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */ + +/* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */ +#ifndef PERL_REVISION +# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION)) +# define PERL_PATCHLEVEL_H_IMPLICIT +# include +# endif +# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL))) +# include +# endif +# ifndef PERL_REVISION +# define PERL_REVISION (5) +# define PERL_VERSION PATCHLEVEL +# define PERL_SUBVERSION SUBVERSION +# endif +#endif + +#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) +#define PerlIO_exportFILE(fh,fl) (FILE*)(fh) +#endif + +#ifndef SvIOK_UV +# define SvIOK_UV(sv) (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv))) +#endif + +#ifndef SvUOK +# define SvUOK(sv) SvIOK_UV(sv) +#endif + +#if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5))) +# define PL_sv_undef sv_undef +# define PL_na na +# define PL_errgv errgv +# define PL_sv_no sv_no +# define PL_sv_yes sv_yes +# define PL_markstack_ptr markstack_ptr +#endif + +#ifndef IVSIZE +# ifdef LONGSIZE +# define IVSIZE LONGSIZE +# else +# define IVSIZE 4 /* A bold guess, but the best we can make. */ +# endif +#endif + +#ifndef INT2PTR +# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE) +# define PTRV UV +# define INT2PTR(any,d) (any)(d) +# else +# if PTRSIZE == LONGSIZE +# define PTRV unsigned long +# else +# define PTRV unsigned +# endif +# define INT2PTR(any,d) (any)(PTRV)(d) +# endif + +# define NUM2PTR(any,d) (any)(PTRV)(d) +# define PTR2IV(p) INT2PTR(IV,p) +# define PTR2UV(p) INT2PTR(UV,p) +# define PTR2NV(p) NUM2PTR(NV,p) + +# if PTRSIZE == LONGSIZE +# define PTR2ul(p) (unsigned long)(p) +# else +# define PTR2ul(p) INT2PTR(unsigned long,p) +# endif +#endif /* !INT2PTR */ + +#ifndef SvPV_nolen +# define SvPV_nolen(x) SvPV(x,PL_na) +#endif + +#ifndef get_sv +# define get_sv perl_get_sv +#endif + +#ifndef ERRSV +# define ERRSV get_sv("@",FALSE) +#endif + +#ifndef pTHX_ +#define pTHX_ +#endif + +#include +#ifdef __cplusplus +} +#endif + +/* ----------------------------------------------------------------------------- + * error manipulation + * ----------------------------------------------------------------------------- */ + +SWIGINTERN const char* +SWIG_Perl_ErrorType(int code) { + const char* type = 0; + switch(code) { + case SWIG_MemoryError: + type = "MemoryError"; + break; + case SWIG_IOError: + type = "IOError"; + break; + case SWIG_RuntimeError: + type = "RuntimeError"; + break; + case SWIG_IndexError: + type = "IndexError"; + break; + case SWIG_TypeError: + type = "TypeError"; + break; + case SWIG_DivisionByZero: + type = "ZeroDivisionError"; + break; + case SWIG_OverflowError: + type = "OverflowError"; + break; + case SWIG_SyntaxError: + type = "SyntaxError"; + break; + case SWIG_ValueError: + type = "ValueError"; + break; + case SWIG_SystemError: + type = "SystemError"; + break; + case SWIG_AttributeError: + type = "AttributeError"; + break; + default: + type = "RuntimeError"; + } + return type; +} + + + + +/* ----------------------------------------------------------------------------- + * perlrun.swg + * + * This file contains the runtime support for Perl modules + * and includes code for managing global variables and pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +#ifdef PERL_OBJECT +#define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl), +#define SWIG_PERL_OBJECT_CALL pPerl, +#else +#define SWIG_PERL_OBJECT_DECL +#define SWIG_PERL_OBJECT_CALL +#endif + +/* Common SWIG API */ + +/* for raw pointers */ +#define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags) +#define SWIG_NewPointerObj(p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags) + +/* for raw packed data */ +#define SWIG_ConvertPacked(obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type) +#define SWIG_NewPackedObj(p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type) + +/* for class or struct pointers */ +#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) +#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) + +/* for C or C++ function pointers */ +#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0) +#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0) + +/* for C++ member pointers, ie, member methods */ +#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty) +#define SWIG_NewMemberObj(ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type) + + +/* Runtime API */ + +#define SWIG_GetModule(clientdata) SWIG_Perl_GetModule() +#define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer) + + +/* Error manipulation */ + +#define SWIG_ErrorType(code) SWIG_Perl_ErrorType(code) +#define SWIG_Error(code, msg) sv_setpvf(GvSV(PL_errgv),"%s %s\n", SWIG_ErrorType(code), msg) +#define SWIG_fail goto fail + +/* Perl-specific SWIG API */ + +#define SWIG_MakePtr(sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags) +#define SWIG_MakePackedObj(sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type) +#define SWIG_SetError(str) SWIG_Error(SWIG_RuntimeError, str) + + +#define SWIG_PERL_DECL_ARGS_1(arg1) (SWIG_PERL_OBJECT_DECL arg1) +#define SWIG_PERL_CALL_ARGS_1(arg1) (SWIG_PERL_OBJECT_CALL arg1) +#define SWIG_PERL_DECL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2) +#define SWIG_PERL_CALL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2) + +/* ----------------------------------------------------------------------------- + * pointers/data manipulation + * ----------------------------------------------------------------------------- */ + +/* For backward compatibility only */ +#define SWIG_POINTER_EXCEPTION 0 + +#ifdef __cplusplus +extern "C" { +#endif + +#define SWIG_OWNER SWIG_POINTER_OWN +#define SWIG_SHADOW SWIG_OWNER << 1 + +#define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL + +/* SWIG Perl macros */ + +/* Macro to declare an XS function */ +#ifndef XSPROTO +# define XSPROTO(name) void name(pTHX_ CV* cv) +#endif + +/* Macro to call an XS function */ +#ifdef PERL_OBJECT +# define SWIG_CALLXS(_name) _name(cv,pPerl) +#else +# ifndef MULTIPLICITY +# define SWIG_CALLXS(_name) _name(cv) +# else +# define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) +# endif +#endif + +#ifdef PERL_OBJECT +#define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this; + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) +#define SWIGCLASS_STATIC + +#else /* PERL_OBJECT */ + +#define MAGIC_PPERL +#define SWIGCLASS_STATIC static SWIGUNUSED + +#ifndef MULTIPLICITY +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFunc)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#else /* MULTIPLICITY */ + +#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b) + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#endif /* MULTIPLICITY */ +#endif /* PERL_OBJECT */ + +/* Workaround for bug in perl 5.6.x croak and earlier */ +#if (PERL_VERSION < 8) +# ifdef PERL_OBJECT +# define SWIG_croak_null() SWIG_Perl_croak_null(pPerl) +static void SWIG_Perl_croak_null(CPerlObj *pPerl) +# else +static void SWIG_croak_null() +# endif +{ + SV *err=ERRSV; +# if (PERL_VERSION < 6) + croak("%_", err); +# else + if (SvOK(err) && !SvROK(err)) croak("%_", err); + croak(Nullch); +# endif +} +#else +# define SWIG_croak_null() croak(Nullch) +#endif + + +/* + Define how strict is the cast between strings and integers/doubles + when overloading between these types occurs. + + The default is making it as strict as possible by using SWIG_AddCast + when needed. + + You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to + disable the SWIG_AddCast, making the casting between string and + numbers less strict. + + In the end, we try to solve the overloading between strings and + numerical types in the more natural way, but if you can avoid it, + well, avoid it using %rename, for example. +*/ +#ifndef SWIG_PERL_NO_STRICT_STR2NUM +# ifndef SWIG_PERL_STRICT_STR2NUM +# define SWIG_PERL_STRICT_STR2NUM +# endif +#endif +#ifdef SWIG_PERL_STRICT_STR2NUM +/* string takes precedence */ +#define SWIG_Str2NumCast(x) SWIG_AddCast(x) +#else +/* number takes precedence */ +#define SWIG_Str2NumCast(x) x +#endif + + + +#include + +SWIGRUNTIME const char * +SWIG_Perl_TypeProxyName(const swig_type_info *type) { + if (!type) return NULL; + if (type->clientdata != NULL) { + return (const char*) type->clientdata; + } + else { + return type->name; + } +} + +/* Identical to SWIG_TypeCheck, except for strcmp comparison */ +SWIGRUNTIME swig_cast_info * +SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if ( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0)) || + (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)) ) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* Function for getting a pointer value */ + +SWIGRUNTIME int +SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) { + swig_cast_info *tc; + void *voidptr = (void *)0; + SV *tsv = 0; + /* If magical, apply more magic */ + if (SvGMAGICAL(sv)) + mg_get(sv); + + /* Check to see if this is an object */ + if (sv_isobject(sv)) { + IV tmp = 0; + tsv = (SV*) SvRV(sv); + if ((SvTYPE(tsv) == SVt_PVHV)) { + MAGIC *mg; + if (SvMAGICAL(tsv)) { + mg = mg_find(tsv,'P'); + if (mg) { + sv = mg->mg_obj; + if (sv_isobject(sv)) { + tsv = (SV*)SvRV(sv); + tmp = SvIV(tsv); + } + } + } else { + return SWIG_ERROR; + } + } else { + tmp = SvIV(tsv); + } + voidptr = INT2PTR(void *,tmp); + } else if (! SvOK(sv)) { /* Check for undef */ + *(ptr) = (void *) 0; + return SWIG_OK; + } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ + if (!SvROK(sv)) { + *(ptr) = (void *) 0; + return SWIG_OK; + } else { + return SWIG_ERROR; + } + } else { /* Don't know what it is */ + return SWIG_ERROR; + } + if (_t) { + /* Now see if the types match */ + char *_c = HvNAME(SvSTASH(SvRV(sv))); + tc = SWIG_TypeProxyCheck(_c,_t); + if (!tc) { + return SWIG_ERROR; + } + { + int newmemory = 0; + *ptr = SWIG_TypeCast(tc,voidptr,&newmemory); + assert(!newmemory); /* newmemory handling not yet implemented */ + } + } else { + *ptr = voidptr; + } + + /* + * DISOWN implementation: we need a perl guru to check this one. + */ + if (tsv && (flags & SWIG_POINTER_DISOWN)) { + /* + * almost copy paste code from below SWIG_POINTER_OWN setting + */ + SV *obj = sv; + HV *stash = SvSTASH(SvRV(obj)); + GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE); + if (isGV(gv)) { + HV *hv = GvHVn(gv); + /* + * To set ownership (see below), a newSViv(1) entry is added. + * Hence, to remove ownership, we delete the entry. + */ + if (hv_exists_ent(hv, obj, 0)) { + hv_delete_ent(hv, obj, 0, 0); + } + } + } + return SWIG_OK; +} + +SWIGRUNTIME void +SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) { + if (ptr && (flags & SWIG_SHADOW)) { + SV *self; + SV *obj=newSV(0); + HV *hash=newHV(); + HV *stash; + sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr); + stash=SvSTASH(SvRV(obj)); + if (flags & SWIG_POINTER_OWN) { + HV *hv; + GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE); + if (!isGV(gv)) + gv_init(gv, stash, "OWNER", 5, FALSE); + hv=GvHVn(gv); + hv_store_ent(hv, obj, newSViv(1), 0); + } + sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0); + SvREFCNT_dec(obj); + self=newRV_noinc((SV *)hash); + sv_setsv(sv, self); + SvREFCNT_dec((SV *)self); + sv_bless(sv, stash); + } + else { + sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr); + } +} + +SWIGRUNTIMEINLINE SV * +SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) { + SV *result = sv_newmortal(); + SWIG_MakePtr(result, ptr, t, flags); + return result; +} + +SWIGRUNTIME void +SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { + char result[1024]; + char *r = result; + if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + strcpy(r,SWIG_Perl_TypeProxyName(type)); + sv_setpv(sv, result); +} + +SWIGRUNTIME SV * +SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) { + SV *result = sv_newmortal(); + SWIG_Perl_MakePackedObj(result, ptr, sz, type); + return result; +} + +/* Convert a packed value value */ +SWIGRUNTIME int +SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) { + swig_cast_info *tc; + const char *c = 0; + + if ((!obj) || (!SvOK(obj))) return SWIG_ERROR; + c = SvPV_nolen(obj); + /* Pointer values must start with leading underscore */ + if (*c != '_') return SWIG_ERROR; + c++; + c = SWIG_UnpackData(c,ptr,sz); + if (ty) { + tc = SWIG_TypeCheck(c,ty); + if (!tc) return SWIG_ERROR; + } + return SWIG_OK; +} + + +/* Macros for low-level exception handling */ +#define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; } + + +typedef XSPROTO(SwigPerlWrapper); +typedef SwigPerlWrapper *SwigPerlWrapperPtr; + +/* Structure for command table */ +typedef struct { + const char *name; + SwigPerlWrapperPtr wrapper; +} swig_command_info; + +/* Information for constant table */ + +#define SWIG_INT 1 +#define SWIG_FLOAT 2 +#define SWIG_STRING 3 +#define SWIG_POINTER 4 +#define SWIG_BINARY 5 + +/* Constant information structure */ +typedef struct swig_constant_info { + int type; + const char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; +} swig_constant_info; + + +/* Structure for variable table */ +typedef struct { + const char *name; + SwigMagicFunc set; + SwigMagicFunc get; + swig_type_info **type; +} swig_variable_info; + +/* Magic variable code */ +#ifndef PERL_OBJECT +#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) + #ifndef MULTIPLICITY + SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) + #else + SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) + #endif +#else +# define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) +SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) +#endif +{ + MAGIC *mg; + sv_magic(sv,sv,'U',(char *) name,strlen(name)); + mg = mg_find(sv,'U'); + mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); + mg->mg_virtual->svt_get = (SwigMagicFunc) get; + mg->mg_virtual->svt_set = (SwigMagicFunc) set; + mg->mg_virtual->svt_len = 0; + mg->mg_virtual->svt_clear = 0; + mg->mg_virtual->svt_free = 0; +} + + +SWIGRUNTIME swig_module_info * +SWIG_Perl_GetModule(void) { + static void *type_pointer = (void *)0; + SV *pointer; + + /* first check if pointer already created */ + if (!type_pointer) { + pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI); + if (pointer && SvOK(pointer)) { + type_pointer = INT2PTR(swig_type_info **, SvIV(pointer)); + } + } + + return (swig_module_info *) type_pointer; +} + +SWIGRUNTIME void +SWIG_Perl_SetModule(swig_module_info *module) { + SV *pointer; + + /* create a new pointer */ + pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI); + sv_setiv(pointer, PTR2IV(module)); +} + +#ifdef __cplusplus +} +#endif + +/* Workaround perl5 global namespace pollution. Note that undefining library + * functions like fopen will not solve the problem on all platforms as fopen + * might be a macro on Windows but not necessarily on other operating systems. */ +#ifdef do_open + #undef do_open +#endif +#ifdef do_close + #undef do_close +#endif +#ifdef scalar + #undef scalar +#endif +#ifdef list + #undef list +#endif +#ifdef apply + #undef apply +#endif +#ifdef convert + #undef convert +#endif +#ifdef Error + #undef Error +#endif +#ifdef form + #undef form +#endif +#ifdef vform + #undef vform +#endif +#ifdef LABEL + #undef LABEL +#endif +#ifdef METHOD + #undef METHOD +#endif +#ifdef Move + #undef Move +#endif +#ifdef yylex + #undef yylex +#endif +#ifdef yyparse + #undef yyparse +#endif +#ifdef yyerror + #undef yyerror +#endif +#ifdef invert + #undef invert +#endif +#ifdef ref + #undef ref +#endif +#ifdef read + #undef read +#endif +#ifdef write + #undef write +#endif +#ifdef eof + #undef eof +#endif +#ifdef bool + #undef bool +#endif +#ifdef close + #undef close +#endif +#ifdef rewind + #undef rewind +#endif +#ifdef free + #undef free +#endif +#ifdef malloc + #undef malloc +#endif +#ifdef calloc + #undef calloc +#endif +#ifdef Stat + #undef Stat +#endif +#ifdef check + #undef check +#endif +#ifdef seekdir + #undef seekdir +#endif +#ifdef open + #undef open +#endif +#ifdef readdir + #undef readdir +#endif +#ifdef bind + #undef bind +#endif + + + +#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) + +#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else + + + + #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0) + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_CRFPP__Tagger swig_types[0] +#define SWIGTYPE_p_char swig_types[1] +static swig_type_info *swig_types[3]; +static swig_module_info swig_module = {swig_types, 2, 0, 0, 0, 0}; +#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) +#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) + +/* -------- TYPES TABLE (END) -------- */ + +#define SWIG_init boot_CRFPP + +#define SWIG_name "CRFPPc::boot_CRFPP" +#define SWIG_prefix "CRFPPc::" + +#define SWIGVERSION 0x010338 +#define SWIG_VERSION SWIGVERSION + + +#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) +#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) + + +#include + + +#ifdef __cplusplus +extern "C" +#endif +#ifndef PERL_OBJECT +#ifndef MULTIPLICITY +SWIGEXPORT void SWIG_init (CV* cv); +#else +SWIGEXPORT void SWIG_init (pTHXo_ CV* cv); +#endif +#else +SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *); +#endif + + +#include "crfpp.h" + + + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + + + +#include +#if !defined(SWIG_NO_LLONG_MAX) +# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) +# define LLONG_MAX __LONG_LONG_MAX__ +# define LLONG_MIN (-LLONG_MAX - 1LL) +# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) +# endif +#endif + + +SWIGINTERN int +SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val) +{ + if (SvNIOK(obj)) { + if (val) *val = SvNV(obj); + return SWIG_OK; + } else if (SvIOK(obj)) { + if (val) *val = (double) SvIV(obj); + return SWIG_AddCast(SWIG_OK); + } else { + const char *nptr = SvPV_nolen(obj); + if (nptr) { + char *endptr; + double v = strtod(nptr, &endptr); + if (errno == ERANGE) { + errno = 0; + return SWIG_OverflowError; + } else { + if (*endptr == '\0') { + if (val) *val = v; + return SWIG_Str2NumCast(SWIG_OK); + } + } + } + } + return SWIG_TypeError; +} + + +#include + + +#include + + +SWIGINTERNINLINE int +SWIG_CanCastAsInteger(double *d, double min, double max) { + double x = *d; + if ((min <= x && x <= max)) { + double fx = floor(x); + double cx = ceil(x); + double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ + if ((errno == EDOM) || (errno == ERANGE)) { + errno = 0; + } else { + double summ, reps, diff; + if (rd < x) { + diff = x - rd; + } else if (rd > x) { + diff = rd - x; + } else { + return 1; + } + summ = rd + x; + reps = diff/summ; + if (reps < 8*DBL_EPSILON) { + *d = rd; + return 1; + } + } + } + return 0; +} + + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val) +{ + if (SvUOK(obj)) { + if (val) *val = SvUV(obj); + return SWIG_OK; + } else if (SvIOK(obj)) { + long v = SvIV(obj); + if (v >= 0) { + if (val) *val = v; + return SWIG_OK; + } else { + return SWIG_OverflowError; + } + } else { + int dispatch = 0; + const char *nptr = SvPV_nolen(obj); + if (nptr) { + char *endptr; + unsigned long v; + errno = 0; + v = strtoul(nptr, &endptr,0); + if (errno == ERANGE) { + errno = 0; + return SWIG_OverflowError; + } else { + if (*endptr == '\0') { + if (val) *val = v; + return SWIG_Str2NumCast(SWIG_OK); + } + } + } + if (!dispatch) { + double d; + int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d)); + if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { + if (val) *val = (unsigned long)(d); + return res; + } + } + } + return SWIG_TypeError; +} + + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_int SWIG_PERL_DECL_ARGS_2(SV * obj, unsigned int *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, &v); + if (SWIG_IsOK(res)) { + if ((v > UINT_MAX)) { + return SWIG_OverflowError; + } else { + if (val) *val = static_cast< unsigned int >(v); + } + } + return res; +} + + +SWIGINTERNINLINE SV * +SWIG_From_unsigned_SS_long SWIG_PERL_DECL_ARGS_1(unsigned long value) +{ + SV *obj = sv_newmortal(); + sv_setuv(obj, (UV) value); + return obj; +} + + +SWIGINTERNINLINE SV * +SWIG_From_unsigned_SS_int SWIG_PERL_DECL_ARGS_1(unsigned int value) +{ + return SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1(value); +} + + +SWIGINTERN int +SWIG_AsVal_float SWIG_PERL_DECL_ARGS_2(SV * obj, float *val) +{ + double v; + int res = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj, &v); + if (SWIG_IsOK(res)) { + if ((v < -FLT_MAX || v > FLT_MAX)) { + return SWIG_OverflowError; + } else { + if (val) *val = static_cast< float >(v); + } + } + return res; +} + + +SWIGINTERNINLINE SV * +SWIG_From_double SWIG_PERL_DECL_ARGS_1(double value) +{ + SV *obj = sv_newmortal(); + sv_setnv(obj, value); + return obj; +} + + +SWIGINTERNINLINE SV * +SWIG_From_float SWIG_PERL_DECL_ARGS_1(float value) +{ + return SWIG_From_double SWIG_PERL_CALL_ARGS_1(value); +} + + +SWIGINTERNINLINE int +SWIG_AsVal_size_t SWIG_PERL_DECL_ARGS_2(SV * obj, size_t *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0); + if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v); + return res; +} + + +SWIGINTERNINLINE SV * +SWIG_From_size_t SWIG_PERL_DECL_ARGS_1(size_t value) +{ + return SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(value)); +} + + +SWIGINTERN swig_type_info* +SWIG_pchar_descriptor(void) +{ + static int init = 0; + static swig_type_info* info = 0; + if (!init) { + info = SWIG_TypeQuery("_p_char"); + init = 1; + } + return info; +} + + +SWIGINTERN int +SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc) +{ + if (SvPOK(obj)) { + STRLEN len = 0; + char *cstr = SvPV(obj, len); + size_t size = len + 1; + if (cptr) { + if (alloc) { + if (*alloc == SWIG_NEWOBJ) { + *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size))); + } else { + *cptr = cstr; + *alloc = SWIG_OLDOBJ; + } + } + } + if (psize) *psize = size; + return SWIG_OK; + } else { + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + if (pchar_descriptor) { + char* vptr = 0; + if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) { + if (cptr) *cptr = vptr; + if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0; + if (alloc) *alloc = SWIG_OLDOBJ; + return SWIG_OK; + } + } + } + return SWIG_TypeError; +} + + + + + +SWIGINTERNINLINE SV * +SWIG_From_bool SWIG_PERL_DECL_ARGS_1(bool value) +{ + SV *obj = sv_newmortal(); + if (value) { + sv_setsv(obj, &PL_sv_yes); + } else { + sv_setsv(obj, &PL_sv_no); + } + return obj; +} + + +SWIGINTERNINLINE SV * +SWIG_FromCharPtrAndSize(const char* carray, size_t size) +{ + SV *obj = sv_newmortal(); + if (carray) { + sv_setpvn(obj, carray, size); + } else { + sv_setsv(obj, &PL_sv_undef); + } + return obj; +} + + +SWIGINTERNINLINE SV * +SWIG_FromCharPtr(const char *cptr) +{ + return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); +} + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef PERL_OBJECT +#define MAGIC_CLASS _wrap_CRFPP_var:: +class _wrap_CRFPP_var : public CPerlObj { +public: +#else +#define MAGIC_CLASS +#endif +SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) { + MAGIC_PPERL + croak("Value is read-only."); + return 0; +} + + +#ifdef PERL_OBJECT +}; +#endif + +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif +XS(_wrap_Tagger_set_vlevel) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_set_vlevel(self,vlevel);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_set_vlevel" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_set_vlevel" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + { + try { + (arg1)->set_vlevel(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = sv_newmortal(); + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_vlevel) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + unsigned int result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_vlevel(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_vlevel" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (unsigned int)((CRFPP::Tagger const *)arg1)->vlevel(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_unsigned_SS_int SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_set_cost_factor) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + float arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + float val2 ; + int ecode2 = 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_set_cost_factor(self,cost_factor);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_set_cost_factor" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_set_cost_factor" "', argument " "2"" of type '" "float""'"); + } + arg2 = static_cast< float >(val2); + { + try { + (arg1)->set_cost_factor(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = sv_newmortal(); + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_cost_factor) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + float result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_cost_factor(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_cost_factor" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (float)((CRFPP::Tagger const *)arg1)->cost_factor(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_float SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_set_nbest) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_set_nbest(self,nbest);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_set_nbest" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_set_nbest" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + (arg1)->set_nbest(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = sv_newmortal(); + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_nbest) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_nbest(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_nbest" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->nbest(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_add) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int argvi = 0; + bool result; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_add(self,str);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_add" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Tagger_add" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + { + try { + result = (bool)(arg1)->add((char const *)arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_bool SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ; + + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + XSRETURN(argvi); + fail: + + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_size) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_size(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_size" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->size(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_xsize) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_xsize(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_xsize" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->xsize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_dsize) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_dsize(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_dsize" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->dsize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_result) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_result(self,i);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_result" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_result" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->result(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_answer) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_answer(self,i);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_answer" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_answer" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->answer(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_y) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_y(self,i);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_y" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_y" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->y(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_y2) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + int argvi = 0; + char *result = 0 ; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_y2(self,i);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_y2" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_y2" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->y2(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ; + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_yname) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + int argvi = 0; + char *result = 0 ; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_yname(self,i);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_yname" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_yname" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->yname(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ; + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_x) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + int argvi = 0; + char *result = 0 ; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: Tagger_x(self,i,j);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_x" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_x" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_x" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->x(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ; + + + + XSRETURN(argvi); + fail: + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_ysize) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + size_t result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_ysize(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_ysize" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->ysize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_size_t SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_prob__SWIG_0) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: Tagger_prob(self,i,j);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prob" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_prob" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_prob" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + + XSRETURN(argvi); + fail: + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_prob__SWIG_1) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_prob(self,i);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prob" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_prob" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + XSRETURN(argvi); + fail: + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_prob__SWIG_2) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_prob(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prob" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_prob) { + dXSARGS; + + { + unsigned long _index = 0; + SWIG_TypeRank _rank = 0; + if (items == 1) { + SWIG_TypeRank _ranki = 0; + SWIG_TypeRank _rankm = 0; + SWIG_TypeRank _pi = 1; + int _v = 0; + { + void *vptr = 0; + int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_1; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + if (!_index || (_ranki < _rank)) { + _rank = _ranki; _index = 1; + if (_rank == _rankm) goto dispatch; + } + } + check_1: + + if (items == 2) { + SWIG_TypeRank _ranki = 0; + SWIG_TypeRank _rankm = 0; + SWIG_TypeRank _pi = 1; + int _v = 0; + { + void *vptr = 0; + int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_2; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + { + { + int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL); + _v = SWIG_CheckState(res); + } + } + if (!_v) goto check_2; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + if (!_index || (_ranki < _rank)) { + _rank = _ranki; _index = 2; + if (_rank == _rankm) goto dispatch; + } + } + check_2: + + if (items == 3) { + SWIG_TypeRank _ranki = 0; + SWIG_TypeRank _rankm = 0; + SWIG_TypeRank _pi = 1; + int _v = 0; + { + void *vptr = 0; + int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_3; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + { + { + int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL); + _v = SWIG_CheckState(res); + } + } + if (!_v) goto check_3; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + { + { + int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL); + _v = SWIG_CheckState(res); + } + } + if (!_v) goto check_3; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + if (!_index || (_ranki < _rank)) { + _rank = _ranki; _index = 3; + if (_rank == _rankm) goto dispatch; + } + } + check_3: + + dispatch: + switch(_index) { + case 1: + ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Tagger_prob__SWIG_2); return; + case 2: + ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Tagger_prob__SWIG_1); return; + case 3: + ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Tagger_prob__SWIG_0); return; + } + } + + croak("No matching function for overloaded 'Tagger_prob'"); + XSRETURN(0); +} + + +XS(_wrap_Tagger_alpha) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: Tagger_alpha(self,i,j);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_alpha" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_alpha" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_alpha" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->alpha(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + + XSRETURN(argvi); + fail: + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_beta) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: Tagger_beta(self,i,j);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_beta" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_beta" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_beta" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->beta(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + + XSRETURN(argvi); + fail: + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_emission_cost) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: Tagger_emission_cost(self,i,j);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_emission_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_emission_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_emission_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->emission_cost(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + + XSRETURN(argvi); + fail: + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_next_transition_cost) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + size_t val4 ; + int ecode4 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 4) || (items > 4)) { + SWIG_croak("Usage: Tagger_next_transition_cost(self,i,j,k);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_next_transition_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_next_transition_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_next_transition_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Tagger_next_transition_cost" "', argument " "4"" of type '" "size_t""'"); + } + arg4 = static_cast< size_t >(val4); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->next_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + + + XSRETURN(argvi); + fail: + + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_prev_transition_cost) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + size_t val4 ; + int ecode4 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 4) || (items > 4)) { + SWIG_croak("Usage: Tagger_prev_transition_cost(self,i,j,k);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prev_transition_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_prev_transition_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_prev_transition_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Tagger_prev_transition_cost" "', argument " "4"" of type '" "size_t""'"); + } + arg4 = static_cast< size_t >(val4); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prev_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + + + XSRETURN(argvi); + fail: + + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_best_cost) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: Tagger_best_cost(self,i,j);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_best_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_best_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_best_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->best_cost(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + + + XSRETURN(argvi); + fail: + + + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_Z) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + double result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_Z(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_Z" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->Z(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_double SWIG_PERL_CALL_ARGS_1(static_cast< double >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_parse__SWIG_0) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + bool result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_parse(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_parse" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->parse(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_bool SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_empty) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + bool result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_empty(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_empty" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)((CRFPP::Tagger const *)arg1)->empty(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_bool SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_clear) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + bool result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_clear(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_clear" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->clear(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_bool SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_next) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + bool result; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_next(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_next" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->next(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_From_bool SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_parse__SWIG_1) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + int argvi = 0; + char *result = 0 ; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: Tagger_parse(self,str);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_parse" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Tagger_parse" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + { + try { + result = (char *)(arg1)->parse((char const *)arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ; + + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + XSRETURN(argvi); + fail: + + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + SWIG_croak_null(); + } +} + + +XS(_wrap_Tagger_parse) { + dXSARGS; + + { + unsigned long _index = 0; + SWIG_TypeRank _rank = 0; + if (items == 1) { + SWIG_TypeRank _ranki = 0; + SWIG_TypeRank _rankm = 0; + SWIG_TypeRank _pi = 1; + int _v = 0; + { + void *vptr = 0; + int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_1; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + if (!_index || (_ranki < _rank)) { + _rank = _ranki; _index = 1; + if (_rank == _rankm) goto dispatch; + } + } + check_1: + + if (items == 2) { + SWIG_TypeRank _ranki = 0; + SWIG_TypeRank _rankm = 0; + SWIG_TypeRank _pi = 1; + int _v = 0; + { + void *vptr = 0; + int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_2; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + { + int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0); + _v = SWIG_CheckState(res); + } + if (!_v) goto check_2; + _ranki += _v*_pi; + _rankm += _pi; + _pi *= SWIG_MAXCASTRANK; + if (!_index || (_ranki < _rank)) { + _rank = _ranki; _index = 2; + if (_rank == _rankm) goto dispatch; + } + } + check_2: + + dispatch: + switch(_index) { + case 1: + ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Tagger_parse__SWIG_0); return; + case 2: + ++PL_markstack_ptr; SWIG_CALLXS(_wrap_Tagger_parse__SWIG_1); return; + } + } + + croak("No matching function for overloaded 'Tagger_parse'"); + XSRETURN(0); +} + + +XS(_wrap_Tagger_what) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + char *result = 0 ; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Tagger_what(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_what" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (char *)(arg1)->what(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ; + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_delete_Tagger) { + { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_Tagger(self);"); + } + res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_CRFPP__Tagger, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Tagger" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + delete arg1; + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = sv_newmortal(); + + XSRETURN(argvi); + fail: + + SWIG_croak_null(); + } +} + + +XS(_wrap_new_Tagger) { + { + char *arg1 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + int argvi = 0; + CRFPP::Tagger *result = 0 ; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_Tagger(argc);"); + } + res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Tagger" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + { + try { + result = (CRFPP::Tagger *)new_CRFPP_Tagger((char const *)arg1); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CRFPP__Tagger, SWIG_OWNER | SWIG_SHADOW); argvi++ ; + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + XSRETURN(argvi); + fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + SWIG_croak_null(); + } +} + + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static swig_type_info _swigt__p_CRFPP__Tagger = {"_p_CRFPP__Tagger", "CRFPP::Tagger *", 0, 0, (void*)"CRFPP::Tagger", 0}; +static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; + +static swig_type_info *swig_type_initial[] = { + &_swigt__p_CRFPP__Tagger, + &_swigt__p_char, +}; + +static swig_cast_info _swigc__p_CRFPP__Tagger[] = { {&_swigt__p_CRFPP__Tagger, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; + +static swig_cast_info *swig_cast_initial[] = { + _swigc__p_CRFPP__Tagger, + _swigc__p_char, +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +static swig_constant_info swig_constants[] = { +{0,0,0,0,0,0} +}; +#ifdef __cplusplus +} +#endif +static swig_variable_info swig_variables[] = { +{0,0,0,0} +}; +static swig_command_info swig_commands[] = { +{"CRFPPc::Tagger_set_vlevel", _wrap_Tagger_set_vlevel}, +{"CRFPPc::Tagger_vlevel", _wrap_Tagger_vlevel}, +{"CRFPPc::Tagger_set_cost_factor", _wrap_Tagger_set_cost_factor}, +{"CRFPPc::Tagger_cost_factor", _wrap_Tagger_cost_factor}, +{"CRFPPc::Tagger_set_nbest", _wrap_Tagger_set_nbest}, +{"CRFPPc::Tagger_nbest", _wrap_Tagger_nbest}, +{"CRFPPc::Tagger_add", _wrap_Tagger_add}, +{"CRFPPc::Tagger_size", _wrap_Tagger_size}, +{"CRFPPc::Tagger_xsize", _wrap_Tagger_xsize}, +{"CRFPPc::Tagger_dsize", _wrap_Tagger_dsize}, +{"CRFPPc::Tagger_result", _wrap_Tagger_result}, +{"CRFPPc::Tagger_answer", _wrap_Tagger_answer}, +{"CRFPPc::Tagger_y", _wrap_Tagger_y}, +{"CRFPPc::Tagger_y2", _wrap_Tagger_y2}, +{"CRFPPc::Tagger_yname", _wrap_Tagger_yname}, +{"CRFPPc::Tagger_x", _wrap_Tagger_x}, +{"CRFPPc::Tagger_ysize", _wrap_Tagger_ysize}, +{"CRFPPc::Tagger_prob", _wrap_Tagger_prob}, +{"CRFPPc::Tagger_alpha", _wrap_Tagger_alpha}, +{"CRFPPc::Tagger_beta", _wrap_Tagger_beta}, +{"CRFPPc::Tagger_emission_cost", _wrap_Tagger_emission_cost}, +{"CRFPPc::Tagger_next_transition_cost", _wrap_Tagger_next_transition_cost}, +{"CRFPPc::Tagger_prev_transition_cost", _wrap_Tagger_prev_transition_cost}, +{"CRFPPc::Tagger_best_cost", _wrap_Tagger_best_cost}, +{"CRFPPc::Tagger_Z", _wrap_Tagger_Z}, +{"CRFPPc::Tagger_empty", _wrap_Tagger_empty}, +{"CRFPPc::Tagger_clear", _wrap_Tagger_clear}, +{"CRFPPc::Tagger_next", _wrap_Tagger_next}, +{"CRFPPc::Tagger_parse", _wrap_Tagger_parse}, +{"CRFPPc::Tagger_what", _wrap_Tagger_what}, +{"CRFPPc::delete_Tagger", _wrap_delete_Tagger}, +{"CRFPPc::new_Tagger", _wrap_new_Tagger}, +{0,0} +}; +/* ----------------------------------------------------------------------------- + * Type initialization: + * This problem is tough by the requirement that no dynamic + * memory is used. Also, since swig_type_info structures store pointers to + * swig_cast_info structures and swig_cast_info structures store pointers back + * to swig_type_info structures, we need some lookup code at initialization. + * The idea is that swig generates all the structures that are needed. + * The runtime then collects these partially filled structures. + * The SWIG_InitializeModule function takes these initial arrays out of + * swig_module, and does all the lookup, filling in the swig_module.types + * array with the correct data and linking the correct swig_cast_info + * structures together. + * + * The generated swig_type_info structures are assigned staticly to an initial + * array. We just loop through that array, and handle each type individually. + * First we lookup if this type has been already loaded, and if so, use the + * loaded structure instead of the generated one. Then we have to fill in the + * cast linked list. The cast data is initially stored in something like a + * two-dimensional array. Each row corresponds to a type (there are the same + * number of rows as there are in the swig_type_initial array). Each entry in + * a column is one of the swig_cast_info structures for that type. + * The cast_initial array is actually an array of arrays, because each row has + * a variable number of columns. So to actually build the cast linked list, + * we find the array of casts associated with the type, and loop through it + * adding the casts to the list. The one last trick we need to do is making + * sure the type pointer in the swig_cast_info struct is correct. + * + * First off, we lookup the cast->type name to see if it is already loaded. + * There are three cases to handle: + * 1) If the cast->type has already been loaded AND the type we are adding + * casting info to has not been loaded (it is in this module), THEN we + * replace the cast->type pointer with the type pointer that has already + * been loaded. + * 2) If BOTH types (the one we are adding casting info to, and the + * cast->type) are loaded, THEN the cast info has already been loaded by + * the previous module so we just ignore it. + * 3) Finally, if cast->type has not already been loaded, then we add that + * swig_cast_info to the linked list (because the cast->type) pointer will + * be correct. + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* c-mode */ +#endif +#endif + +#if 0 +#define SWIGRUNTIME_DEBUG +#endif + + +SWIGRUNTIME void +SWIG_InitializeModule(void *clientdata) { + size_t i; + swig_module_info *module_head, *iter; + int found, init; + + clientdata = clientdata; + + /* check to see if the circular list has been setup, if not, set it up */ + if (swig_module.next==0) { + /* Initialize the swig_module */ + swig_module.type_initial = swig_type_initial; + swig_module.cast_initial = swig_cast_initial; + swig_module.next = &swig_module; + init = 1; + } else { + init = 0; + } + + /* Try and load any already created modules */ + module_head = SWIG_GetModule(clientdata); + if (!module_head) { + /* This is the first module loaded for this interpreter */ + /* so set the swig module into the interpreter */ + SWIG_SetModule(clientdata, &swig_module); + module_head = &swig_module; + } else { + /* the interpreter has loaded a SWIG module, but has it loaded this one? */ + found=0; + iter=module_head; + do { + if (iter==&swig_module) { + found=1; + break; + } + iter=iter->next; + } while (iter!= module_head); + + /* if the is found in the list, then all is done and we may leave */ + if (found) return; + /* otherwise we must add out module into the list */ + swig_module.next = module_head->next; + module_head->next = &swig_module; + } + + /* When multiple interpeters are used, a module could have already been initialized in + a different interpreter, but not yet have a pointer in this interpreter. + In this case, we do not want to continue adding types... everything should be + set up already */ + if (init == 0) return; + + /* Now work on filling in swig_module.types */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: size %d\n", swig_module.size); +#endif + for (i = 0; i < swig_module.size; ++i) { + swig_type_info *type = 0; + swig_type_info *ret; + swig_cast_info *cast; + +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); +#endif + + /* if there is another module already loaded */ + if (swig_module.next != &swig_module) { + type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); + } + if (type) { + /* Overwrite clientdata field */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found type %s\n", type->name); +#endif + if (swig_module.type_initial[i]->clientdata) { + type->clientdata = swig_module.type_initial[i]->clientdata; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); +#endif + } + } else { + type = swig_module.type_initial[i]; + } + + /* Insert casting types */ + cast = swig_module.cast_initial[i]; + while (cast->type) { + /* Don't need to add information already in the list */ + ret = 0; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); +#endif + if (swig_module.next != &swig_module) { + ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); +#ifdef SWIGRUNTIME_DEBUG + if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); +#endif + } + if (ret) { + if (type == swig_module.type_initial[i]) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: skip old type %s\n", ret->name); +#endif + cast->type = ret; + ret = 0; + } else { + /* Check for casting already in the list */ + swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); +#ifdef SWIGRUNTIME_DEBUG + if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); +#endif + if (!ocast) ret = 0; + } + } + + if (!ret) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); +#endif + if (type->cast) { + type->cast->prev = cast; + cast->next = type->cast; + } + type->cast = cast; + } + cast++; + } + /* Set entry in modules->types array equal to the type */ + swig_module.types[i] = type; + } + swig_module.types[i] = 0; + +#ifdef SWIGRUNTIME_DEBUG + printf("**** SWIG_InitializeModule: Cast List ******\n"); + for (i = 0; i < swig_module.size; ++i) { + int j = 0; + swig_cast_info *cast = swig_module.cast_initial[i]; + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); + while (cast->type) { + printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); + cast++; + ++j; + } + printf("---- Total casts: %d\n",j); + } + printf("**** SWIG_InitializeModule: Cast List ******\n"); +#endif +} + +/* This function will propagate the clientdata field of type to +* any new swig_type_info structures that have been added into the list +* of equivalent types. It is like calling +* SWIG_TypeClientData(type, clientdata) a second time. +*/ +SWIGRUNTIME void +SWIG_PropagateClientData(void) { + size_t i; + swig_cast_info *equiv; + static int init_run = 0; + + if (init_run) return; + init_run = 1; + + for (i = 0; i < swig_module.size; i++) { + if (swig_module.types[i]->clientdata) { + equiv = swig_module.types[i]->cast; + while (equiv) { + if (!equiv->converter) { + if (equiv->type && !equiv->type->clientdata) + SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); + } + equiv = equiv->next; + } + } + } +} + +#ifdef __cplusplus +#if 0 +{ + /* c-mode */ +#endif +} +#endif + + + +#ifdef __cplusplus +extern "C" +#endif + +XS(SWIG_init) { + dXSARGS; + int i; + + SWIG_InitializeModule(0); + + /* Install commands */ + for (i = 0; swig_commands[i].name; i++) { + newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__); + } + + /* Install variables */ + for (i = 0; swig_variables[i].name; i++) { + SV *sv; + sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI); + if (swig_variables[i].type) { + SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); + } else { + sv_setiv(sv,(IV) 0); + } + swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); + } + + /* Install constant */ + for (i = 0; swig_constants[i].type; i++) { + SV *sv; + sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI); + switch(swig_constants[i].type) { + case SWIG_INT: + sv_setiv(sv, (IV) swig_constants[i].lvalue); + break; + case SWIG_FLOAT: + sv_setnv(sv, (double) swig_constants[i].dvalue); + break; + case SWIG_STRING: + sv_setpv(sv, (char *) swig_constants[i].pvalue); + break; + case SWIG_POINTER: + SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0); + break; + case SWIG_BINARY: + SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype)); + break; + default: + break; + } + SvREADONLY_on(sv); + } + + SWIG_TypeClientData(SWIGTYPE_p_CRFPP__Tagger, (void*) "CRFPP::Tagger"); + /*@SWIG:/usr/local/share/swig/1.3.38/perl5/perltypemaps.swg,65,%set_constant@*/ do { + SV *sv = get_sv((char*) SWIG_prefix "VERSION", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_FromCharPtr("0.52")); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; + ST(0) = &PL_sv_yes; + XSRETURN(1); +} + diff --git a/CRF/perl/Makefile.PL b/CRF/perl/Makefile.PL new file mode 100644 index 0000000000000000000000000000000000000000..ca5b000a02da00959d981237b7cf62228cbcaa3c --- /dev/null +++ b/CRF/perl/Makefile.PL @@ -0,0 +1,10 @@ +use ExtUtils::MakeMaker; +WriteMakefile( + 'NAME' => 'CRFPP', + 'CC' => 'c++', + 'LD' => 'c++', + 'INC' => '', + 'LIBS' => '-lpthread -lcrfpp', +# 'VERSION' => '0.46', + 'OBJECT' => 'CRFPP_wrap.o' +); diff --git a/CRF/perl/Makefile.old b/CRF/perl/Makefile.old new file mode 100644 index 0000000000000000000000000000000000000000..c66615cf2588d54aa540d85c7716175cbd333766 --- /dev/null +++ b/CRF/perl/Makefile.old @@ -0,0 +1,931 @@ +# This Makefile is for the CRFPP extension to perl. +# +# It was generated automatically by MakeMaker version +# 6.56 (Revision: 65600) from the contents of +# Makefile.PL. Don't edit this file, edit Makefile.PL instead. +# +# ANY CHANGES MADE HERE WILL BE LOST! +# +# MakeMaker ARGV: () +# + +# MakeMaker Parameters: + +# BUILD_REQUIRES => { } +# CC => q[c++] +# INC => q[] +# LD => q[c++] +# LIBS => q[-lpthread -lcrfpp] +# NAME => q[CRFPP] +# OBJECT => q[CRFPP_wrap.o] +# PREREQ_PM => { } + +# --- MakeMaker post_initialize section: + + +# --- MakeMaker const_config section: + +# These definitions are from config.sh (via /usr/lib/perl/5.12/Config.pm). +# They may have been overridden via Makefile.PL or on the command line. +AR = ar +CC = c++ +CCCDLFLAGS = -fPIC +CCDLFLAGS = -Wl,-E +DLEXT = so +DLSRC = dl_dlopen.xs +EXE_EXT = +FULL_AR = /usr/bin/ar +LD = c++ +LDDLFLAGS = -shared -O2 -g -L/usr/local/lib -fstack-protector +LDFLAGS = -fstack-protector -L/usr/local/lib +LIBC = +LIB_EXT = .a +OBJ_EXT = .o +OSNAME = linux +OSVERS = 2.6.24-28-server +RANLIB = : +SITELIBEXP = /usr/local/share/perl/5.12.4 +SITEARCHEXP = /usr/local/lib/perl/5.12.4 +SO = so +VENDORARCHEXP = /usr/lib/perl5 +VENDORLIBEXP = /usr/share/perl5 + + +# --- MakeMaker constants section: +AR_STATIC_ARGS = cr +DIRFILESEP = / +DFSEP = $(DIRFILESEP) +NAME = CRFPP +NAME_SYM = CRFPP +VERSION = +VERSION_MACRO = VERSION +VERSION_SYM = +DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" +XS_VERSION = +XS_VERSION_MACRO = XS_VERSION +XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" +INST_ARCHLIB = blib/arch +INST_SCRIPT = blib/script +INST_BIN = blib/bin +INST_LIB = blib/lib +INST_MAN1DIR = blib/man1 +INST_MAN3DIR = blib/man3 +MAN1EXT = 1p +MAN3EXT = 3pm +INSTALLDIRS = site +DESTDIR = +PREFIX = /usr +PERLPREFIX = $(PREFIX) +SITEPREFIX = $(PREFIX)/local +VENDORPREFIX = $(PREFIX) +INSTALLPRIVLIB = $(PERLPREFIX)/share/perl/5.12 +DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB) +INSTALLSITELIB = $(SITEPREFIX)/share/perl/5.12.4 +DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB) +INSTALLVENDORLIB = $(VENDORPREFIX)/share/perl5 +DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB) +INSTALLARCHLIB = $(PERLPREFIX)/lib/perl/5.12 +DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB) +INSTALLSITEARCH = $(SITEPREFIX)/lib/perl/5.12.4 +DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH) +INSTALLVENDORARCH = $(VENDORPREFIX)/lib/perl5 +DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH) +INSTALLBIN = $(PERLPREFIX)/bin +DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN) +INSTALLSITEBIN = $(SITEPREFIX)/bin +DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN) +INSTALLVENDORBIN = $(VENDORPREFIX)/bin +DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN) +INSTALLSCRIPT = $(PERLPREFIX)/bin +DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT) +INSTALLSITESCRIPT = $(SITEPREFIX)/bin +DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT) +INSTALLVENDORSCRIPT = $(VENDORPREFIX)/bin +DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT) +INSTALLMAN1DIR = $(PERLPREFIX)/share/man/man1 +DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR) +INSTALLSITEMAN1DIR = $(SITEPREFIX)/man/man1 +DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR) +INSTALLVENDORMAN1DIR = $(VENDORPREFIX)/share/man/man1 +DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR) +INSTALLMAN3DIR = $(PERLPREFIX)/share/man/man3 +DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR) +INSTALLSITEMAN3DIR = $(SITEPREFIX)/man/man3 +DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR) +INSTALLVENDORMAN3DIR = $(VENDORPREFIX)/share/man/man3 +DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR) +PERL_LIB = /usr/share/perl/5.12 +PERL_ARCHLIB = /usr/lib/perl/5.12 +LIBPERL_A = libperl.a +FIRST_MAKEFILE = Makefile +MAKEFILE_OLD = Makefile.old +MAKE_APERL_FILE = Makefile.aperl +PERLMAINCC = $(CC) +PERL_INC = /usr/lib/perl/5.12/CORE +PERL = /usr/bin/perl +FULLPERL = /usr/bin/perl +ABSPERL = $(PERL) +PERLRUN = $(PERL) +FULLPERLRUN = $(FULLPERL) +ABSPERLRUN = $(ABSPERL) +PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" +FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" +ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" +PERL_CORE = 0 +PERM_DIR = 755 +PERM_RW = 644 +PERM_RWX = 755 + +MAKEMAKER = /usr/share/perl/5.12/ExtUtils/MakeMaker.pm +MM_VERSION = 6.56 +MM_REVISION = 65600 + +# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). +# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle) +# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar) +# DLBASE = Basename part of dynamic library. May be just equal BASEEXT. +MAKE = make +FULLEXT = CRFPP +BASEEXT = CRFPP +PARENT_NAME = +DLBASE = $(BASEEXT) +VERSION_FROM = +INC = +OBJECT = CRFPP_wrap$(OBJ_EXT) +LDFROM = $(OBJECT) +LINKTYPE = dynamic +BOOTDEP = + +# Handy lists of source code files: +XS_FILES = +C_FILES = CRFPP_wrap.cxx +O_FILES = CRFPP_wrap.o +H_FILES = +MAN1PODS = +MAN3PODS = + +# Where is the Config information that we are using/depend on +CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h + +# Where to build things +INST_LIBDIR = $(INST_LIB) +INST_ARCHLIBDIR = $(INST_ARCHLIB) + +INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT) +INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT) + +INST_STATIC = $(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT) +INST_DYNAMIC = $(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT) +INST_BOOT = $(INST_ARCHAUTODIR)/$(BASEEXT).bs + +# Extra linker info +EXPORT_LIST = +PERL_ARCHIVE = +PERL_ARCHIVE_AFTER = + + +TO_INST_PM = CRFPP.pm + +PM_TO_BLIB = CRFPP.pm \ + $(INST_LIB)/CRFPP.pm + + +# --- MakeMaker platform_constants section: +MM_Unix_VERSION = 6.56 +PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc + + +# --- MakeMaker tool_autosplit section: +# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto +AUTOSPLITFILE = $(ABSPERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1)' -- + + + +# --- MakeMaker tool_xsubpp section: + +XSUBPPDIR = /usr/share/perl/5.12/ExtUtils +XSUBPP = $(XSUBPPDIR)$(DFSEP)xsubpp +XSUBPPRUN = $(PERLRUN) $(XSUBPP) +XSPROTOARG = +XSUBPPDEPS = /usr/share/perl/5.12/ExtUtils/typemap $(XSUBPP) +XSUBPPARGS = -typemap /usr/share/perl/5.12/ExtUtils/typemap +XSUBPP_EXTRA_ARGS = + + +# --- MakeMaker tools_other section: +SHELL = /bin/sh +CHMOD = chmod +CP = cp +MV = mv +NOOP = $(TRUE) +NOECHO = @ +RM_F = rm -f +RM_RF = rm -rf +TEST_F = test -f +TOUCH = touch +UMASK_NULL = umask 0 +DEV_NULL = > /dev/null 2>&1 +MKPATH = $(ABSPERLRUN) -MExtUtils::Command -e 'mkpath' -- +EQUALIZE_TIMESTAMP = $(ABSPERLRUN) -MExtUtils::Command -e 'eqtime' -- +FALSE = false +TRUE = true +ECHO = echo +ECHO_N = echo -n +UNINST = 0 +VERBINST = 0 +MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => {@ARGV}, verbose => '\''$(VERBINST)'\'', uninstall_shadows => '\''$(UNINST)'\'', dir_mode => '\''$(PERM_DIR)'\'' ]);' -- +DOC_INSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'perllocal_install' -- +UNINSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'uninstall' -- +WARN_IF_OLD_PACKLIST = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'warn_if_old_packlist' -- +MACROSTART = +MACROEND = +USEMAKEFILE = -f +FIXIN = $(ABSPERLRUN) -MExtUtils::MY -e 'MY->fixin(shift)' -- + + +# --- MakeMaker makemakerdflt section: +makemakerdflt : all + $(NOECHO) $(NOOP) + + +# --- MakeMaker dist section: +TAR = tar +TARFLAGS = cvf +ZIP = zip +ZIPFLAGS = -r +COMPRESS = gzip --best +SUFFIX = .gz +SHAR = shar +PREOP = $(NOECHO) $(NOOP) +POSTOP = $(NOECHO) $(NOOP) +TO_UNIX = $(NOECHO) $(NOOP) +CI = ci -u +RCS_LABEL = rcs -Nv$(VERSION_SYM): -q +DIST_CP = best +DIST_DEFAULT = tardist +DISTNAME = CRFPP +DISTVNAME = CRFPP- + + +# --- MakeMaker macro section: + + +# --- MakeMaker depend section: + + +# --- MakeMaker cflags section: + +CCFLAGS = -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +OPTIMIZE = -O2 -g +PERLTYPE = +MPOLLUTE = + + +# --- MakeMaker const_loadlibs section: + +# CRFPP might depend on some other libraries: +# See ExtUtils::Liblist for details +# +EXTRALIBS = -lcrfpp +LDLOADLIBS = -lpthread -lcrfpp +BSLOADLIBS = + + +# --- MakeMaker const_cccmd section: +CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ + $(CCFLAGS) $(OPTIMIZE) \ + $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ + $(XS_DEFINE_VERSION) + +# --- MakeMaker post_constants section: + + +# --- MakeMaker pasthru section: + +PASTHRU = LIBPERL_A="$(LIBPERL_A)"\ + LINKTYPE="$(LINKTYPE)"\ + OPTIMIZE="$(OPTIMIZE)"\ + PREFIX="$(PREFIX)"\ + PASTHRU_INC="$(PASTHRU_INC)" + + +# --- MakeMaker special_targets section: +.SUFFIXES : .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT) + +.PHONY: all config static dynamic test linkext manifest blibdirs clean realclean disttest distdir + + + +# --- MakeMaker c_o section: + +.c.i: + cc -E -c $(PASTHRU_INC) $(INC) \ + $(CCFLAGS) $(OPTIMIZE) \ + $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ + $(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c > $*.i + +.c.s: + $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c + +.c$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c + +.cpp$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cpp + +.cxx$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cxx + +.cc$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cc + +.C$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.C + + +# --- MakeMaker xs_c section: + +.xs.c: + $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_ARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c + + +# --- MakeMaker xs_o section: + +.xs$(OBJ_EXT): + $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c + + +# --- MakeMaker top_targets section: +all :: pure_all manifypods + $(NOECHO) $(NOOP) + + +pure_all :: config pm_to_blib subdirs linkext + $(NOECHO) $(NOOP) + +subdirs :: $(MYEXTLIB) + $(NOECHO) $(NOOP) + +config :: $(FIRST_MAKEFILE) blibdirs + $(NOECHO) $(NOOP) + +help : + perldoc ExtUtils::MakeMaker + + +# --- MakeMaker blibdirs section: +blibdirs : $(INST_LIBDIR)$(DFSEP).exists $(INST_ARCHLIB)$(DFSEP).exists $(INST_AUTODIR)$(DFSEP).exists $(INST_ARCHAUTODIR)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists $(INST_SCRIPT)$(DFSEP).exists $(INST_MAN1DIR)$(DFSEP).exists $(INST_MAN3DIR)$(DFSEP).exists + $(NOECHO) $(NOOP) + +# Backwards compat with 6.18 through 6.25 +blibdirs.ts : blibdirs + $(NOECHO) $(NOOP) + +$(INST_LIBDIR)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_LIBDIR) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_LIBDIR) + $(NOECHO) $(TOUCH) $(INST_LIBDIR)$(DFSEP).exists + +$(INST_ARCHLIB)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_ARCHLIB) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHLIB) + $(NOECHO) $(TOUCH) $(INST_ARCHLIB)$(DFSEP).exists + +$(INST_AUTODIR)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_AUTODIR) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_AUTODIR) + $(NOECHO) $(TOUCH) $(INST_AUTODIR)$(DFSEP).exists + +$(INST_ARCHAUTODIR)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHAUTODIR) + $(NOECHO) $(TOUCH) $(INST_ARCHAUTODIR)$(DFSEP).exists + +$(INST_BIN)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_BIN) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_BIN) + $(NOECHO) $(TOUCH) $(INST_BIN)$(DFSEP).exists + +$(INST_SCRIPT)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_SCRIPT) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_SCRIPT) + $(NOECHO) $(TOUCH) $(INST_SCRIPT)$(DFSEP).exists + +$(INST_MAN1DIR)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_MAN1DIR) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN1DIR) + $(NOECHO) $(TOUCH) $(INST_MAN1DIR)$(DFSEP).exists + +$(INST_MAN3DIR)$(DFSEP).exists :: Makefile.PL + $(NOECHO) $(MKPATH) $(INST_MAN3DIR) + $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN3DIR) + $(NOECHO) $(TOUCH) $(INST_MAN3DIR)$(DFSEP).exists + + + +# --- MakeMaker linkext section: + +linkext :: $(LINKTYPE) + $(NOECHO) $(NOOP) + + +# --- MakeMaker dlsyms section: + + +# --- MakeMaker dynamic section: + +dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT) + $(NOECHO) $(NOOP) + + +# --- MakeMaker dynamic_bs section: +BOOTSTRAP = $(BASEEXT).bs + +# As Mkbootstrap might not write a file (if none is required) +# we use touch to prevent make continually trying to remake it. +# The DynaLoader only reads a non-empty file. +$(BOOTSTRAP) : $(FIRST_MAKEFILE) $(BOOTDEP) $(INST_ARCHAUTODIR)$(DFSEP).exists + $(NOECHO) $(ECHO) "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))" + $(NOECHO) $(PERLRUN) \ + "-MExtUtils::Mkbootstrap" \ + -e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');" + $(NOECHO) $(TOUCH) $@ + $(CHMOD) $(PERM_RW) $@ + +$(INST_BOOT) : $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists + $(NOECHO) $(RM_RF) $@ + - $(CP) $(BOOTSTRAP) $@ + $(CHMOD) $(PERM_RW) $@ + + +# --- MakeMaker dynamic_lib section: + +# This section creates the dynamically loadable $(INST_DYNAMIC) +# from $(OBJECT) and possibly $(MYEXTLIB). +ARMAYBE = : +OTHERLDFLAGS = +INST_DYNAMIC_DEP = +INST_DYNAMIC_FIX = + +$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) + $(RM_F) $@ + $(LD) $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) \ + $(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST) \ + $(INST_DYNAMIC_FIX) + $(CHMOD) $(PERM_RWX) $@ + + +# --- MakeMaker static section: + +## $(INST_PM) has been moved to the all: target. +## It remains here for awhile to allow for old usage: "make static" +static :: $(FIRST_MAKEFILE) $(INST_STATIC) + $(NOECHO) $(NOOP) + + +# --- MakeMaker static_lib section: + +$(INST_STATIC) : $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)$(DFSEP).exists + $(RM_RF) $@ + $(FULL_AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@ + $(CHMOD) $(PERM_RWX) $@ + $(NOECHO) $(ECHO) "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld + + +# --- MakeMaker manifypods section: + +POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--" +POD2MAN = $(POD2MAN_EXE) + + +manifypods : pure_all + $(NOECHO) $(NOOP) + + + + +# --- MakeMaker processPL section: + + +# --- MakeMaker installbin section: + + +# --- MakeMaker subdirs section: + +# none + +# --- MakeMaker clean_subdirs section: +clean_subdirs : + $(NOECHO) $(NOOP) + + +# --- MakeMaker clean section: + +# Delete temporary files but do not touch installed files. We don't delete +# the Makefile here so a later make realclean still has a makefile to use. + +clean :: clean_subdirs + - $(RM_F) \ + *$(LIB_EXT) core \ + core.[0-9] $(INST_ARCHAUTODIR)/extralibs.all \ + core.[0-9][0-9] $(BASEEXT).bso \ + pm_to_blib.ts core.[0-9][0-9][0-9][0-9] \ + $(BASEEXT).x $(BOOTSTRAP) \ + perl$(EXE_EXT) tmon.out \ + *$(OBJ_EXT) pm_to_blib \ + $(INST_ARCHAUTODIR)/extralibs.ld blibdirs.ts \ + core.[0-9][0-9][0-9][0-9][0-9] *perl.core \ + core.*perl.*.? $(MAKE_APERL_FILE) \ + perl $(BASEEXT).def \ + core.[0-9][0-9][0-9] mon.out \ + lib$(BASEEXT).def perlmain.c \ + perl.exe so_locations \ + $(BASEEXT).exp + - $(RM_RF) \ + blib + - $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL) + + +# --- MakeMaker realclean_subdirs section: +realclean_subdirs : + $(NOECHO) $(NOOP) + + +# --- MakeMaker realclean section: +# Delete temporary files (via clean) and also delete dist files +realclean purge :: clean realclean_subdirs + - $(RM_F) \ + $(OBJECT) $(MAKEFILE_OLD) \ + $(FIRST_MAKEFILE) + - $(RM_RF) \ + $(DISTVNAME) + + +# --- MakeMaker metafile section: +metafile : create_distdir + $(NOECHO) $(ECHO) Generating META.yml + $(NOECHO) $(ECHO) '--- #YAML:1.0' > META_new.yml + $(NOECHO) $(ECHO) 'name: CRFPP' >> META_new.yml + $(NOECHO) $(ECHO) 'version: ' >> META_new.yml + $(NOECHO) $(ECHO) 'abstract: ~' >> META_new.yml + $(NOECHO) $(ECHO) 'author: []' >> META_new.yml + $(NOECHO) $(ECHO) 'license: unknown' >> META_new.yml + $(NOECHO) $(ECHO) 'distribution_type: module' >> META_new.yml + $(NOECHO) $(ECHO) 'configure_requires:' >> META_new.yml + $(NOECHO) $(ECHO) ' ExtUtils::MakeMaker: 0' >> META_new.yml + $(NOECHO) $(ECHO) 'build_requires:' >> META_new.yml + $(NOECHO) $(ECHO) ' ExtUtils::MakeMaker: 0' >> META_new.yml + $(NOECHO) $(ECHO) 'requires: {}' >> META_new.yml + $(NOECHO) $(ECHO) 'no_index:' >> META_new.yml + $(NOECHO) $(ECHO) ' directory:' >> META_new.yml + $(NOECHO) $(ECHO) ' - t' >> META_new.yml + $(NOECHO) $(ECHO) ' - inc' >> META_new.yml + $(NOECHO) $(ECHO) 'generated_by: ExtUtils::MakeMaker version 6.56' >> META_new.yml + $(NOECHO) $(ECHO) 'meta-spec:' >> META_new.yml + $(NOECHO) $(ECHO) ' url: http://module-build.sourceforge.net/META-spec-v1.4.html' >> META_new.yml + $(NOECHO) $(ECHO) ' version: 1.4' >> META_new.yml + -$(NOECHO) $(MV) META_new.yml $(DISTVNAME)/META.yml + + +# --- MakeMaker signature section: +signature : + cpansign -s + + +# --- MakeMaker dist_basics section: +distclean :: realclean distcheck + $(NOECHO) $(NOOP) + +distcheck : + $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck + +skipcheck : + $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck + +manifest : + $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest + +veryclean : realclean + $(RM_F) *~ */*~ *.orig */*.orig *.bak */*.bak *.old */*.old + + + +# --- MakeMaker dist_core section: + +dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE) + $(NOECHO) $(ABSPERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \ + -e ' if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';' -- + +tardist : $(DISTVNAME).tar$(SUFFIX) + $(NOECHO) $(NOOP) + +uutardist : $(DISTVNAME).tar$(SUFFIX) + uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu + +$(DISTVNAME).tar$(SUFFIX) : distdir + $(PREOP) + $(TO_UNIX) + $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME) + $(RM_RF) $(DISTVNAME) + $(COMPRESS) $(DISTVNAME).tar + $(POSTOP) + +zipdist : $(DISTVNAME).zip + $(NOECHO) $(NOOP) + +$(DISTVNAME).zip : distdir + $(PREOP) + $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME) + $(RM_RF) $(DISTVNAME) + $(POSTOP) + +shdist : distdir + $(PREOP) + $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar + $(RM_RF) $(DISTVNAME) + $(POSTOP) + + +# --- MakeMaker distdir section: +create_distdir : + $(RM_RF) $(DISTVNAME) + $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \ + -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');" + +distdir : create_distdir distmeta + $(NOECHO) $(NOOP) + + + +# --- MakeMaker dist_test section: +disttest : distdir + cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL + cd $(DISTVNAME) && $(MAKE) $(PASTHRU) + cd $(DISTVNAME) && $(MAKE) test $(PASTHRU) + + + +# --- MakeMaker dist_ci section: + +ci : + $(PERLRUN) "-MExtUtils::Manifest=maniread" \ + -e "@all = keys %{ maniread() };" \ + -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \ + -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});" + + +# --- MakeMaker distmeta section: +distmeta : create_distdir metafile + $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } ' \ + -e ' or print "Could not add META.yml to MANIFEST: $${'\''@'\''}\n"' -- + + + +# --- MakeMaker distsignature section: +distsignature : create_distdir + $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) } ' \ + -e ' or print "Could not add SIGNATURE to MANIFEST: $${'\''@'\''}\n"' -- + $(NOECHO) cd $(DISTVNAME) && $(TOUCH) SIGNATURE + cd $(DISTVNAME) && cpansign -s + + + +# --- MakeMaker install section: + +install :: pure_install doc_install + $(NOECHO) $(NOOP) + +install_perl :: pure_perl_install doc_perl_install + $(NOECHO) $(NOOP) + +install_site :: pure_site_install doc_site_install + $(NOECHO) $(NOOP) + +install_vendor :: pure_vendor_install doc_vendor_install + $(NOECHO) $(NOOP) + +pure_install :: pure_$(INSTALLDIRS)_install + $(NOECHO) $(NOOP) + +doc_install :: doc_$(INSTALLDIRS)_install + $(NOECHO) $(NOOP) + +pure__install : pure_site_install + $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site + +doc__install : doc_site_install + $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site + +pure_perl_install :: all + $(NOECHO) umask 022; $(MOD_INSTALL) \ + $(INST_LIB) $(DESTINSTALLPRIVLIB) \ + $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \ + $(INST_BIN) $(DESTINSTALLBIN) \ + $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \ + $(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \ + $(INST_MAN3DIR) $(DESTINSTALLMAN3DIR) + $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ + $(SITEARCHEXP)/auto/$(FULLEXT) + + +pure_site_install :: all + $(NOECHO) umask 02; $(MOD_INSTALL) \ + read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \ + write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \ + $(INST_LIB) $(DESTINSTALLSITELIB) \ + $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \ + $(INST_BIN) $(DESTINSTALLSITEBIN) \ + $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \ + $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \ + $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR) + $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ + $(PERL_ARCHLIB)/auto/$(FULLEXT) + +pure_vendor_install :: all + $(NOECHO) umask 022; $(MOD_INSTALL) \ + $(INST_LIB) $(DESTINSTALLVENDORLIB) \ + $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \ + $(INST_BIN) $(DESTINSTALLVENDORBIN) \ + $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \ + $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \ + $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR) + +doc_perl_install :: all + +doc_site_install :: all + $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod + -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH) + -$(NOECHO) umask 02; $(DOC_INSTALL) \ + "Module" "$(NAME)" \ + "installed into" "$(INSTALLSITELIB)" \ + LINKTYPE "$(LINKTYPE)" \ + VERSION "$(VERSION)" \ + EXE_FILES "$(EXE_FILES)" \ + >> $(DESTINSTALLSITEARCH)/perllocal.pod + +doc_vendor_install :: all + + +uninstall :: uninstall_from_$(INSTALLDIRS)dirs + $(NOECHO) $(NOOP) + +uninstall_from_perldirs :: + +uninstall_from_sitedirs :: + $(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist + +uninstall_from_vendordirs :: + + + +# --- MakeMaker force section: +# Phony target to force checking subdirectories. +FORCE : + $(NOECHO) $(NOOP) + + +# --- MakeMaker perldepend section: + +PERL_HDRS = \ + $(PERL_INC)/EXTERN.h \ + $(PERL_INC)/INTERN.h \ + $(PERL_INC)/XSUB.h \ + $(PERL_INC)/av.h \ + $(PERL_INC)/cc_runtime.h \ + $(PERL_INC)/config.h \ + $(PERL_INC)/cop.h \ + $(PERL_INC)/cv.h \ + $(PERL_INC)/dosish.h \ + $(PERL_INC)/embed.h \ + $(PERL_INC)/embedvar.h \ + $(PERL_INC)/fakethr.h \ + $(PERL_INC)/form.h \ + $(PERL_INC)/gv.h \ + $(PERL_INC)/handy.h \ + $(PERL_INC)/hv.h \ + $(PERL_INC)/intrpvar.h \ + $(PERL_INC)/iperlsys.h \ + $(PERL_INC)/keywords.h \ + $(PERL_INC)/mg.h \ + $(PERL_INC)/nostdio.h \ + $(PERL_INC)/op.h \ + $(PERL_INC)/opcode.h \ + $(PERL_INC)/patchlevel.h \ + $(PERL_INC)/perl.h \ + $(PERL_INC)/perlio.h \ + $(PERL_INC)/perlsdio.h \ + $(PERL_INC)/perlsfio.h \ + $(PERL_INC)/perlvars.h \ + $(PERL_INC)/perly.h \ + $(PERL_INC)/pp.h \ + $(PERL_INC)/pp_proto.h \ + $(PERL_INC)/proto.h \ + $(PERL_INC)/regcomp.h \ + $(PERL_INC)/regexp.h \ + $(PERL_INC)/regnodes.h \ + $(PERL_INC)/scope.h \ + $(PERL_INC)/sv.h \ + $(PERL_INC)/thread.h \ + $(PERL_INC)/unixish.h \ + $(PERL_INC)/util.h + +$(OBJECT) : $(PERL_HDRS) + + +# --- MakeMaker makefile section: + +$(OBJECT) : $(FIRST_MAKEFILE) + +# We take a very conservative approach here, but it's worth it. +# We move Makefile to Makefile.old here to avoid gnu make looping. +$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) + $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?" + $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..." + -$(NOECHO) $(RM_F) $(MAKEFILE_OLD) + -$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) + - $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL) + $(PERLRUN) Makefile.PL + $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <==" + $(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command. <==" + $(FALSE) + + + +# --- MakeMaker staticmake section: + +# --- MakeMaker makeaperl section --- +MAP_TARGET = perl +FULLPERL = /usr/bin/perl + +$(MAP_TARGET) :: static $(MAKE_APERL_FILE) + $(MAKE) $(USEMAKEFILE) $(MAKE_APERL_FILE) $@ + +$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib + $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET) + $(NOECHO) $(PERLRUNINST) \ + Makefile.PL DIR= \ + MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ + MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= + + +# --- MakeMaker test section: + +TEST_VERBOSE=0 +TEST_TYPE=test_$(LINKTYPE) +TEST_FILE = test.pl +TEST_FILES = +TESTDB_SW = -d + +testdb :: testdb_$(LINKTYPE) + +test :: $(TEST_TYPE) subdirs-test + +subdirs-test :: + $(NOECHO) $(NOOP) + + +test_dynamic :: pure_all + PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + +testdb_dynamic :: pure_all + PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + +test_ : test_dynamic + +test_static :: pure_all $(MAP_TARGET) + PERL_DL_NONLAZY=1 ./$(MAP_TARGET) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + +testdb_static :: pure_all $(MAP_TARGET) + PERL_DL_NONLAZY=1 ./$(MAP_TARGET) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + + + +# --- MakeMaker ppd section: +# Creates a PPD (Perl Package Description) for a binary distribution. +ppd : + $(NOECHO) $(ECHO) '' > $(DISTNAME).ppd + $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd + $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd + $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd + $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd + $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd + $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd + $(NOECHO) $(ECHO) '' >> $(DISTNAME).ppd + + +# --- MakeMaker pm_to_blib section: + +pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM) + $(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', q[$(PM_FILTER)], '\''$(PERM_DIR)'\'')' -- \ + CRFPP.pm $(INST_LIB)/CRFPP.pm + $(NOECHO) $(TOUCH) pm_to_blib + + +# --- MakeMaker selfdocument section: + + +# --- MakeMaker postamble section: + + +# End. diff --git a/CRF/perl/README b/CRF/perl/README new file mode 100644 index 0000000000000000000000000000000000000000..58ab1eec09d0ed83cfd516bb899f4d46c8d39784 --- /dev/null +++ b/CRF/perl/README @@ -0,0 +1,12 @@ +CRF++ perl module + +1. Installation + + % perl Makefile.PL + % make + % su + # make install + +2. How to use? + + See 'test.pl' as a sample program diff --git a/CRF/perl/test.pl b/CRF/perl/test.pl new file mode 100644 index 0000000000000000000000000000000000000000..aeca5b914e89027e0f6a5094fee49253fe98353a --- /dev/null +++ b/CRF/perl/test.pl @@ -0,0 +1,72 @@ +#!/usr/bin/perl + +use lib "../src/.libs"; +use lib $ENV{PWD} . "/blib/lib"; +use lib $ENV{PWD} . "/blib/arch"; +use CRFPP; + +print $CRFPP::VERSION, "\n"; + +# -v 3: access deep information like alpha,beta,prob +# -nN: enable nbest output. N should be >= 2 +my $tagger = new CRFPP::Tagger("-m ../model -v 3 -n2"); + +# clear internal context +$tagger->clear(); + +# add context +$tagger->add("Confidence NN"); +$tagger->add("in IN"); +$tagger->add("the DT"); +$tagger->add("pound NN"); +$tagger->add("is VBZ"); +$tagger->add("widely RB"); +$tagger->add("expected VBN"); +$tagger->add("to TO"); +$tagger->add("take VB"); +$tagger->add("another DT"); +$tagger->add("sharp JJ"); +$tagger->add("dive NN"); +$tagger->add("if IN"); +$tagger->add("trade NN"); +$tagger->add("figures NNS"); +$tagger->add("for IN"); +$tagger->add("September NNP"); + +print "column size: " , $tagger->xsize() , "\n"; +print "token size: " , $tagger->size() , "\n"; +print "tag size: " , $tagger->ysize() , "\n"; + +print "tagset information:" , "\n"; +for (my $i = 0; $i < $tagger->ysize(); ++$i) { + print "tag " , $i , " " , $tagger->yname($i) , "\n"; +} + +# parse and change internal stated as 'parsed' +die if (!$tagger->parse()); + +print "conditional prob=" , $tagger->prob(), " log(Z)=" , $tagger->Z() , "\n"; + +for (my $i = 0; $i < $tagger->size(); ++$i) { + for (my $j = 0; $j < $tagger->xsize(); ++$j) { + print $tagger->x($i, $j) , "\t"; + } + print $tagger->y2($i) , "\t"; + print "\n"; + print "Details"; + for (my $j = 0; $j < $tagger->ysize(); ++$j) { + print "\t" , $tagger->yname($j) , "/prob=" , $tagger->prob($i,$j) + ,"/alpha=" , $tagger->alpha($i, $j) + ,"/beta=" , $tagger->beta($i, $j); + } + print "\n"; +} + +print "nbest outputs:" , "\n"; +for (my $n = 0; $n < 10; ++$n) { + last if (! $tagger->next()); + print "nbest n=" , $n , "\tconditional prob=" , $tagger->prob() , "\n"; + # you can access any information using $tagger->y()... +} + +print "Done" , "\n"; diff --git a/CRF/python/CRFPP.py b/CRF/python/CRFPP.py new file mode 100644 index 0000000000000000000000000000000000000000..8ff3bd38cbbc3d6faa38448fd31db91f924ae20b --- /dev/null +++ b/CRF/python/CRFPP.py @@ -0,0 +1,110 @@ +# This file was automatically generated by SWIG (http://www.swig.org). +# Version 1.3.38 +# +# Do not make changes to this file unless you know what you are doing--modify +# the SWIG interface file instead. +# This file is compatible with both classic and new-style classes. + +from sys import version_info +if version_info >= (2,6,0): + def swig_import_helper(): + from os.path import dirname + import imp + try: + fp, pathname, description = imp.find_module('_CRFPP', [dirname(__file__)]) + _mod = imp.load_module('_CRFPP', fp, pathname, description) + finally: + if fp is not None: fp.close() + return _mod + _CRFPP = swig_import_helper() + del swig_import_helper +else: + import _CRFPP +del version_info +try: + _swig_property = property +except NameError: + pass # Python < 2.2 doesn't have 'property'. +def _swig_setattr_nondynamic(self,class_type,name,value,static=1): + if (name == "thisown"): return self.this.own(value) + if (name == "this"): + if type(value).__name__ == 'SwigPyObject': + self.__dict__[name] = value + return + method = class_type.__swig_setmethods__.get(name,None) + if method: return method(self,value) + if (not static) or hasattr(self,name): + self.__dict__[name] = value + else: + raise AttributeError("You cannot add attributes to %s" % self) + +def _swig_setattr(self,class_type,name,value): + return _swig_setattr_nondynamic(self,class_type,name,value,0) + +def _swig_getattr(self,class_type,name): + if (name == "thisown"): return self.this.own() + method = class_type.__swig_getmethods__.get(name,None) + if method: return method(self) + raise AttributeError(name) + +def _swig_repr(self): + try: strthis = "proxy of " + self.this.__repr__() + except: strthis = "" + return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) + +try: + _object = object + _newclass = 1 +except AttributeError: + class _object : pass + _newclass = 0 + + +class Tagger(_object): + __swig_setmethods__ = {} + __setattr__ = lambda self, name, value: _swig_setattr(self, Tagger, name, value) + __swig_getmethods__ = {} + __getattr__ = lambda self, name: _swig_getattr(self, Tagger, name) + __repr__ = _swig_repr + def set_vlevel(self, *args): return _CRFPP.Tagger_set_vlevel(self, *args) + def vlevel(self): return _CRFPP.Tagger_vlevel(self) + def set_cost_factor(self, *args): return _CRFPP.Tagger_set_cost_factor(self, *args) + def cost_factor(self): return _CRFPP.Tagger_cost_factor(self) + def set_nbest(self, *args): return _CRFPP.Tagger_set_nbest(self, *args) + def nbest(self): return _CRFPP.Tagger_nbest(self) + def add(self, *args): return _CRFPP.Tagger_add(self, *args) + def size(self): return _CRFPP.Tagger_size(self) + def xsize(self): return _CRFPP.Tagger_xsize(self) + def dsize(self): return _CRFPP.Tagger_dsize(self) + def result(self, *args): return _CRFPP.Tagger_result(self, *args) + def answer(self, *args): return _CRFPP.Tagger_answer(self, *args) + def y(self, *args): return _CRFPP.Tagger_y(self, *args) + def y2(self, *args): return _CRFPP.Tagger_y2(self, *args) + def yname(self, *args): return _CRFPP.Tagger_yname(self, *args) + def x(self, *args): return _CRFPP.Tagger_x(self, *args) + def ysize(self): return _CRFPP.Tagger_ysize(self) + def prob(self, *args): return _CRFPP.Tagger_prob(self, *args) + def alpha(self, *args): return _CRFPP.Tagger_alpha(self, *args) + def beta(self, *args): return _CRFPP.Tagger_beta(self, *args) + def emission_cost(self, *args): return _CRFPP.Tagger_emission_cost(self, *args) + def next_transition_cost(self, *args): return _CRFPP.Tagger_next_transition_cost(self, *args) + def prev_transition_cost(self, *args): return _CRFPP.Tagger_prev_transition_cost(self, *args) + def best_cost(self, *args): return _CRFPP.Tagger_best_cost(self, *args) + def Z(self): return _CRFPP.Tagger_Z(self) + def empty(self): return _CRFPP.Tagger_empty(self) + def clear(self): return _CRFPP.Tagger_clear(self) + def next(self): return _CRFPP.Tagger_next(self) + def parse(self, *args): return _CRFPP.Tagger_parse(self, *args) + def what(self): return _CRFPP.Tagger_what(self) + __swig_destroy__ = _CRFPP.delete_Tagger + __del__ = lambda self : None; + def __init__(self, *args): + this = _CRFPP.new_Tagger(*args) + try: self.this.append(this) + except: self.this = this +Tagger_swigregister = _CRFPP.Tagger_swigregister +Tagger_swigregister(Tagger) + +VERSION = _CRFPP.VERSION + + diff --git a/CRF/python/CRFPP_wrap.cxx b/CRF/python/CRFPP_wrap.cxx new file mode 100644 index 0000000000000000000000000000000000000000..79b8acda135b04989e7bef0179bc1e0a0ac4789d --- /dev/null +++ b/CRF/python/CRFPP_wrap.cxx @@ -0,0 +1,5246 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGPYTHON +#define SWIG_PYTHON_DIRECTOR_NO_VTABLE + + +#ifdef __cplusplus +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigMovePointer { + T *ptr; + SwigMovePointer(T *p) : ptr(p) { } + ~SwigMovePointer() { delete ptr; } + SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; } + operator T&() const { return *pointer.ptr; } + T *operator&() { return pointer.ptr; } +}; + +template T SwigValueInit() { + return T(); +} +#endif + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Python.h has to appear first */ +#include + +/* ----------------------------------------------------------------------------- + * swigrun.swg + * + * This file contains generic C API SWIG runtime support for pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +/* This should only be incremented when either the layout of swig_type_info changes, + or for whatever reason, the runtime changes incompatibly */ +#define SWIG_RUNTIME_VERSION "4" + +/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ +#ifdef SWIG_TYPE_TABLE +# define SWIG_QUOTE_STRING(x) #x +# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) +# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) +#else +# define SWIG_TYPE_TABLE_NAME +#endif + +/* + You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for + creating a static or dynamic library from the SWIG runtime code. + In 99.9% of the cases, SWIG just needs to declare them as 'static'. + + But only do this if strictly necessary, ie, if you have problems + with your compiler or suchlike. +*/ + +#ifndef SWIGRUNTIME +# define SWIGRUNTIME SWIGINTERN +#endif + +#ifndef SWIGRUNTIMEINLINE +# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE +#endif + +/* Generic buffer size */ +#ifndef SWIG_BUFFER_SIZE +# define SWIG_BUFFER_SIZE 1024 +#endif + +/* Flags for pointer conversions */ +#define SWIG_POINTER_DISOWN 0x1 +#define SWIG_CAST_NEW_MEMORY 0x2 + +/* Flags for new pointer objects */ +#define SWIG_POINTER_OWN 0x1 + + +/* + Flags/methods for returning states. + + The SWIG conversion methods, as ConvertPtr, return and integer + that tells if the conversion was successful or not. And if not, + an error code can be returned (see swigerrors.swg for the codes). + + Use the following macros/flags to set or process the returning + states. + + In old versions of SWIG, code such as the following was usually written: + + if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { + // success code + } else { + //fail code + } + + Now you can be more explicit: + + int res = SWIG_ConvertPtr(obj,vptr,ty.flags); + if (SWIG_IsOK(res)) { + // success code + } else { + // fail code + } + + which is the same really, but now you can also do + + Type *ptr; + int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); + if (SWIG_IsOK(res)) { + // success code + if (SWIG_IsNewObj(res) { + ... + delete *ptr; + } else { + ... + } + } else { + // fail code + } + + I.e., now SWIG_ConvertPtr can return new objects and you can + identify the case and take care of the deallocation. Of course that + also requires SWIG_ConvertPtr to return new result values, such as + + int SWIG_ConvertPtr(obj, ptr,...) { + if () { + if () { + *ptr = ; + return SWIG_NEWOBJ; + } else { + *ptr = ; + return SWIG_OLDOBJ; + } + } else { + return SWIG_BADOBJ; + } + } + + Of course, returning the plain '0(success)/-1(fail)' still works, but you can be + more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the + SWIG errors code. + + Finally, if the SWIG_CASTRANK_MODE is enabled, the result code + allows to return the 'cast rank', for example, if you have this + + int food(double) + int fooi(int); + + and you call + + food(1) // cast rank '1' (1 -> 1.0) + fooi(1) // cast rank '0' + + just use the SWIG_AddCast()/SWIG_CheckState() +*/ + +#define SWIG_OK (0) +#define SWIG_ERROR (-1) +#define SWIG_IsOK(r) (r >= 0) +#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) + +/* The CastRankLimit says how many bits are used for the cast rank */ +#define SWIG_CASTRANKLIMIT (1 << 8) +/* The NewMask denotes the object was created (using new/malloc) */ +#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) +/* The TmpMask is for in/out typemaps that use temporal objects */ +#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) +/* Simple returning values */ +#define SWIG_BADOBJ (SWIG_ERROR) +#define SWIG_OLDOBJ (SWIG_OK) +#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) +#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) +/* Check, add and del mask methods */ +#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) +#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) +#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) +#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) +#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) +#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) + +/* Cast-Rank Mode */ +#if defined(SWIG_CASTRANK_MODE) +# ifndef SWIG_TypeRank +# define SWIG_TypeRank unsigned long +# endif +# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ +# define SWIG_MAXCASTRANK (2) +# endif +# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) +# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) +SWIGINTERNINLINE int SWIG_AddCast(int r) { + return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; +} +SWIGINTERNINLINE int SWIG_CheckState(int r) { + return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; +} +#else /* no cast-rank mode */ +# define SWIG_AddCast +# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) +#endif + + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(*swig_converter_func)(void *, int *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); + +/* Structure to store information on one type */ +typedef struct swig_type_info { + const char *name; /* mangled name of this type */ + const char *str; /* human readable name of this type */ + swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ + struct swig_cast_info *cast; /* linked list of types that can cast into this type */ + void *clientdata; /* language specific type data */ + int owndata; /* flag if the structure owns the clientdata */ +} swig_type_info; + +/* Structure to store a type and conversion function used for casting */ +typedef struct swig_cast_info { + swig_type_info *type; /* pointer to type that is equivalent to this type */ + swig_converter_func converter; /* function to cast the void pointers */ + struct swig_cast_info *next; /* pointer to next cast in linked list */ + struct swig_cast_info *prev; /* pointer to the previous cast */ +} swig_cast_info; + +/* Structure used to store module information + * Each module generates one structure like this, and the runtime collects + * all of these structures and stores them in a circularly linked list.*/ +typedef struct swig_module_info { + swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ + size_t size; /* Number of types in this module */ + struct swig_module_info *next; /* Pointer to next element in circularly linked list */ + swig_type_info **type_initial; /* Array of initially generated type structures */ + swig_cast_info **cast_initial; /* Array of initially generated casting structures */ + void *clientdata; /* Language specific module data */ +} swig_module_info; + +/* + Compare two type names skipping the space characters, therefore + "char*" == "char *" and "Class" == "Class", etc. + + Return 0 when the two name types are equivalent, as in + strncmp, but skipping ' '. +*/ +SWIGRUNTIME int +SWIG_TypeNameComp(const char *f1, const char *l1, + const char *f2, const char *l2) { + for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { + while ((*f1 == ' ') && (f1 != l1)) ++f1; + while ((*f2 == ' ') && (f2 != l2)) ++f2; + if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; + } + return (int)((l1 - f1) - (l2 - f2)); +} + +/* + Check type equivalence in a name list like ||... + Return 0 if not equal, 1 if equal +*/ +SWIGRUNTIME int +SWIG_TypeEquiv(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + +/* + Check type equivalence in a name list like ||... + Return 0 if equal, -1 if nb < tb, 1 if nb > tb +*/ +SWIGRUNTIME int +SWIG_TypeCompare(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + + +/* + Check the typename +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheck(const char *c, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (strcmp(iter->type->name, c) == 0) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (iter->type == from) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Cast a pointer up an inheritance hierarchy +*/ +SWIGRUNTIMEINLINE void * +SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { + return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); +} + +/* + Dynamic pointer casting. Down an inheritance hierarchy +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* + Return the name associated with this type +*/ +SWIGRUNTIMEINLINE const char * +SWIG_TypeName(const swig_type_info *ty) { + return ty->name; +} + +/* + Return the pretty name associated with this type, + that is an unmangled type name in a form presentable to the user. +*/ +SWIGRUNTIME const char * +SWIG_TypePrettyName(const swig_type_info *type) { + /* The "str" field contains the equivalent pretty names of the + type, separated by vertical-bar characters. We choose + to print the last name, as it is often (?) the most + specific. */ + if (!type) return NULL; + if (type->str != NULL) { + const char *last_name = type->str; + const char *s; + for (s = type->str; *s; s++) + if (*s == '|') last_name = s+1; + return last_name; + } + else + return type->name; +} + +/* + Set the clientdata field for a type +*/ +SWIGRUNTIME void +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + swig_cast_info *cast = ti->cast; + /* if (ti->clientdata == clientdata) return; */ + ti->clientdata = clientdata; + + while (cast) { + if (!cast->converter) { + swig_type_info *tc = cast->type; + if (!tc->clientdata) { + SWIG_TypeClientData(tc, clientdata); + } + } + cast = cast->next; + } +} +SWIGRUNTIME void +SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { + SWIG_TypeClientData(ti, clientdata); + ti->owndata = 1; +} + +/* + Search for a swig_type_info structure only by mangled name + Search is a O(log #types) + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_MangledTypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + swig_module_info *iter = start; + do { + if (iter->size) { + register size_t l = 0; + register size_t r = iter->size - 1; + do { + /* since l+r >= 0, we can (>> 1) instead (/ 2) */ + register size_t i = (l + r) >> 1; + const char *iname = iter->types[i]->name; + if (iname) { + register int compare = strcmp(name, iname); + if (compare == 0) { + return iter->types[i]; + } else if (compare < 0) { + if (i) { + r = i - 1; + } else { + break; + } + } else if (compare > 0) { + l = i + 1; + } + } else { + break; /* should never happen */ + } + } while (l <= r); + } + iter = iter->next; + } while (iter != end); + return 0; +} + +/* + Search for a swig_type_info structure for either a mangled name or a human readable name. + It first searches the mangled names of the types, which is a O(log #types) + If a type is not found it then searches the human readable names, which is O(#types). + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + /* STEP 1: Search the name field using binary search */ + swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); + if (ret) { + return ret; + } else { + /* STEP 2: If the type hasn't been found, do a complete search + of the str field (the human readable name) */ + swig_module_info *iter = start; + do { + register size_t i = 0; + for (; i < iter->size; ++i) { + if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) + return iter->types[i]; + } + iter = iter->next; + } while (iter != end); + } + + /* neither found a match */ + return 0; +} + +/* + Pack binary data into a string +*/ +SWIGRUNTIME char * +SWIG_PackData(char *c, void *ptr, size_t sz) { + static const char hex[17] = "0123456789abcdef"; + register const unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register unsigned char uu = *u; + *(c++) = hex[(uu & 0xf0) >> 4]; + *(c++) = hex[uu & 0xf]; + } + return c; +} + +/* + Unpack binary data from a string +*/ +SWIGRUNTIME const char * +SWIG_UnpackData(const char *c, void *ptr, size_t sz) { + register unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register char d = *(c++); + register unsigned char uu; + if ((d >= '0') && (d <= '9')) + uu = ((d - '0') << 4); + else if ((d >= 'a') && (d <= 'f')) + uu = ((d - ('a'-10)) << 4); + else + return (char *) 0; + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu |= (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + uu |= (d - ('a'-10)); + else + return (char *) 0; + *u = uu; + } + return c; +} + +/* + Pack 'void *' into a string buffer. +*/ +SWIGRUNTIME char * +SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { + char *r = buff; + if ((2*sizeof(void *) + 2) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,&ptr,sizeof(void *)); + if (strlen(name) + 1 > (bsz - (r - buff))) return 0; + strcpy(r,name); + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + *ptr = (void *) 0; + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sizeof(void *)); +} + +SWIGRUNTIME char * +SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { + char *r = buff; + size_t lname = (name ? strlen(name) : 0); + if ((2*sz + 2 + lname) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + if (lname) { + strncpy(r,name,lname+1); + } else { + *r = 0; + } + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + memset(ptr,0,sz); + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sz); +} + +#ifdef __cplusplus +} +#endif + +/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + + +/* Compatibility marcos for Python 3 */ +#if PY_VERSION_HEX >= 0x03000000 + +#define PyClass_Check(obj) PyObject_IsInstance(obj, (PyObject *)&PyType_Type) +#define PyInt_Check(x) PyLong_Check(x) +#define PyInt_AsLong(x) PyLong_AsLong(x) +#define PyInt_FromLong(x) PyLong_FromLong(x) +#define PyString_Format(fmt, args) PyUnicode_Format(fmt, args) + +#endif + +#ifndef Py_TYPE +# define Py_TYPE(op) ((op)->ob_type) +#endif + +/* SWIG APIs for compatibility of both Python 2 & 3 */ + +#if PY_VERSION_HEX >= 0x03000000 +# define SWIG_Python_str_FromFormat PyUnicode_FromFormat +#else +# define SWIG_Python_str_FromFormat PyString_FromFormat +#endif + +SWIGINTERN char* +SWIG_Python_str_AsChar(PyObject *str) +{ +#if PY_VERSION_HEX >= 0x03000000 + str = PyUnicode_AsUTF8String(str); + return PyBytes_AsString(str); +#else + return PyString_AsString(str); +#endif +} + +SWIGINTERN PyObject* +SWIG_Python_str_FromChar(const char *c) +{ +#if PY_VERSION_HEX >= 0x03000000 + return PyUnicode_FromString(c); +#else + return PyString_FromString(c); +#endif +} + +/* Add PyOS_snprintf for old Pythons */ +#if PY_VERSION_HEX < 0x02020000 +# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) +# define PyOS_snprintf _snprintf +# else +# define PyOS_snprintf snprintf +# endif +#endif + +/* A crude PyString_FromFormat implementation for old Pythons */ +#if PY_VERSION_HEX < 0x02020000 + +#ifndef SWIG_PYBUFFER_SIZE +# define SWIG_PYBUFFER_SIZE 1024 +#endif + +static PyObject * +PyString_FromFormat(const char *fmt, ...) { + va_list ap; + char buf[SWIG_PYBUFFER_SIZE * 2]; + int res; + va_start(ap, fmt); + res = vsnprintf(buf, sizeof(buf), fmt, ap); + va_end(ap); + return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf); +} +#endif + +/* Add PyObject_Del for old Pythons */ +#if PY_VERSION_HEX < 0x01060000 +# define PyObject_Del(op) PyMem_DEL((op)) +#endif +#ifndef PyObject_DEL +# define PyObject_DEL PyObject_Del +#endif + +/* A crude PyExc_StopIteration exception for old Pythons */ +#if PY_VERSION_HEX < 0x02020000 +# ifndef PyExc_StopIteration +# define PyExc_StopIteration PyExc_RuntimeError +# endif +# ifndef PyObject_GenericGetAttr +# define PyObject_GenericGetAttr 0 +# endif +#endif + +/* Py_NotImplemented is defined in 2.1 and up. */ +#if PY_VERSION_HEX < 0x02010000 +# ifndef Py_NotImplemented +# define Py_NotImplemented PyExc_RuntimeError +# endif +#endif + +/* A crude PyString_AsStringAndSize implementation for old Pythons */ +#if PY_VERSION_HEX < 0x02010000 +# ifndef PyString_AsStringAndSize +# define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} +# endif +#endif + +/* PySequence_Size for old Pythons */ +#if PY_VERSION_HEX < 0x02000000 +# ifndef PySequence_Size +# define PySequence_Size PySequence_Length +# endif +#endif + +/* PyBool_FromLong for old Pythons */ +#if PY_VERSION_HEX < 0x02030000 +static +PyObject *PyBool_FromLong(long ok) +{ + PyObject *result = ok ? Py_True : Py_False; + Py_INCREF(result); + return result; +} +#endif + +/* Py_ssize_t for old Pythons */ +/* This code is as recommended by: */ +/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */ +#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) +typedef int Py_ssize_t; +# define PY_SSIZE_T_MAX INT_MAX +# define PY_SSIZE_T_MIN INT_MIN +#endif + +/* ----------------------------------------------------------------------------- + * error manipulation + * ----------------------------------------------------------------------------- */ + +SWIGRUNTIME PyObject* +SWIG_Python_ErrorType(int code) { + PyObject* type = 0; + switch(code) { + case SWIG_MemoryError: + type = PyExc_MemoryError; + break; + case SWIG_IOError: + type = PyExc_IOError; + break; + case SWIG_RuntimeError: + type = PyExc_RuntimeError; + break; + case SWIG_IndexError: + type = PyExc_IndexError; + break; + case SWIG_TypeError: + type = PyExc_TypeError; + break; + case SWIG_DivisionByZero: + type = PyExc_ZeroDivisionError; + break; + case SWIG_OverflowError: + type = PyExc_OverflowError; + break; + case SWIG_SyntaxError: + type = PyExc_SyntaxError; + break; + case SWIG_ValueError: + type = PyExc_ValueError; + break; + case SWIG_SystemError: + type = PyExc_SystemError; + break; + case SWIG_AttributeError: + type = PyExc_AttributeError; + break; + default: + type = PyExc_RuntimeError; + } + return type; +} + + +SWIGRUNTIME void +SWIG_Python_AddErrorMsg(const char* mesg) +{ + PyObject *type = 0; + PyObject *value = 0; + PyObject *traceback = 0; + + if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback); + if (value) { + PyObject *old_str = PyObject_Str(value); + PyErr_Clear(); + Py_XINCREF(type); + + PyErr_Format(type, "%s %s", SWIG_Python_str_AsChar(old_str), mesg); + Py_DECREF(old_str); + Py_DECREF(value); + } else { + PyErr_SetString(PyExc_RuntimeError, mesg); + } +} + +#if defined(SWIG_PYTHON_NO_THREADS) +# if defined(SWIG_PYTHON_THREADS) +# undef SWIG_PYTHON_THREADS +# endif +#endif +#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */ +# if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL) +# if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */ +# define SWIG_PYTHON_USE_GIL +# endif +# endif +# if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */ +# ifndef SWIG_PYTHON_INITIALIZE_THREADS +# define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads() +# endif +# ifdef __cplusplus /* C++ code */ + class SWIG_Python_Thread_Block { + bool status; + PyGILState_STATE state; + public: + void end() { if (status) { PyGILState_Release(state); status = false;} } + SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {} + ~SWIG_Python_Thread_Block() { end(); } + }; + class SWIG_Python_Thread_Allow { + bool status; + PyThreadState *save; + public: + void end() { if (status) { PyEval_RestoreThread(save); status = false; }} + SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {} + ~SWIG_Python_Thread_Allow() { end(); } + }; +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block +# define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end() +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow +# define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end() +# else /* C code */ +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure() +# define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block) +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread() +# define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow) +# endif +# else /* Old thread way, not implemented, user must provide it */ +# if !defined(SWIG_PYTHON_INITIALIZE_THREADS) +# define SWIG_PYTHON_INITIALIZE_THREADS +# endif +# if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK) +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK +# endif +# if !defined(SWIG_PYTHON_THREAD_END_BLOCK) +# define SWIG_PYTHON_THREAD_END_BLOCK +# endif +# if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW) +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW +# endif +# if !defined(SWIG_PYTHON_THREAD_END_ALLOW) +# define SWIG_PYTHON_THREAD_END_ALLOW +# endif +# endif +#else /* No thread support */ +# define SWIG_PYTHON_INITIALIZE_THREADS +# define SWIG_PYTHON_THREAD_BEGIN_BLOCK +# define SWIG_PYTHON_THREAD_END_BLOCK +# define SWIG_PYTHON_THREAD_BEGIN_ALLOW +# define SWIG_PYTHON_THREAD_END_ALLOW +#endif + +/* ----------------------------------------------------------------------------- + * Python API portion that goes into the runtime + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* cc-mode */ +#endif +#endif + +/* ----------------------------------------------------------------------------- + * Constant declarations + * ----------------------------------------------------------------------------- */ + +/* Constant Types */ +#define SWIG_PY_POINTER 4 +#define SWIG_PY_BINARY 5 + +/* Constant information structure */ +typedef struct swig_const_info { + int type; + char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; +} swig_const_info; + + +/* ----------------------------------------------------------------------------- + * Wrapper of PyInstanceMethod_New() used in Python 3 + * It is exported to the generated module, used for -fastproxy + * ----------------------------------------------------------------------------- */ +SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *self, PyObject *func) +{ +#if PY_VERSION_HEX >= 0x03000000 + return PyInstanceMethod_New(func); +#else + return NULL; +#endif +} + +#ifdef __cplusplus +#if 0 +{ /* cc-mode */ +#endif +} +#endif + + +/* ----------------------------------------------------------------------------- + * See the LICENSE file for information on copyright, usage and redistribution + * of SWIG, and the README file for authors - http://www.swig.org/release.html. + * + * pyrun.swg + * + * This file contains the runtime support for Python modules + * and includes code for managing global variables and pointer + * type checking. + * + * ----------------------------------------------------------------------------- */ + +/* Common SWIG API */ + +/* for raw pointers */ +#define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) +#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags) +#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own) +#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(ptr, type, flags) +#define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty) +#define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src) +#define swig_owntype int + +/* for raw packed data */ +#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) +#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) + +/* for class or struct pointers */ +#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) +#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) + +/* for C or C++ function pointers */ +#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type) +#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(ptr, type, 0) + +/* for C++ member pointers, ie, member methods */ +#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) +#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) + + +/* Runtime API */ + +#define SWIG_GetModule(clientdata) SWIG_Python_GetModule() +#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer) +#define SWIG_NewClientData(obj) SwigPyClientData_New(obj) + +#define SWIG_SetErrorObj SWIG_Python_SetErrorObj +#define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg +#define SWIG_ErrorType(code) SWIG_Python_ErrorType(code) +#define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) +#define SWIG_fail goto fail + + +/* Runtime API implementation */ + +/* Error manipulation */ + +SWIGINTERN void +SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + PyErr_SetObject(errtype, obj); + Py_DECREF(obj); + SWIG_PYTHON_THREAD_END_BLOCK; +} + +SWIGINTERN void +SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) { + SWIG_PYTHON_THREAD_BEGIN_BLOCK; + PyErr_SetString(errtype, (char *) msg); + SWIG_PYTHON_THREAD_END_BLOCK; +} + +#define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj) + +/* Set a constant value */ + +SWIGINTERN void +SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) { + PyDict_SetItemString(d, (char*) name, obj); + Py_DECREF(obj); +} + +/* Append a value to the result obj */ + +SWIGINTERN PyObject* +SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) { +#if !defined(SWIG_PYTHON_OUTPUT_TUPLE) + if (!result) { + result = obj; + } else if (result == Py_None) { + Py_DECREF(result); + result = obj; + } else { + if (!PyList_Check(result)) { + PyObject *o2 = result; + result = PyList_New(1); + PyList_SetItem(result, 0, o2); + } + PyList_Append(result,obj); + Py_DECREF(obj); + } + return result; +#else + PyObject* o2; + PyObject* o3; + if (!result) { + result = obj; + } else if (result == Py_None) { + Py_DECREF(result); + result = obj; + } else { + if (!PyTuple_Check(result)) { + o2 = result; + result = PyTuple_New(1); + PyTuple_SET_ITEM(result, 0, o2); + } + o3 = PyTuple_New(1); + PyTuple_SET_ITEM(o3, 0, obj); + o2 = result; + result = PySequence_Concat(o2, o3); + Py_DECREF(o2); + Py_DECREF(o3); + } + return result; +#endif +} + +/* Unpack the argument tuple */ + +SWIGINTERN int +SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs) +{ + if (!args) { + if (!min && !max) { + return 1; + } else { + PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", + name, (min == max ? "" : "at least "), (int)min); + return 0; + } + } + if (!PyTuple_Check(args)) { + PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); + return 0; + } else { + register Py_ssize_t l = PyTuple_GET_SIZE(args); + if (l < min) { + PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", + name, (min == max ? "" : "at least "), (int)min, (int)l); + return 0; + } else if (l > max) { + PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", + name, (min == max ? "" : "at most "), (int)max, (int)l); + return 0; + } else { + register int i; + for (i = 0; i < l; ++i) { + objs[i] = PyTuple_GET_ITEM(args, i); + } + for (; l < max; ++l) { + objs[l] = 0; + } + return i + 1; + } + } +} + +/* A functor is a function object with one single object argument */ +#if PY_VERSION_HEX >= 0x02020000 +#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL); +#else +#define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj); +#endif + +/* + Helper for static pointer initialization for both C and C++ code, for example + static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...); +*/ +#ifdef __cplusplus +#define SWIG_STATIC_POINTER(var) var +#else +#define SWIG_STATIC_POINTER(var) var = 0; if (!var) var +#endif + +/* ----------------------------------------------------------------------------- + * Pointer declarations + * ----------------------------------------------------------------------------- */ + +/* Flags for new pointer objects */ +#define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1) +#define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN) + +#define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1) + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* cc-mode */ +#endif +#endif + +/* How to access Py_None */ +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# ifndef SWIG_PYTHON_NO_BUILD_NONE +# ifndef SWIG_PYTHON_BUILD_NONE +# define SWIG_PYTHON_BUILD_NONE +# endif +# endif +#endif + +#ifdef SWIG_PYTHON_BUILD_NONE +# ifdef Py_None +# undef Py_None +# define Py_None SWIG_Py_None() +# endif +SWIGRUNTIMEINLINE PyObject * +_SWIG_Py_None(void) +{ + PyObject *none = Py_BuildValue((char*)""); + Py_DECREF(none); + return none; +} +SWIGRUNTIME PyObject * +SWIG_Py_None(void) +{ + static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None(); + return none; +} +#endif + +/* The python void return value */ + +SWIGRUNTIMEINLINE PyObject * +SWIG_Py_Void(void) +{ + PyObject *none = Py_None; + Py_INCREF(none); + return none; +} + +/* SwigPyClientData */ + +typedef struct { + PyObject *klass; + PyObject *newraw; + PyObject *newargs; + PyObject *destroy; + int delargs; + int implicitconv; +} SwigPyClientData; + +SWIGRUNTIMEINLINE int +SWIG_Python_CheckImplicit(swig_type_info *ty) +{ + SwigPyClientData *data = (SwigPyClientData *)ty->clientdata; + return data ? data->implicitconv : 0; +} + +SWIGRUNTIMEINLINE PyObject * +SWIG_Python_ExceptionType(swig_type_info *desc) { + SwigPyClientData *data = desc ? (SwigPyClientData *) desc->clientdata : 0; + PyObject *klass = data ? data->klass : 0; + return (klass ? klass : PyExc_RuntimeError); +} + + +SWIGRUNTIME SwigPyClientData * +SwigPyClientData_New(PyObject* obj) +{ + if (!obj) { + return 0; + } else { + SwigPyClientData *data = (SwigPyClientData *)malloc(sizeof(SwigPyClientData)); + /* the klass element */ + data->klass = obj; + Py_INCREF(data->klass); + /* the newraw method and newargs arguments used to create a new raw instance */ + if (PyClass_Check(obj)) { + data->newraw = 0; + data->newargs = obj; + Py_INCREF(obj); + } else { +#if (PY_VERSION_HEX < 0x02020000) + data->newraw = 0; +#else + data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__"); +#endif + if (data->newraw) { + Py_INCREF(data->newraw); + data->newargs = PyTuple_New(1); + PyTuple_SetItem(data->newargs, 0, obj); + } else { + data->newargs = obj; + } + Py_INCREF(data->newargs); + } + /* the destroy method, aka as the C++ delete method */ + data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__"); + if (PyErr_Occurred()) { + PyErr_Clear(); + data->destroy = 0; + } + if (data->destroy) { + int flags; + Py_INCREF(data->destroy); + flags = PyCFunction_GET_FLAGS(data->destroy); +#ifdef METH_O + data->delargs = !(flags & (METH_O)); +#else + data->delargs = 0; +#endif + } else { + data->delargs = 0; + } + data->implicitconv = 0; + return data; + } +} + +SWIGRUNTIME void +SwigPyClientData_Del(SwigPyClientData* data) +{ + Py_XDECREF(data->newraw); + Py_XDECREF(data->newargs); + Py_XDECREF(data->destroy); +} + +/* =============== SwigPyObject =====================*/ + +typedef struct { + PyObject_HEAD + void *ptr; + swig_type_info *ty; + int own; + PyObject *next; +} SwigPyObject; + +SWIGRUNTIME PyObject * +SwigPyObject_long(SwigPyObject *v) +{ + return PyLong_FromVoidPtr(v->ptr); +} + +SWIGRUNTIME PyObject * +SwigPyObject_format(const char* fmt, SwigPyObject *v) +{ + PyObject *res = NULL; + PyObject *args = PyTuple_New(1); + if (args) { + if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) { + PyObject *ofmt = SWIG_Python_str_FromChar(fmt); + if (ofmt) { +#if PY_VERSION_HEX >= 0x03000000 + res = PyUnicode_Format(ofmt,args); +#else + res = PyString_Format(ofmt,args); +#endif + Py_DECREF(ofmt); + } + Py_DECREF(args); + } + } + return res; +} + +SWIGRUNTIME PyObject * +SwigPyObject_oct(SwigPyObject *v) +{ + return SwigPyObject_format("%o",v); +} + +SWIGRUNTIME PyObject * +SwigPyObject_hex(SwigPyObject *v) +{ + return SwigPyObject_format("%x",v); +} + +SWIGRUNTIME PyObject * +#ifdef METH_NOARGS +SwigPyObject_repr(SwigPyObject *v) +#else +SwigPyObject_repr(SwigPyObject *v, PyObject *args) +#endif +{ + const char *name = SWIG_TypePrettyName(v->ty); + PyObject *hex = SwigPyObject_hex(v); + PyObject *repr = SWIG_Python_str_FromFormat("", name, hex); + Py_DECREF(hex); + if (v->next) { +#ifdef METH_NOARGS + PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next); +#else + PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next, args); +#endif +#if PY_VERSION_HEX >= 0x03000000 + PyObject *joined = PyUnicode_Concat(repr, nrep); + Py_DecRef(repr); + Py_DecRef(nrep); + repr = joined; +#else + PyString_ConcatAndDel(&repr,nrep); +#endif + } + return repr; +} + +SWIGRUNTIME int +SwigPyObject_print(SwigPyObject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) +{ +#ifdef METH_NOARGS + PyObject *repr = SwigPyObject_repr(v); +#else + PyObject *repr = SwigPyObject_repr(v, NULL); +#endif + if (repr) { + fputs(SWIG_Python_str_AsChar(repr), fp); + Py_DECREF(repr); + return 0; + } else { + return 1; + } +} + +SWIGRUNTIME PyObject * +SwigPyObject_str(SwigPyObject *v) +{ + char result[SWIG_BUFFER_SIZE]; + return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ? + SWIG_Python_str_FromChar(result) : 0; +} + +SWIGRUNTIME int +SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w) +{ + void *i = v->ptr; + void *j = w->ptr; + return (i < j) ? -1 : ((i > j) ? 1 : 0); +} + +/* Added for Python 3.x, whould it also useful for Python 2.x? */ +SWIGRUNTIME PyObject* +SwigPyObject_richcompare(SwigPyObject *v, SwigPyObject *w, int op) +{ + PyObject* res; + if( op != Py_EQ && op != Py_NE ) { + Py_INCREF(Py_NotImplemented); + return Py_NotImplemented; + } + if( (SwigPyObject_compare(v, w)==0) == (op == Py_EQ) ) + res = Py_True; + else + res = Py_False; + Py_INCREF(res); + return res; +} + + +SWIGRUNTIME PyTypeObject* _PySwigObject_type(void); + +SWIGRUNTIME PyTypeObject* +SwigPyObject_type(void) { + static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type(); + return type; +} + +SWIGRUNTIMEINLINE int +SwigPyObject_Check(PyObject *op) { + return (Py_TYPE(op) == SwigPyObject_type()) + || (strcmp(Py_TYPE(op)->tp_name,"SwigPyObject") == 0); +} + +SWIGRUNTIME PyObject * +SwigPyObject_New(void *ptr, swig_type_info *ty, int own); + +SWIGRUNTIME void +SwigPyObject_dealloc(PyObject *v) +{ + SwigPyObject *sobj = (SwigPyObject *) v; + PyObject *next = sobj->next; + if (sobj->own == SWIG_POINTER_OWN) { + swig_type_info *ty = sobj->ty; + SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0; + PyObject *destroy = data ? data->destroy : 0; + if (destroy) { + /* destroy is always a VARARGS method */ + PyObject *res; + if (data->delargs) { + /* we need to create a temporal object to carry the destroy operation */ + PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0); + res = SWIG_Python_CallFunctor(destroy, tmp); + Py_DECREF(tmp); + } else { + PyCFunction meth = PyCFunction_GET_FUNCTION(destroy); + PyObject *mself = PyCFunction_GET_SELF(destroy); + res = ((*meth)(mself, v)); + } + Py_XDECREF(res); + } +#if !defined(SWIG_PYTHON_SILENT_MEMLEAK) + else { + const char *name = SWIG_TypePrettyName(ty); + printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown")); + } +#endif + } + Py_XDECREF(next); + PyObject_DEL(v); +} + +SWIGRUNTIME PyObject* +SwigPyObject_append(PyObject* v, PyObject* next) +{ + SwigPyObject *sobj = (SwigPyObject *) v; +#ifndef METH_O + PyObject *tmp = 0; + if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL; + next = tmp; +#endif + if (!SwigPyObject_Check(next)) { + return NULL; + } + sobj->next = next; + Py_INCREF(next); + return SWIG_Py_Void(); +} + +SWIGRUNTIME PyObject* +#ifdef METH_NOARGS +SwigPyObject_next(PyObject* v) +#else +SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) +#endif +{ + SwigPyObject *sobj = (SwigPyObject *) v; + if (sobj->next) { + Py_INCREF(sobj->next); + return sobj->next; + } else { + return SWIG_Py_Void(); + } +} + +SWIGINTERN PyObject* +#ifdef METH_NOARGS +SwigPyObject_disown(PyObject *v) +#else +SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) +#endif +{ + SwigPyObject *sobj = (SwigPyObject *)v; + sobj->own = 0; + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject* +#ifdef METH_NOARGS +SwigPyObject_acquire(PyObject *v) +#else +SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) +#endif +{ + SwigPyObject *sobj = (SwigPyObject *)v; + sobj->own = SWIG_POINTER_OWN; + return SWIG_Py_Void(); +} + +SWIGINTERN PyObject* +SwigPyObject_own(PyObject *v, PyObject *args) +{ + PyObject *val = 0; +#if (PY_VERSION_HEX < 0x02020000) + if (!PyArg_ParseTuple(args,(char *)"|O:own",&val)) +#else + if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) +#endif + { + return NULL; + } + else + { + SwigPyObject *sobj = (SwigPyObject *)v; + PyObject *obj = PyBool_FromLong(sobj->own); + if (val) { +#ifdef METH_NOARGS + if (PyObject_IsTrue(val)) { + SwigPyObject_acquire(v); + } else { + SwigPyObject_disown(v); + } +#else + if (PyObject_IsTrue(val)) { + SwigPyObject_acquire(v,args); + } else { + SwigPyObject_disown(v,args); + } +#endif + } + return obj; + } +} + +#ifdef METH_O +static PyMethodDef +swigobject_methods[] = { + {(char *)"disown", (PyCFunction)SwigPyObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"}, + {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_NOARGS, (char *)"aquires ownership of the pointer"}, + {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, + {(char *)"append", (PyCFunction)SwigPyObject_append, METH_O, (char *)"appends another 'this' object"}, + {(char *)"next", (PyCFunction)SwigPyObject_next, METH_NOARGS, (char *)"returns the next 'this' object"}, + {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_NOARGS, (char *)"returns object representation"}, + {0, 0, 0, 0} +}; +#else +static PyMethodDef +swigobject_methods[] = { + {(char *)"disown", (PyCFunction)SwigPyObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"}, + {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_VARARGS, (char *)"aquires ownership of the pointer"}, + {(char *)"own", (PyCFunction)SwigPyObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, + {(char *)"append", (PyCFunction)SwigPyObject_append, METH_VARARGS, (char *)"appends another 'this' object"}, + {(char *)"next", (PyCFunction)SwigPyObject_next, METH_VARARGS, (char *)"returns the next 'this' object"}, + {(char *)"__repr__",(PyCFunction)SwigPyObject_repr, METH_VARARGS, (char *)"returns object representation"}, + {0, 0, 0, 0} +}; +#endif + +#if PY_VERSION_HEX < 0x02020000 +SWIGINTERN PyObject * +SwigPyObject_getattr(SwigPyObject *sobj,char *name) +{ + return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name); +} +#endif + +SWIGRUNTIME PyTypeObject* +_PySwigObject_type(void) { + static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer"; + + static PyNumberMethods SwigPyObject_as_number = { + (binaryfunc)0, /*nb_add*/ + (binaryfunc)0, /*nb_subtract*/ + (binaryfunc)0, /*nb_multiply*/ + /* nb_divide removed in Python 3 */ +#if PY_VERSION_HEX < 0x03000000 + (binaryfunc)0, /*nb_divide*/ +#endif + (binaryfunc)0, /*nb_remainder*/ + (binaryfunc)0, /*nb_divmod*/ + (ternaryfunc)0,/*nb_power*/ + (unaryfunc)0, /*nb_negative*/ + (unaryfunc)0, /*nb_positive*/ + (unaryfunc)0, /*nb_absolute*/ + (inquiry)0, /*nb_nonzero*/ + 0, /*nb_invert*/ + 0, /*nb_lshift*/ + 0, /*nb_rshift*/ + 0, /*nb_and*/ + 0, /*nb_xor*/ + 0, /*nb_or*/ +#if PY_VERSION_HEX < 0x03000000 + 0, /*nb_coerce*/ +#endif + (unaryfunc)SwigPyObject_long, /*nb_int*/ + (unaryfunc)SwigPyObject_long, /*nb_long*/ + (unaryfunc)0, /*nb_float*/ +#if PY_VERSION_HEX < 0x03000000 + (unaryfunc)SwigPyObject_oct, /*nb_oct*/ + (unaryfunc)SwigPyObject_hex, /*nb_hex*/ +#endif +#if PY_VERSION_HEX >= 0x03000000 /* 3.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */ +#elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */ +#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ +#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */ + 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ +#endif + }; + + static PyTypeObject swigpyobject_type; + static int type_init = 0; + if (!type_init) { + const PyTypeObject tmp + = { + /* PyOjbect header changed in Python 3 */ +#if PY_VERSION_HEX >= 0x03000000 + PyVarObject_HEAD_INIT(&PyType_Type, 0) +#else + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ +#endif + (char *)"SwigPyObject", /* tp_name */ + sizeof(SwigPyObject), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)SwigPyObject_dealloc, /* tp_dealloc */ + (printfunc)SwigPyObject_print, /* tp_print */ +#if PY_VERSION_HEX < 0x02020000 + (getattrfunc)SwigPyObject_getattr, /* tp_getattr */ +#else + (getattrfunc)0, /* tp_getattr */ +#endif + (setattrfunc)0, /* tp_setattr */ + (cmpfunc)SwigPyObject_compare, /* tp_compare */ + (reprfunc)SwigPyObject_repr, /* tp_repr */ + &SwigPyObject_as_number, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc)0, /* tp_hash */ + (ternaryfunc)0, /* tp_call */ + (reprfunc)SwigPyObject_str, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + swigobject_doc, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + (richcmpfunc)SwigPyObject_richcompare, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#if PY_VERSION_HEX >= 0x02020000 + 0, /* tp_iter */ + 0, /* tp_iternext */ + swigobject_methods, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + 0, /* tp_is_gc */ + 0, /* tp_bases */ + 0, /* tp_mro */ + 0, /* tp_cache */ + 0, /* tp_subclasses */ + 0, /* tp_weaklist */ +#endif +#if PY_VERSION_HEX >= 0x02030000 + 0, /* tp_del */ +#endif +#ifdef COUNT_ALLOCS + 0,0,0,0 /* tp_alloc -> tp_next */ +#endif + }; + swigpyobject_type = tmp; + /* for Python 3 we already assigned the ob_type in PyVarObject_HEAD_INIT() */ +#if PY_VERSION_HEX < 0x03000000 + swigpyobject_type.ob_type = &PyType_Type; +#endif + type_init = 1; + } + return &swigpyobject_type; +} + +SWIGRUNTIME PyObject * +SwigPyObject_New(void *ptr, swig_type_info *ty, int own) +{ + SwigPyObject *sobj = PyObject_NEW(SwigPyObject, SwigPyObject_type()); + if (sobj) { + sobj->ptr = ptr; + sobj->ty = ty; + sobj->own = own; + sobj->next = 0; + } + return (PyObject *)sobj; +} + +/* ----------------------------------------------------------------------------- + * Implements a simple Swig Packed type, and use it instead of string + * ----------------------------------------------------------------------------- */ + +typedef struct { + PyObject_HEAD + void *pack; + swig_type_info *ty; + size_t size; +} SwigPyPacked; + +SWIGRUNTIME int +SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags)) +{ + char result[SWIG_BUFFER_SIZE]; + fputs("pack, v->size, 0, sizeof(result))) { + fputs("at ", fp); + fputs(result, fp); + } + fputs(v->ty->name,fp); + fputs(">", fp); + return 0; +} + +SWIGRUNTIME PyObject * +SwigPyPacked_repr(SwigPyPacked *v) +{ + char result[SWIG_BUFFER_SIZE]; + if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { + return SWIG_Python_str_FromFormat("", result, v->ty->name); + } else { + return SWIG_Python_str_FromFormat("", v->ty->name); + } +} + +SWIGRUNTIME PyObject * +SwigPyPacked_str(SwigPyPacked *v) +{ + char result[SWIG_BUFFER_SIZE]; + if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){ + return SWIG_Python_str_FromFormat("%s%s", result, v->ty->name); + } else { + return SWIG_Python_str_FromChar(v->ty->name); + } +} + +SWIGRUNTIME int +SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w) +{ + size_t i = v->size; + size_t j = w->size; + int s = (i < j) ? -1 : ((i > j) ? 1 : 0); + return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size); +} + +SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void); + +SWIGRUNTIME PyTypeObject* +SwigPyPacked_type(void) { + static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type(); + return type; +} + +SWIGRUNTIMEINLINE int +SwigPyPacked_Check(PyObject *op) { + return ((op)->ob_type == _PySwigPacked_type()) + || (strcmp((op)->ob_type->tp_name,"SwigPyPacked") == 0); +} + +SWIGRUNTIME void +SwigPyPacked_dealloc(PyObject *v) +{ + if (SwigPyPacked_Check(v)) { + SwigPyPacked *sobj = (SwigPyPacked *) v; + free(sobj->pack); + } + PyObject_DEL(v); +} + +SWIGRUNTIME PyTypeObject* +_PySwigPacked_type(void) { + static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer"; + static PyTypeObject swigpypacked_type; + static int type_init = 0; + if (!type_init) { + const PyTypeObject tmp + = { + /* PyObject header changed in Python 3 */ +#if PY_VERSION_HEX>=0x03000000 + PyVarObject_HEAD_INIT(&PyType_Type, 0) +#else + PyObject_HEAD_INIT(NULL) + 0, /* ob_size */ +#endif + (char *)"SwigPyPacked", /* tp_name */ + sizeof(SwigPyPacked), /* tp_basicsize */ + 0, /* tp_itemsize */ + (destructor)SwigPyPacked_dealloc, /* tp_dealloc */ + (printfunc)SwigPyPacked_print, /* tp_print */ + (getattrfunc)0, /* tp_getattr */ + (setattrfunc)0, /* tp_setattr */ + (cmpfunc)SwigPyPacked_compare, /* tp_compare */ + (reprfunc)SwigPyPacked_repr, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + (hashfunc)0, /* tp_hash */ + (ternaryfunc)0, /* tp_call */ + (reprfunc)SwigPyPacked_str, /* tp_str */ + PyObject_GenericGetAttr, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + Py_TPFLAGS_DEFAULT, /* tp_flags */ + swigpacked_doc, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#if PY_VERSION_HEX >= 0x02020000 + 0, /* tp_iter */ + 0, /* tp_iternext */ + 0, /* tp_methods */ + 0, /* tp_members */ + 0, /* tp_getset */ + 0, /* tp_base */ + 0, /* tp_dict */ + 0, /* tp_descr_get */ + 0, /* tp_descr_set */ + 0, /* tp_dictoffset */ + 0, /* tp_init */ + 0, /* tp_alloc */ + 0, /* tp_new */ + 0, /* tp_free */ + 0, /* tp_is_gc */ + 0, /* tp_bases */ + 0, /* tp_mro */ + 0, /* tp_cache */ + 0, /* tp_subclasses */ + 0, /* tp_weaklist */ +#endif +#if PY_VERSION_HEX >= 0x02030000 + 0, /* tp_del */ +#endif +#ifdef COUNT_ALLOCS + 0,0,0,0 /* tp_alloc -> tp_next */ +#endif + }; + swigpypacked_type = tmp; + /* for Python 3 the ob_type already assigned in PyVarObject_HEAD_INIT() */ +#if PY_VERSION_HEX < 0x03000000 + swigpypacked_type.ob_type = &PyType_Type; +#endif + type_init = 1; + } + return &swigpypacked_type; +} + +SWIGRUNTIME PyObject * +SwigPyPacked_New(void *ptr, size_t size, swig_type_info *ty) +{ + SwigPyPacked *sobj = PyObject_NEW(SwigPyPacked, SwigPyPacked_type()); + if (sobj) { + void *pack = malloc(size); + if (pack) { + memcpy(pack, ptr, size); + sobj->pack = pack; + sobj->ty = ty; + sobj->size = size; + } else { + PyObject_DEL((PyObject *) sobj); + sobj = 0; + } + } + return (PyObject *) sobj; +} + +SWIGRUNTIME swig_type_info * +SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size) +{ + if (SwigPyPacked_Check(obj)) { + SwigPyPacked *sobj = (SwigPyPacked *)obj; + if (sobj->size != size) return 0; + memcpy(ptr, sobj->pack, size); + return sobj->ty; + } else { + return 0; + } +} + +/* ----------------------------------------------------------------------------- + * pointers/data manipulation + * ----------------------------------------------------------------------------- */ + +SWIGRUNTIMEINLINE PyObject * +_SWIG_This(void) +{ + return SWIG_Python_str_FromChar("this"); +} + +SWIGRUNTIME PyObject * +SWIG_This(void) +{ + static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This(); + return swig_this; +} + +/* #define SWIG_PYTHON_SLOW_GETSET_THIS */ + +/* TODO: I don't know how to implement the fast getset in Python 3 right now */ +#if PY_VERSION_HEX>=0x03000000 +#define SWIG_PYTHON_SLOW_GETSET_THIS +#endif + +SWIGRUNTIME SwigPyObject * +SWIG_Python_GetSwigThis(PyObject *pyobj) +{ + if (SwigPyObject_Check(pyobj)) { + return (SwigPyObject *) pyobj; + } else { + PyObject *obj = 0; +#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000)) + if (PyInstance_Check(pyobj)) { + obj = _PyInstance_Lookup(pyobj, SWIG_This()); + } else { + PyObject **dictptr = _PyObject_GetDictPtr(pyobj); + if (dictptr != NULL) { + PyObject *dict = *dictptr; + obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0; + } else { +#ifdef PyWeakref_CheckProxy + if (PyWeakref_CheckProxy(pyobj)) { + PyObject *wobj = PyWeakref_GET_OBJECT(pyobj); + return wobj ? SWIG_Python_GetSwigThis(wobj) : 0; + } +#endif + obj = PyObject_GetAttr(pyobj,SWIG_This()); + if (obj) { + Py_DECREF(obj); + } else { + if (PyErr_Occurred()) PyErr_Clear(); + return 0; + } + } + } +#else + obj = PyObject_GetAttr(pyobj,SWIG_This()); + if (obj) { + Py_DECREF(obj); + } else { + if (PyErr_Occurred()) PyErr_Clear(); + return 0; + } +#endif + if (obj && !SwigPyObject_Check(obj)) { + /* a PyObject is called 'this', try to get the 'real this' + SwigPyObject from it */ + return SWIG_Python_GetSwigThis(obj); + } + return (SwigPyObject *)obj; + } +} + +/* Acquire a pointer value */ + +SWIGRUNTIME int +SWIG_Python_AcquirePtr(PyObject *obj, int own) { + if (own == SWIG_POINTER_OWN) { + SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj); + if (sobj) { + int oldown = sobj->own; + sobj->own = own; + return oldown; + } + } + return 0; +} + +/* Convert a pointer value */ + +SWIGRUNTIME int +SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) { + if (!obj) return SWIG_ERROR; + if (obj == Py_None) { + if (ptr) *ptr = 0; + return SWIG_OK; + } else { + SwigPyObject *sobj = SWIG_Python_GetSwigThis(obj); + if (own) + *own = 0; + while (sobj) { + void *vptr = sobj->ptr; + if (ty) { + swig_type_info *to = sobj->ty; + if (to == ty) { + /* no type cast needed */ + if (ptr) *ptr = vptr; + break; + } else { + swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); + if (!tc) { + sobj = (SwigPyObject *)sobj->next; + } else { + if (ptr) { + int newmemory = 0; + *ptr = SWIG_TypeCast(tc,vptr,&newmemory); + if (newmemory == SWIG_CAST_NEW_MEMORY) { + assert(own); + if (own) + *own = *own | SWIG_CAST_NEW_MEMORY; + } + } + break; + } + } + } else { + if (ptr) *ptr = vptr; + break; + } + } + if (sobj) { + if (own) + *own = *own | sobj->own; + if (flags & SWIG_POINTER_DISOWN) { + sobj->own = 0; + } + return SWIG_OK; + } else { + int res = SWIG_ERROR; + if (flags & SWIG_POINTER_IMPLICIT_CONV) { + SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0; + if (data && !data->implicitconv) { + PyObject *klass = data->klass; + if (klass) { + PyObject *impconv; + data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/ + impconv = SWIG_Python_CallFunctor(klass, obj); + data->implicitconv = 0; + if (PyErr_Occurred()) { + PyErr_Clear(); + impconv = 0; + } + if (impconv) { + SwigPyObject *iobj = SWIG_Python_GetSwigThis(impconv); + if (iobj) { + void *vptr; + res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0); + if (SWIG_IsOK(res)) { + if (ptr) { + *ptr = vptr; + /* transfer the ownership to 'ptr' */ + iobj->own = 0; + res = SWIG_AddCast(res); + res = SWIG_AddNewMask(res); + } else { + res = SWIG_AddCast(res); + } + } + } + Py_DECREF(impconv); + } + } + } + } + return res; + } + } +} + +/* Convert a function ptr value */ + +SWIGRUNTIME int +SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) { + if (!PyCFunction_Check(obj)) { + return SWIG_ConvertPtr(obj, ptr, ty, 0); + } else { + void *vptr = 0; + + /* here we get the method pointer for callbacks */ + const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); + const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0; + if (desc) { + desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0; + if (!desc) return SWIG_ERROR; + } + if (ty) { + swig_cast_info *tc = SWIG_TypeCheck(desc,ty); + if (tc) { + int newmemory = 0; + *ptr = SWIG_TypeCast(tc,vptr,&newmemory); + assert(!newmemory); /* newmemory handling not yet implemented */ + } else { + return SWIG_ERROR; + } + } else { + *ptr = vptr; + } + return SWIG_OK; + } +} + +/* Convert a packed value value */ + +SWIGRUNTIME int +SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) { + swig_type_info *to = SwigPyPacked_UnpackData(obj, ptr, sz); + if (!to) return SWIG_ERROR; + if (ty) { + if (to != ty) { + /* check type cast? */ + swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); + if (!tc) return SWIG_ERROR; + } + } + return SWIG_OK; +} + +/* ----------------------------------------------------------------------------- + * Create a new pointer object + * ----------------------------------------------------------------------------- */ + +/* + Create a new instance object, whitout calling __init__, and set the + 'this' attribute. +*/ + +SWIGRUNTIME PyObject* +SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this) +{ +#if (PY_VERSION_HEX >= 0x02020000) + PyObject *inst = 0; + PyObject *newraw = data->newraw; + if (newraw) { + inst = PyObject_Call(newraw, data->newargs, NULL); + if (inst) { +#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS) + PyObject **dictptr = _PyObject_GetDictPtr(inst); + if (dictptr != NULL) { + PyObject *dict = *dictptr; + if (dict == NULL) { + dict = PyDict_New(); + *dictptr = dict; + PyDict_SetItem(dict, SWIG_This(), swig_this); + } + } +#else + PyObject *key = SWIG_This(); + PyObject_SetAttr(inst, key, swig_this); +#endif + } + } else { +#if PY_VERSION_HEX >= 0x03000000 + inst = PyBaseObject_Type.tp_new((PyTypeObject*) data->newargs, Py_None, Py_None); + Py_INCREF(data->newargs); + PyObject_SetAttr(inst, SWIG_This(), swig_this); + Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG; +#else + PyObject *dict = PyDict_New(); + PyDict_SetItem(dict, SWIG_This(), swig_this); + inst = PyInstance_NewRaw(data->newargs, dict); + Py_DECREF(dict); +#endif + } + return inst; +#else +#if (PY_VERSION_HEX >= 0x02010000) + PyObject *inst; + PyObject *dict = PyDict_New(); + PyDict_SetItem(dict, SWIG_This(), swig_this); + inst = PyInstance_NewRaw(data->newargs, dict); + Py_DECREF(dict); + return (PyObject *) inst; +#else + PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type); + if (inst == NULL) { + return NULL; + } + inst->in_class = (PyClassObject *)data->newargs; + Py_INCREF(inst->in_class); + inst->in_dict = PyDict_New(); + if (inst->in_dict == NULL) { + Py_DECREF(inst); + return NULL; + } +#ifdef Py_TPFLAGS_HAVE_WEAKREFS + inst->in_weakreflist = NULL; +#endif +#ifdef Py_TPFLAGS_GC + PyObject_GC_Init(inst); +#endif + PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this); + return (PyObject *) inst; +#endif +#endif +} + +SWIGRUNTIME void +SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this) +{ + PyObject *dict; +#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS) + PyObject **dictptr = _PyObject_GetDictPtr(inst); + if (dictptr != NULL) { + dict = *dictptr; + if (dict == NULL) { + dict = PyDict_New(); + *dictptr = dict; + } + PyDict_SetItem(dict, SWIG_This(), swig_this); + return; + } +#endif + dict = PyObject_GetAttrString(inst, (char*)"__dict__"); + PyDict_SetItem(dict, SWIG_This(), swig_this); + Py_DECREF(dict); +} + + +SWIGINTERN PyObject * +SWIG_Python_InitShadowInstance(PyObject *args) { + PyObject *obj[2]; + if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) { + return NULL; + } else { + SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]); + if (sthis) { + SwigPyObject_append((PyObject*) sthis, obj[1]); + } else { + SWIG_Python_SetSwigThis(obj[0], obj[1]); + } + return SWIG_Py_Void(); + } +} + +/* Create a new pointer object */ + +SWIGRUNTIME PyObject * +SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) { + if (!ptr) { + return SWIG_Py_Void(); + } else { + int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0; + PyObject *robj = SwigPyObject_New(ptr, type, own); + SwigPyClientData *clientdata = type ? (SwigPyClientData *)(type->clientdata) : 0; + if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) { + PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj); + if (inst) { + Py_DECREF(robj); + robj = inst; + } + } + return robj; + } +} + +/* Create a new packed object */ + +SWIGRUNTIMEINLINE PyObject * +SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { + return ptr ? SwigPyPacked_New((void *) ptr, sz, type) : SWIG_Py_Void(); +} + +/* -----------------------------------------------------------------------------* + * Get type list + * -----------------------------------------------------------------------------*/ + +#ifdef SWIG_LINK_RUNTIME +void *SWIG_ReturnGlobalTypeList(void *); +#endif + +SWIGRUNTIME swig_module_info * +SWIG_Python_GetModule(void) { + static void *type_pointer = (void *)0; + /* first check if module already created */ + if (!type_pointer) { +#ifdef SWIG_LINK_RUNTIME + type_pointer = SWIG_ReturnGlobalTypeList((void *)0); +#else + type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, + (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); + if (PyErr_Occurred()) { + PyErr_Clear(); + type_pointer = (void *)0; + } +#endif + } + return (swig_module_info *) type_pointer; +} + +#if PY_MAJOR_VERSION < 2 +/* PyModule_AddObject function was introduced in Python 2.0. The following function + is copied out of Python/modsupport.c in python version 2.3.4 */ +SWIGINTERN int +PyModule_AddObject(PyObject *m, char *name, PyObject *o) +{ + PyObject *dict; + if (!PyModule_Check(m)) { + PyErr_SetString(PyExc_TypeError, + "PyModule_AddObject() needs module as first arg"); + return SWIG_ERROR; + } + if (!o) { + PyErr_SetString(PyExc_TypeError, + "PyModule_AddObject() needs non-NULL value"); + return SWIG_ERROR; + } + + dict = PyModule_GetDict(m); + if (dict == NULL) { + /* Internal error -- modules must have a dict! */ + PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__", + PyModule_GetName(m)); + return SWIG_ERROR; + } + if (PyDict_SetItemString(dict, name, o)) + return SWIG_ERROR; + Py_DECREF(o); + return SWIG_OK; +} +#endif + +SWIGRUNTIME void +SWIG_Python_DestroyModule(void *vptr) +{ + swig_module_info *swig_module = (swig_module_info *) vptr; + swig_type_info **types = swig_module->types; + size_t i; + for (i =0; i < swig_module->size; ++i) { + swig_type_info *ty = types[i]; + if (ty->owndata) { + SwigPyClientData *data = (SwigPyClientData *) ty->clientdata; + if (data) SwigPyClientData_Del(data); + } + } + Py_DECREF(SWIG_This()); +} + +SWIGRUNTIME void +SWIG_Python_SetModule(swig_module_info *swig_module) { + static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */ + +#if PY_VERSION_HEX >= 0x03000000 + /* Add a dummy module object into sys.modules */ + PyObject *module = PyImport_AddModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION); +#else + PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, + swig_empty_runtime_method_table); +#endif + PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule); + if (pointer && module) { + PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); + } else { + Py_XDECREF(pointer); + } +} + +/* The python cached type query */ +SWIGRUNTIME PyObject * +SWIG_Python_TypeCache(void) { + static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New(); + return cache; +} + +SWIGRUNTIME swig_type_info * +SWIG_Python_TypeQuery(const char *type) +{ + PyObject *cache = SWIG_Python_TypeCache(); + PyObject *key = SWIG_Python_str_FromChar(type); + PyObject *obj = PyDict_GetItem(cache, key); + swig_type_info *descriptor; + if (obj) { + descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj); + } else { + swig_module_info *swig_module = SWIG_Python_GetModule(); + descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type); + if (descriptor) { + obj = PyCObject_FromVoidPtr(descriptor, NULL); + PyDict_SetItem(cache, key, obj); + Py_DECREF(obj); + } + } + Py_DECREF(key); + return descriptor; +} + +/* + For backward compatibility only +*/ +#define SWIG_POINTER_EXCEPTION 0 +#define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg) +#define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags) + +SWIGRUNTIME int +SWIG_Python_AddErrMesg(const char* mesg, int infront) +{ + if (PyErr_Occurred()) { + PyObject *type = 0; + PyObject *value = 0; + PyObject *traceback = 0; + PyErr_Fetch(&type, &value, &traceback); + if (value) { + PyObject *old_str = PyObject_Str(value); + Py_XINCREF(type); + PyErr_Clear(); + if (infront) { + PyErr_Format(type, "%s %s", mesg, SWIG_Python_str_AsChar(old_str)); + } else { + PyErr_Format(type, "%s %s", SWIG_Python_str_AsChar(old_str), mesg); + } + Py_DECREF(old_str); + } + return 1; + } else { + return 0; + } +} + +SWIGRUNTIME int +SWIG_Python_ArgFail(int argnum) +{ + if (PyErr_Occurred()) { + /* add information about failing argument */ + char mesg[256]; + PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum); + return SWIG_Python_AddErrMesg(mesg, 1); + } else { + return 0; + } +} + +SWIGRUNTIMEINLINE const char * +SwigPyObject_GetDesc(PyObject *self) +{ + SwigPyObject *v = (SwigPyObject *)self; + swig_type_info *ty = v ? v->ty : 0; + return ty ? ty->str : (char*)""; +} + +SWIGRUNTIME void +SWIG_Python_TypeError(const char *type, PyObject *obj) +{ + if (type) { +#if defined(SWIG_COBJECT_TYPES) + if (obj && SwigPyObject_Check(obj)) { + const char *otype = (const char *) SwigPyObject_GetDesc(obj); + if (otype) { + PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'SwigPyObject(%s)' is received", + type, otype); + return; + } + } else +#endif + { + const char *otype = (obj ? obj->ob_type->tp_name : 0); + if (otype) { + PyObject *str = PyObject_Str(obj); + const char *cstr = str ? SWIG_Python_str_AsChar(str) : 0; + if (cstr) { + PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received", + type, otype, cstr); + } else { + PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", + type, otype); + } + Py_XDECREF(str); + return; + } + } + PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); + } else { + PyErr_Format(PyExc_TypeError, "unexpected type is received"); + } +} + + +/* Convert a pointer value, signal an exception on a type mismatch */ +SWIGRUNTIME void * +SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) { + void *result; + if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) { + PyErr_Clear(); + if (flags & SWIG_POINTER_EXCEPTION) { + SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); + SWIG_Python_ArgFail(argnum); + } + } + return result; +} + + +#ifdef __cplusplus +#if 0 +{ /* cc-mode */ +#endif +} +#endif + + + +#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) + +#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else + + + + #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0) + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_CRFPP__Tagger swig_types[0] +#define SWIGTYPE_p_char swig_types[1] +static swig_type_info *swig_types[3]; +static swig_module_info swig_module = {swig_types, 2, 0, 0, 0, 0}; +#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) +#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) + +/* -------- TYPES TABLE (END) -------- */ + +#if (PY_VERSION_HEX <= 0x02000000) +# if !defined(SWIG_PYTHON_CLASSIC) +# error "This python version requires swig to be run with the '-classic' option" +# endif +#endif + +/*----------------------------------------------- + @(target):= _CRFPP.so + ------------------------------------------------*/ +#if PY_VERSION_HEX >= 0x03000000 +# define SWIG_init PyInit__CRFPP + +#else +# define SWIG_init init_CRFPP + +#endif +#define SWIG_name "_CRFPP" + +#define SWIGVERSION 0x010338 +#define SWIG_VERSION SWIGVERSION + + +#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) +#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) + + +#include + + +namespace swig { + class SwigPtr_PyObject { + protected: + PyObject *_obj; + + public: + SwigPtr_PyObject() :_obj(0) + { + } + + SwigPtr_PyObject(const SwigPtr_PyObject& item) : _obj(item._obj) + { + Py_XINCREF(_obj); + } + + SwigPtr_PyObject(PyObject *obj, bool initial_ref = true) :_obj(obj) + { + if (initial_ref) { + Py_XINCREF(_obj); + } + } + + SwigPtr_PyObject & operator=(const SwigPtr_PyObject& item) + { + Py_XINCREF(item._obj); + Py_XDECREF(_obj); + _obj = item._obj; + return *this; + } + + ~SwigPtr_PyObject() + { + Py_XDECREF(_obj); + } + + operator PyObject *() const + { + return _obj; + } + + PyObject *operator->() const + { + return _obj; + } + }; +} + + +namespace swig { + struct SwigVar_PyObject : SwigPtr_PyObject { + SwigVar_PyObject(PyObject* obj = 0) : SwigPtr_PyObject(obj, false) { } + + SwigVar_PyObject & operator = (PyObject* obj) + { + Py_XDECREF(_obj); + _obj = obj; + return *this; + } + }; +} + + +#include "crfpp.h" + + + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + + + +#include +#if !defined(SWIG_NO_LLONG_MAX) +# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) +# define LLONG_MAX __LONG_LONG_MAX__ +# define LLONG_MIN (-LLONG_MAX - 1LL) +# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) +# endif +#endif + + +SWIGINTERN int +SWIG_AsVal_double (PyObject *obj, double *val) +{ + int res = SWIG_TypeError; + if (PyFloat_Check(obj)) { + if (val) *val = PyFloat_AsDouble(obj); + return SWIG_OK; + } else if (PyInt_Check(obj)) { + if (val) *val = PyInt_AsLong(obj); + return SWIG_OK; + } else if (PyLong_Check(obj)) { + double v = PyLong_AsDouble(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_OK; + } else { + PyErr_Clear(); + } + } +#ifdef SWIG_PYTHON_CAST_MODE + { + int dispatch = 0; + double d = PyFloat_AsDouble(obj); + if (!PyErr_Occurred()) { + if (val) *val = d; + return SWIG_AddCast(SWIG_OK); + } else { + PyErr_Clear(); + } + if (!dispatch) { + long v = PyLong_AsLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_AddCast(SWIG_AddCast(SWIG_OK)); + } else { + PyErr_Clear(); + } + } + } +#endif + return res; +} + + +#include + + +#include + + +SWIGINTERNINLINE int +SWIG_CanCastAsInteger(double *d, double min, double max) { + double x = *d; + if ((min <= x && x <= max)) { + double fx = floor(x); + double cx = ceil(x); + double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ + if ((errno == EDOM) || (errno == ERANGE)) { + errno = 0; + } else { + double summ, reps, diff; + if (rd < x) { + diff = x - rd; + } else if (rd > x) { + diff = rd - x; + } else { + return 1; + } + summ = rd + x; + reps = diff/summ; + if (reps < 8*DBL_EPSILON) { + *d = rd; + return 1; + } + } + } + return 0; +} + + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) +{ + if (PyInt_Check(obj)) { + long v = PyInt_AsLong(obj); + if (v >= 0) { + if (val) *val = v; + return SWIG_OK; + } else { + return SWIG_OverflowError; + } + } else if (PyLong_Check(obj)) { + unsigned long v = PyLong_AsUnsignedLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_OK; + } else { + PyErr_Clear(); + } + } +#ifdef SWIG_PYTHON_CAST_MODE + { + int dispatch = 0; + unsigned long v = PyLong_AsUnsignedLong(obj); + if (!PyErr_Occurred()) { + if (val) *val = v; + return SWIG_AddCast(SWIG_OK); + } else { + PyErr_Clear(); + } + if (!dispatch) { + double d; + int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); + if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { + if (val) *val = (unsigned long)(d); + return res; + } + } + } +#endif + return SWIG_TypeError; +} + + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long (obj, &v); + if (SWIG_IsOK(res)) { + if ((v > UINT_MAX)) { + return SWIG_OverflowError; + } else { + if (val) *val = static_cast< unsigned int >(v); + } + } + return res; +} + + + #define SWIG_From_long PyInt_FromLong + + +SWIGINTERNINLINE PyObject* +SWIG_From_unsigned_SS_long (unsigned long value) +{ + return (value > LONG_MAX) ? + PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value)); +} + + +SWIGINTERNINLINE PyObject * +SWIG_From_unsigned_SS_int (unsigned int value) +{ + return SWIG_From_unsigned_SS_long (value); +} + + +SWIGINTERN int +SWIG_AsVal_float (PyObject * obj, float *val) +{ + double v; + int res = SWIG_AsVal_double (obj, &v); + if (SWIG_IsOK(res)) { + if ((v < -FLT_MAX || v > FLT_MAX)) { + return SWIG_OverflowError; + } else { + if (val) *val = static_cast< float >(v); + } + } + return res; +} + + + #define SWIG_From_double PyFloat_FromDouble + + +SWIGINTERNINLINE PyObject * +SWIG_From_float (float value) +{ + return SWIG_From_double (value); +} + + +SWIGINTERNINLINE int +SWIG_AsVal_size_t (PyObject * obj, size_t *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0); + if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v); + return res; +} + + +SWIGINTERNINLINE PyObject * +SWIG_From_size_t (size_t value) +{ + return SWIG_From_unsigned_SS_long (static_cast< unsigned long >(value)); +} + + +SWIGINTERN swig_type_info* +SWIG_pchar_descriptor(void) +{ + static int init = 0; + static swig_type_info* info = 0; + if (!init) { + info = SWIG_TypeQuery("_p_char"); + init = 1; + } + return info; +} + + +SWIGINTERN int +SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc) +{ +#if PY_VERSION_HEX>=0x03000000 + if (PyUnicode_Check(obj)) +#else + if (PyString_Check(obj)) +#endif + { + char *cstr; Py_ssize_t len; +#if PY_VERSION_HEX>=0x03000000 + obj = PyUnicode_AsUTF8String(obj); + PyBytes_AsStringAndSize(obj, &cstr, &len); +#else + PyString_AsStringAndSize(obj, &cstr, &len); +#endif + if (cptr) { + if (alloc) { + /* + In python the user should not be able to modify the inner + string representation. To warranty that, if you define + SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string + buffer is always returned. + + The default behavior is just to return the pointer value, + so, be careful. + */ +#if defined(SWIG_PYTHON_SAFE_CSTRINGS) + if (*alloc != SWIG_OLDOBJ) +#else + if (*alloc == SWIG_NEWOBJ) +#endif + { + *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); + *alloc = SWIG_NEWOBJ; + } + else { + *cptr = cstr; + *alloc = SWIG_OLDOBJ; + } + } else { + *cptr = SWIG_Python_str_AsChar(obj); + } + } + if (psize) *psize = len + 1; + return SWIG_OK; + } else { + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + if (pchar_descriptor) { + void* vptr = 0; + if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) { + if (cptr) *cptr = (char *) vptr; + if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0; + if (alloc) *alloc = SWIG_OLDOBJ; + return SWIG_OK; + } + } + } + return SWIG_TypeError; +} + + + + + +SWIGINTERNINLINE PyObject* + SWIG_From_bool (bool value) +{ + return PyBool_FromLong(value ? 1 : 0); +} + + +SWIGINTERNINLINE PyObject * +SWIG_FromCharPtrAndSize(const char* carray, size_t size) +{ + if (carray) { + if (size > INT_MAX) { + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + return pchar_descriptor ? + SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); + } else { +#if PY_VERSION_HEX >= 0x03000000 + return PyUnicode_FromStringAndSize(carray, static_cast< int >(size)); +#else + return PyString_FromStringAndSize(carray, static_cast< int >(size)); +#endif + } + } else { + return SWIG_Py_Void(); + } +} + + +SWIGINTERNINLINE PyObject * +SWIG_FromCharPtr(const char *cptr) +{ + return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); +} + +#ifdef __cplusplus +extern "C" { +#endif +SWIGINTERN PyObject *_wrap_Tagger_set_vlevel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_set_vlevel",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_set_vlevel" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_set_vlevel" "', argument " "2"" of type '" "unsigned int""'"); + } + arg2 = static_cast< unsigned int >(val2); + { + try { + (arg1)->set_vlevel(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_vlevel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + unsigned int result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_vlevel",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_vlevel" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (unsigned int)((CRFPP::Tagger const *)arg1)->vlevel(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_set_cost_factor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + float arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + float val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_set_cost_factor",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_set_cost_factor" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_float(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_set_cost_factor" "', argument " "2"" of type '" "float""'"); + } + arg2 = static_cast< float >(val2); + { + try { + (arg1)->set_cost_factor(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_cost_factor(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + float result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_cost_factor",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_cost_factor" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (float)((CRFPP::Tagger const *)arg1)->cost_factor(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_float(static_cast< float >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_set_nbest(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_set_nbest",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_set_nbest" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_set_nbest" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + (arg1)->set_nbest(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_nbest(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_nbest",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_nbest" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->nbest(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_add",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_add" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Tagger_add" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + { + try { + result = (bool)(arg1)->add((char const *)arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_bool(static_cast< bool >(result)); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_size(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_size",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_size" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->size(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_xsize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_xsize",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_xsize" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->xsize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_dsize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_dsize",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_dsize" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->dsize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_result(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_result",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_result" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_result" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->result(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_answer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_answer",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_answer" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_answer" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->answer(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_y",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_y" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_y" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->y(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_y2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + char *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_y2",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_y2" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_y2" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->y2(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_yname(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + char *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_yname",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_yname" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_yname" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->yname(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + char *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OOO:Tagger_x",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_x" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_x" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_x" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->x(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_ysize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + size_t result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_ysize",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_ysize" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->ysize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_size_t(static_cast< size_t >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_prob__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:Tagger_prob",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prob" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_prob" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_prob" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_prob__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_prob",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prob" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_prob" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_prob__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_prob",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prob" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_prob(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[4]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = (int)PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 3); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Tagger_prob__SWIG_2(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_Tagger_prob__SWIG_1(self, args); + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_Tagger_prob__SWIG_0(self, args); + } + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Tagger_prob'.\n" + " Possible C/C++ prototypes are:\n" + " prob(CRFPP::Tagger const *,size_t,size_t)\n" + " prob(CRFPP::Tagger const *,size_t)\n" + " prob(CRFPP::Tagger const *)\n"); + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_alpha(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:Tagger_alpha",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_alpha" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_alpha" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_alpha" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->alpha(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_beta(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:Tagger_beta",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_beta" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_beta" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_beta" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->beta(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_emission_cost(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:Tagger_emission_cost",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_emission_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_emission_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_emission_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->emission_cost(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_next_transition_cost(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + size_t val4 ; + int ecode4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:Tagger_next_transition_cost",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_next_transition_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_next_transition_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_next_transition_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + ecode4 = SWIG_AsVal_size_t(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Tagger_next_transition_cost" "', argument " "4"" of type '" "size_t""'"); + } + arg4 = static_cast< size_t >(val4); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->next_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_prev_transition_cost(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + size_t val4 ; + int ecode4 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + PyObject * obj3 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OOOO:Tagger_prev_transition_cost",&obj0,&obj1,&obj2,&obj3)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_prev_transition_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_prev_transition_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_prev_transition_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + ecode4 = SWIG_AsVal_size_t(obj3, &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "Tagger_prev_transition_cost" "', argument " "4"" of type '" "size_t""'"); + } + arg4 = static_cast< size_t >(val4); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prev_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_best_cost(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + PyObject * obj2 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"OOO:Tagger_best_cost",&obj0,&obj1,&obj2)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_best_cost" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(obj1, &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Tagger_best_cost" "', argument " "2"" of type '" "size_t""'"); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(obj2, &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Tagger_best_cost" "', argument " "3"" of type '" "size_t""'"); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->best_cost(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_Z(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + double result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_Z",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_Z" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->Z(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_double(static_cast< double >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_parse__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_parse",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_parse" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->parse(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_empty(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_empty",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_empty" "', argument " "1"" of type '" "CRFPP::Tagger const *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)((CRFPP::Tagger const *)arg1)->empty(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_clear",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_clear" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->clear(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + bool result; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_next",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_next" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->next(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_From_bool(static_cast< bool >(result)); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_parse__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; + char *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"OO:Tagger_parse",&obj0,&obj1)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_parse" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Tagger_parse" "', argument " "2"" of type '" "char const *""'"); + } + arg2 = reinterpret_cast< char * >(buf2); + { + try { + result = (char *)(arg1)->parse((char const *)arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_FromCharPtr((const char *)result); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return resultobj; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_parse(PyObject *self, PyObject *args) { + int argc; + PyObject *argv[3]; + int ii; + + if (!PyTuple_Check(args)) SWIG_fail; + argc = (int)PyObject_Length(args); + for (ii = 0; (ii < argc) && (ii < 2); ii++) { + argv[ii] = PyTuple_GET_ITEM(args,ii); + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Tagger_parse__SWIG_0(self, args); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Tagger_parse__SWIG_1(self, args); + } + } + } + +fail: + SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'Tagger_parse'.\n" + " Possible C/C++ prototypes are:\n" + " parse(CRFPP::Tagger *)\n" + " parse(CRFPP::Tagger *,char const *)\n"); + return NULL; +} + + +SWIGINTERN PyObject *_wrap_Tagger_what(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + char *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:Tagger_what",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tagger_what" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (char *)(arg1)->what(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_FromCharPtr((const char *)result); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_delete_Tagger(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + PyObject * obj0 = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:delete_Tagger",&obj0)) SWIG_fail; + res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CRFPP__Tagger, SWIG_POINTER_DISOWN | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Tagger" "', argument " "1"" of type '" "CRFPP::Tagger *""'"); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + delete arg1; + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_Py_Void(); + return resultobj; +fail: + return NULL; +} + + +SWIGINTERN PyObject *_wrap_new_Tagger(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *resultobj = 0; + char *arg1 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + PyObject * obj0 = 0 ; + CRFPP::Tagger *result = 0 ; + + if (!PyArg_ParseTuple(args,(char *)"O:new_Tagger",&obj0)) SWIG_fail; + res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Tagger" "', argument " "1"" of type '" "char const *""'"); + } + arg1 = reinterpret_cast< char * >(buf1); + { + try { + result = (CRFPP::Tagger *)new_CRFPP_Tagger((char const *)arg1); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CRFPP__Tagger, SWIG_POINTER_NEW | 0 ); + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return resultobj; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return NULL; +} + + +SWIGINTERN PyObject *Tagger_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { + PyObject *obj; + if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL; + SWIG_TypeNewClientData(SWIGTYPE_p_CRFPP__Tagger, SWIG_NewClientData(obj)); + return SWIG_Py_Void(); +} + +static PyMethodDef SwigMethods[] = { + { (char *)"SWIG_PyInstanceMethod_New", (PyCFunction)SWIG_PyInstanceMethod_New, METH_O, NULL}, + { (char *)"Tagger_set_vlevel", _wrap_Tagger_set_vlevel, METH_VARARGS, NULL}, + { (char *)"Tagger_vlevel", _wrap_Tagger_vlevel, METH_VARARGS, NULL}, + { (char *)"Tagger_set_cost_factor", _wrap_Tagger_set_cost_factor, METH_VARARGS, NULL}, + { (char *)"Tagger_cost_factor", _wrap_Tagger_cost_factor, METH_VARARGS, NULL}, + { (char *)"Tagger_set_nbest", _wrap_Tagger_set_nbest, METH_VARARGS, NULL}, + { (char *)"Tagger_nbest", _wrap_Tagger_nbest, METH_VARARGS, NULL}, + { (char *)"Tagger_add", _wrap_Tagger_add, METH_VARARGS, NULL}, + { (char *)"Tagger_size", _wrap_Tagger_size, METH_VARARGS, NULL}, + { (char *)"Tagger_xsize", _wrap_Tagger_xsize, METH_VARARGS, NULL}, + { (char *)"Tagger_dsize", _wrap_Tagger_dsize, METH_VARARGS, NULL}, + { (char *)"Tagger_result", _wrap_Tagger_result, METH_VARARGS, NULL}, + { (char *)"Tagger_answer", _wrap_Tagger_answer, METH_VARARGS, NULL}, + { (char *)"Tagger_y", _wrap_Tagger_y, METH_VARARGS, NULL}, + { (char *)"Tagger_y2", _wrap_Tagger_y2, METH_VARARGS, NULL}, + { (char *)"Tagger_yname", _wrap_Tagger_yname, METH_VARARGS, NULL}, + { (char *)"Tagger_x", _wrap_Tagger_x, METH_VARARGS, NULL}, + { (char *)"Tagger_ysize", _wrap_Tagger_ysize, METH_VARARGS, NULL}, + { (char *)"Tagger_prob", _wrap_Tagger_prob, METH_VARARGS, NULL}, + { (char *)"Tagger_alpha", _wrap_Tagger_alpha, METH_VARARGS, NULL}, + { (char *)"Tagger_beta", _wrap_Tagger_beta, METH_VARARGS, NULL}, + { (char *)"Tagger_emission_cost", _wrap_Tagger_emission_cost, METH_VARARGS, NULL}, + { (char *)"Tagger_next_transition_cost", _wrap_Tagger_next_transition_cost, METH_VARARGS, NULL}, + { (char *)"Tagger_prev_transition_cost", _wrap_Tagger_prev_transition_cost, METH_VARARGS, NULL}, + { (char *)"Tagger_best_cost", _wrap_Tagger_best_cost, METH_VARARGS, NULL}, + { (char *)"Tagger_Z", _wrap_Tagger_Z, METH_VARARGS, NULL}, + { (char *)"Tagger_empty", _wrap_Tagger_empty, METH_VARARGS, NULL}, + { (char *)"Tagger_clear", _wrap_Tagger_clear, METH_VARARGS, NULL}, + { (char *)"Tagger_next", _wrap_Tagger_next, METH_VARARGS, NULL}, + { (char *)"Tagger_parse", _wrap_Tagger_parse, METH_VARARGS, NULL}, + { (char *)"Tagger_what", _wrap_Tagger_what, METH_VARARGS, NULL}, + { (char *)"delete_Tagger", _wrap_delete_Tagger, METH_VARARGS, NULL}, + { (char *)"new_Tagger", _wrap_new_Tagger, METH_VARARGS, NULL}, + { (char *)"Tagger_swigregister", Tagger_swigregister, METH_VARARGS, NULL}, + { NULL, NULL, 0, NULL } +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static swig_type_info _swigt__p_CRFPP__Tagger = {"_p_CRFPP__Tagger", "CRFPP::Tagger *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; + +static swig_type_info *swig_type_initial[] = { + &_swigt__p_CRFPP__Tagger, + &_swigt__p_char, +}; + +static swig_cast_info _swigc__p_CRFPP__Tagger[] = { {&_swigt__p_CRFPP__Tagger, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; + +static swig_cast_info *swig_cast_initial[] = { + _swigc__p_CRFPP__Tagger, + _swigc__p_char, +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +static swig_const_info swig_const_table[] = { +{0, 0, 0, 0.0, 0, 0}}; + +#ifdef __cplusplus +} +#endif +/* ----------------------------------------------------------------------------- + * Type initialization: + * This problem is tough by the requirement that no dynamic + * memory is used. Also, since swig_type_info structures store pointers to + * swig_cast_info structures and swig_cast_info structures store pointers back + * to swig_type_info structures, we need some lookup code at initialization. + * The idea is that swig generates all the structures that are needed. + * The runtime then collects these partially filled structures. + * The SWIG_InitializeModule function takes these initial arrays out of + * swig_module, and does all the lookup, filling in the swig_module.types + * array with the correct data and linking the correct swig_cast_info + * structures together. + * + * The generated swig_type_info structures are assigned staticly to an initial + * array. We just loop through that array, and handle each type individually. + * First we lookup if this type has been already loaded, and if so, use the + * loaded structure instead of the generated one. Then we have to fill in the + * cast linked list. The cast data is initially stored in something like a + * two-dimensional array. Each row corresponds to a type (there are the same + * number of rows as there are in the swig_type_initial array). Each entry in + * a column is one of the swig_cast_info structures for that type. + * The cast_initial array is actually an array of arrays, because each row has + * a variable number of columns. So to actually build the cast linked list, + * we find the array of casts associated with the type, and loop through it + * adding the casts to the list. The one last trick we need to do is making + * sure the type pointer in the swig_cast_info struct is correct. + * + * First off, we lookup the cast->type name to see if it is already loaded. + * There are three cases to handle: + * 1) If the cast->type has already been loaded AND the type we are adding + * casting info to has not been loaded (it is in this module), THEN we + * replace the cast->type pointer with the type pointer that has already + * been loaded. + * 2) If BOTH types (the one we are adding casting info to, and the + * cast->type) are loaded, THEN the cast info has already been loaded by + * the previous module so we just ignore it. + * 3) Finally, if cast->type has not already been loaded, then we add that + * swig_cast_info to the linked list (because the cast->type) pointer will + * be correct. + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* c-mode */ +#endif +#endif + +#if 0 +#define SWIGRUNTIME_DEBUG +#endif + + +SWIGRUNTIME void +SWIG_InitializeModule(void *clientdata) { + size_t i; + swig_module_info *module_head, *iter; + int found, init; + + clientdata = clientdata; + + /* check to see if the circular list has been setup, if not, set it up */ + if (swig_module.next==0) { + /* Initialize the swig_module */ + swig_module.type_initial = swig_type_initial; + swig_module.cast_initial = swig_cast_initial; + swig_module.next = &swig_module; + init = 1; + } else { + init = 0; + } + + /* Try and load any already created modules */ + module_head = SWIG_GetModule(clientdata); + if (!module_head) { + /* This is the first module loaded for this interpreter */ + /* so set the swig module into the interpreter */ + SWIG_SetModule(clientdata, &swig_module); + module_head = &swig_module; + } else { + /* the interpreter has loaded a SWIG module, but has it loaded this one? */ + found=0; + iter=module_head; + do { + if (iter==&swig_module) { + found=1; + break; + } + iter=iter->next; + } while (iter!= module_head); + + /* if the is found in the list, then all is done and we may leave */ + if (found) return; + /* otherwise we must add out module into the list */ + swig_module.next = module_head->next; + module_head->next = &swig_module; + } + + /* When multiple interpeters are used, a module could have already been initialized in + a different interpreter, but not yet have a pointer in this interpreter. + In this case, we do not want to continue adding types... everything should be + set up already */ + if (init == 0) return; + + /* Now work on filling in swig_module.types */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: size %d\n", swig_module.size); +#endif + for (i = 0; i < swig_module.size; ++i) { + swig_type_info *type = 0; + swig_type_info *ret; + swig_cast_info *cast; + +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); +#endif + + /* if there is another module already loaded */ + if (swig_module.next != &swig_module) { + type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); + } + if (type) { + /* Overwrite clientdata field */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found type %s\n", type->name); +#endif + if (swig_module.type_initial[i]->clientdata) { + type->clientdata = swig_module.type_initial[i]->clientdata; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); +#endif + } + } else { + type = swig_module.type_initial[i]; + } + + /* Insert casting types */ + cast = swig_module.cast_initial[i]; + while (cast->type) { + /* Don't need to add information already in the list */ + ret = 0; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); +#endif + if (swig_module.next != &swig_module) { + ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); +#ifdef SWIGRUNTIME_DEBUG + if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); +#endif + } + if (ret) { + if (type == swig_module.type_initial[i]) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: skip old type %s\n", ret->name); +#endif + cast->type = ret; + ret = 0; + } else { + /* Check for casting already in the list */ + swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); +#ifdef SWIGRUNTIME_DEBUG + if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); +#endif + if (!ocast) ret = 0; + } + } + + if (!ret) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); +#endif + if (type->cast) { + type->cast->prev = cast; + cast->next = type->cast; + } + type->cast = cast; + } + cast++; + } + /* Set entry in modules->types array equal to the type */ + swig_module.types[i] = type; + } + swig_module.types[i] = 0; + +#ifdef SWIGRUNTIME_DEBUG + printf("**** SWIG_InitializeModule: Cast List ******\n"); + for (i = 0; i < swig_module.size; ++i) { + int j = 0; + swig_cast_info *cast = swig_module.cast_initial[i]; + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); + while (cast->type) { + printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); + cast++; + ++j; + } + printf("---- Total casts: %d\n",j); + } + printf("**** SWIG_InitializeModule: Cast List ******\n"); +#endif +} + +/* This function will propagate the clientdata field of type to +* any new swig_type_info structures that have been added into the list +* of equivalent types. It is like calling +* SWIG_TypeClientData(type, clientdata) a second time. +*/ +SWIGRUNTIME void +SWIG_PropagateClientData(void) { + size_t i; + swig_cast_info *equiv; + static int init_run = 0; + + if (init_run) return; + init_run = 1; + + for (i = 0; i < swig_module.size; i++) { + if (swig_module.types[i]->clientdata) { + equiv = swig_module.types[i]->cast; + while (equiv) { + if (!equiv->converter) { + if (equiv->type && !equiv->type->clientdata) + SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); + } + equiv = equiv->next; + } + } + } +} + +#ifdef __cplusplus +#if 0 +{ + /* c-mode */ +#endif +} +#endif + + + +#ifdef __cplusplus +extern "C" { +#endif + + /* Python-specific SWIG API */ +#define SWIG_newvarlink() SWIG_Python_newvarlink() +#define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr) +#define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants) + + /* ----------------------------------------------------------------------------- + * global variable support code. + * ----------------------------------------------------------------------------- */ + + typedef struct swig_globalvar { + char *name; /* Name of global variable */ + PyObject *(*get_attr)(void); /* Return the current value */ + int (*set_attr)(PyObject *); /* Set the value */ + struct swig_globalvar *next; + } swig_globalvar; + + typedef struct swig_varlinkobject { + PyObject_HEAD + swig_globalvar *vars; + } swig_varlinkobject; + + SWIGINTERN PyObject * + swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) { +#if PY_VERSION_HEX >= 0x03000000 + return PyUnicode_InternFromString(""); +#else + return PyString_FromString(""); +#endif + } + + SWIGINTERN PyObject * + swig_varlink_str(swig_varlinkobject *v) { +#if PY_VERSION_HEX >= 0x03000000 + PyObject *str = PyUnicode_InternFromString("("); + PyObject *tail; + PyObject *joined; + swig_globalvar *var; + for (var = v->vars; var; var=var->next) { + tail = PyUnicode_FromString(var->name); + joined = PyUnicode_Concat(str, tail); + Py_DecRef(str); + Py_DecRef(tail); + str = joined; + if (var->next) { + tail = PyUnicode_InternFromString(", "); + joined = PyUnicode_Concat(str, tail); + Py_DecRef(str); + Py_DecRef(tail); + str = joined; + } + } + tail = PyUnicode_InternFromString(")"); + joined = PyUnicode_Concat(str, tail); + Py_DecRef(str); + Py_DecRef(tail); + str = joined; +#else + PyObject *str = PyString_FromString("("); + swig_globalvar *var; + for (var = v->vars; var; var=var->next) { + PyString_ConcatAndDel(&str,PyString_FromString(var->name)); + if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", ")); + } + PyString_ConcatAndDel(&str,PyString_FromString(")")); +#endif + return str; + } + + SWIGINTERN int + swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { + PyObject *str = swig_varlink_str(v); + fprintf(fp,"Swig global variables "); + fprintf(fp,"%s\n", SWIG_Python_str_AsChar(str)); + Py_DECREF(str); + return 0; + } + + SWIGINTERN void + swig_varlink_dealloc(swig_varlinkobject *v) { + swig_globalvar *var = v->vars; + while (var) { + swig_globalvar *n = var->next; + free(var->name); + free(var); + var = n; + } + } + + SWIGINTERN PyObject * + swig_varlink_getattr(swig_varlinkobject *v, char *n) { + PyObject *res = NULL; + swig_globalvar *var = v->vars; + while (var) { + if (strcmp(var->name,n) == 0) { + res = (*var->get_attr)(); + break; + } + var = var->next; + } + if (res == NULL && !PyErr_Occurred()) { + PyErr_SetString(PyExc_NameError,"Unknown C global variable"); + } + return res; + } + + SWIGINTERN int + swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { + int res = 1; + swig_globalvar *var = v->vars; + while (var) { + if (strcmp(var->name,n) == 0) { + res = (*var->set_attr)(p); + break; + } + var = var->next; + } + if (res == 1 && !PyErr_Occurred()) { + PyErr_SetString(PyExc_NameError,"Unknown C global variable"); + } + return res; + } + + SWIGINTERN PyTypeObject* + swig_varlink_type(void) { + static char varlink__doc__[] = "Swig var link object"; + static PyTypeObject varlink_type; + static int type_init = 0; + if (!type_init) { + const PyTypeObject tmp + = { + /* PyObject header changed in Python 3 */ +#if PY_VERSION_HEX >= 0x03000000 + PyVarObject_HEAD_INIT(&PyType_Type, 0) +#else + PyObject_HEAD_INIT(NULL) + 0, /* Number of items in variable part (ob_size) */ +#endif + (char *)"swigvarlink", /* Type name (tp_name) */ + sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */ + 0, /* Itemsize (tp_itemsize) */ + (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */ + (printfunc) swig_varlink_print, /* Print (tp_print) */ + (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */ + (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */ + 0, /* tp_compare */ + (reprfunc) swig_varlink_repr, /* tp_repr */ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + (reprfunc)swig_varlink_str, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + 0, /* tp_flags */ + varlink__doc__, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ +#if PY_VERSION_HEX >= 0x02020000 + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ +#endif +#if PY_VERSION_HEX >= 0x02030000 + 0, /* tp_del */ +#endif +#ifdef COUNT_ALLOCS + 0,0,0,0 /* tp_alloc -> tp_next */ +#endif + }; + varlink_type = tmp; + /* for Python 3 we already assigned the ob_type in PyVarObject_HEAD_INIT() */ +#if PY_VERSION_HEX < 0x03000000 + varlink_type.ob_type = &PyType_Type; +#endif + type_init = 1; + } + return &varlink_type; + } + + /* Create a variable linking object for use later */ + SWIGINTERN PyObject * + SWIG_Python_newvarlink(void) { + swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type()); + if (result) { + result->vars = 0; + } + return ((PyObject*) result); + } + + SWIGINTERN void + SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { + swig_varlinkobject *v = (swig_varlinkobject *) p; + swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); + if (gv) { + size_t size = strlen(name)+1; + gv->name = (char *)malloc(size); + if (gv->name) { + strncpy(gv->name,name,size); + gv->get_attr = get_attr; + gv->set_attr = set_attr; + gv->next = v->vars; + } + } + v->vars = gv; + } + + SWIGINTERN PyObject * + SWIG_globals(void) { + static PyObject *_SWIG_globals = 0; + if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink(); + return _SWIG_globals; + } + + /* ----------------------------------------------------------------------------- + * constants/methods manipulation + * ----------------------------------------------------------------------------- */ + + /* Install Constants */ + SWIGINTERN void + SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { + PyObject *obj = 0; + size_t i; + for (i = 0; constants[i].type; ++i) { + switch(constants[i].type) { + case SWIG_PY_POINTER: + obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); + break; + case SWIG_PY_BINARY: + obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); + break; + default: + obj = 0; + break; + } + if (obj) { + PyDict_SetItemString(d, constants[i].name, obj); + Py_DECREF(obj); + } + } + } + + /* -----------------------------------------------------------------------------*/ + /* Fix SwigMethods to carry the callback ptrs when needed */ + /* -----------------------------------------------------------------------------*/ + + SWIGINTERN void + SWIG_Python_FixMethods(PyMethodDef *methods, + swig_const_info *const_table, + swig_type_info **types, + swig_type_info **types_initial) { + size_t i; + for (i = 0; methods[i].ml_name; ++i) { + const char *c = methods[i].ml_doc; + if (c && (c = strstr(c, "swig_ptr: "))) { + int j; + swig_const_info *ci = 0; + const char *name = c + 10; + for (j = 0; const_table[j].type; ++j) { + if (strncmp(const_table[j].name, name, + strlen(const_table[j].name)) == 0) { + ci = &(const_table[j]); + break; + } + } + if (ci) { + size_t shift = (ci->ptype) - types; + swig_type_info *ty = types_initial[shift]; + size_t ldoc = (c - methods[i].ml_doc); + size_t lptr = strlen(ty->name)+2*sizeof(void*)+2; + char *ndoc = (char*)malloc(ldoc + lptr + 10); + if (ndoc) { + char *buff = ndoc; + void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0; + if (ptr) { + strncpy(buff, methods[i].ml_doc, ldoc); + buff += ldoc; + strncpy(buff, "swig_ptr: ", 10); + buff += 10; + SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); + methods[i].ml_doc = ndoc; + } + } + } + } + } + } + +#ifdef __cplusplus +} +#endif + +/* -----------------------------------------------------------------------------* + * Partial Init method + * -----------------------------------------------------------------------------*/ + +#ifdef __cplusplus +extern "C" +#endif + +SWIGEXPORT +#if PY_VERSION_HEX >= 0x03000000 +PyObject* +#else +void +#endif +SWIG_init(void) { + PyObject *m, *d; + + /* Fix SwigMethods to carry the callback ptrs when needed */ + SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial); +#if PY_VERSION_HEX >= 0x03000000 + static struct PyModuleDef SWIG_module = { + PyModuleDef_HEAD_INIT, + (char *) SWIG_name, + NULL, + -1, + SwigMethods, + NULL, + NULL, + NULL, + NULL + }; + + m = PyModule_Create(&SWIG_module); +#else + m = Py_InitModule((char *) SWIG_name, SwigMethods); +#endif + d = PyModule_GetDict(m); + + SWIG_InitializeModule(0); + SWIG_InstallConstants(d,swig_const_table); + + + SWIG_Python_SetConstant(d, "VERSION",SWIG_FromCharPtr("0.52")); +#if PY_VERSION_HEX >= 0x03000000 + return m; +#else + return; +#endif +} + diff --git a/CRF/python/README b/CRF/python/README new file mode 100644 index 0000000000000000000000000000000000000000..c68e74dc6defcaed39b4395ed7dbcd7222f905ca --- /dev/null +++ b/CRF/python/README @@ -0,0 +1,17 @@ +CRF++ python module + +$Id: README,v 1.1.1.1 2005/12/03 14:18:50 taku-ku Exp $; + +1. Installation + + % python setup.py build + % su + # python setup.py install + + You can change the install directory with the --prefix option. For example: + + % python setup.py install --prefix=/tmp/pybuild/foobar + +2. How to use? + + see 'test.py' as a sample program. diff --git a/CRF/python/setup.py b/CRF/python/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..348f77f1355823c5d60e80543c1a2c3f808e862d --- /dev/null +++ b/CRF/python/setup.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +from distutils.core import setup,Extension,os +import string + +setup(name = "mecab-python", + py_modules=["CRFPP"], + ext_modules = [Extension("_CRFPP", + ["CRFPP_wrap.cxx",], + libraries=["crfpp", "pthread"]) + ]) diff --git a/CRF/python/test.py b/CRF/python/test.py new file mode 100644 index 0000000000000000000000000000000000000000..2ebdb1188c9bda964f571a35c1a29c2b48ec789a --- /dev/null +++ b/CRF/python/test.py @@ -0,0 +1,68 @@ +#!/usr/bin/ruby + +import CRFPP +import sys + +try: + # -v 3: access deep information like alpha,beta,prob + # -nN: enable nbest output. N should be >= 2 + tagger = CRFPP.Tagger("-m ../model -v 3 -n2") + + # clear internal context + tagger.clear() + + # add context + tagger.add("Confidence NN") + tagger.add("in IN") + tagger.add("the DT") + tagger.add("pound NN") + tagger.add("is VBZ") + tagger.add("widely RB") + tagger.add("expected VBN") + tagger.add("to TO") + tagger.add("take VB") + tagger.add("another DT") + tagger.add("sharp JJ") + tagger.add("dive NN") + tagger.add("if IN") + tagger.add("trade NN") + tagger.add("figures NNS") + tagger.add("for IN") + tagger.add("September NNP") + + print "column size: " , tagger.xsize() + print "token size: " , tagger.size() + print "tag size: " , tagger.ysize() + + print "tagset information:" + ysize = tagger.ysize() + for i in range(0, ysize-1): + print "tag " , i , " " , tagger.yname(i) + + # parse and change internal stated as 'parsed' + tagger.parse() + + print "conditional prob=" , tagger.prob(), " log(Z)=" , tagger.Z() + + size = tagger.size() + xsize = tagger.xsize() + for i in range(0, (size - 1)): + for j in range(0, (xsize-1)): + print tagger.x(i, j) , "\t", + print tagger.y2(i) , "\t", + print "Details", + for j in range(0, (ysize-1)): + print "\t" , tagger.yname(j) , "/prob=" , tagger.prob(i,j),"/alpha=" , tagger.alpha(i, j),"/beta=" , tagger.beta(i, j), + print "\n", + + print "nbest outputs:" + for n in range(0, 9): + if (not tagger.next()): + continue + print "nbest n=" , n , "\tconditional prob=" , tagger.prob() + # you can access any information using tagger.y()... + + print "Done" + +except RuntimeError, e: + print "RuntimeError: ", e, diff --git a/CRF/ruby/CRFPP_wrap.cpp b/CRF/ruby/CRFPP_wrap.cpp new file mode 100644 index 0000000000000000000000000000000000000000..406ddaceb3af4379a6a2281f8e0791f6bd4268c0 --- /dev/null +++ b/CRF/ruby/CRFPP_wrap.cpp @@ -0,0 +1,3947 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGRUBY + + +#ifdef __cplusplus +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigMovePointer { + T *ptr; + SwigMovePointer(T *p) : ptr(p) { } + ~SwigMovePointer() { delete ptr; } + SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; } + operator T&() const { return *pointer.ptr; } + T *operator&() { return pointer.ptr; } +}; + +template T SwigValueInit() { + return T(); +} +#endif + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + +/* ----------------------------------------------------------------------------- + * swigrun.swg + * + * This file contains generic C API SWIG runtime support for pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +/* This should only be incremented when either the layout of swig_type_info changes, + or for whatever reason, the runtime changes incompatibly */ +#define SWIG_RUNTIME_VERSION "4" + +/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ +#ifdef SWIG_TYPE_TABLE +# define SWIG_QUOTE_STRING(x) #x +# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) +# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) +#else +# define SWIG_TYPE_TABLE_NAME +#endif + +/* + You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for + creating a static or dynamic library from the SWIG runtime code. + In 99.9% of the cases, SWIG just needs to declare them as 'static'. + + But only do this if strictly necessary, ie, if you have problems + with your compiler or suchlike. +*/ + +#ifndef SWIGRUNTIME +# define SWIGRUNTIME SWIGINTERN +#endif + +#ifndef SWIGRUNTIMEINLINE +# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE +#endif + +/* Generic buffer size */ +#ifndef SWIG_BUFFER_SIZE +# define SWIG_BUFFER_SIZE 1024 +#endif + +/* Flags for pointer conversions */ +#define SWIG_POINTER_DISOWN 0x1 +#define SWIG_CAST_NEW_MEMORY 0x2 + +/* Flags for new pointer objects */ +#define SWIG_POINTER_OWN 0x1 + + +/* + Flags/methods for returning states. + + The SWIG conversion methods, as ConvertPtr, return and integer + that tells if the conversion was successful or not. And if not, + an error code can be returned (see swigerrors.swg for the codes). + + Use the following macros/flags to set or process the returning + states. + + In old versions of SWIG, code such as the following was usually written: + + if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { + // success code + } else { + //fail code + } + + Now you can be more explicit: + + int res = SWIG_ConvertPtr(obj,vptr,ty.flags); + if (SWIG_IsOK(res)) { + // success code + } else { + // fail code + } + + which is the same really, but now you can also do + + Type *ptr; + int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); + if (SWIG_IsOK(res)) { + // success code + if (SWIG_IsNewObj(res) { + ... + delete *ptr; + } else { + ... + } + } else { + // fail code + } + + I.e., now SWIG_ConvertPtr can return new objects and you can + identify the case and take care of the deallocation. Of course that + also requires SWIG_ConvertPtr to return new result values, such as + + int SWIG_ConvertPtr(obj, ptr,...) { + if () { + if () { + *ptr = ; + return SWIG_NEWOBJ; + } else { + *ptr = ; + return SWIG_OLDOBJ; + } + } else { + return SWIG_BADOBJ; + } + } + + Of course, returning the plain '0(success)/-1(fail)' still works, but you can be + more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the + SWIG errors code. + + Finally, if the SWIG_CASTRANK_MODE is enabled, the result code + allows to return the 'cast rank', for example, if you have this + + int food(double) + int fooi(int); + + and you call + + food(1) // cast rank '1' (1 -> 1.0) + fooi(1) // cast rank '0' + + just use the SWIG_AddCast()/SWIG_CheckState() +*/ + +#define SWIG_OK (0) +#define SWIG_ERROR (-1) +#define SWIG_IsOK(r) (r >= 0) +#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) + +/* The CastRankLimit says how many bits are used for the cast rank */ +#define SWIG_CASTRANKLIMIT (1 << 8) +/* The NewMask denotes the object was created (using new/malloc) */ +#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) +/* The TmpMask is for in/out typemaps that use temporal objects */ +#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) +/* Simple returning values */ +#define SWIG_BADOBJ (SWIG_ERROR) +#define SWIG_OLDOBJ (SWIG_OK) +#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) +#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) +/* Check, add and del mask methods */ +#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) +#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) +#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) +#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) +#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) +#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) + +/* Cast-Rank Mode */ +#if defined(SWIG_CASTRANK_MODE) +# ifndef SWIG_TypeRank +# define SWIG_TypeRank unsigned long +# endif +# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ +# define SWIG_MAXCASTRANK (2) +# endif +# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) +# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) +SWIGINTERNINLINE int SWIG_AddCast(int r) { + return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; +} +SWIGINTERNINLINE int SWIG_CheckState(int r) { + return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; +} +#else /* no cast-rank mode */ +# define SWIG_AddCast +# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) +#endif + + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(*swig_converter_func)(void *, int *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); + +/* Structure to store information on one type */ +typedef struct swig_type_info { + const char *name; /* mangled name of this type */ + const char *str; /* human readable name of this type */ + swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ + struct swig_cast_info *cast; /* linked list of types that can cast into this type */ + void *clientdata; /* language specific type data */ + int owndata; /* flag if the structure owns the clientdata */ +} swig_type_info; + +/* Structure to store a type and conversion function used for casting */ +typedef struct swig_cast_info { + swig_type_info *type; /* pointer to type that is equivalent to this type */ + swig_converter_func converter; /* function to cast the void pointers */ + struct swig_cast_info *next; /* pointer to next cast in linked list */ + struct swig_cast_info *prev; /* pointer to the previous cast */ +} swig_cast_info; + +/* Structure used to store module information + * Each module generates one structure like this, and the runtime collects + * all of these structures and stores them in a circularly linked list.*/ +typedef struct swig_module_info { + swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ + size_t size; /* Number of types in this module */ + struct swig_module_info *next; /* Pointer to next element in circularly linked list */ + swig_type_info **type_initial; /* Array of initially generated type structures */ + swig_cast_info **cast_initial; /* Array of initially generated casting structures */ + void *clientdata; /* Language specific module data */ +} swig_module_info; + +/* + Compare two type names skipping the space characters, therefore + "char*" == "char *" and "Class" == "Class", etc. + + Return 0 when the two name types are equivalent, as in + strncmp, but skipping ' '. +*/ +SWIGRUNTIME int +SWIG_TypeNameComp(const char *f1, const char *l1, + const char *f2, const char *l2) { + for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { + while ((*f1 == ' ') && (f1 != l1)) ++f1; + while ((*f2 == ' ') && (f2 != l2)) ++f2; + if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; + } + return (int)((l1 - f1) - (l2 - f2)); +} + +/* + Check type equivalence in a name list like ||... + Return 0 if not equal, 1 if equal +*/ +SWIGRUNTIME int +SWIG_TypeEquiv(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + +/* + Check type equivalence in a name list like ||... + Return 0 if equal, -1 if nb < tb, 1 if nb > tb +*/ +SWIGRUNTIME int +SWIG_TypeCompare(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + + +/* + Check the typename +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheck(const char *c, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (strcmp(iter->type->name, c) == 0) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (iter->type == from) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Cast a pointer up an inheritance hierarchy +*/ +SWIGRUNTIMEINLINE void * +SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { + return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); +} + +/* + Dynamic pointer casting. Down an inheritance hierarchy +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* + Return the name associated with this type +*/ +SWIGRUNTIMEINLINE const char * +SWIG_TypeName(const swig_type_info *ty) { + return ty->name; +} + +/* + Return the pretty name associated with this type, + that is an unmangled type name in a form presentable to the user. +*/ +SWIGRUNTIME const char * +SWIG_TypePrettyName(const swig_type_info *type) { + /* The "str" field contains the equivalent pretty names of the + type, separated by vertical-bar characters. We choose + to print the last name, as it is often (?) the most + specific. */ + if (!type) return NULL; + if (type->str != NULL) { + const char *last_name = type->str; + const char *s; + for (s = type->str; *s; s++) + if (*s == '|') last_name = s+1; + return last_name; + } + else + return type->name; +} + +/* + Set the clientdata field for a type +*/ +SWIGRUNTIME void +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + swig_cast_info *cast = ti->cast; + /* if (ti->clientdata == clientdata) return; */ + ti->clientdata = clientdata; + + while (cast) { + if (!cast->converter) { + swig_type_info *tc = cast->type; + if (!tc->clientdata) { + SWIG_TypeClientData(tc, clientdata); + } + } + cast = cast->next; + } +} +SWIGRUNTIME void +SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { + SWIG_TypeClientData(ti, clientdata); + ti->owndata = 1; +} + +/* + Search for a swig_type_info structure only by mangled name + Search is a O(log #types) + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_MangledTypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + swig_module_info *iter = start; + do { + if (iter->size) { + register size_t l = 0; + register size_t r = iter->size - 1; + do { + /* since l+r >= 0, we can (>> 1) instead (/ 2) */ + register size_t i = (l + r) >> 1; + const char *iname = iter->types[i]->name; + if (iname) { + register int compare = strcmp(name, iname); + if (compare == 0) { + return iter->types[i]; + } else if (compare < 0) { + if (i) { + r = i - 1; + } else { + break; + } + } else if (compare > 0) { + l = i + 1; + } + } else { + break; /* should never happen */ + } + } while (l <= r); + } + iter = iter->next; + } while (iter != end); + return 0; +} + +/* + Search for a swig_type_info structure for either a mangled name or a human readable name. + It first searches the mangled names of the types, which is a O(log #types) + If a type is not found it then searches the human readable names, which is O(#types). + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + /* STEP 1: Search the name field using binary search */ + swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); + if (ret) { + return ret; + } else { + /* STEP 2: If the type hasn't been found, do a complete search + of the str field (the human readable name) */ + swig_module_info *iter = start; + do { + register size_t i = 0; + for (; i < iter->size; ++i) { + if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) + return iter->types[i]; + } + iter = iter->next; + } while (iter != end); + } + + /* neither found a match */ + return 0; +} + +/* + Pack binary data into a string +*/ +SWIGRUNTIME char * +SWIG_PackData(char *c, void *ptr, size_t sz) { + static const char hex[17] = "0123456789abcdef"; + register const unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register unsigned char uu = *u; + *(c++) = hex[(uu & 0xf0) >> 4]; + *(c++) = hex[uu & 0xf]; + } + return c; +} + +/* + Unpack binary data from a string +*/ +SWIGRUNTIME const char * +SWIG_UnpackData(const char *c, void *ptr, size_t sz) { + register unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register char d = *(c++); + register unsigned char uu; + if ((d >= '0') && (d <= '9')) + uu = ((d - '0') << 4); + else if ((d >= 'a') && (d <= 'f')) + uu = ((d - ('a'-10)) << 4); + else + return (char *) 0; + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu |= (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + uu |= (d - ('a'-10)); + else + return (char *) 0; + *u = uu; + } + return c; +} + +/* + Pack 'void *' into a string buffer. +*/ +SWIGRUNTIME char * +SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { + char *r = buff; + if ((2*sizeof(void *) + 2) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,&ptr,sizeof(void *)); + if (strlen(name) + 1 > (bsz - (r - buff))) return 0; + strcpy(r,name); + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + *ptr = (void *) 0; + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sizeof(void *)); +} + +SWIGRUNTIME char * +SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { + char *r = buff; + size_t lname = (name ? strlen(name) : 0); + if ((2*sz + 2 + lname) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + if (lname) { + strncpy(r,name,lname+1); + } else { + *r = 0; + } + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + memset(ptr,0,sz); + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sz); +} + +#ifdef __cplusplus +} +#endif + +/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + + +#include + +/* Remove global macros defined in Ruby's win32.h */ +#ifdef write +# undef write +#endif +#ifdef read +# undef read +#endif + + +/* Ruby 1.7 defines NUM2LL(), LL2NUM() and ULL2NUM() macros */ +#ifndef NUM2LL +#define NUM2LL(x) NUM2LONG((x)) +#endif +#ifndef LL2NUM +#define LL2NUM(x) INT2NUM((long) (x)) +#endif +#ifndef ULL2NUM +#define ULL2NUM(x) UINT2NUM((unsigned long) (x)) +#endif + +/* Ruby 1.7 doesn't (yet) define NUM2ULL() */ +#ifndef NUM2ULL +#ifdef HAVE_LONG_LONG +#define NUM2ULL(x) rb_num2ull((x)) +#else +#define NUM2ULL(x) NUM2ULONG(x) +#endif +#endif + +/* RSTRING_LEN, etc are new in Ruby 1.9, but ->ptr and ->len no longer work */ +/* Define these for older versions so we can just write code the new way */ +#ifndef RSTRING_LEN +# define RSTRING_LEN(x) RSTRING(x)->len +#endif +#ifndef RSTRING_PTR +# define RSTRING_PTR(x) RSTRING(x)->ptr +#endif +#ifndef RSTRING_END +# define RSTRING_END(x) (RSTRING_PTR(x) + RSTRING_LEN(x)) +#endif +#ifndef RARRAY_LEN +# define RARRAY_LEN(x) RARRAY(x)->len +#endif +#ifndef RARRAY_PTR +# define RARRAY_PTR(x) RARRAY(x)->ptr +#endif +#ifndef RFLOAT_VALUE +# define RFLOAT_VALUE(x) RFLOAT(x)->value +#endif +#ifndef DOUBLE2NUM +# define DOUBLE2NUM(x) rb_float_new(x) +#endif +#ifndef RHASH_TBL +# define RHASH_TBL(x) (RHASH(x)->tbl) +#endif +#ifndef RHASH_ITER_LEV +# define RHASH_ITER_LEV(x) (RHASH(x)->iter_lev) +#endif +#ifndef RHASH_IFNONE +# define RHASH_IFNONE(x) (RHASH(x)->ifnone) +#endif +#ifndef RHASH_SIZE +# define RHASH_SIZE(x) (RHASH(x)->tbl->num_entries) +#endif +#ifndef RHASH_EMPTY_P +# define RHASH_EMPTY_P(x) (RHASH_SIZE(x) == 0) +#endif +#ifndef RSTRUCT_LEN +# define RSTRUCT_LEN(x) RSTRUCT(x)->len +#endif +#ifndef RSTRUCT_PTR +# define RSTRUCT_PTR(x) RSTRUCT(x)->ptr +#endif + + + +/* + * Need to be very careful about how these macros are defined, especially + * when compiling C++ code or C code with an ANSI C compiler. + * + * VALUEFUNC(f) is a macro used to typecast a C function that implements + * a Ruby method so that it can be passed as an argument to API functions + * like rb_define_method() and rb_define_singleton_method(). + * + * VOIDFUNC(f) is a macro used to typecast a C function that implements + * either the "mark" or "free" stuff for a Ruby Data object, so that it + * can be passed as an argument to API functions like Data_Wrap_Struct() + * and Data_Make_Struct(). + */ + +#ifdef __cplusplus +# ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */ +# define PROTECTFUNC(f) ((VALUE (*)()) f) +# define VALUEFUNC(f) ((VALUE (*)()) f) +# define VOIDFUNC(f) ((void (*)()) f) +# else +# ifndef ANYARGS /* These definitions should work for Ruby 1.6 */ +# define PROTECTFUNC(f) ((VALUE (*)()) f) +# define VALUEFUNC(f) ((VALUE (*)()) f) +# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f) +# else /* These definitions should work for Ruby 1.7+ */ +# define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f) +# define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f) +# define VOIDFUNC(f) ((RUBY_DATA_FUNC) f) +# endif +# endif +#else +# define VALUEFUNC(f) (f) +# define VOIDFUNC(f) (f) +#endif + +/* Don't use for expressions have side effect */ +#ifndef RB_STRING_VALUE +#define RB_STRING_VALUE(s) (TYPE(s) == T_STRING ? (s) : (*(volatile VALUE *)&(s) = rb_str_to_str(s))) +#endif +#ifndef StringValue +#define StringValue(s) RB_STRING_VALUE(s) +#endif +#ifndef StringValuePtr +#define StringValuePtr(s) RSTRING_PTR(RB_STRING_VALUE(s)) +#endif +#ifndef StringValueLen +#define StringValueLen(s) RSTRING_LEN(RB_STRING_VALUE(s)) +#endif +#ifndef SafeStringValue +#define SafeStringValue(v) do {\ + StringValue(v);\ + rb_check_safe_str(v);\ +} while (0) +#endif + +#ifndef HAVE_RB_DEFINE_ALLOC_FUNC +#define rb_define_alloc_func(klass, func) rb_define_singleton_method((klass), "new", VALUEFUNC((func)), -1) +#define rb_undef_alloc_func(klass) rb_undef_method(CLASS_OF((klass)), "new") +#endif + +static VALUE _mSWIG = Qnil; + +/* ----------------------------------------------------------------------------- + * error manipulation + * ----------------------------------------------------------------------------- */ + + +/* Define some additional error types */ +#define SWIG_ObjectPreviouslyDeletedError -100 + + +/* Define custom exceptions for errors that do not map to existing Ruby + exceptions. Note this only works for C++ since a global cannot be + initialized by a funtion in C. For C, fallback to rb_eRuntimeError.*/ + +SWIGINTERN VALUE +getNullReferenceError(void) { + static int init = 0; + static VALUE rb_eNullReferenceError ; + if (!init) { + init = 1; + rb_eNullReferenceError = rb_define_class("NullReferenceError", rb_eRuntimeError); + } + return rb_eNullReferenceError; +} + +SWIGINTERN VALUE +getObjectPreviouslyDeletedError(void) { + static int init = 0; + static VALUE rb_eObjectPreviouslyDeleted ; + if (!init) { + init = 1; + rb_eObjectPreviouslyDeleted = rb_define_class("ObjectPreviouslyDeleted", rb_eRuntimeError); + } + return rb_eObjectPreviouslyDeleted; +} + + +SWIGINTERN VALUE +SWIG_Ruby_ErrorType(int SWIG_code) { + VALUE type; + switch (SWIG_code) { + case SWIG_MemoryError: + type = rb_eNoMemError; + break; + case SWIG_IOError: + type = rb_eIOError; + break; + case SWIG_RuntimeError: + type = rb_eRuntimeError; + break; + case SWIG_IndexError: + type = rb_eIndexError; + break; + case SWIG_TypeError: + type = rb_eTypeError; + break; + case SWIG_DivisionByZero: + type = rb_eZeroDivError; + break; + case SWIG_OverflowError: + type = rb_eRangeError; + break; + case SWIG_SyntaxError: + type = rb_eSyntaxError; + break; + case SWIG_ValueError: + type = rb_eArgError; + break; + case SWIG_SystemError: + type = rb_eFatal; + break; + case SWIG_AttributeError: + type = rb_eRuntimeError; + break; + case SWIG_NullReferenceError: + type = getNullReferenceError(); + break; + case SWIG_ObjectPreviouslyDeletedError: + type = getObjectPreviouslyDeletedError(); + break; + case SWIG_UnknownError: + type = rb_eRuntimeError; + break; + default: + type = rb_eRuntimeError; + } + return type; +} + + +/* This function is called when a user inputs a wrong argument to + a method. + */ +SWIGINTERN +const char* Ruby_Format_TypeError( const char* msg, + const char* type, + const char* name, + const int argn, + VALUE input ) +{ + char buf[128]; + VALUE str; + VALUE asStr; + if ( msg && *msg ) + { + str = rb_str_new2(msg); + } + else + { + str = rb_str_new(NULL, 0); + } + + str = rb_str_cat2( str, "Expected argument " ); + sprintf( buf, "%d of type ", argn-1 ); + str = rb_str_cat2( str, buf ); + str = rb_str_cat2( str, type ); + str = rb_str_cat2( str, ", but got " ); + str = rb_str_cat2( str, rb_obj_classname(input) ); + str = rb_str_cat2( str, " " ); + asStr = rb_inspect(input); + if ( RSTRING_LEN(asStr) > 30 ) + { + str = rb_str_cat( str, StringValuePtr(asStr), 30 ); + str = rb_str_cat2( str, "..." ); + } + else + { + str = rb_str_append( str, asStr ); + } + + if ( name ) + { + str = rb_str_cat2( str, "\n\tin SWIG method '" ); + str = rb_str_cat2( str, name ); + str = rb_str_cat2( str, "'" ); + } + + return StringValuePtr( str ); +} + +/* This function is called when an overloaded method fails */ +SWIGINTERN +void Ruby_Format_OverloadedError( + const int argc, + const int maxargs, + const char* method, + const char* prototypes + ) +{ + const char* msg = "Wrong # of arguments"; + if ( argc <= maxargs ) msg = "Wrong arguments"; + rb_raise(rb_eArgError,"%s for overloaded method '%s'.\n" + "Possible C/C++ prototypes are:\n%s", + msg, method, prototypes); +} + +/* ----------------------------------------------------------------------------- + * See the LICENSE file for information on copyright, usage and redistribution + * of SWIG, and the README file for authors - http://www.swig.org/release.html. + * + * rubytracking.swg + * + * This file contains support for tracking mappings from + * Ruby objects to C++ objects. This functionality is needed + * to implement mark functions for Ruby's mark and sweep + * garbage collector. + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* Ruby 1.8 actually assumes the first case. */ +#if SIZEOF_VOIDP == SIZEOF_LONG +# define SWIG2NUM(v) LONG2NUM((unsigned long)v) +# define NUM2SWIG(x) (unsigned long)NUM2LONG(x) +#elif SIZEOF_VOIDP == SIZEOF_LONG_LONG +# define SWIG2NUM(v) LL2NUM((unsigned long long)v) +# define NUM2SWIG(x) (unsigned long long)NUM2LL(x) +#else +# error sizeof(void*) is not the same as long or long long +#endif + + +/* Global Ruby hash table to store Trackings from C/C++ + structs to Ruby Objects. +*/ +static VALUE swig_ruby_trackings = Qnil; + +/* Global variable that stores a reference to the ruby + hash table delete function. */ +static ID swig_ruby_hash_delete; + +/* Setup a Ruby hash table to store Trackings */ +SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) { + /* Create a ruby hash table to store Trackings from C++ + objects to Ruby objects. */ + + /* Try to see if some other .so has already created a + tracking hash table, which we keep hidden in an instance var + in the SWIG module. + This is done to allow multiple DSOs to share the same + tracking table. + */ + ID trackings_id = rb_intern( "@__trackings__" ); + VALUE verbose = rb_gv_get("VERBOSE"); + rb_gv_set("VERBOSE", Qfalse); + swig_ruby_trackings = rb_ivar_get( _mSWIG, trackings_id ); + rb_gv_set("VERBOSE", verbose); + + /* No, it hasn't. Create one ourselves */ + if ( swig_ruby_trackings == Qnil ) + { + swig_ruby_trackings = rb_hash_new(); + rb_ivar_set( _mSWIG, trackings_id, swig_ruby_trackings ); + } + + /* Now store a reference to the hash table delete function + so that we only have to look it up once.*/ + swig_ruby_hash_delete = rb_intern("delete"); +} + +/* Get a Ruby number to reference a pointer */ +SWIGRUNTIME VALUE SWIG_RubyPtrToReference(void* ptr) { + /* We cast the pointer to an unsigned long + and then store a reference to it using + a Ruby number object. */ + + /* Convert the pointer to a Ruby number */ + return SWIG2NUM(ptr); +} + +/* Get a Ruby number to reference an object */ +SWIGRUNTIME VALUE SWIG_RubyObjectToReference(VALUE object) { + /* We cast the object to an unsigned long + and then store a reference to it using + a Ruby number object. */ + + /* Convert the Object to a Ruby number */ + return SWIG2NUM(object); +} + +/* Get a Ruby object from a previously stored reference */ +SWIGRUNTIME VALUE SWIG_RubyReferenceToObject(VALUE reference) { + /* The provided Ruby number object is a reference + to the Ruby object we want.*/ + + /* Convert the Ruby number to a Ruby object */ + return NUM2SWIG(reference); +} + +/* Add a Tracking from a C/C++ struct to a Ruby object */ +SWIGRUNTIME void SWIG_RubyAddTracking(void* ptr, VALUE object) { + /* In a Ruby hash table we store the pointer and + the associated Ruby object. The trick here is + that we cannot store the Ruby object directly - if + we do then it cannot be garbage collected. So + instead we typecast it as a unsigned long and + convert it to a Ruby number object.*/ + + /* Get a reference to the pointer as a Ruby number */ + VALUE key = SWIG_RubyPtrToReference(ptr); + + /* Get a reference to the Ruby object as a Ruby number */ + VALUE value = SWIG_RubyObjectToReference(object); + + /* Store the mapping to the global hash table. */ + rb_hash_aset(swig_ruby_trackings, key, value); +} + +/* Get the Ruby object that owns the specified C/C++ struct */ +SWIGRUNTIME VALUE SWIG_RubyInstanceFor(void* ptr) { + /* Get a reference to the pointer as a Ruby number */ + VALUE key = SWIG_RubyPtrToReference(ptr); + + /* Now lookup the value stored in the global hash table */ + VALUE value = rb_hash_aref(swig_ruby_trackings, key); + + if (value == Qnil) { + /* No object exists - return nil. */ + return Qnil; + } + else { + /* Convert this value to Ruby object */ + return SWIG_RubyReferenceToObject(value); + } +} + +/* Remove a Tracking from a C/C++ struct to a Ruby object. It + is very important to remove objects once they are destroyed + since the same memory address may be reused later to create + a new object. */ +SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) { + /* Get a reference to the pointer as a Ruby number */ + VALUE key = SWIG_RubyPtrToReference(ptr); + + /* Delete the object from the hash table by calling Ruby's + do this we need to call the Hash.delete method.*/ + rb_funcall(swig_ruby_trackings, swig_ruby_hash_delete, 1, key); +} + +/* This is a helper method that unlinks a Ruby object from its + underlying C++ object. This is needed if the lifetime of the + Ruby object is longer than the C++ object */ +SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) { + VALUE object = SWIG_RubyInstanceFor(ptr); + + if (object != Qnil) { + DATA_PTR(object) = 0; + } +} + + +#ifdef __cplusplus +} +#endif + +/* ----------------------------------------------------------------------------- + * Ruby API portion that goes into the runtime + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGINTERN VALUE +SWIG_Ruby_AppendOutput(VALUE target, VALUE o) { + if (NIL_P(target)) { + target = o; + } else { + if (TYPE(target) != T_ARRAY) { + VALUE o2 = target; + target = rb_ary_new(); + rb_ary_push(target, o2); + } + rb_ary_push(target, o); + } + return target; +} + +/* For ruby1.8.4 and earlier. */ +#ifndef RUBY_INIT_STACK + RUBY_EXTERN void Init_stack(VALUE* addr); +# define RUBY_INIT_STACK \ + VALUE variable_in_this_stack_frame; \ + Init_stack(&variable_in_this_stack_frame); +#endif + + +#ifdef __cplusplus +} +#endif + + +/* ----------------------------------------------------------------------------- + * See the LICENSE file for information on copyright, usage and redistribution + * of SWIG, and the README file for authors - http://www.swig.org/release.html. + * + * rubyrun.swg + * + * This file contains the runtime support for Ruby modules + * and includes code for managing global variables and pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +/* For backward compatibility only */ +#define SWIG_POINTER_EXCEPTION 0 + +/* for raw pointers */ +#define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Ruby_ConvertPtrAndOwn(obj, pptr, type, flags, 0) +#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Ruby_ConvertPtrAndOwn(obj, pptr, type, flags, own) +#define SWIG_NewPointerObj(ptr, type, flags) SWIG_Ruby_NewPointerObj(ptr, type, flags) +#define SWIG_AcquirePtr(ptr, own) SWIG_Ruby_AcquirePtr(ptr, own) +#define swig_owntype ruby_owntype + +/* for raw packed data */ +#define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty, flags) +#define SWIG_NewPackedObj(ptr, sz, type) SWIG_Ruby_NewPackedObj(ptr, sz, type) + +/* for class or struct pointers */ +#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) +#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) + +/* for C or C++ function pointers */ +#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0) +#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0) + +/* for C++ member pointers, ie, member methods */ +#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty) +#define SWIG_NewMemberObj(ptr, sz, type) SWIG_Ruby_NewPackedObj(ptr, sz, type) + + +/* Runtime API */ + +#define SWIG_GetModule(clientdata) SWIG_Ruby_GetModule() +#define SWIG_SetModule(clientdata, pointer) SWIG_Ruby_SetModule(pointer) + + +/* Error manipulation */ + +#define SWIG_ErrorType(code) SWIG_Ruby_ErrorType(code) +#define SWIG_Error(code, msg) rb_raise(SWIG_Ruby_ErrorType(code), msg) +#define SWIG_fail goto fail + + +/* Ruby-specific SWIG API */ + +#define SWIG_InitRuntime() SWIG_Ruby_InitRuntime() +#define SWIG_define_class(ty) SWIG_Ruby_define_class(ty) +#define SWIG_NewClassInstance(value, ty) SWIG_Ruby_NewClassInstance(value, ty) +#define SWIG_MangleStr(value) SWIG_Ruby_MangleStr(value) +#define SWIG_CheckConvert(value, ty) SWIG_Ruby_CheckConvert(value, ty) + +#include "assert.h" + +/* ----------------------------------------------------------------------------- + * pointers/data manipulation + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + VALUE klass; + VALUE mImpl; + void (*mark)(void *); + void (*destroy)(void *); + int trackObjects; +} swig_class; + + +/* Global pointer used to keep some internal SWIG stuff */ +static VALUE _cSWIG_Pointer = Qnil; +static VALUE swig_runtime_data_type_pointer = Qnil; + +/* Global IDs used to keep some internal SWIG stuff */ +static ID swig_arity_id = 0; +static ID swig_call_id = 0; + +/* + If your swig extension is to be run within an embedded ruby and has + director callbacks, you should set -DRUBY_EMBEDDED during compilation. + This will reset ruby's stack frame on each entry point from the main + program the first time a virtual director function is invoked (in a + non-recursive way). + If this is not done, you run the risk of Ruby trashing the stack. +*/ + +#ifdef RUBY_EMBEDDED + +# define SWIG_INIT_STACK \ + if ( !swig_virtual_calls ) { RUBY_INIT_STACK } \ + ++swig_virtual_calls; +# define SWIG_RELEASE_STACK --swig_virtual_calls; +# define Ruby_DirectorTypeMismatchException(x) \ + rb_raise( rb_eTypeError, x ); return c_result; + + static unsigned int swig_virtual_calls = 0; + +#else /* normal non-embedded extension */ + +# define SWIG_INIT_STACK +# define SWIG_RELEASE_STACK +# define Ruby_DirectorTypeMismatchException(x) \ + throw Swig::DirectorTypeMismatchException( x ); + +#endif /* RUBY_EMBEDDED */ + + +SWIGRUNTIME VALUE +getExceptionClass(void) { + static int init = 0; + static VALUE rubyExceptionClass ; + if (!init) { + init = 1; + rubyExceptionClass = rb_const_get(_mSWIG, rb_intern("Exception")); + } + return rubyExceptionClass; +} + +/* This code checks to see if the Ruby object being raised as part + of an exception inherits from the Ruby class Exception. If so, + the object is simply returned. If not, then a new Ruby exception + object is created and that will be returned to Ruby.*/ +SWIGRUNTIME VALUE +SWIG_Ruby_ExceptionType(swig_type_info *desc, VALUE obj) { + VALUE exceptionClass = getExceptionClass(); + if (rb_obj_is_kind_of(obj, exceptionClass)) { + return obj; + } else { + return rb_exc_new3(rb_eRuntimeError, rb_obj_as_string(obj)); + } +} + +/* Initialize Ruby runtime support */ +SWIGRUNTIME void +SWIG_Ruby_InitRuntime(void) +{ + if (_mSWIG == Qnil) { + _mSWIG = rb_define_module("SWIG"); + swig_call_id = rb_intern("call"); + swig_arity_id = rb_intern("arity"); + } +} + +/* Define Ruby class for C type */ +SWIGRUNTIME void +SWIG_Ruby_define_class(swig_type_info *type) +{ + VALUE klass; + char *klass_name = (char *) malloc(4 + strlen(type->name) + 1); + sprintf(klass_name, "TYPE%s", type->name); + if (NIL_P(_cSWIG_Pointer)) { + _cSWIG_Pointer = rb_define_class_under(_mSWIG, "Pointer", rb_cObject); + rb_undef_method(CLASS_OF(_cSWIG_Pointer), "new"); + } + klass = rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer); + free((void *) klass_name); +} + +/* Create a new pointer object */ +SWIGRUNTIME VALUE +SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags) +{ + int own = flags & SWIG_POINTER_OWN; + int track; + char *klass_name; + swig_class *sklass; + VALUE klass; + VALUE obj; + + if (!ptr) + return Qnil; + + if (type->clientdata) { + sklass = (swig_class *) type->clientdata; + + /* Are we tracking this class and have we already returned this Ruby object? */ + track = sklass->trackObjects; + if (track) { + obj = SWIG_RubyInstanceFor(ptr); + + /* Check the object's type and make sure it has the correct type. + It might not in cases where methods do things like + downcast methods. */ + if (obj != Qnil) { + VALUE value = rb_iv_get(obj, "@__swigtype__"); + char* type_name = RSTRING_PTR(value); + + if (strcmp(type->name, type_name) == 0) { + return obj; + } + } + } + + /* Create a new Ruby object */ + obj = Data_Wrap_Struct(sklass->klass, VOIDFUNC(sklass->mark), + ( own ? VOIDFUNC(sklass->destroy) : + (track ? VOIDFUNC(SWIG_RubyRemoveTracking) : 0 ) + ), ptr); + + /* If tracking is on for this class then track this object. */ + if (track) { + SWIG_RubyAddTracking(ptr, obj); + } + } else { + klass_name = (char *) malloc(4 + strlen(type->name) + 1); + sprintf(klass_name, "TYPE%s", type->name); + klass = rb_const_get(_mSWIG, rb_intern(klass_name)); + free((void *) klass_name); + obj = Data_Wrap_Struct(klass, 0, 0, ptr); + } + rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name)); + + return obj; +} + +/* Create a new class instance (always owned) */ +SWIGRUNTIME VALUE +SWIG_Ruby_NewClassInstance(VALUE klass, swig_type_info *type) +{ + VALUE obj; + swig_class *sklass = (swig_class *) type->clientdata; + obj = Data_Wrap_Struct(klass, VOIDFUNC(sklass->mark), VOIDFUNC(sklass->destroy), 0); + rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name)); + return obj; +} + +/* Get type mangle from class name */ +SWIGRUNTIMEINLINE char * +SWIG_Ruby_MangleStr(VALUE obj) +{ + VALUE stype = rb_iv_get(obj, "@__swigtype__"); + return StringValuePtr(stype); +} + +/* Acquire a pointer value */ +typedef void (*ruby_owntype)(void*); + +SWIGRUNTIME ruby_owntype +SWIG_Ruby_AcquirePtr(VALUE obj, ruby_owntype own) { + if (obj) { + ruby_owntype oldown = RDATA(obj)->dfree; + RDATA(obj)->dfree = own; + return oldown; + } else { + return 0; + } +} + +/* Convert a pointer value */ +SWIGRUNTIME int +SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, ruby_owntype *own) +{ + char *c; + swig_cast_info *tc; + void *vptr = 0; + + /* Grab the pointer */ + if (NIL_P(obj)) { + *ptr = 0; + return SWIG_OK; + } else { + if (TYPE(obj) != T_DATA) { + return SWIG_ERROR; + } + Data_Get_Struct(obj, void, vptr); + } + + if (own) *own = RDATA(obj)->dfree; + + /* Check to see if the input object is giving up ownership + of the underlying C struct or C++ object. If so then we + need to reset the destructor since the Ruby object no + longer owns the underlying C++ object.*/ + if (flags & SWIG_POINTER_DISOWN) { + /* Is tracking on for this class? */ + int track = 0; + if (ty && ty->clientdata) { + swig_class *sklass = (swig_class *) ty->clientdata; + track = sklass->trackObjects; + } + + if (track) { + /* We are tracking objects for this class. Thus we change the destructor + * to SWIG_RubyRemoveTracking. This allows us to + * remove the mapping from the C++ to Ruby object + * when the Ruby object is garbage collected. If we don't + * do this, then it is possible we will return a reference + * to a Ruby object that no longer exists thereby crashing Ruby. */ + RDATA(obj)->dfree = SWIG_RubyRemoveTracking; + } else { + RDATA(obj)->dfree = 0; + } + } + + /* Do type-checking if type info was provided */ + if (ty) { + if (ty->clientdata) { + if (rb_obj_is_kind_of(obj, ((swig_class *) (ty->clientdata))->klass)) { + if (vptr == 0) { + /* The object has already been deleted */ + return SWIG_ObjectPreviouslyDeletedError; + } + *ptr = vptr; + return SWIG_OK; + } + } + if ((c = SWIG_MangleStr(obj)) == NULL) { + return SWIG_ERROR; + } + tc = SWIG_TypeCheck(c, ty); + if (!tc) { + return SWIG_ERROR; + } else { + int newmemory = 0; + *ptr = SWIG_TypeCast(tc, vptr, &newmemory); + assert(!newmemory); /* newmemory handling not yet implemented */ + } + } else { + *ptr = vptr; + } + + return SWIG_OK; +} + +/* Check convert */ +SWIGRUNTIMEINLINE int +SWIG_Ruby_CheckConvert(VALUE obj, swig_type_info *ty) +{ + char *c = SWIG_MangleStr(obj); + if (!c) return 0; + return SWIG_TypeCheck(c,ty) != 0; +} + +SWIGRUNTIME VALUE +SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) { + char result[1024]; + char *r = result; + if ((2*sz + 1 + strlen(type->name)) > 1000) return 0; + *(r++) = '_'; + r = SWIG_PackData(r, ptr, sz); + strcpy(r, type->name); + return rb_str_new2(result); +} + +/* Convert a packed value value */ +SWIGRUNTIME int +SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) { + swig_cast_info *tc; + const char *c; + + if (TYPE(obj) != T_STRING) goto type_error; + c = StringValuePtr(obj); + /* Pointer values must start with leading underscore */ + if (*c != '_') goto type_error; + c++; + c = SWIG_UnpackData(c, ptr, sz); + if (ty) { + tc = SWIG_TypeCheck(c, ty); + if (!tc) goto type_error; + } + return SWIG_OK; + + type_error: + return SWIG_ERROR; +} + +SWIGRUNTIME swig_module_info * +SWIG_Ruby_GetModule(void) +{ + VALUE pointer; + swig_module_info *ret = 0; + VALUE verbose = rb_gv_get("VERBOSE"); + + /* temporarily disable warnings, since the pointer check causes warnings with 'ruby -w' */ + rb_gv_set("VERBOSE", Qfalse); + + /* first check if pointer already created */ + pointer = rb_gv_get("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME); + if (pointer != Qnil) { + Data_Get_Struct(pointer, swig_module_info, ret); + } + + /* reinstate warnings */ + rb_gv_set("VERBOSE", verbose); + return ret; +} + +SWIGRUNTIME void +SWIG_Ruby_SetModule(swig_module_info *pointer) +{ + /* register a new class */ + VALUE cl = rb_define_class("swig_runtime_data", rb_cObject); + /* create and store the structure pointer to a global variable */ + swig_runtime_data_type_pointer = Data_Wrap_Struct(cl, 0, 0, pointer); + rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer); +} + +/* This function can be used to check whether a proc or method or similarly + callable function has been passed. Usually used in a %typecheck, like: + + %typecheck(c_callback_t, precedence=SWIG_TYPECHECK_POINTER) { + $result = SWIG_Ruby_isCallable( $input ); + } + */ +SWIGINTERN +int SWIG_Ruby_isCallable( VALUE proc ) +{ + if ( rb_respond_to( proc, swig_call_id ) == Qtrue ) + return 1; + return 0; +} + +/* This function can be used to check the arity (number of arguments) + a proc or method can take. Usually used in a %typecheck. + Valid arities will be that equal to minimal or those < 0 + which indicate a variable number of parameters at the end. + */ +SWIGINTERN +int SWIG_Ruby_arity( VALUE proc, int minimal ) +{ + if ( rb_respond_to( proc, swig_arity_id ) == Qtrue ) + { + VALUE num = rb_funcall( proc, swig_arity_id, 0 ); + int arity = NUM2INT(num); + if ( arity < 0 && (arity+1) < -minimal ) return 1; + if ( arity == minimal ) return 1; + return 1; + } + return 0; +} + + +#ifdef __cplusplus +} +#endif + + + +#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) + +#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else + + + + #define SWIG_exception(code, msg) do { SWIG_Error(code, msg);; } while(0) + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_CRFPP__Tagger swig_types[0] +#define SWIGTYPE_p_char swig_types[1] +static swig_type_info *swig_types[3]; +static swig_module_info swig_module = {swig_types, 2, 0, 0, 0, 0}; +#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) +#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) + +/* -------- TYPES TABLE (END) -------- */ + +#define SWIG_init Init_CRFPP +#define SWIG_name "CRFPP" + +static VALUE mCRFPP; + +#define SWIG_RUBY_THREAD_BEGIN_BLOCK +#define SWIG_RUBY_THREAD_END_BLOCK + + +#define SWIGVERSION 0x010338 +#define SWIG_VERSION SWIGVERSION + + +#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) +#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) + + +#include + + +#include "crfpp.h" + + + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + + + +#include +#if !defined(SWIG_NO_LLONG_MAX) +# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) +# define LLONG_MAX __LONG_LONG_MAX__ +# define LLONG_MIN (-LLONG_MAX - 1LL) +# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) +# endif +#endif + + +SWIGINTERN VALUE +SWIG_ruby_failed(void) +{ + return Qnil; +} + + +/*@SWIG:/usr/local/share/swig/1.3.38/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/ +SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args) +{ + VALUE obj = args[0]; + VALUE type = TYPE(obj); + unsigned long *res = (unsigned long *)(args[1]); + *res = type == T_FIXNUM ? NUM2ULONG(obj) : rb_big2ulong(obj); + return obj; +} +/*@SWIG@*/ + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val) +{ + VALUE type = TYPE(obj); + if ((type == T_FIXNUM) || (type == T_BIGNUM)) { + unsigned long v; + VALUE a[2]; + a[0] = obj; + a[1] = (VALUE)(&v); + if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) { + if (val) *val = v; + return SWIG_OK; + } + } + return SWIG_TypeError; +} + + +SWIGINTERN int +SWIG_AsVal_unsigned_SS_int (VALUE obj, unsigned int *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long (obj, &v); + if (SWIG_IsOK(res)) { + if ((v > UINT_MAX)) { + return SWIG_OverflowError; + } else { + if (val) *val = static_cast< unsigned int >(v); + } + } + return res; +} + + + #define SWIG_From_long LONG2NUM + + +SWIGINTERNINLINE VALUE +SWIG_From_unsigned_SS_long (unsigned long value) +{ + return ULONG2NUM(value); +} + + +SWIGINTERNINLINE VALUE +SWIG_From_unsigned_SS_int (unsigned int value) +{ + return SWIG_From_unsigned_SS_long (value); +} + + +#include + + +/*@SWIG:/usr/local/share/swig/1.3.38/ruby/rubyprimtypes.swg,23,%ruby_aux_method@*/ +SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE *args) +{ + VALUE obj = args[0]; + VALUE type = TYPE(obj); + double *res = (double *)(args[1]); + *res = (type == T_FLOAT ? NUM2DBL(obj) : (type == T_FIXNUM ? (double) FIX2INT(obj) : rb_big2dbl(obj))); + return obj; +} +/*@SWIG@*/ + +SWIGINTERN int +SWIG_AsVal_double (VALUE obj, double *val) +{ + VALUE type = TYPE(obj); + if ((type == T_FLOAT) || (type == T_FIXNUM) || (type == T_BIGNUM)) { + double v; + VALUE a[2]; + a[0] = obj; + a[1] = (VALUE)(&v); + if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2DBL), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) { + if (val) *val = v; + return SWIG_OK; + } + } + return SWIG_TypeError; +} + + +SWIGINTERN int +SWIG_AsVal_float (VALUE obj, float *val) +{ + double v; + int res = SWIG_AsVal_double (obj, &v); + if (SWIG_IsOK(res)) { + if ((v < -FLT_MAX || v > FLT_MAX)) { + return SWIG_OverflowError; + } else { + if (val) *val = static_cast< float >(v); + } + } + return res; +} + + + #define SWIG_From_double rb_float_new + + +SWIGINTERNINLINE VALUE +SWIG_From_float (float value) +{ + return SWIG_From_double (value); +} + + +SWIGINTERNINLINE int +SWIG_AsVal_size_t (VALUE obj, size_t *val) +{ + unsigned long v; + int res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0); + if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v); + return res; +} + + +SWIGINTERNINLINE VALUE +SWIG_From_size_t (size_t value) +{ + return SWIG_From_unsigned_SS_long (static_cast< unsigned long >(value)); +} + + +SWIGINTERN swig_type_info* +SWIG_pchar_descriptor(void) +{ + static int init = 0; + static swig_type_info* info = 0; + if (!init) { + info = SWIG_TypeQuery("_p_char"); + init = 1; + } + return info; +} + + +SWIGINTERN int +SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc) +{ + if (TYPE(obj) == T_STRING) { + #if defined(StringValuePtr) + char *cstr = StringValuePtr(obj); + #else + char *cstr = STR2CSTR(obj); + #endif + size_t size = RSTRING_LEN(obj) + 1; + if (cptr) { + if (alloc) { + if (*alloc == SWIG_NEWOBJ) { + *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size))); + } else { + *cptr = cstr; + *alloc = SWIG_OLDOBJ; + } + } + } + if (psize) *psize = size; + return SWIG_OK; + } else { + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + if (pchar_descriptor) { + void* vptr = 0; + if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) { + if (cptr) *cptr = (char *)vptr; + if (psize) *psize = vptr ? (strlen((char*)vptr) + 1) : 0; + if (alloc) *alloc = SWIG_OLDOBJ; + return SWIG_OK; + } + } + } + return SWIG_TypeError; +} + + + + + +SWIGINTERNINLINE VALUE +SWIG_From_bool (bool value) +{ + return value ? Qtrue : Qfalse; +} + + +SWIGINTERNINLINE VALUE +SWIG_FromCharPtrAndSize(const char* carray, size_t size) +{ + if (carray) { + if (size > LONG_MAX) { + swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); + return pchar_descriptor ? + SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : Qnil; + } else { + return rb_str_new(carray, static_cast< long >(size)); + } + } else { + return Qnil; + } +} + + +SWIGINTERNINLINE VALUE +SWIG_FromCharPtr(const char *cptr) +{ + return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); +} + +swig_class cTagger; + +SWIGINTERN VALUE +_wrap_Tagger_set_vlevel(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + unsigned int arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int val2 ; + int ecode2 = 0 ; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","set_vlevel", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_unsigned_SS_int(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "unsigned int","set_vlevel", 2, argv[0] )); + } + arg2 = static_cast< unsigned int >(val2); + { + try { + (arg1)->set_vlevel(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + return Qnil; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_vlevel(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + unsigned int result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","vlevel", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (unsigned int)((CRFPP::Tagger const *)arg1)->vlevel(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_set_cost_factor(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + float arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + float val2 ; + int ecode2 = 0 ; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","set_cost_factor", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_float(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "float","set_cost_factor", 2, argv[0] )); + } + arg2 = static_cast< float >(val2); + { + try { + (arg1)->set_cost_factor(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + return Qnil; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_cost_factor(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + float result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","cost_factor", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (float)((CRFPP::Tagger const *)arg1)->cost_factor(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_float(static_cast< float >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_set_nbest(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","set_nbest", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","set_nbest", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + { + try { + (arg1)->set_nbest(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + return Qnil; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_nbest(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","nbest", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->nbest(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_add(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + bool result; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","add", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","add", 2, argv[0] )); + } + arg2 = reinterpret_cast< char * >(buf2); + { + try { + result = (bool)(arg1)->add((char const *)arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_bool(static_cast< bool >(result)); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return vresult; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return Qnil; +} + + + +/* + Document-method: CRFPP::Tagger.size + + call-seq: + size -> size_t + +Size or Length of the Tagger. +*/ +SWIGINTERN VALUE +_wrap_Tagger_size(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","size", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->size(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_xsize(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","xsize", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->xsize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_dsize(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","dsize", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->dsize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_result(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","result", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","result", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->result(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_answer(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","answer", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","answer", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->answer(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_y(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","y", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","y", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = ((CRFPP::Tagger const *)arg1)->y(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_y2(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + char *result = 0 ; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","y2", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","y2", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->y2(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_FromCharPtr((const char *)result); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_yname(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + char *result = 0 ; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","yname", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","yname", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->yname(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_FromCharPtr((const char *)result); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_x(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + char *result = 0 ; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","x", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","x", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","x", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (char *)((CRFPP::Tagger const *)arg1)->x(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_FromCharPtr((const char *)result); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_ysize(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","ysize", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = ((CRFPP::Tagger const *)arg1)->ysize(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_size_t(static_cast< size_t >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_prob__SWIG_0(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","prob", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","prob", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","prob", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_prob__SWIG_1(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","prob", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","prob", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_prob__SWIG_2(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","prob", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prob(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE _wrap_Tagger_prob(int nargs, VALUE *args, VALUE self) { + int argc; + VALUE argv[4]; + int ii; + + argc = nargs + 1; + argv[0] = self; + if (argc > 4) SWIG_fail; + for (ii = 1; (ii < argc); ++ii) { + argv[ii] = args[ii-1]; + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Tagger_prob__SWIG_2(nargs, args, self); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_Tagger_prob__SWIG_1(nargs, args, self); + } + } + } + if (argc == 3) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[1], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + { + int res = SWIG_AsVal_size_t(argv[2], NULL); + _v = SWIG_CheckState(res); + } + if (_v) { + return _wrap_Tagger_prob__SWIG_0(nargs, args, self); + } + } + } + } + +fail: + Ruby_Format_OverloadedError( argc, 4, "Tagger.prob", + " double Tagger.prob(size_t i, size_t j)\n" + " double Tagger.prob(size_t i)\n" + " double Tagger.prob()\n"); + + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_alpha(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","alpha", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","alpha", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","alpha", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->alpha(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_beta(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","beta", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","beta", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","beta", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->beta(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_emission_cost(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","emission_cost", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","emission_cost", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","emission_cost", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->emission_cost(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_next_transition_cost(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + size_t val4 ; + int ecode4 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 3) || (argc > 3)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","next_transition_cost", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","next_transition_cost", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","next_transition_cost", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + ecode4 = SWIG_AsVal_size_t(argv[2], &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "size_t","next_transition_cost", 4, argv[2] )); + } + arg4 = static_cast< size_t >(val4); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->next_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_prev_transition_cost(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + size_t arg4 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + size_t val4 ; + int ecode4 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 3) || (argc > 3)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 3)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","prev_transition_cost", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","prev_transition_cost", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","prev_transition_cost", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + ecode4 = SWIG_AsVal_size_t(argv[2], &val4); + if (!SWIG_IsOK(ecode4)) { + SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "size_t","prev_transition_cost", 4, argv[2] )); + } + arg4 = static_cast< size_t >(val4); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->prev_transition_cost(arg2,arg3,arg4); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_best_cost(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + size_t arg2 ; + size_t arg3 ; + void *argp1 = 0 ; + int res1 = 0 ; + size_t val2 ; + int ecode2 = 0 ; + size_t val3 ; + int ecode3 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 2) || (argc > 2)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","best_cost", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + ecode2 = SWIG_AsVal_size_t(argv[0], &val2); + if (!SWIG_IsOK(ecode2)) { + SWIG_exception_fail(SWIG_ArgError(ecode2), Ruby_Format_TypeError( "", "size_t","best_cost", 2, argv[0] )); + } + arg2 = static_cast< size_t >(val2); + ecode3 = SWIG_AsVal_size_t(argv[1], &val3); + if (!SWIG_IsOK(ecode3)) { + SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "size_t","best_cost", 3, argv[1] )); + } + arg3 = static_cast< size_t >(val3); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->best_cost(arg2,arg3); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_Z(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + double result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","Z", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (double)((CRFPP::Tagger const *)arg1)->Z(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_double(static_cast< double >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_parse__SWIG_0(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + bool result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","parse", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->parse(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_bool(static_cast< bool >(result)); + return vresult; +fail: + return Qnil; +} + + + +/* + Document-method: CRFPP::Tagger.empty + + call-seq: + empty -> bool + +Check if Tagger is empty. +*/ +SWIGINTERN VALUE +_wrap_Tagger_empty(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + bool result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger const *","empty", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)((CRFPP::Tagger const *)arg1)->empty(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_bool(static_cast< bool >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_clear(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + bool result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","clear", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->clear(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_bool(static_cast< bool >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_next(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + bool result; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","next", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (bool)(arg1)->next(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_From_bool(static_cast< bool >(result)); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_parse__SWIG_1(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + char *arg2 = (char *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + int res2 ; + char *buf2 = 0 ; + int alloc2 = 0 ; + char *result = 0 ; + VALUE vresult = Qnil; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","parse", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2); + if (!SWIG_IsOK(res2)) { + SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char const *","parse", 2, argv[0] )); + } + arg2 = reinterpret_cast< char * >(buf2); + { + try { + result = (char *)(arg1)->parse((char const *)arg2); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_FromCharPtr((const char *)result); + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return vresult; +fail: + if (alloc2 == SWIG_NEWOBJ) delete[] buf2; + return Qnil; +} + + +SWIGINTERN VALUE _wrap_Tagger_parse(int nargs, VALUE *args, VALUE self) { + int argc; + VALUE argv[3]; + int ii; + + argc = nargs + 1; + argv[0] = self; + if (argc > 3) SWIG_fail; + for (ii = 1; (ii < argc); ++ii) { + argv[ii] = args[ii-1]; + } + if (argc == 1) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Tagger_parse__SWIG_0(nargs, args, self); + } + } + if (argc == 2) { + int _v; + void *vptr = 0; + int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CRFPP__Tagger, 0); + _v = SWIG_CheckState(res); + if (_v) { + int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); + _v = SWIG_CheckState(res); + if (_v) { + return _wrap_Tagger_parse__SWIG_1(nargs, args, self); + } + } + } + +fail: + Ruby_Format_OverloadedError( argc, 3, "Tagger.parse", + " char const * Tagger.parse()\n" + " char const * Tagger.parse(char const *str)\n"); + + return Qnil; +} + + +SWIGINTERN VALUE +_wrap_Tagger_what(int argc, VALUE *argv, VALUE self) { + CRFPP::Tagger *arg1 = (CRFPP::Tagger *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; + char *result = 0 ; + VALUE vresult = Qnil; + + if ((argc < 0) || (argc > 0)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail; + } + res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_CRFPP__Tagger, 0 | 0 ); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "CRFPP::Tagger *","what", 1, self )); + } + arg1 = reinterpret_cast< CRFPP::Tagger * >(argp1); + { + try { + result = (char *)(arg1)->what(); + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + vresult = SWIG_FromCharPtr((const char *)result); + return vresult; +fail: + return Qnil; +} + + +SWIGINTERN void +free_CRFPP_Tagger(CRFPP::Tagger *arg1) { + delete arg1; +} + +#ifdef HAVE_RB_DEFINE_ALLOC_FUNC +SWIGINTERN VALUE +_wrap_Tagger_allocate(VALUE self) { +#else + SWIGINTERN VALUE + _wrap_Tagger_allocate(int argc, VALUE *argv, VALUE self) { +#endif + + + VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_CRFPP__Tagger); +#ifndef HAVE_RB_DEFINE_ALLOC_FUNC + rb_obj_call_init(vresult, argc, argv); +#endif + return vresult; + } + + +SWIGINTERN VALUE +_wrap_new_Tagger(int argc, VALUE *argv, VALUE self) { + char *arg1 = (char *) 0 ; + int res1 ; + char *buf1 = 0 ; + int alloc1 = 0 ; + CRFPP::Tagger *result = 0 ; + + if ((argc < 1) || (argc > 1)) { + rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail; + } + res1 = SWIG_AsCharPtrAndSize(argv[0], &buf1, NULL, &alloc1); + if (!SWIG_IsOK(res1)) { + SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "char const *","CRFPP::Tagger", 1, argv[0] )); + } + arg1 = reinterpret_cast< char * >(buf1); + { + try { + result = (CRFPP::Tagger *)new_CRFPP_Tagger((char const *)arg1); + DATA_PTR(self) = result; + } + catch (char *e) { + SWIG_exception (SWIG_RuntimeError, e); + } + catch (const char *e) { + SWIG_exception (SWIG_RuntimeError, (char*)e); + } + } + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return self; +fail: + if (alloc1 == SWIG_NEWOBJ) delete[] buf1; + return Qnil; +} + + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static swig_type_info _swigt__p_CRFPP__Tagger = {"_p_CRFPP__Tagger", "CRFPP::Tagger *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; + +static swig_type_info *swig_type_initial[] = { + &_swigt__p_CRFPP__Tagger, + &_swigt__p_char, +}; + +static swig_cast_info _swigc__p_CRFPP__Tagger[] = { {&_swigt__p_CRFPP__Tagger, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; + +static swig_cast_info *swig_cast_initial[] = { + _swigc__p_CRFPP__Tagger, + _swigc__p_char, +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +/* ----------------------------------------------------------------------------- + * Type initialization: + * This problem is tough by the requirement that no dynamic + * memory is used. Also, since swig_type_info structures store pointers to + * swig_cast_info structures and swig_cast_info structures store pointers back + * to swig_type_info structures, we need some lookup code at initialization. + * The idea is that swig generates all the structures that are needed. + * The runtime then collects these partially filled structures. + * The SWIG_InitializeModule function takes these initial arrays out of + * swig_module, and does all the lookup, filling in the swig_module.types + * array with the correct data and linking the correct swig_cast_info + * structures together. + * + * The generated swig_type_info structures are assigned staticly to an initial + * array. We just loop through that array, and handle each type individually. + * First we lookup if this type has been already loaded, and if so, use the + * loaded structure instead of the generated one. Then we have to fill in the + * cast linked list. The cast data is initially stored in something like a + * two-dimensional array. Each row corresponds to a type (there are the same + * number of rows as there are in the swig_type_initial array). Each entry in + * a column is one of the swig_cast_info structures for that type. + * The cast_initial array is actually an array of arrays, because each row has + * a variable number of columns. So to actually build the cast linked list, + * we find the array of casts associated with the type, and loop through it + * adding the casts to the list. The one last trick we need to do is making + * sure the type pointer in the swig_cast_info struct is correct. + * + * First off, we lookup the cast->type name to see if it is already loaded. + * There are three cases to handle: + * 1) If the cast->type has already been loaded AND the type we are adding + * casting info to has not been loaded (it is in this module), THEN we + * replace the cast->type pointer with the type pointer that has already + * been loaded. + * 2) If BOTH types (the one we are adding casting info to, and the + * cast->type) are loaded, THEN the cast info has already been loaded by + * the previous module so we just ignore it. + * 3) Finally, if cast->type has not already been loaded, then we add that + * swig_cast_info to the linked list (because the cast->type) pointer will + * be correct. + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* c-mode */ +#endif +#endif + +#if 0 +#define SWIGRUNTIME_DEBUG +#endif + + +SWIGRUNTIME void +SWIG_InitializeModule(void *clientdata) { + size_t i; + swig_module_info *module_head, *iter; + int found, init; + + clientdata = clientdata; + + /* check to see if the circular list has been setup, if not, set it up */ + if (swig_module.next==0) { + /* Initialize the swig_module */ + swig_module.type_initial = swig_type_initial; + swig_module.cast_initial = swig_cast_initial; + swig_module.next = &swig_module; + init = 1; + } else { + init = 0; + } + + /* Try and load any already created modules */ + module_head = SWIG_GetModule(clientdata); + if (!module_head) { + /* This is the first module loaded for this interpreter */ + /* so set the swig module into the interpreter */ + SWIG_SetModule(clientdata, &swig_module); + module_head = &swig_module; + } else { + /* the interpreter has loaded a SWIG module, but has it loaded this one? */ + found=0; + iter=module_head; + do { + if (iter==&swig_module) { + found=1; + break; + } + iter=iter->next; + } while (iter!= module_head); + + /* if the is found in the list, then all is done and we may leave */ + if (found) return; + /* otherwise we must add out module into the list */ + swig_module.next = module_head->next; + module_head->next = &swig_module; + } + + /* When multiple interpeters are used, a module could have already been initialized in + a different interpreter, but not yet have a pointer in this interpreter. + In this case, we do not want to continue adding types... everything should be + set up already */ + if (init == 0) return; + + /* Now work on filling in swig_module.types */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: size %d\n", swig_module.size); +#endif + for (i = 0; i < swig_module.size; ++i) { + swig_type_info *type = 0; + swig_type_info *ret; + swig_cast_info *cast; + +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); +#endif + + /* if there is another module already loaded */ + if (swig_module.next != &swig_module) { + type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); + } + if (type) { + /* Overwrite clientdata field */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found type %s\n", type->name); +#endif + if (swig_module.type_initial[i]->clientdata) { + type->clientdata = swig_module.type_initial[i]->clientdata; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); +#endif + } + } else { + type = swig_module.type_initial[i]; + } + + /* Insert casting types */ + cast = swig_module.cast_initial[i]; + while (cast->type) { + + /* Don't need to add information already in the list */ + ret = 0; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); +#endif + if (swig_module.next != &swig_module) { + ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); +#ifdef SWIGRUNTIME_DEBUG + if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); +#endif + } + if (ret) { + if (type == swig_module.type_initial[i]) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: skip old type %s\n", ret->name); +#endif + cast->type = ret; + ret = 0; + } else { + /* Check for casting already in the list */ + swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); +#ifdef SWIGRUNTIME_DEBUG + if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); +#endif + if (!ocast) ret = 0; + } + } + + if (!ret) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); +#endif + if (type->cast) { + type->cast->prev = cast; + cast->next = type->cast; + } + type->cast = cast; + } + cast++; + } + /* Set entry in modules->types array equal to the type */ + swig_module.types[i] = type; + } + swig_module.types[i] = 0; + +#ifdef SWIGRUNTIME_DEBUG + printf("**** SWIG_InitializeModule: Cast List ******\n"); + for (i = 0; i < swig_module.size; ++i) { + int j = 0; + swig_cast_info *cast = swig_module.cast_initial[i]; + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); + while (cast->type) { + printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); + cast++; + ++j; + } + printf("---- Total casts: %d\n",j); + } + printf("**** SWIG_InitializeModule: Cast List ******\n"); +#endif +} + +/* This function will propagate the clientdata field of type to +* any new swig_type_info structures that have been added into the list +* of equivalent types. It is like calling +* SWIG_TypeClientData(type, clientdata) a second time. +*/ +SWIGRUNTIME void +SWIG_PropagateClientData(void) { + size_t i; + swig_cast_info *equiv; + static int init_run = 0; + + if (init_run) return; + init_run = 1; + + for (i = 0; i < swig_module.size; i++) { + if (swig_module.types[i]->clientdata) { + equiv = swig_module.types[i]->cast; + while (equiv) { + if (!equiv->converter) { + if (equiv->type && !equiv->type->clientdata) + SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); + } + equiv = equiv->next; + } + } + } +} + +#ifdef __cplusplus +#if 0 +{ /* c-mode */ +#endif +} +#endif + +/* + +*/ +#ifdef __cplusplus +extern "C" +#endif +SWIGEXPORT void Init_CRFPP(void) { + size_t i; + + SWIG_InitRuntime(); + mCRFPP = rb_define_module("CRFPP"); + + SWIG_InitializeModule(0); + for (i = 0; i < swig_module.size; i++) { + SWIG_define_class(swig_module.types[i]); + } + + SWIG_RubyInitializeTrackings(); + + cTagger.klass = rb_define_class_under(mCRFPP, "Tagger", rb_cObject); + SWIG_TypeClientData(SWIGTYPE_p_CRFPP__Tagger, (void *) &cTagger); + rb_define_alloc_func(cTagger.klass, _wrap_Tagger_allocate); + rb_define_method(cTagger.klass, "initialize", VALUEFUNC(_wrap_new_Tagger), -1); + rb_define_method(cTagger.klass, "set_vlevel", VALUEFUNC(_wrap_Tagger_set_vlevel), -1); + rb_define_method(cTagger.klass, "vlevel", VALUEFUNC(_wrap_Tagger_vlevel), -1); + rb_define_method(cTagger.klass, "set_cost_factor", VALUEFUNC(_wrap_Tagger_set_cost_factor), -1); + rb_define_method(cTagger.klass, "cost_factor", VALUEFUNC(_wrap_Tagger_cost_factor), -1); + rb_define_method(cTagger.klass, "set_nbest", VALUEFUNC(_wrap_Tagger_set_nbest), -1); + rb_define_method(cTagger.klass, "nbest", VALUEFUNC(_wrap_Tagger_nbest), -1); + rb_define_method(cTagger.klass, "add", VALUEFUNC(_wrap_Tagger_add), -1); + rb_define_method(cTagger.klass, "size", VALUEFUNC(_wrap_Tagger_size), -1); + rb_define_method(cTagger.klass, "xsize", VALUEFUNC(_wrap_Tagger_xsize), -1); + rb_define_method(cTagger.klass, "dsize", VALUEFUNC(_wrap_Tagger_dsize), -1); + rb_define_method(cTagger.klass, "result", VALUEFUNC(_wrap_Tagger_result), -1); + rb_define_method(cTagger.klass, "answer", VALUEFUNC(_wrap_Tagger_answer), -1); + rb_define_method(cTagger.klass, "y", VALUEFUNC(_wrap_Tagger_y), -1); + rb_define_method(cTagger.klass, "y2", VALUEFUNC(_wrap_Tagger_y2), -1); + rb_define_method(cTagger.klass, "yname", VALUEFUNC(_wrap_Tagger_yname), -1); + rb_define_method(cTagger.klass, "x", VALUEFUNC(_wrap_Tagger_x), -1); + rb_define_method(cTagger.klass, "ysize", VALUEFUNC(_wrap_Tagger_ysize), -1); + rb_define_method(cTagger.klass, "prob", VALUEFUNC(_wrap_Tagger_prob), -1); + rb_define_method(cTagger.klass, "alpha", VALUEFUNC(_wrap_Tagger_alpha), -1); + rb_define_method(cTagger.klass, "beta", VALUEFUNC(_wrap_Tagger_beta), -1); + rb_define_method(cTagger.klass, "emission_cost", VALUEFUNC(_wrap_Tagger_emission_cost), -1); + rb_define_method(cTagger.klass, "next_transition_cost", VALUEFUNC(_wrap_Tagger_next_transition_cost), -1); + rb_define_method(cTagger.klass, "prev_transition_cost", VALUEFUNC(_wrap_Tagger_prev_transition_cost), -1); + rb_define_method(cTagger.klass, "best_cost", VALUEFUNC(_wrap_Tagger_best_cost), -1); + rb_define_method(cTagger.klass, "Z", VALUEFUNC(_wrap_Tagger_Z), -1); + rb_define_method(cTagger.klass, "empty", VALUEFUNC(_wrap_Tagger_empty), -1); + rb_define_method(cTagger.klass, "clear", VALUEFUNC(_wrap_Tagger_clear), -1); + rb_define_method(cTagger.klass, "next", VALUEFUNC(_wrap_Tagger_next), -1); + rb_define_method(cTagger.klass, "parse", VALUEFUNC(_wrap_Tagger_parse), -1); + rb_define_method(cTagger.klass, "what", VALUEFUNC(_wrap_Tagger_what), -1); + cTagger.mark = 0; + cTagger.destroy = (void (*)(void *)) free_CRFPP_Tagger; + cTagger.trackObjects = 0; + rb_define_const(mCRFPP, "VERSION", SWIG_FromCharPtr("0.52")); +} + diff --git a/CRF/ruby/Makefile b/CRF/ruby/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..f640229a1230c6214f2d7022d1adadf68a9a5d7c --- /dev/null +++ b/CRF/ruby/Makefile @@ -0,0 +1,157 @@ + +SHELL = /bin/sh + +#### Start of system configuration section. #### + +srcdir = . +topdir = /usr/lib/ruby/1.8/x86_64-linux +hdrdir = $(topdir) +VPATH = $(srcdir):$(topdir):$(hdrdir) +exec_prefix = $(prefix) +prefix = $(DESTDIR)/usr +sharedstatedir = $(prefix)/com +mandir = $(prefix)/share/man +psdir = $(docdir) +oldincludedir = $(DESTDIR)/usr/include +localedir = $(datarootdir)/locale +bindir = $(exec_prefix)/bin +libexecdir = $(prefix)/lib/ruby1.8 +sitedir = $(DESTDIR)/usr/local/lib/site_ruby +htmldir = $(docdir) +vendorarchdir = $(vendorlibdir)/$(sitearch) +includedir = $(prefix)/include +infodir = $(prefix)/share/info +vendorlibdir = $(vendordir)/$(ruby_version) +sysconfdir = $(DESTDIR)/etc +libdir = $(exec_prefix)/lib +sbindir = $(exec_prefix)/sbin +rubylibdir = $(libdir)/ruby/$(ruby_version) +docdir = $(datarootdir)/doc/$(PACKAGE) +dvidir = $(docdir) +vendordir = $(libdir)/ruby/vendor_ruby +datarootdir = $(prefix)/share +pdfdir = $(docdir) +archdir = $(rubylibdir)/$(arch) +sitearchdir = $(sitelibdir)/$(sitearch) +datadir = $(datarootdir) +localstatedir = $(DESTDIR)/var +sitelibdir = $(sitedir)/$(ruby_version) + +CC = gcc +LIBRUBY = $(LIBRUBY_SO) +LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a +LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) +LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static + +RUBY_EXTCONF_H = +CFLAGS = -fPIC -fno-strict-aliasing -g -g -O2 -fPIC $(cflags) +INCFLAGS = -I. -I. -I/usr/lib/ruby/1.8/x86_64-linux -I. +DEFS = +CPPFLAGS = -DHAVE_CRFPP_H +CXXFLAGS = $(CFLAGS) +ldflags = -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic +dldflags = +archflag = +DLDFLAGS = $(ldflags) $(dldflags) $(archflag) +LDSHARED = $(CC) -shared +AR = ar +EXEEXT = + +RUBY_INSTALL_NAME = ruby1.8 +RUBY_SO_NAME = ruby1.8 +arch = x86_64-linux +sitearch = x86_64-linux +ruby_version = 1.8 +ruby = /usr/bin/ruby1.8 +RUBY = $(ruby) +RM = rm -f +MAKEDIRS = mkdir -p +INSTALL = /usr/bin/install -c +INSTALL_PROG = $(INSTALL) -m 0755 +INSTALL_DATA = $(INSTALL) -m 644 +COPY = cp + +#### End of system configuration section. #### + +preload = + +libpath = . $(libdir) +LIBPATH = -L. -L$(libdir) +DEFFILE = + +CLEANFILES = mkmf.log +DISTCLEANFILES = + +extout = +extout_prefix = +target_prefix = +LOCAL_LIBS = +LIBS = $(LIBRUBYARG_SHARED) -lpthread -lcrfpp -lpthread -lrt -ldl -lcrypt -lm -lc +SRCS = CRFPP_wrap.cpp +OBJS = CRFPP_wrap.o +TARGET = CRFPP +DLLIB = $(TARGET).so +EXTSTATIC = +STATIC_LIB = + +BINDIR = $(bindir) +RUBYCOMMONDIR = $(sitedir)$(target_prefix) +RUBYLIBDIR = $(sitelibdir)$(target_prefix) +RUBYARCHDIR = $(sitearchdir)$(target_prefix) + +TARGET_SO = $(DLLIB) +CLEANLIBS = $(TARGET).so $(TARGET).il? $(TARGET).tds $(TARGET).map +CLEANOBJS = *.o *.a *.s[ol] *.pdb *.exp *.bak + +all: $(DLLIB) +static: $(STATIC_LIB) + +clean: + @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) + +distclean: clean + @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log + @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) + +realclean: distclean +install: install-so install-rb + +install-so: $(RUBYARCHDIR) +install-so: $(RUBYARCHDIR)/$(DLLIB) +$(RUBYARCHDIR)/$(DLLIB): $(DLLIB) + $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) +install-rb: pre-install-rb install-rb-default +install-rb-default: pre-install-rb-default +pre-install-rb: Makefile +pre-install-rb-default: Makefile +$(RUBYARCHDIR): + $(MAKEDIRS) $@ + +site-install: site-install-so site-install-rb +site-install-so: install-so +site-install-rb: install-rb + +.SUFFIXES: .c .m .cc .cxx .cpp .C .o + +.cc.o: + $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $< + +.cxx.o: + $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $< + +.cpp.o: + $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $< + +.C.o: + $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $< + +.c.o: + $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $< + +$(DLLIB): $(OBJS) Makefile + @-$(RM) $@ + $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) + + + +$(OBJS): ruby.h defines.h diff --git a/CRF/ruby/README b/CRF/ruby/README new file mode 100644 index 0000000000000000000000000000000000000000..5dde4c9a903753ce605b87b42f17215585dfe63a --- /dev/null +++ b/CRF/ruby/README @@ -0,0 +1,14 @@ +CRF++ ruby module + +$Id: README,v 1.1.1.1 2005/12/03 14:18:52 taku-ku Exp $; + +1. Installation + + % ruby extconf.rb + % make + % su + # make install + +2. How to use? + + See 'test.rb' as a sample program. diff --git a/CRF/ruby/extconf.rb b/CRF/ruby/extconf.rb new file mode 100644 index 0000000000000000000000000000000000000000..f667b722c1f6d3cb6042fb247c4336aa4f239bc0 --- /dev/null +++ b/CRF/ruby/extconf.rb @@ -0,0 +1,7 @@ +require 'mkmf' + +crfpp_config = with_config('crfpp-config', 'crfpp-config') +use_crfpp_config = enable_config('crfpp-config') +have_library("crfpp") +have_library("pthread") +have_header('crfpp.h') && create_makefile('CRFPP') diff --git a/CRF/ruby/test.rb b/CRF/ruby/test.rb new file mode 100644 index 0000000000000000000000000000000000000000..a8a6a1e59851cb01b578e91106c933d7e60742f3 --- /dev/null +++ b/CRF/ruby/test.rb @@ -0,0 +1,74 @@ +#!/usr/bin/ruby + +require 'CRFPP' + +begin + # -v 3: access deep information like alpha,beta,prob + # -nN: enable nbest output. N should be >= 2 + tagger = CRFPP::Tagger.new("-m ../model -v 3 -n2") + + # clear internal context + tagger.clear() + + # add context + tagger.add("Confidence NN") + tagger.add("in IN") + tagger.add("the DT") + tagger.add("pound NN") + tagger.add("is VBZ") + tagger.add("widely RB") + tagger.add("expected VBN") + tagger.add("to TO") + tagger.add("take VB") + tagger.add("another DT") + tagger.add("sharp JJ") + tagger.add("dive NN") + tagger.add("if IN") + tagger.add("trade NN") + tagger.add("figures NNS") + tagger.add("for IN") + tagger.add("September NNP") + + print "column size: " , tagger.xsize() , "\n" + print "token size: " , tagger.size() , "\n" + print "tag size: " , tagger.ysize() , "\n" + + print "tagset information:" , "\n" + ysize = tagger.ysize() + for i in 0..(ysize-1) + print "tag " , i , " " , tagger.yname(i) , "\n" + end + + # parse and change internal stated as 'parsed' + die if !tagger.parse() + + print "conditional prob=" , tagger.prob(), " log(Z)=" , tagger.Z() , "\n" + + size = tagger.size() + xsize = tagger.xsize() + for i in 0..(size - 1) + for j in 0..(xsize-1) + print tagger.x(i, j) , "\t" + end + print tagger.y2(i) , "\t" + print "\n" + print "Details" + for j in 0..(ysize-1) + print "\t" , tagger.yname(j) , "/prob=" , tagger.prob(i,j),"/alpha=" , tagger.alpha(i, j),"/beta=" , tagger.beta(i, j) + print "\n" + end + end + + + print "nbest outputs:" , "\n" + for n in 0..9 + last if !tagger.next() + print "nbest n=" , n , "\tconditional prob=" , tagger.prob() , "\n" + # you can access any information using tagger.y()... + end + +print "Done" , "\n" + +rescue + print "RuntimeError: ", $!, "\n" +end diff --git a/CRF/scoped_ptr.h b/CRF/scoped_ptr.h new file mode 100644 index 0000000000000000000000000000000000000000..173fce65745cfd9c6f0b7c97255bdb6c0506290a --- /dev/null +++ b/CRF/scoped_ptr.h @@ -0,0 +1,77 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: scoped_ptr.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_SCOPED_PTR_H__ +#define CRFPP_SCOPED_PTR_H__ + +#include +#include + +namespace CRFPP { + +template class scoped_ptr { + private: + T * ptr_; + scoped_ptr(scoped_ptr const &); + scoped_ptr & operator=(scoped_ptr const &); + typedef scoped_ptr this_type; + + public: + typedef T element_type; + explicit scoped_ptr(T * p = 0): ptr_(p) {} + virtual ~scoped_ptr() { delete ptr_; } + void reset(T * p = 0) { + delete ptr_; + ptr_ = p; + } + T & operator*() const { return *ptr_; } + T * operator->() const { return ptr_; } + T * get() const { return ptr_; } +}; + +template class scoped_array { + private: + T * ptr_; + scoped_array(scoped_array const &); + scoped_array & operator=(scoped_array const &); + typedef scoped_array this_type; + + public: + typedef T element_type; + explicit scoped_array(T * p = 0): ptr_(p) {} + virtual ~scoped_array() { delete [] ptr_; } + void reset(T * p = 0) { + delete [] ptr_; + ptr_ = p; + } + T & operator*() const { return *ptr_; } + T * operator->() const { return ptr_; } + T * get() const { return ptr_; } + T & operator[](size_t i) const { return ptr_[i]; } +}; + +class scoped_string: public scoped_array { + public: + explicit scoped_string() { reset_string(""); } + explicit scoped_string(const std::string &str) { + reset_string(str); + } + + void reset_string(const std::string &str) { + char *p = new char[str.size() + 1]; + strcpy(p, str.c_str()); + reset(p); + } + + void reset_string(const char *str) { + char *p = new char[strlen(str) + 1]; + strcpy(p, str); + reset(p); + } +}; +} +#endif diff --git a/CRF/sdk/a.out b/CRF/sdk/a.out new file mode 100644 index 0000000000000000000000000000000000000000..ee1b1a3445abc309844f4c865d706f22d7bf2536 Binary files /dev/null and b/CRF/sdk/a.out differ diff --git a/CRF/sdk/crfpp.h b/CRF/sdk/crfpp.h new file mode 100644 index 0000000000000000000000000000000000000000..aa2dbda2513e6ebd906424cd61a9266d55f1e884 --- /dev/null +++ b/CRF/sdk/crfpp.h @@ -0,0 +1,379 @@ +/* + CRF++ -- Yet Another CRF toolkit + + $Id: crfpp.h 1592 2007-02-12 09:40:53Z taku $; + + Copyright(C) 2005-2007 Taku Kudo +*/ +#ifndef CRFPP_CRFPP_H_ +#define CRFPP_CRFPP_H_ + +/* C interface */ +#ifdef __cplusplus +#include +#else +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _WIN32 +#include +# ifdef DLL_EXPORT +# define CRFPP_DLL_EXTERN __declspec(dllexport) +# define CRFPP_DLL_CLASS_EXTERN __declspec(dllexport) +# else +# define CRFPP_DLL_EXTERN __declspec(dllimport) +# endif +#endif + +#ifndef CRFPP_DLL_EXTERN +# define CRFPP_DLL_EXTERN extern +#endif + +#ifndef CRFPP_DLL_CLASS_EXTERN +# define CRFPP_DLL_CLASS_EXTERN +#endif + +#ifndef SWIG + typedef struct crfpp_t crfpp_t; + typedef struct crfpp_model_t crfpp_model_t; + + /* C interface */ + CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_new(int, char**); + CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_new2(const char*); + CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_from_array_new(int, char**, const char *, size_t); + CRFPP_DLL_EXTERN crfpp_model_t* crfpp_model_from_array_new2(const char*, const char *, size_t); + CRFPP_DLL_EXTERN const char * crfpp_model_get_template(crfpp_model_t*); + CRFPP_DLL_EXTERN void crfpp_model_destroy(crfpp_model_t*); + CRFPP_DLL_EXTERN const char * crfpp_model_strerror(crfpp_model_t *); + CRFPP_DLL_EXTERN crfpp_t* crfpp_model_new_tagger(crfpp_model_t *); + + CRFPP_DLL_EXTERN crfpp_t* crfpp_new(int, char**); + CRFPP_DLL_EXTERN crfpp_t* crfpp_new2(const char*); + CRFPP_DLL_EXTERN void crfpp_destroy(crfpp_t*); + CRFPP_DLL_EXTERN int crfpp_set_model(crfpp_t *, crfpp_model_t *); + CRFPP_DLL_EXTERN int crfpp_add2(crfpp_t*, size_t, const char **); + CRFPP_DLL_EXTERN int crfpp_add(crfpp_t*, const char*); + CRFPP_DLL_EXTERN size_t crfpp_size(crfpp_t*); + CRFPP_DLL_EXTERN size_t crfpp_xsize(crfpp_t*); + CRFPP_DLL_EXTERN size_t crfpp_dsize(crfpp_t*); + CRFPP_DLL_EXTERN const float* crfpp_weight_vector(crfpp_t*); + CRFPP_DLL_EXTERN size_t crfpp_result(crfpp_t*, size_t); + CRFPP_DLL_EXTERN size_t crfpp_answer(crfpp_t*, size_t); + CRFPP_DLL_EXTERN size_t crfpp_y(crfpp_t*, size_t); + CRFPP_DLL_EXTERN size_t crfpp_ysize(crfpp_t*); + CRFPP_DLL_EXTERN double crfpp_prob(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_prob2(crfpp_t*, size_t); + CRFPP_DLL_EXTERN double crfpp_prob3(crfpp_t*); + CRFPP_DLL_EXTERN void crfpp_set_penalty(crfpp_t *, size_t i, size_t j, double penalty); + CRFPP_DLL_EXTERN double crfpp_penalty(crfpp_t *, size_t i, size_t j); + CRFPP_DLL_EXTERN double crfpp_alpha(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_beta(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_emisstion_cost(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_next_transition_cost(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_prev_transition_cost(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_best_cost(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN const int* crfpp_emittion_vector(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN const int* crfpp_next_transition_vector(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN const int* crfpp_prev_transition_vector(crfpp_t*, size_t, + size_t, size_t); + CRFPP_DLL_EXTERN double crfpp_Z(crfpp_t*); + CRFPP_DLL_EXTERN int crfpp_parse(crfpp_t*); + CRFPP_DLL_EXTERN int crfpp_empty(crfpp_t*); + CRFPP_DLL_EXTERN int crfpp_clear(crfpp_t*); + CRFPP_DLL_EXTERN int crfpp_next(crfpp_t*); + CRFPP_DLL_EXTERN int crfpp_test(int, char **); + CRFPP_DLL_EXTERN int crfpp_test2(const char *); + CRFPP_DLL_EXTERN int crfpp_learn(int, char **); + CRFPP_DLL_EXTERN int crfpp_learn2(const char *); + CRFPP_DLL_EXTERN const char* crfpp_strerror(crfpp_t*); + CRFPP_DLL_EXTERN const char* crfpp_yname(crfpp_t*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_y2(crfpp_t*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_x(crfpp_t*, size_t, size_t); + CRFPP_DLL_EXTERN const char** crfpp_x2(crfpp_t*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_parse_tostr(crfpp_t*, const char*); + CRFPP_DLL_EXTERN const char* crfpp_parse_tostr2(crfpp_t*, + const char*, size_t); + CRFPP_DLL_EXTERN const char* crfpp_parse_tostr3(crfpp_t*, const char*, + size_t, char *, size_t); + CRFPP_DLL_EXTERN const char* crfpp_tostr(crfpp_t*); + CRFPP_DLL_EXTERN const char* crfpp_tostr2(crfpp_t*, char *, size_t); + + CRFPP_DLL_EXTERN void crfpp_set_vlevel(crfpp_t *, unsigned int); + CRFPP_DLL_EXTERN unsigned int crfpp_vlevel(crfpp_t *); + CRFPP_DLL_EXTERN void crfpp_set_cost_factor(crfpp_t *, float); + CRFPP_DLL_EXTERN float crfpp_cost_factor(crfpp_t *); + CRFPP_DLL_EXTERN void crfpp_set_nbest(crfpp_t *, size_t); +#endif + +#ifdef __cplusplus +} +#endif + +/* C++ interface */ +#ifdef __cplusplus + +namespace CRFPP { + +class Tagger; + +class CRFPP_DLL_CLASS_EXTERN Model { + public: +#ifndef SWIG + // open model with parameters in argv[] + // e.g, argv[] = {"CRF++", "-m", "model", "-v3"}; + virtual bool open(int argc, char** argv) = 0; + + // open model with parameter arg, e.g. arg = "-m model -v3"; + virtual bool open(const char* arg) = 0; + + // open model with parameters in argv[]. + // e.g, argv[] = {"CRF++", "-v3"}; + virtual bool openFromArray(int argc, char** argv, + const char *model_buf, + size_t model_size) = 0; + + // open model with parameter arg, e.g. arg = "-m model -v3"; + virtual bool openFromArray(const char* arg, + const char *model_buf, + size_t model_size) = 0; +#endif + // return template string embedded in this model file. + virtual const char *getTemplate() const = 0; + + // create Tagger object. Returned object shared the same + // model object + virtual Tagger *createTagger() const = 0; + + virtual const char* what() = 0; + + virtual ~Model() {} +}; + +class CRFPP_DLL_CLASS_EXTERN Tagger { + public: +#ifndef SWIG + // open model with parameters in argv[] + // e.g, argv[] = {"CRF++", "-m", "model", "-v3"}; + virtual bool open(int argc, char** argv) = 0; + + // open model with parameter arg, e.g. arg = "-m model -v3"; + virtual bool open(const char* arg) = 0; + + // add str[] as tokens to the current context + virtual bool add(size_t size, const char **str) = 0; + + // close the current model + virtual void close() = 0; + + // return parameter vector. the size should be dsize(); + virtual const float *weight_vector() const = 0; +#endif + + // set Model + virtual bool set_model(const Model &model) = 0; + + // set vlevel + virtual void set_vlevel(unsigned int vlevel) = 0; + + // get vlevel + virtual unsigned int vlevel() const = 0; + + // set cost factor + virtual void set_cost_factor(float cost_factor) = 0; + + // get cost factor + virtual float cost_factor() const = 0; + + // set nbest + virtual void set_nbest(size_t nbest) = 0; + + // get nbest + virtual size_t nbest() const = 0; + + // add one line to the current context + virtual bool add(const char* str) = 0; + + // return size of tokens(lines) + virtual size_t size() const = 0; + + // return size of column + virtual size_t xsize() const = 0; + + // return size of features + virtual size_t dsize() const = 0; + + // return output tag-id of i-th token + virtual size_t result(size_t i) const = 0; + + // return answer tag-id of i-th token if it is available + virtual size_t answer(size_t i) const = 0; + + // alias of result(i) + virtual size_t y(size_t i) const = 0; + + // return output tag of i-th token as string + virtual const char* y2(size_t i) const = 0; + + // return i-th tag-id as string + virtual const char* yname(size_t i) const = 0; + + // return token at [i,j] as string(i:token j:column) + virtual const char* x(size_t i, size_t j) const = 0; + +#ifndef SWIG + // return an array of strings at i-th tokens + virtual const char** x(size_t) const = 0; +#endif + + // return size of output tags + virtual size_t ysize() const = 0; + + // return marginal probability of j-th tag id at i-th token + virtual double prob(size_t i, size_t j) const = 0; + + // return marginal probability of output tag at i-th token + // same as prob(i, tagger->y(i)); + virtual double prob(size_t i) const = 0; + + // return conditional probability of enter output + virtual double prob() const = 0; + + // set token-level penalty. It would be useful for implementing + // Dual decompositon decoding. + // e.g. + // "Dual Decomposition for Parsing with Non-Projective Head Automata" + // Terry Koo Alexander M. Rush Michael Collins Tommi Jaakkola David Sontag + virtual void set_penalty(size_t i, size_t j, double penalty) = 0; + virtual double penalty(size_t i, size_t j) const = 0; + + // return forward log-prob of the j-th tag at i-th token + virtual double alpha(size_t i, size_t j) const = 0; + + // return backward log-prob of the j-th tag at i-th token + virtual double beta(size_t i, size_t j) const = 0; + + // return emission cost of the j-th tag at i-th token + virtual double emission_cost(size_t i, size_t j) const = 0; + + // return transition cost of [j-th tag at i-th token] to + // [k-th tag at(i+1)-th token] + virtual double next_transition_cost(size_t i, + size_t j, size_t k) const = 0; + + // return transition cost of [j-th tag at i-th token] to + // [k-th tag at(i-1)-th token] + virtual double prev_transition_cost(size_t i, + size_t j, size_t k) const = 0; + + // return the best accumulative cost to the j-th tag at i-th token + // used in viterbi search + virtual double best_cost(size_t i, size_t j) const = 0; + +#ifndef SWIG + // return emission feature vector of the j-th tag at i-th token + virtual const int* emission_vector(size_t i, size_t j) const = 0; + + // return transition feature vector of [j-th tag at i-th token] to + // [k-th tag at(i+1)-th token] + virtual const int* next_transition_vector(size_t i, + size_t j, size_t k) const = 0; + + // return transition feature vector of [j-th tag at i-th token] to + // [k-th tag at(i-1)-th token] + virtual const int* prev_transition_vector(size_t i, + size_t j, size_t k) const = 0; +#endif + + // normalizing factor(log-prob) + virtual double Z() const = 0; + + // do parse and change the internal status, if failed, returns false + virtual bool parse() = 0; + + // return true if the context is empty + virtual bool empty() const = 0; + + // clear all context + virtual bool clear() = 0; + + // change the internal state to output next-optimal output. + // calling it n-th times, can get n-best results, + // Neeed to specify -nN option to use this function, where + // N>=2 + virtual bool next() = 0; + + // parse 'str' and return result as string + // 'str' must be written in CRF++'s input format + virtual const char* parse(const char* str) = 0; + +#ifndef SWIG + // return parsed result as string + virtual const char* toString() = 0; + + // return parsed result as string. + // Result is saved in the buffer 'result', 'size' is the + // size of the buffer. if failed, return NULL + virtual const char* toString(char* result , size_t size) = 0; + + // parse 'str' and return parsed result. + // You don't need to delete return value, but the buffer + // is rewritten whenever you call parse method. + // if failed, return NULL + virtual const char* parse(const char *str, size_t size) = 0; + + // parse 'str' and return parsed result. + // The result is stored in the buffer 'result'. + // 'size2' is the size of the buffer. if failed, return NULL + virtual const char* parse(const char *str, size_t size1, + char *result, size_t size2) = 0; +#endif + // return internal error code as string + virtual const char* what() = 0; + + virtual ~Tagger() {} +}; + +/* factory method */ + +// create CRFPP::Tagger instance with parameters in argv[] +// e.g, argv[] = {"CRF++", "-m", "model", "-v3"}; +CRFPP_DLL_EXTERN Tagger *createTagger(int argc, char **argv); + +// create CRFPP::Tagger instance with parameter in arg +// e.g. arg = "-m model -v3"; +CRFPP_DLL_EXTERN Tagger *createTagger(const char *arg); + +// create CRFPP::Model instance with parameters in argv[] +// e.g, argv[] = {"CRF++", "-m", "model", "-v3"}; +CRFPP_DLL_EXTERN Model *createModel(int argc, char **argv); + +// load model from [buf, buf+size]. +CRFPP_DLL_EXTERN Model *createModelFromArray(int argc, char **argv, + const char *model_buf, + size_t model_size); + +// create CRFPP::Model instance with parameter in arg +// e.g. arg = "-m model -v3"; +CRFPP_DLL_EXTERN Model *createModel(const char *arg); + +// load model from [buf, buf+size]. +CRFPP_DLL_EXTERN Model *createModelFromArray(const char *arg, + const char *model_buf, + size_t model_size); + +// return error code of createTagger(); +CRFPP_DLL_EXTERN const char *getTaggerError(); + +// alias of getTaggerError(); +CRFPP_DLL_EXTERN const char *getLastError(); +} + +#endif +#endif diff --git a/CRF/sdk/example.cpp b/CRF/sdk/example.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bae014d3605b6aace3f2a32e385df1f3e9175af4 --- /dev/null +++ b/CRF/sdk/example.cpp @@ -0,0 +1,83 @@ +#include +#include "crfpp.h" + +// c++ -O3 example.cpp -lcrfpp + +int main(int argc, char **argv) { + + // -v 3: access deep information like alpha,beta,prob + // -nN: enable nbest output. N should be >= 2 + CRFPP::Tagger *tagger = + CRFPP::createTagger("-m model -v 3 -n2"); + + if (!tagger) { + std::cerr << CRFPP::getTaggerError() << std::endl; + return -1; + } + + // clear internal context + tagger->clear(); + + // add context + tagger->add("Confidence NN"); + tagger->add("in IN"); + tagger->add("the DT"); + tagger->add("pound NN"); + tagger->add("is VBZ"); + tagger->add("widely RB"); + tagger->add("expected VBN"); + tagger->add("to TO"); + tagger->add("take VB"); + tagger->add("another DT"); + tagger->add("sharp JJ"); + tagger->add("dive NN"); + tagger->add("if IN"); + tagger->add("trade NN"); + tagger->add("figures NNS"); + tagger->add("for IN"); + tagger->add("September NNP"); + + std::cout << "column size: " << tagger->xsize() << std::endl; + std::cout << "token size: " << tagger->size() << std::endl; + std::cout << "tag size: " << tagger->ysize() << std::endl; + + std::cout << "tagset information:" << std::endl; + for (size_t i = 0; i < tagger->ysize(); ++i) { + std::cout << "tag " << i << " " << tagger->yname(i) << std::endl; + } + + // parse and change internal stated as 'parsed' + if (! tagger->parse()) return -1; + + std::cout << "conditional prob=" << tagger->prob() + << " log(Z)=" << tagger->Z() << std::endl; + + for (size_t i = 0; i < tagger->size(); ++i) { + for (size_t j = 0; j < tagger->xsize(); ++j) { + std::cout << tagger->x(i, j) << '\t'; + } + std::cout << tagger->y2(i) << '\t'; + std::cout << std::endl; + + std::cout << "Details"; + for (size_t j = 0; j < tagger->ysize(); ++j) { + std::cout << '\t' << tagger->yname(j) << "/prob=" << tagger->prob(i,j) + << "/alpha=" << tagger->alpha(i, j) + << "/beta=" << tagger->beta(i, j); + } + std::cout << std::endl; + } + + // when -n20 is specified, you can access nbest outputs + std::cout << "nbest outputs:" << std::endl; + for (size_t n = 0; n < 10; ++n) { + if (! tagger->next()) break; + std::cout << "nbest n=" << n << "\tconditional prob=" << tagger->prob() << std::endl; + // you can access any information using tagger->y()... + } + std::cout << "Done" << std::endl; + + delete tagger; + + return 0; +} diff --git a/CRF/sdk/libcrfpp.lib b/CRF/sdk/libcrfpp.lib new file mode 100644 index 0000000000000000000000000000000000000000..e0fa0f6500eb46da72b4cf859ad92a82764523b3 Binary files /dev/null and b/CRF/sdk/libcrfpp.lib differ diff --git a/CRF/sdk/model b/CRF/sdk/model new file mode 100644 index 0000000000000000000000000000000000000000..744252cf106abd69b0dcc44cc7b6ba027c85a071 Binary files /dev/null and b/CRF/sdk/model differ diff --git a/CRF/stamp-h1 b/CRF/stamp-h1 new file mode 100644 index 0000000000000000000000000000000000000000..4547fe1b5efa99ebbf20e1fa55fdbd528abd3a97 --- /dev/null +++ b/CRF/stamp-h1 @@ -0,0 +1 @@ +timestamp for config.h diff --git a/CRF/stream_wrapper.h b/CRF/stream_wrapper.h new file mode 100644 index 0000000000000000000000000000000000000000..5c1534a8c1171a3ea27041183071fcfa65459d5a --- /dev/null +++ b/CRF/stream_wrapper.h @@ -0,0 +1,56 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: stream_wrapper.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_STREAM_WRAPPER_H__ +#define CRFPP_STREAM_WRAPPER_H__ + +#include +#include +#include + +namespace CRFPP { + +class istream_wrapper { + private: + std::istream* is; + public: + std::istream &operator*() const { return *is; } + std::istream *operator->() const { return is; } + std::istream *get() { return is; } + explicit istream_wrapper(const char* filename): is(0) { + if (std::strcmp(filename, "-") == 0) + is = &std::cin; + else + is = new std::ifstream(filename); + } + + ~istream_wrapper() { + if (is != &std::cin) delete is; + } +}; + +class ostream_wrapper { + private: + std::ostream* os; + public: + std::ostream &operator*() const { return *os; } + std::ostream *operator->() const { return os; } + std::ostream *get() { return os; } + explicit ostream_wrapper(const char* filename): os(0) { + if (std::strcmp(filename, "-") == 0) + os = &std::cout; + else + os = new std::ofstream(filename); + } + + ~ostream_wrapper() { + if (os != &std::cout) delete os; + } +}; +} + +#endif diff --git a/CRF/swig/CRFPP.i b/CRF/swig/CRFPP.i new file mode 100644 index 0000000000000000000000000000000000000000..dbf8018a0759bb8f8ef734f8ff26b02c8a7e695d --- /dev/null +++ b/CRF/swig/CRFPP.i @@ -0,0 +1,38 @@ +%module CRFPP +%include exception.i +%{ +#include "crfpp.h" +%} + +%newobject surface; + +%exception { + try { $action } + catch (char *e) { SWIG_exception (SWIG_RuntimeError, e); } + catch (const char *e) { SWIG_exception (SWIG_RuntimeError, (char*)e); } +} + +%feature("notabstract") CRFPP::Tagger; + +%ignore CRFPP::createTagger; +%ignore CRFPP::getTaggerError; + +%extend CRFPP::Tagger { Tagger(const char *argc); } + +%{ + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + +%} + +%include ../crfpp.h +%include version.h diff --git a/CRF/swig/CRFPP.lisp b/CRF/swig/CRFPP.lisp new file mode 100644 index 0000000000000000000000000000000000000000..cd4cf3229f8dbfb68f9e802fb52d72fcfe1b210f --- /dev/null +++ b/CRF/swig/CRFPP.lisp @@ -0,0 +1,286 @@ +;;; This file was automatically generated by SWIG (http://www.swig.org). +;;; Version 1.3.38 +;;; +;;; Do not make changes to this file unless you know what you are doing--modify +;;; the SWIG interface file instead. + +;;; Lisp parse tree produced by SWIG +(top :outfile "CRFPP.lisp" :name "CRFPP" :module #1=(module :name "CRFPP") + :inputfile "CRFPP.i" :classes #2=() + :infile "CRFPP.i" :outfile-h "CRFPP_wrap.h" + :children ((include :name "/usr/local/share/swig/1.3.38//swig.swg" + :children ((include :name "/usr/local/share/swig/1.3.38//swigwarnings.swg" + :children ((include :name "/usr/local/share/swig/1.3.38//swigwarn.swg"))) + (typemap :code "free($1);" :method "newfree" + :children ((typemapitem :pattern #3=((:type "p.char"))))) + (typemap :code "{ + if ($1) free((char *)$1); + if ($input) { + $1 = ($1_type) malloc(strlen((const char *)$input)+1); + strcpy((char *)$1, (const char *)$input); + } else { + $1 = 0; + } +}" :method "memberin" + :children ((typemapitem :pattern #4=((:type "p.char"))))) + (typemap :kwargs #5=((:name "warning" :value "451:Setting a const char * variable may leak memory.")) + :code "{ + if ($input) { + $1 = ($1_type) malloc(strlen((const char *)$input)+1); + strcpy((char *)$1, (const char *)$input); + } else { + $1 = 0; + } +}" :method "memberin" + :children ((typemapitem :pattern #6=((:type "p.q(const).char"))))) + (typemap :code "{ + if ($1) free((char *)$1); + if ($input) { + $1 = ($1_type) malloc(strlen((const char *)$input)+1); + strcpy((char *)$1, (const char *)$input); + } else { + $1 = 0; + } +}" :method "globalin" + :children ((typemapitem :pattern #7=((:type "p.char"))))) + (typemap :kwargs #8=((:name "warning" :value "451:Setting a const char * variable may leak memory.")) + :code "{ + if ($input) { + $1 = ($1_type) malloc(strlen((const char *)$input)+1); + strcpy((char *)$1, (const char *)$input); + } else { + $1 = 0; + } +}" :method "globalin" + :children ((typemapitem :pattern #9=((:type "p.q(const).char"))))) + (typemap :code "{ + if($input) { + strncpy((char*)$1, (const char *)$input, $1_dim0-1); + $1[$1_dim0-1] = 0; + } else { + $1[0] = 0; + } +}" :method "memberin" + :children ((typemapitem :pattern #10=((:type "a(ANY).char"))))) + (typemap :code "{ + if($input) { + strncpy((char*)$1, (const char *)$input, $1_dim0-1); + $1[$1_dim0-1] = 0; + } else { + $1[0] = 0; + } +}" :method "globalin" + :children ((typemapitem :pattern #11=((:type "a(ANY).char"))))) + (typemap :code "{ + if ($input) strcpy((char *)$1, (const char *)$input); + else $1[0] = 0; +}" :method "memberin" + :children ((typemapitem :pattern #12=((:type "a().char"))))) + (typemap :code "{ + if ($input) strcpy((char *)$1, (const char *)$input); + else $1[0] = 0; +}" :method "globalin" + :children ((typemapitem :pattern #13=((:type "a().char"))))) + (typemap :code "{ + size_t ii; + $1_basetype *b = ($1_basetype *) $1; + for (ii = 0; ii < (size_t)$1_size; ii++) b[ii] = *(($1_basetype *) $input + ii); +}" :method "memberin" + :children ((typemapitem :pattern #14=((:type "a(ANY).SWIGTYPE"))))) + (typemap :code "{ + size_t ii; + $1_basetype *b = ($1_basetype *) $1; + for (ii = 0; ii < (size_t)$1_size; ii++) b[ii] = *(($1_basetype *) $input + ii); +}" :method "globalin" + :children ((typemapitem :pattern #15=((:type "a(ANY).SWIGTYPE"))))) + (typemap :code "{ + $basetype (*inp)[$dim1] = ($basetype (*)[$dim1])($input); + $basetype (*dest)[$dim1] = ($basetype (*)[$dim1])($1); + size_t ii = 0; + for (; ii < $dim0; ++ii) { + $basetype *ip = inp[ii]; + $basetype *dp = dest[ii]; + size_t jj = 0; + for (; jj < $dim1; ++jj) dp[jj] = ip[jj]; + } +}" :method "memberin" + :children ((typemapitem :pattern #16=((:type "a(ANY).a(ANY).SWIGTYPE"))))) + (typemap :code "{ + $basetype (*inp)[$dim1] = ($basetype (*)[$dim1])($input); + $basetype (*dest)[$dim1] = ($basetype (*)[$dim1])($1); + size_t ii = 0; + for (; ii < $dim0; ++ii) { + $basetype *ip = inp[ii]; + $basetype *dp = dest[ii]; + size_t jj = 0; + for (; jj < $dim1; ++jj) dp[jj] = ip[jj]; + } +}" :method "globalin" + :children ((typemapitem :pattern #17=((:type "a(ANY).a(ANY).SWIGTYPE"))))) + (typemap :kwargs #18=((:name "numinputs" :value "0")) + :code "" :method "in" + :children ((typemapitem :pattern #19=((:name "VARARGS_SENTINEL" :type "p.SWIGTYPE"))) + (typemapitem :pattern #20=((:name "VARARGS_SENTINEL" :type "SWIGTYPE"))))) + (insert :code "/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility(\"default\"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + +" :section "runtime"))) + (include :name "CRFPP.i" :module "CRFPP" :options #21=(("maininput" . "CRFPP.i")) + :children ((module :name "CRFPP") + (include :name "/usr/local/share/swig/1.3.38//exception.i" + :children ((insert :code "/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + +" :section "runtime"))) + (insert :code " +#include \"crfpp.h\" +") + (insert :code " + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + +") + (include :name "../crfpp.h") + (include :name "version.h" + :children ((cdecl :feature-except "0" :name "CRFPP" :sym-symtab #22=(symboltable :csymtab #23=(("CRFPP" . #24=(cdecl :feature-except "0" :name "CRFPP" :sym-symtab #22# :kind "variable" :sym-name "CRFPP" :view "variableWrapper" :decl "" :wrap-action "result = CRFPP;" :type "namespace" :code "{ +%constant VERSION = \"0.52\"; +}" :sym-overname "__SWIG_0"))) + :symtab #25=(("CRFPP" . #24#)) + :children ((symboltable :name "CRFPP::Tagger" :csymtab #26=(("Tagger" . #27=(constructor :sym-name "Tagger" :name "Tagger" :parms #28=((:name "argc" :type "p.q(const).char" :compactdefargs "1")) + :decl "f(p.q(const).char)." :feature-new "1" :feature-except "{ + try { $action } + catch (char *e) { SWIG_exception (SWIG_RuntimeError, e); } + catch (const char *e) { SWIG_exception (SWIG_RuntimeError, (char*)e); } +}" :feature-extend "1" :sym-symtab #29=(symboltable :name "CRFPP::Tagger" :csymtab #26# :symtab #30=(("Tagger" . #27#))) + :sym-overname "__SWIG_0"))) + :symtab #30#))) + :kind "variable" :sym-name "CRFPP" :view "variableWrapper" :decl "" :wrap-action "result = CRFPP;" :type "namespace" :code "{ +%constant VERSION = \"0.52\"; +}" :sym-overname "__SWIG_0"))))))) diff --git a/CRF/swig/CRFPP.pm b/CRF/swig/CRFPP.pm new file mode 100644 index 0000000000000000000000000000000000000000..6b57b5ea83c412216c78d738ab15ecdb84567e19 --- /dev/null +++ b/CRF/swig/CRFPP.pm @@ -0,0 +1,58 @@ +# This file was automatically generated by SWIG (http://www.swig.org). +# Version 1.3.38 +# +# Do not make changes to this file unless you know what you are doing--modify +# the SWIG interface file instead. + +package CRFPP; +use base qw(Exporter); +use base qw(DynaLoader); +package CRFPPc; +bootstrap CRFPP; +package CRFPP; +@EXPORT = qw(); + +# ---------- BASE METHODS ------------- + +package CRFPP; + +sub TIEHASH { + my ($classname,$obj) = @_; + return bless $obj, $classname; +} + +sub CLEAR { } + +sub FIRSTKEY { } + +sub NEXTKEY { } + +sub FETCH { + my ($self,$field) = @_; + my $member_func = "swig_${field}_get"; + $self->$member_func(); +} + +sub STORE { + my ($self,$field,$newval) = @_; + my $member_func = "swig_${field}_set"; + $self->$member_func($newval); +} + +sub this { + my $ptr = shift; + return tied(%$ptr); +} + + +# ------- FUNCTION WRAPPERS -------- + +package CRFPP; + + +# ------- VARIABLE STUBS -------- + +package CRFPP; + +*CRFPP = *CRFPPc::CRFPP; +1; diff --git a/CRF/swig/CRFPP_wrap.c b/CRF/swig/CRFPP_wrap.c new file mode 100644 index 0000000000000000000000000000000000000000..1f6476f140a0858cd705eddd6699ab777f38884e --- /dev/null +++ b/CRF/swig/CRFPP_wrap.c @@ -0,0 +1,1914 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.38 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGPERL +#define SWIG_CASTRANK_MODE + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + +/* ----------------------------------------------------------------------------- + * swigrun.swg + * + * This file contains generic C API SWIG runtime support for pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +/* This should only be incremented when either the layout of swig_type_info changes, + or for whatever reason, the runtime changes incompatibly */ +#define SWIG_RUNTIME_VERSION "4" + +/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ +#ifdef SWIG_TYPE_TABLE +# define SWIG_QUOTE_STRING(x) #x +# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) +# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) +#else +# define SWIG_TYPE_TABLE_NAME +#endif + +/* + You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for + creating a static or dynamic library from the SWIG runtime code. + In 99.9% of the cases, SWIG just needs to declare them as 'static'. + + But only do this if strictly necessary, ie, if you have problems + with your compiler or suchlike. +*/ + +#ifndef SWIGRUNTIME +# define SWIGRUNTIME SWIGINTERN +#endif + +#ifndef SWIGRUNTIMEINLINE +# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE +#endif + +/* Generic buffer size */ +#ifndef SWIG_BUFFER_SIZE +# define SWIG_BUFFER_SIZE 1024 +#endif + +/* Flags for pointer conversions */ +#define SWIG_POINTER_DISOWN 0x1 +#define SWIG_CAST_NEW_MEMORY 0x2 + +/* Flags for new pointer objects */ +#define SWIG_POINTER_OWN 0x1 + + +/* + Flags/methods for returning states. + + The SWIG conversion methods, as ConvertPtr, return and integer + that tells if the conversion was successful or not. And if not, + an error code can be returned (see swigerrors.swg for the codes). + + Use the following macros/flags to set or process the returning + states. + + In old versions of SWIG, code such as the following was usually written: + + if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { + // success code + } else { + //fail code + } + + Now you can be more explicit: + + int res = SWIG_ConvertPtr(obj,vptr,ty.flags); + if (SWIG_IsOK(res)) { + // success code + } else { + // fail code + } + + which is the same really, but now you can also do + + Type *ptr; + int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); + if (SWIG_IsOK(res)) { + // success code + if (SWIG_IsNewObj(res) { + ... + delete *ptr; + } else { + ... + } + } else { + // fail code + } + + I.e., now SWIG_ConvertPtr can return new objects and you can + identify the case and take care of the deallocation. Of course that + also requires SWIG_ConvertPtr to return new result values, such as + + int SWIG_ConvertPtr(obj, ptr,...) { + if () { + if () { + *ptr = ; + return SWIG_NEWOBJ; + } else { + *ptr = ; + return SWIG_OLDOBJ; + } + } else { + return SWIG_BADOBJ; + } + } + + Of course, returning the plain '0(success)/-1(fail)' still works, but you can be + more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the + SWIG errors code. + + Finally, if the SWIG_CASTRANK_MODE is enabled, the result code + allows to return the 'cast rank', for example, if you have this + + int food(double) + int fooi(int); + + and you call + + food(1) // cast rank '1' (1 -> 1.0) + fooi(1) // cast rank '0' + + just use the SWIG_AddCast()/SWIG_CheckState() +*/ + +#define SWIG_OK (0) +#define SWIG_ERROR (-1) +#define SWIG_IsOK(r) (r >= 0) +#define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) + +/* The CastRankLimit says how many bits are used for the cast rank */ +#define SWIG_CASTRANKLIMIT (1 << 8) +/* The NewMask denotes the object was created (using new/malloc) */ +#define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) +/* The TmpMask is for in/out typemaps that use temporal objects */ +#define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) +/* Simple returning values */ +#define SWIG_BADOBJ (SWIG_ERROR) +#define SWIG_OLDOBJ (SWIG_OK) +#define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) +#define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) +/* Check, add and del mask methods */ +#define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) +#define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) +#define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) +#define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) +#define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) +#define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) + +/* Cast-Rank Mode */ +#if defined(SWIG_CASTRANK_MODE) +# ifndef SWIG_TypeRank +# define SWIG_TypeRank unsigned long +# endif +# ifndef SWIG_MAXCASTRANK /* Default cast allowed */ +# define SWIG_MAXCASTRANK (2) +# endif +# define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) +# define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) +SWIGINTERNINLINE int SWIG_AddCast(int r) { + return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; +} +SWIGINTERNINLINE int SWIG_CheckState(int r) { + return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; +} +#else /* no cast-rank mode */ +# define SWIG_AddCast +# define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) +#endif + + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(*swig_converter_func)(void *, int *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); + +/* Structure to store information on one type */ +typedef struct swig_type_info { + const char *name; /* mangled name of this type */ + const char *str; /* human readable name of this type */ + swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ + struct swig_cast_info *cast; /* linked list of types that can cast into this type */ + void *clientdata; /* language specific type data */ + int owndata; /* flag if the structure owns the clientdata */ +} swig_type_info; + +/* Structure to store a type and conversion function used for casting */ +typedef struct swig_cast_info { + swig_type_info *type; /* pointer to type that is equivalent to this type */ + swig_converter_func converter; /* function to cast the void pointers */ + struct swig_cast_info *next; /* pointer to next cast in linked list */ + struct swig_cast_info *prev; /* pointer to the previous cast */ +} swig_cast_info; + +/* Structure used to store module information + * Each module generates one structure like this, and the runtime collects + * all of these structures and stores them in a circularly linked list.*/ +typedef struct swig_module_info { + swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ + size_t size; /* Number of types in this module */ + struct swig_module_info *next; /* Pointer to next element in circularly linked list */ + swig_type_info **type_initial; /* Array of initially generated type structures */ + swig_cast_info **cast_initial; /* Array of initially generated casting structures */ + void *clientdata; /* Language specific module data */ +} swig_module_info; + +/* + Compare two type names skipping the space characters, therefore + "char*" == "char *" and "Class" == "Class", etc. + + Return 0 when the two name types are equivalent, as in + strncmp, but skipping ' '. +*/ +SWIGRUNTIME int +SWIG_TypeNameComp(const char *f1, const char *l1, + const char *f2, const char *l2) { + for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { + while ((*f1 == ' ') && (f1 != l1)) ++f1; + while ((*f2 == ' ') && (f2 != l2)) ++f2; + if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; + } + return (int)((l1 - f1) - (l2 - f2)); +} + +/* + Check type equivalence in a name list like ||... + Return 0 if not equal, 1 if equal +*/ +SWIGRUNTIME int +SWIG_TypeEquiv(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + +/* + Check type equivalence in a name list like ||... + Return 0 if equal, -1 if nb < tb, 1 if nb > tb +*/ +SWIGRUNTIME int +SWIG_TypeCompare(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; + if (*ne) ++ne; + } + return equiv; +} + + +/* + Check the typename +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheck(const char *c, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (strcmp(iter->type->name, c) == 0) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison +*/ +SWIGRUNTIME swig_cast_info * +SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if (iter->type == from) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* + Cast a pointer up an inheritance hierarchy +*/ +SWIGRUNTIMEINLINE void * +SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { + return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); +} + +/* + Dynamic pointer casting. Down an inheritance hierarchy +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* + Return the name associated with this type +*/ +SWIGRUNTIMEINLINE const char * +SWIG_TypeName(const swig_type_info *ty) { + return ty->name; +} + +/* + Return the pretty name associated with this type, + that is an unmangled type name in a form presentable to the user. +*/ +SWIGRUNTIME const char * +SWIG_TypePrettyName(const swig_type_info *type) { + /* The "str" field contains the equivalent pretty names of the + type, separated by vertical-bar characters. We choose + to print the last name, as it is often (?) the most + specific. */ + if (!type) return NULL; + if (type->str != NULL) { + const char *last_name = type->str; + const char *s; + for (s = type->str; *s; s++) + if (*s == '|') last_name = s+1; + return last_name; + } + else + return type->name; +} + +/* + Set the clientdata field for a type +*/ +SWIGRUNTIME void +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + swig_cast_info *cast = ti->cast; + /* if (ti->clientdata == clientdata) return; */ + ti->clientdata = clientdata; + + while (cast) { + if (!cast->converter) { + swig_type_info *tc = cast->type; + if (!tc->clientdata) { + SWIG_TypeClientData(tc, clientdata); + } + } + cast = cast->next; + } +} +SWIGRUNTIME void +SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { + SWIG_TypeClientData(ti, clientdata); + ti->owndata = 1; +} + +/* + Search for a swig_type_info structure only by mangled name + Search is a O(log #types) + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_MangledTypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + swig_module_info *iter = start; + do { + if (iter->size) { + register size_t l = 0; + register size_t r = iter->size - 1; + do { + /* since l+r >= 0, we can (>> 1) instead (/ 2) */ + register size_t i = (l + r) >> 1; + const char *iname = iter->types[i]->name; + if (iname) { + register int compare = strcmp(name, iname); + if (compare == 0) { + return iter->types[i]; + } else if (compare < 0) { + if (i) { + r = i - 1; + } else { + break; + } + } else if (compare > 0) { + l = i + 1; + } + } else { + break; /* should never happen */ + } + } while (l <= r); + } + iter = iter->next; + } while (iter != end); + return 0; +} + +/* + Search for a swig_type_info structure for either a mangled name or a human readable name. + It first searches the mangled names of the types, which is a O(log #types) + If a type is not found it then searches the human readable names, which is O(#types). + + We start searching at module start, and finish searching when start == end. + Note: if start == end at the beginning of the function, we go all the way around + the circular list. +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeQueryModule(swig_module_info *start, + swig_module_info *end, + const char *name) { + /* STEP 1: Search the name field using binary search */ + swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); + if (ret) { + return ret; + } else { + /* STEP 2: If the type hasn't been found, do a complete search + of the str field (the human readable name) */ + swig_module_info *iter = start; + do { + register size_t i = 0; + for (; i < iter->size; ++i) { + if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) + return iter->types[i]; + } + iter = iter->next; + } while (iter != end); + } + + /* neither found a match */ + return 0; +} + +/* + Pack binary data into a string +*/ +SWIGRUNTIME char * +SWIG_PackData(char *c, void *ptr, size_t sz) { + static const char hex[17] = "0123456789abcdef"; + register const unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register unsigned char uu = *u; + *(c++) = hex[(uu & 0xf0) >> 4]; + *(c++) = hex[uu & 0xf]; + } + return c; +} + +/* + Unpack binary data from a string +*/ +SWIGRUNTIME const char * +SWIG_UnpackData(const char *c, void *ptr, size_t sz) { + register unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register char d = *(c++); + register unsigned char uu; + if ((d >= '0') && (d <= '9')) + uu = ((d - '0') << 4); + else if ((d >= 'a') && (d <= 'f')) + uu = ((d - ('a'-10)) << 4); + else + return (char *) 0; + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu |= (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + uu |= (d - ('a'-10)); + else + return (char *) 0; + *u = uu; + } + return c; +} + +/* + Pack 'void *' into a string buffer. +*/ +SWIGRUNTIME char * +SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { + char *r = buff; + if ((2*sizeof(void *) + 2) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,&ptr,sizeof(void *)); + if (strlen(name) + 1 > (bsz - (r - buff))) return 0; + strcpy(r,name); + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + *ptr = (void *) 0; + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sizeof(void *)); +} + +SWIGRUNTIME char * +SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { + char *r = buff; + size_t lname = (name ? strlen(name) : 0); + if ((2*sz + 2 + lname) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + if (lname) { + strncpy(r,name,lname+1); + } else { + *r = 0; + } + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + memset(ptr,0,sz); + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sz); +} + +#ifdef __cplusplus +} +#endif + +/* Errors in SWIG */ +#define SWIG_UnknownError -1 +#define SWIG_IOError -2 +#define SWIG_RuntimeError -3 +#define SWIG_IndexError -4 +#define SWIG_TypeError -5 +#define SWIG_DivisionByZero -6 +#define SWIG_OverflowError -7 +#define SWIG_SyntaxError -8 +#define SWIG_ValueError -9 +#define SWIG_SystemError -10 +#define SWIG_AttributeError -11 +#define SWIG_MemoryError -12 +#define SWIG_NullReferenceError -13 + + + +#ifdef __cplusplus +/* Needed on some windows machines---since MS plays funny games with the header files under C++ */ +#include +#include +extern "C" { +#endif +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +/* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */ + +/* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */ +#ifndef PERL_REVISION +# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION)) +# define PERL_PATCHLEVEL_H_IMPLICIT +# include +# endif +# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL))) +# include +# endif +# ifndef PERL_REVISION +# define PERL_REVISION (5) +# define PERL_VERSION PATCHLEVEL +# define PERL_SUBVERSION SUBVERSION +# endif +#endif + +#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) +#define PerlIO_exportFILE(fh,fl) (FILE*)(fh) +#endif + +#ifndef SvIOK_UV +# define SvIOK_UV(sv) (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv))) +#endif + +#ifndef SvUOK +# define SvUOK(sv) SvIOK_UV(sv) +#endif + +#if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5))) +# define PL_sv_undef sv_undef +# define PL_na na +# define PL_errgv errgv +# define PL_sv_no sv_no +# define PL_sv_yes sv_yes +# define PL_markstack_ptr markstack_ptr +#endif + +#ifndef IVSIZE +# ifdef LONGSIZE +# define IVSIZE LONGSIZE +# else +# define IVSIZE 4 /* A bold guess, but the best we can make. */ +# endif +#endif + +#ifndef INT2PTR +# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE) +# define PTRV UV +# define INT2PTR(any,d) (any)(d) +# else +# if PTRSIZE == LONGSIZE +# define PTRV unsigned long +# else +# define PTRV unsigned +# endif +# define INT2PTR(any,d) (any)(PTRV)(d) +# endif + +# define NUM2PTR(any,d) (any)(PTRV)(d) +# define PTR2IV(p) INT2PTR(IV,p) +# define PTR2UV(p) INT2PTR(UV,p) +# define PTR2NV(p) NUM2PTR(NV,p) + +# if PTRSIZE == LONGSIZE +# define PTR2ul(p) (unsigned long)(p) +# else +# define PTR2ul(p) INT2PTR(unsigned long,p) +# endif +#endif /* !INT2PTR */ + +#ifndef SvPV_nolen +# define SvPV_nolen(x) SvPV(x,PL_na) +#endif + +#ifndef get_sv +# define get_sv perl_get_sv +#endif + +#ifndef ERRSV +# define ERRSV get_sv("@",FALSE) +#endif + +#ifndef pTHX_ +#define pTHX_ +#endif + +#include +#ifdef __cplusplus +} +#endif + +/* ----------------------------------------------------------------------------- + * error manipulation + * ----------------------------------------------------------------------------- */ + +SWIGINTERN const char* +SWIG_Perl_ErrorType(int code) { + const char* type = 0; + switch(code) { + case SWIG_MemoryError: + type = "MemoryError"; + break; + case SWIG_IOError: + type = "IOError"; + break; + case SWIG_RuntimeError: + type = "RuntimeError"; + break; + case SWIG_IndexError: + type = "IndexError"; + break; + case SWIG_TypeError: + type = "TypeError"; + break; + case SWIG_DivisionByZero: + type = "ZeroDivisionError"; + break; + case SWIG_OverflowError: + type = "OverflowError"; + break; + case SWIG_SyntaxError: + type = "SyntaxError"; + break; + case SWIG_ValueError: + type = "ValueError"; + break; + case SWIG_SystemError: + type = "SystemError"; + break; + case SWIG_AttributeError: + type = "AttributeError"; + break; + default: + type = "RuntimeError"; + } + return type; +} + + + + +/* ----------------------------------------------------------------------------- + * perlrun.swg + * + * This file contains the runtime support for Perl modules + * and includes code for managing global variables and pointer + * type checking. + * ----------------------------------------------------------------------------- */ + +#ifdef PERL_OBJECT +#define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl), +#define SWIG_PERL_OBJECT_CALL pPerl, +#else +#define SWIG_PERL_OBJECT_DECL +#define SWIG_PERL_OBJECT_CALL +#endif + +/* Common SWIG API */ + +/* for raw pointers */ +#define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags) +#define SWIG_NewPointerObj(p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags) + +/* for raw packed data */ +#define SWIG_ConvertPacked(obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type) +#define SWIG_NewPackedObj(p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type) + +/* for class or struct pointers */ +#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) +#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) + +/* for C or C++ function pointers */ +#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0) +#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0) + +/* for C++ member pointers, ie, member methods */ +#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty) +#define SWIG_NewMemberObj(ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type) + + +/* Runtime API */ + +#define SWIG_GetModule(clientdata) SWIG_Perl_GetModule() +#define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer) + + +/* Error manipulation */ + +#define SWIG_ErrorType(code) SWIG_Perl_ErrorType(code) +#define SWIG_Error(code, msg) sv_setpvf(GvSV(PL_errgv),"%s %s\n", SWIG_ErrorType(code), msg) +#define SWIG_fail goto fail + +/* Perl-specific SWIG API */ + +#define SWIG_MakePtr(sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags) +#define SWIG_MakePackedObj(sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type) +#define SWIG_SetError(str) SWIG_Error(SWIG_RuntimeError, str) + + +#define SWIG_PERL_DECL_ARGS_1(arg1) (SWIG_PERL_OBJECT_DECL arg1) +#define SWIG_PERL_CALL_ARGS_1(arg1) (SWIG_PERL_OBJECT_CALL arg1) +#define SWIG_PERL_DECL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2) +#define SWIG_PERL_CALL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2) + +/* ----------------------------------------------------------------------------- + * pointers/data manipulation + * ----------------------------------------------------------------------------- */ + +/* For backward compatibility only */ +#define SWIG_POINTER_EXCEPTION 0 + +#ifdef __cplusplus +extern "C" { +#endif + +#define SWIG_OWNER SWIG_POINTER_OWN +#define SWIG_SHADOW SWIG_OWNER << 1 + +#define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL + +/* SWIG Perl macros */ + +/* Macro to declare an XS function */ +#ifndef XSPROTO +# define XSPROTO(name) void name(pTHX_ CV* cv) +#endif + +/* Macro to call an XS function */ +#ifdef PERL_OBJECT +# define SWIG_CALLXS(_name) _name(cv,pPerl) +#else +# ifndef MULTIPLICITY +# define SWIG_CALLXS(_name) _name(cv) +# else +# define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) +# endif +#endif + +#ifdef PERL_OBJECT +#define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this; + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) +#define SWIGCLASS_STATIC + +#else /* PERL_OBJECT */ + +#define MAGIC_PPERL +#define SWIGCLASS_STATIC static SWIGUNUSED + +#ifndef MULTIPLICITY +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFunc)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#else /* MULTIPLICITY */ + +#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b) + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#endif /* MULTIPLICITY */ +#endif /* PERL_OBJECT */ + +/* Workaround for bug in perl 5.6.x croak and earlier */ +#if (PERL_VERSION < 8) +# ifdef PERL_OBJECT +# define SWIG_croak_null() SWIG_Perl_croak_null(pPerl) +static void SWIG_Perl_croak_null(CPerlObj *pPerl) +# else +static void SWIG_croak_null() +# endif +{ + SV *err=ERRSV; +# if (PERL_VERSION < 6) + croak("%_", err); +# else + if (SvOK(err) && !SvROK(err)) croak("%_", err); + croak(Nullch); +# endif +} +#else +# define SWIG_croak_null() croak(Nullch) +#endif + + +/* + Define how strict is the cast between strings and integers/doubles + when overloading between these types occurs. + + The default is making it as strict as possible by using SWIG_AddCast + when needed. + + You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to + disable the SWIG_AddCast, making the casting between string and + numbers less strict. + + In the end, we try to solve the overloading between strings and + numerical types in the more natural way, but if you can avoid it, + well, avoid it using %rename, for example. +*/ +#ifndef SWIG_PERL_NO_STRICT_STR2NUM +# ifndef SWIG_PERL_STRICT_STR2NUM +# define SWIG_PERL_STRICT_STR2NUM +# endif +#endif +#ifdef SWIG_PERL_STRICT_STR2NUM +/* string takes precedence */ +#define SWIG_Str2NumCast(x) SWIG_AddCast(x) +#else +/* number takes precedence */ +#define SWIG_Str2NumCast(x) x +#endif + + + +#include + +SWIGRUNTIME const char * +SWIG_Perl_TypeProxyName(const swig_type_info *type) { + if (!type) return NULL; + if (type->clientdata != NULL) { + return (const char*) type->clientdata; + } + else { + return type->name; + } +} + +/* Identical to SWIG_TypeCheck, except for strcmp comparison */ +SWIGRUNTIME swig_cast_info * +SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) { + if (ty) { + swig_cast_info *iter = ty->cast; + while (iter) { + if ( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0)) || + (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)) ) { + if (iter == ty->cast) + return iter; + /* Move iter to the top of the linked list */ + iter->prev->next = iter->next; + if (iter->next) + iter->next->prev = iter->prev; + iter->next = ty->cast; + iter->prev = 0; + if (ty->cast) ty->cast->prev = iter; + ty->cast = iter; + return iter; + } + iter = iter->next; + } + } + return 0; +} + +/* Function for getting a pointer value */ + +SWIGRUNTIME int +SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) { + swig_cast_info *tc; + void *voidptr = (void *)0; + SV *tsv = 0; + /* If magical, apply more magic */ + if (SvGMAGICAL(sv)) + mg_get(sv); + + /* Check to see if this is an object */ + if (sv_isobject(sv)) { + IV tmp = 0; + tsv = (SV*) SvRV(sv); + if ((SvTYPE(tsv) == SVt_PVHV)) { + MAGIC *mg; + if (SvMAGICAL(tsv)) { + mg = mg_find(tsv,'P'); + if (mg) { + sv = mg->mg_obj; + if (sv_isobject(sv)) { + tsv = (SV*)SvRV(sv); + tmp = SvIV(tsv); + } + } + } else { + return SWIG_ERROR; + } + } else { + tmp = SvIV(tsv); + } + voidptr = INT2PTR(void *,tmp); + } else if (! SvOK(sv)) { /* Check for undef */ + *(ptr) = (void *) 0; + return SWIG_OK; + } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ + if (!SvROK(sv)) { + *(ptr) = (void *) 0; + return SWIG_OK; + } else { + return SWIG_ERROR; + } + } else { /* Don't know what it is */ + return SWIG_ERROR; + } + if (_t) { + /* Now see if the types match */ + char *_c = HvNAME(SvSTASH(SvRV(sv))); + tc = SWIG_TypeProxyCheck(_c,_t); + if (!tc) { + return SWIG_ERROR; + } + { + int newmemory = 0; + *ptr = SWIG_TypeCast(tc,voidptr,&newmemory); + assert(!newmemory); /* newmemory handling not yet implemented */ + } + } else { + *ptr = voidptr; + } + + /* + * DISOWN implementation: we need a perl guru to check this one. + */ + if (tsv && (flags & SWIG_POINTER_DISOWN)) { + /* + * almost copy paste code from below SWIG_POINTER_OWN setting + */ + SV *obj = sv; + HV *stash = SvSTASH(SvRV(obj)); + GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE); + if (isGV(gv)) { + HV *hv = GvHVn(gv); + /* + * To set ownership (see below), a newSViv(1) entry is added. + * Hence, to remove ownership, we delete the entry. + */ + if (hv_exists_ent(hv, obj, 0)) { + hv_delete_ent(hv, obj, 0, 0); + } + } + } + return SWIG_OK; +} + +SWIGRUNTIME void +SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) { + if (ptr && (flags & SWIG_SHADOW)) { + SV *self; + SV *obj=newSV(0); + HV *hash=newHV(); + HV *stash; + sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr); + stash=SvSTASH(SvRV(obj)); + if (flags & SWIG_POINTER_OWN) { + HV *hv; + GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE); + if (!isGV(gv)) + gv_init(gv, stash, "OWNER", 5, FALSE); + hv=GvHVn(gv); + hv_store_ent(hv, obj, newSViv(1), 0); + } + sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0); + SvREFCNT_dec(obj); + self=newRV_noinc((SV *)hash); + sv_setsv(sv, self); + SvREFCNT_dec((SV *)self); + sv_bless(sv, stash); + } + else { + sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr); + } +} + +SWIGRUNTIMEINLINE SV * +SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) { + SV *result = sv_newmortal(); + SWIG_MakePtr(result, ptr, t, flags); + return result; +} + +SWIGRUNTIME void +SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { + char result[1024]; + char *r = result; + if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + strcpy(r,SWIG_Perl_TypeProxyName(type)); + sv_setpv(sv, result); +} + +SWIGRUNTIME SV * +SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) { + SV *result = sv_newmortal(); + SWIG_Perl_MakePackedObj(result, ptr, sz, type); + return result; +} + +/* Convert a packed value value */ +SWIGRUNTIME int +SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) { + swig_cast_info *tc; + const char *c = 0; + + if ((!obj) || (!SvOK(obj))) return SWIG_ERROR; + c = SvPV_nolen(obj); + /* Pointer values must start with leading underscore */ + if (*c != '_') return SWIG_ERROR; + c++; + c = SWIG_UnpackData(c,ptr,sz); + if (ty) { + tc = SWIG_TypeCheck(c,ty); + if (!tc) return SWIG_ERROR; + } + return SWIG_OK; +} + + +/* Macros for low-level exception handling */ +#define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; } + + +typedef XSPROTO(SwigPerlWrapper); +typedef SwigPerlWrapper *SwigPerlWrapperPtr; + +/* Structure for command table */ +typedef struct { + const char *name; + SwigPerlWrapperPtr wrapper; +} swig_command_info; + +/* Information for constant table */ + +#define SWIG_INT 1 +#define SWIG_FLOAT 2 +#define SWIG_STRING 3 +#define SWIG_POINTER 4 +#define SWIG_BINARY 5 + +/* Constant information structure */ +typedef struct swig_constant_info { + int type; + const char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; +} swig_constant_info; + + +/* Structure for variable table */ +typedef struct { + const char *name; + SwigMagicFunc set; + SwigMagicFunc get; + swig_type_info **type; +} swig_variable_info; + +/* Magic variable code */ +#ifndef PERL_OBJECT +#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) + #ifndef MULTIPLICITY + SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) + #else + SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) + #endif +#else +# define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) +SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) +#endif +{ + MAGIC *mg; + sv_magic(sv,sv,'U',(char *) name,strlen(name)); + mg = mg_find(sv,'U'); + mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); + mg->mg_virtual->svt_get = (SwigMagicFunc) get; + mg->mg_virtual->svt_set = (SwigMagicFunc) set; + mg->mg_virtual->svt_len = 0; + mg->mg_virtual->svt_clear = 0; + mg->mg_virtual->svt_free = 0; +} + + +SWIGRUNTIME swig_module_info * +SWIG_Perl_GetModule(void) { + static void *type_pointer = (void *)0; + SV *pointer; + + /* first check if pointer already created */ + if (!type_pointer) { + pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI); + if (pointer && SvOK(pointer)) { + type_pointer = INT2PTR(swig_type_info **, SvIV(pointer)); + } + } + + return (swig_module_info *) type_pointer; +} + +SWIGRUNTIME void +SWIG_Perl_SetModule(swig_module_info *module) { + SV *pointer; + + /* create a new pointer */ + pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI); + sv_setiv(pointer, PTR2IV(module)); +} + +#ifdef __cplusplus +} +#endif + +/* Workaround perl5 global namespace pollution. Note that undefining library + * functions like fopen will not solve the problem on all platforms as fopen + * might be a macro on Windows but not necessarily on other operating systems. */ +#ifdef do_open + #undef do_open +#endif +#ifdef do_close + #undef do_close +#endif +#ifdef scalar + #undef scalar +#endif +#ifdef list + #undef list +#endif +#ifdef apply + #undef apply +#endif +#ifdef convert + #undef convert +#endif +#ifdef Error + #undef Error +#endif +#ifdef form + #undef form +#endif +#ifdef vform + #undef vform +#endif +#ifdef LABEL + #undef LABEL +#endif +#ifdef METHOD + #undef METHOD +#endif +#ifdef Move + #undef Move +#endif +#ifdef yylex + #undef yylex +#endif +#ifdef yyparse + #undef yyparse +#endif +#ifdef yyerror + #undef yyerror +#endif +#ifdef invert + #undef invert +#endif +#ifdef ref + #undef ref +#endif +#ifdef read + #undef read +#endif +#ifdef write + #undef write +#endif +#ifdef eof + #undef eof +#endif +#ifdef bool + #undef bool +#endif +#ifdef close + #undef close +#endif +#ifdef rewind + #undef rewind +#endif +#ifdef free + #undef free +#endif +#ifdef malloc + #undef malloc +#endif +#ifdef calloc + #undef calloc +#endif +#ifdef Stat + #undef Stat +#endif +#ifdef check + #undef check +#endif +#ifdef seekdir + #undef seekdir +#endif +#ifdef open + #undef open +#endif +#ifdef readdir + #undef readdir +#endif +#ifdef bind + #undef bind +#endif + + + +#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) + +#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else + + + + #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0) + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_char swig_types[0] +#define SWIGTYPE_p_namespace swig_types[1] +static swig_type_info *swig_types[3]; +static swig_module_info swig_module = {swig_types, 2, 0, 0, 0, 0}; +#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) +#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) + +/* -------- TYPES TABLE (END) -------- */ + +#define SWIG_init boot_CRFPP + +#define SWIG_name "CRFPPc::boot_CRFPP" +#define SWIG_prefix "CRFPPc::" + +#define SWIGVERSION 0x010338 +#define SWIG_VERSION SWIGVERSION + + +#define SWIG_as_voidptr(a) (void *)((const void *)(a)) +#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) + + +#ifdef __cplusplus +extern "C" +#endif +#ifndef PERL_OBJECT +#ifndef MULTIPLICITY +SWIGEXPORT void SWIG_init (CV* cv); +#else +SWIGEXPORT void SWIG_init (pTHXo_ CV* cv); +#endif +#else +SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *); +#endif + + +#include "crfpp.h" + + + +void delete_CRFPP_Tagger (CRFPP::Tagger *t) { + delete t; + t = 0; +} + +CRFPP::Tagger* new_CRFPP_Tagger (const char *arg) { + CRFPP::Tagger *tagger = CRFPP::createTagger(arg); + if (! tagger) throw CRFPP::getTaggerError(); + return tagger; +} + + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef PERL_OBJECT +#define MAGIC_CLASS _wrap_CRFPP_var:: +class _wrap_CRFPP_var : public CPerlObj { +public: +#else +#define MAGIC_CLASS +#endif +SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) { + MAGIC_PPERL + croak("Value is read-only."); + return 0; +} +SWIGCLASS_STATIC int _wrap_CRFPP_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) { + MAGIC_PPERL + { + void *argp = 0; + int res = SWIG_ConvertPtr(sv, &argp, SWIGTYPE_p_namespace, 0 ); + if (!SWIG_IsOK(res)) { + SWIG_exception_fail(SWIG_ArgError(res), "in variable '""CRFPP""' of type '""namespace""'"); + } + if (!argp) { + SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""CRFPP""' of type '""namespace""'"); + } else { + CRFPP = *((namespace *)(argp)); + } + } +fail: + return 1; +} + + +SWIGCLASS_STATIC int _wrap_CRFPP_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) { + MAGIC_PPERL + sv_setiv(SvRV(sv), PTR2IV(&CRFPP)); + return 1; +} + + + + +#ifdef PERL_OBJECT +}; +#endif + +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; +static swig_type_info _swigt__p_namespace = {"_p_namespace", "namespace *", 0, 0, (void*)0, 0}; + +static swig_type_info *swig_type_initial[] = { + &_swigt__p_char, + &_swigt__p_namespace, +}; + +static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; +static swig_cast_info _swigc__p_namespace[] = { {&_swigt__p_namespace, 0, 0, 0},{0, 0, 0, 0}}; + +static swig_cast_info *swig_cast_initial[] = { + _swigc__p_char, + _swigc__p_namespace, +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +static swig_constant_info swig_constants[] = { +{0,0,0,0,0,0} +}; +#ifdef __cplusplus +} +#endif +static swig_variable_info swig_variables[] = { + { "CRFPPc::CRFPP", MAGIC_CLASS _wrap_CRFPP_set, MAGIC_CLASS _wrap_CRFPP_get,&SWIGTYPE_p_namespace }, +{0,0,0,0} +}; +static swig_command_info swig_commands[] = { +{0,0} +}; +/* ----------------------------------------------------------------------------- + * Type initialization: + * This problem is tough by the requirement that no dynamic + * memory is used. Also, since swig_type_info structures store pointers to + * swig_cast_info structures and swig_cast_info structures store pointers back + * to swig_type_info structures, we need some lookup code at initialization. + * The idea is that swig generates all the structures that are needed. + * The runtime then collects these partially filled structures. + * The SWIG_InitializeModule function takes these initial arrays out of + * swig_module, and does all the lookup, filling in the swig_module.types + * array with the correct data and linking the correct swig_cast_info + * structures together. + * + * The generated swig_type_info structures are assigned staticly to an initial + * array. We just loop through that array, and handle each type individually. + * First we lookup if this type has been already loaded, and if so, use the + * loaded structure instead of the generated one. Then we have to fill in the + * cast linked list. The cast data is initially stored in something like a + * two-dimensional array. Each row corresponds to a type (there are the same + * number of rows as there are in the swig_type_initial array). Each entry in + * a column is one of the swig_cast_info structures for that type. + * The cast_initial array is actually an array of arrays, because each row has + * a variable number of columns. So to actually build the cast linked list, + * we find the array of casts associated with the type, and loop through it + * adding the casts to the list. The one last trick we need to do is making + * sure the type pointer in the swig_cast_info struct is correct. + * + * First off, we lookup the cast->type name to see if it is already loaded. + * There are three cases to handle: + * 1) If the cast->type has already been loaded AND the type we are adding + * casting info to has not been loaded (it is in this module), THEN we + * replace the cast->type pointer with the type pointer that has already + * been loaded. + * 2) If BOTH types (the one we are adding casting info to, and the + * cast->type) are loaded, THEN the cast info has already been loaded by + * the previous module so we just ignore it. + * 3) Finally, if cast->type has not already been loaded, then we add that + * swig_cast_info to the linked list (because the cast->type) pointer will + * be correct. + * ----------------------------------------------------------------------------- */ + +#ifdef __cplusplus +extern "C" { +#if 0 +} /* c-mode */ +#endif +#endif + +#if 0 +#define SWIGRUNTIME_DEBUG +#endif + + +SWIGRUNTIME void +SWIG_InitializeModule(void *clientdata) { + size_t i; + swig_module_info *module_head, *iter; + int found, init; + + clientdata = clientdata; + + /* check to see if the circular list has been setup, if not, set it up */ + if (swig_module.next==0) { + /* Initialize the swig_module */ + swig_module.type_initial = swig_type_initial; + swig_module.cast_initial = swig_cast_initial; + swig_module.next = &swig_module; + init = 1; + } else { + init = 0; + } + + /* Try and load any already created modules */ + module_head = SWIG_GetModule(clientdata); + if (!module_head) { + /* This is the first module loaded for this interpreter */ + /* so set the swig module into the interpreter */ + SWIG_SetModule(clientdata, &swig_module); + module_head = &swig_module; + } else { + /* the interpreter has loaded a SWIG module, but has it loaded this one? */ + found=0; + iter=module_head; + do { + if (iter==&swig_module) { + found=1; + break; + } + iter=iter->next; + } while (iter!= module_head); + + /* if the is found in the list, then all is done and we may leave */ + if (found) return; + /* otherwise we must add out module into the list */ + swig_module.next = module_head->next; + module_head->next = &swig_module; + } + + /* When multiple interpeters are used, a module could have already been initialized in + a different interpreter, but not yet have a pointer in this interpreter. + In this case, we do not want to continue adding types... everything should be + set up already */ + if (init == 0) return; + + /* Now work on filling in swig_module.types */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: size %d\n", swig_module.size); +#endif + for (i = 0; i < swig_module.size; ++i) { + swig_type_info *type = 0; + swig_type_info *ret; + swig_cast_info *cast; + +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); +#endif + + /* if there is another module already loaded */ + if (swig_module.next != &swig_module) { + type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); + } + if (type) { + /* Overwrite clientdata field */ +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found type %s\n", type->name); +#endif + if (swig_module.type_initial[i]->clientdata) { + type->clientdata = swig_module.type_initial[i]->clientdata; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); +#endif + } + } else { + type = swig_module.type_initial[i]; + } + + /* Insert casting types */ + cast = swig_module.cast_initial[i]; + while (cast->type) { + /* Don't need to add information already in the list */ + ret = 0; +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); +#endif + if (swig_module.next != &swig_module) { + ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); +#ifdef SWIGRUNTIME_DEBUG + if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); +#endif + } + if (ret) { + if (type == swig_module.type_initial[i]) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: skip old type %s\n", ret->name); +#endif + cast->type = ret; + ret = 0; + } else { + /* Check for casting already in the list */ + swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); +#ifdef SWIGRUNTIME_DEBUG + if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); +#endif + if (!ocast) ret = 0; + } + } + + if (!ret) { +#ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); +#endif + if (type->cast) { + type->cast->prev = cast; + cast->next = type->cast; + } + type->cast = cast; + } + cast++; + } + /* Set entry in modules->types array equal to the type */ + swig_module.types[i] = type; + } + swig_module.types[i] = 0; + +#ifdef SWIGRUNTIME_DEBUG + printf("**** SWIG_InitializeModule: Cast List ******\n"); + for (i = 0; i < swig_module.size; ++i) { + int j = 0; + swig_cast_info *cast = swig_module.cast_initial[i]; + printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); + while (cast->type) { + printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); + cast++; + ++j; + } + printf("---- Total casts: %d\n",j); + } + printf("**** SWIG_InitializeModule: Cast List ******\n"); +#endif +} + +/* This function will propagate the clientdata field of type to +* any new swig_type_info structures that have been added into the list +* of equivalent types. It is like calling +* SWIG_TypeClientData(type, clientdata) a second time. +*/ +SWIGRUNTIME void +SWIG_PropagateClientData(void) { + size_t i; + swig_cast_info *equiv; + static int init_run = 0; + + if (init_run) return; + init_run = 1; + + for (i = 0; i < swig_module.size; i++) { + if (swig_module.types[i]->clientdata) { + equiv = swig_module.types[i]->cast; + while (equiv) { + if (!equiv->converter) { + if (equiv->type && !equiv->type->clientdata) + SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); + } + equiv = equiv->next; + } + } + } +} + +#ifdef __cplusplus +#if 0 +{ + /* c-mode */ +#endif +} +#endif + + + +#ifdef __cplusplus +extern "C" +#endif + +XS(SWIG_init) { + dXSARGS; + int i; + + SWIG_InitializeModule(0); + + /* Install commands */ + for (i = 0; swig_commands[i].name; i++) { + newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__); + } + + /* Install variables */ + for (i = 0; swig_variables[i].name; i++) { + SV *sv; + sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI); + if (swig_variables[i].type) { + SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); + } else { + sv_setiv(sv,(IV) 0); + } + swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); + } + + /* Install constant */ + for (i = 0; swig_constants[i].type; i++) { + SV *sv; + sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI); + switch(swig_constants[i].type) { + case SWIG_INT: + sv_setiv(sv, (IV) swig_constants[i].lvalue); + break; + case SWIG_FLOAT: + sv_setnv(sv, (double) swig_constants[i].dvalue); + break; + case SWIG_STRING: + sv_setpv(sv, (char *) swig_constants[i].pvalue); + break; + case SWIG_POINTER: + SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0); + break; + case SWIG_BINARY: + SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype)); + break; + default: + break; + } + SvREADONLY_on(sv); + } + + ST(0) = &PL_sv_yes; + XSRETURN(1); +} + diff --git a/CRF/swig/Makefile b/CRF/swig/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..74511b1cb623f25db495e461cf2b7406d6b1e19e --- /dev/null +++ b/CRF/swig/Makefile @@ -0,0 +1,36 @@ +SWIG = swig +PREFIX = CRFPP + +all: perl ruby python java + +clean: + rm -f *.pm *.cxx *.py + +perl: + $(SWIG) -perl -shadow -c++ $(PREFIX).i + mv -f $(PREFIX)_wrap.cxx ../perl + mv -f $(PREFIX).pm ../perl + +ruby: + $(SWIG) -ruby -c++ $(PREFIX).i + mv -f $(PREFIX)_wrap.cxx ../ruby/$(PREFIX)_wrap.cpp + +python: + $(SWIG) -python -shadow -c++ $(PREFIX).i + mv -f $(PREFIX)_wrap.cxx ../python + mv -f $(PREFIX).py ../python + +csharp: + $(SWIG) -csharp -namespace CRFPP -c++ $(PREFIX).i + mv -f $(PREFIX)_wrap.cxx ../csharp + mv -f *.cs ../csharp + +java: + $(SWIG) -java -package org.chasen.crfpp -c++ $(PREFIX).i + mkdir -p ../java/org/chasen/crfpp + mv -f $(PREFIX)_wrap.cxx ../java +# rm -fr exception.java SWIGTYPE_*.java + mv -f *.java ../java/org/chasen/crfpp + + + diff --git a/CRF/swig/foo b/CRF/swig/foo new file mode 100644 index 0000000000000000000000000000000000000000..c4bbdafbca117ea0c16ac2a7b7bbe0fe985c00a3 --- /dev/null +++ b/CRF/swig/foo @@ -0,0 +1,24870 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CRF/swig/version.h b/CRF/swig/version.h new file mode 100644 index 0000000000000000000000000000000000000000..33506bde4a5579a21abd296b9c4c9b5ffc01f4b5 --- /dev/null +++ b/CRF/swig/version.h @@ -0,0 +1,3 @@ +namespace CRFPP { +#define VERSION "0.54" +} diff --git a/CRF/swig/version.h.in b/CRF/swig/version.h.in new file mode 100644 index 0000000000000000000000000000000000000000..d62209b5ac0d90b58a291e9d6a2d04f67b30afc9 --- /dev/null +++ b/CRF/swig/version.h.in @@ -0,0 +1,3 @@ +namespace CRFPP { +#define VERSION "@VERSION@" +} diff --git a/CRF/tagger.cpp b/CRF/tagger.cpp new file mode 100644 index 0000000000000000000000000000000000000000..39ddaa6f4991efafa0aa0e1bef0834115bed7771 --- /dev/null +++ b/CRF/tagger.cpp @@ -0,0 +1,552 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: tagger.cpp 1601 2007-03-31 09:47:18Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#include +#include +#include +#include +#include +#include +#include "stream_wrapper.h" +#include "common.h" +#include "tagger.h" + +namespace { + +std::string errorStr; + +static const CRFPP::Option long_options[] = { + {"model", 'm', 0, "FILE", "set FILE for model file"}, + {"nbest", 'n', "0", "INT", "output n-best results"}, + {"verbose" , 'v', "0", "INT", "set INT for verbose level"}, + {"cost-factor", 'c', "1.0", "FLOAT", "set cost factor"}, + {"output", 'o', 0, "FILE", "use FILE as output file"}, + {"version", 'v', 0, 0, "show the version and exit" }, + {"help", 'h', 0, 0, "show this help and exit" }, + {0, 0, 0, 0, 0} +}; +} + +namespace CRFPP { + +bool TaggerImpl::open(FeatureIndex *f) { + mode_ = LEARN; + feature_index_ = f; + ysize_ = feature_index_->ysize(); + return true; +} + +bool TaggerImpl::open(Param *param) { + close(); + + if (!param->help_version()) { + close(); + return false; + } + + nbest_ = param->get("nbest"); + vlevel_ = param->get("verbose"); + + std::string model = param->get("model"); + + feature_index_ = new DecoderFeatureIndex(); + CHECK_CLOSE_FALSE(feature_index_->open(model.c_str(), 0)) + << feature_index_->what(); + + double c = param->get("cost-factor"); + + if (c <= 0.0) { + WHAT << "cost factor must be positive"; + close(); + return false; + } + + feature_index_->set_cost_factor(c); + ysize_ = feature_index_->ysize(); + + return true; +} + +bool TaggerImpl::open(int argc, char **argv) { + Param param; + CHECK_FALSE(param.open(argc, argv, long_options)) + << param.what(); + return open(¶m); +} + +bool TaggerImpl::open(const char *arg) { + Param param; + CHECK_FALSE(param.open(arg, long_options)) << param.what(); + return open(¶m); +} + +void TaggerImpl::close() { + if (mode_ == TEST) { + delete feature_index_; + feature_index_ = 0; + } +} + +bool TaggerImpl::add2(size_t size, const char **column, bool copy) { + size_t xsize = feature_index_->xsize(); + + if ((mode_ == LEARN && size < xsize + 1) || + (mode_ == TEST && size < xsize)) { + CHECK_FALSE(false) << "# x is small: size=" + << size << " xsize=" << xsize; + } + + size_t s = x_.size() + 1; + x_.resize(s); + node_.resize(s); + answer_.resize(s); + result_.resize(s); + s = x_.size() - 1; + + if (copy) { + for (size_t k = 0; k < size; ++k) + x_[s].push_back(feature_index_->strdup(column[k])); + } else { + for (size_t k = 0; k < size; ++k) + x_[s].push_back(column[k]); + } + + result_[s] = answer_[s] = 0; // dummy + if (mode_ == LEARN) { + size_t r = ysize_; + for (size_t k = 0; k < ysize_; ++k) + if (std::strcmp(yname(k), column[xsize]) == 0) + r = k; + + CHECK_FALSE(r != ysize_) << "cannot find answer: " << column[xsize]; + answer_[s] = r; + } + + node_[s].resize(ysize_); + + return true; +} + +bool TaggerImpl::add(size_t size, const char **column) { + return add2(size, column, true); +} + +bool TaggerImpl::add(const char* line) { + const char* column[8192]; + char *p = feature_index_->strdup(line); + size_t size = tokenize2(p, "\t ", column, sizeof(column)); + if (!add2(size, column, false)) return false; + return true; +} + +bool TaggerImpl::read(std::istream *is) { + char line[8192]; + clear(); + + for (;;) { + if (!is->getline(line, sizeof(line))) { + is->clear(std::ios::eofbit|std::ios::badbit); + return true; + } + if (line[0] == '\0' || line[0] == ' ' || line[0] == '\t') break; + if (!add(line)) return false; + } + + return true; +} + +bool TaggerImpl::shrink() { + CHECK_FALSE(feature_index_->buildFeatures(this)) + << feature_index_->what(); + std::vector >(x_).swap(x_); + std::vector >(node_).swap(node_); + std::vector(answer_).swap(answer_); + std::vector(result_).swap(result_); + + return true; +} + +bool TaggerImpl::initNbest() { + if (!agenda_.get()) { + agenda_.reset(new std::priority_queue , QueueElementComp>); + nbest_freelist_.reset(new FreeList (128)); + } + + nbest_freelist_->free(); + while (!agenda_->empty()) agenda_->pop(); // make empty + + size_t k = x_.size()-1; + for (size_t i = 0; i < ysize_; ++i) { + QueueElement *eos = nbest_freelist_->alloc(); + eos->node = node_[k][i]; + eos->fx = -node_[k][i]->bestCost; + eos->gx = -node_[k][i]->cost; + eos->next = 0; + agenda_->push(eos); + } + + return true; +} + +bool TaggerImpl::next() { + while (!agenda_->empty()) { + QueueElement *top = agenda_->top(); + agenda_->pop(); + Node *rnode = top->node; + + if (rnode->x == 0) { + for (QueueElement *n = top; n; n = n->next) + result_[n->node->x] = n->node->y; + cost_ = top->gx; + return true; + } + + for (const_Path_iterator it = rnode->lpath.begin(); + it != rnode->lpath.end(); ++it) { + QueueElement *n =nbest_freelist_->alloc(); + n->node = (*it)->lnode; + n->gx = -(*it)->lnode->cost -(*it)->cost + top->gx; + n->fx = -(*it)->lnode->bestCost -(*it)->cost + top->gx; + // | h(x) | | g(x) | + n->next = top; + agenda_->push(n); + } + } + + return 0; +} + +int TaggerImpl::eval() { + int err = 0; + for (size_t i = 0; i < x_.size(); ++i) + if (answer_[i] != result_[i]) { ++err; } + return err; +} + +bool TaggerImpl::clear() { + if (mode_ == TEST) feature_index_->clear(); + x_.clear(); + node_.clear(); + answer_.clear(); + result_.clear(); + Z_ = cost_ = 0.0; + return true; +} + +void TaggerImpl::buildLattice() { + if (x_.empty()) return; + + feature_index_->rebuildFeatures(this); + + for (size_t i = 0; i < x_.size(); ++i) { + for (size_t j = 0; j < ysize_; ++j) { + feature_index_->calcCost(node_[i][j]); + const std::vector &lpath = node_[i][j]->lpath; + for (const_Path_iterator it = lpath.begin(); it != lpath.end(); ++it) + feature_index_->calcCost(*it); + } + } +} + +void TaggerImpl::forwardbackward() { + if (x_.empty()) return; + + for (int i = 0; i < static_cast(x_.size()); ++i) + for (size_t j = 0; j < ysize_; ++j) + node_[i][j]->calcAlpha(); + + for (int i = static_cast(x_.size() - 1); i >= 0; --i) + for (size_t j = 0; j < ysize_; ++j) + node_[i][j]->calcBeta(); + + Z_ = 0.0; + for (size_t j = 0; j < ysize_; ++j) + Z_ = logsumexp(Z_, node_[0][j]->beta, j == 0); + + return; +} + +void TaggerImpl::viterbi() { + for (size_t i = 0; i < x_.size(); ++i) { + for (size_t j = 0; j < ysize_; ++j) { + double bestc = -1e37; + Node *best = 0; + const std::vector &lpath = node_[i][j]->lpath; + for (const_Path_iterator it = lpath.begin(); it != lpath.end(); ++it) { + double cost = (*it)->lnode->bestCost +(*it)->cost + + node_[i][j]->cost; + if (cost > bestc) { + bestc = cost; + best = (*it)->lnode; + } + } + node_[i][j]->prev = best; + node_[i][j]->bestCost = best ? bestc : node_[i][j]->cost; + } + } + + double bestc = -1e37; + Node *best = 0; + size_t s = x_.size()-1; + for (size_t j = 0; j < ysize_; ++j) { + if (bestc < node_[s][j]->bestCost) { + best = node_[s][j]; + bestc = node_[s][j]->bestCost; + } + } + + for (Node *n = best; n; n = n->prev) + result_[n->x] = n->y; + + cost_ = -node_[x_.size()-1][result_[x_.size()-1]]->bestCost; +} + +double TaggerImpl::gradient(double *expected) { + if (x_.empty()) return 0.0; + + buildLattice(); + forwardbackward(); + double s = 0.0; + + for (size_t i = 0; i < x_.size(); ++i) + for (size_t j = 0; j < ysize_; ++j) + node_[i][j]->calcExpectation(expected, Z_, ysize_); + + for (size_t i = 0; i < x_.size(); ++i) { + for (int *f = node_[i][answer_[i]]->fvector; *f != -1; ++f) + --expected[*f + answer_[i]]; + s += node_[i][answer_[i]]->cost; // UNIGRAM cost + const std::vector &lpath = node_[i][answer_[i]]->lpath; + for (const_Path_iterator it = lpath.begin(); it != lpath.end(); ++it) { + if ((*it)->lnode->y == answer_[(*it)->lnode->x]) { + for (int *f = (*it)->fvector; *f != -1; ++f) + --expected[*f +(*it)->lnode->y * ysize_ +(*it)->rnode->y]; + s += (*it)->cost; // BIGRAM COST + break; + } + } + } + + viterbi(); // call for eval() + + return Z_ - s ; +} + +double TaggerImpl::collins(double *collins) { + if (x_.empty()) return 0.0; + + buildLattice(); + viterbi(); // call for finding argmax y* + double s = 0.0; + + // if correct parse, do not run forward + backward + { + size_t num = 0; + for (size_t i = 0; i < x_.size(); ++i) + if (answer_[i] == result_[i]) ++num; + + if (num == x_.size()) return 0.0; + } + + for (size_t i = 0; i < x_.size(); ++i) { + // answer + { + s += node_[i][answer_[i]]->cost; + for (int *f = node_[i][answer_[i]]->fvector; *f != -1; ++f) + ++collins[*f + answer_[i]]; + + const std::vector &lpath = node_[i][answer_[i]]->lpath; + for (const_Path_iterator it = lpath.begin(); it != lpath.end(); ++it) { + if ((*it)->lnode->y == answer_[(*it)->lnode->x]) { + for (int *f = (*it)->fvector; *f != -1; ++f) + ++collins[*f +(*it)->lnode->y * ysize_ +(*it)->rnode->y]; + s += (*it)->cost; + break; + } + } + } + + // result + { + s -= node_[i][result_[i]]->cost; + for (int *f = node_[i][result_[i]]->fvector; *f != -1; ++f) + --collins[*f + result_[i]]; + + const std::vector &lpath = node_[i][result_[i]]->lpath; + for (const_Path_iterator it = lpath.begin(); it != lpath.end(); ++it) { + if ((*it)->lnode->y == result_[(*it)->lnode->x]) { + for (int *f = (*it)->fvector; *f != -1; ++f) + --collins[*f +(*it)->lnode->y * ysize_ +(*it)->rnode->y]; + s -= (*it)->cost; + break; + } + } + } + } + + return -s; +} + +bool TaggerImpl::parse() { + CHECK_FALSE(feature_index_->buildFeatures(this)) + << feature_index_->what(); + + if (x_.empty()) return true; + buildLattice(); + if (nbest_ || vlevel_ >= 1) forwardbackward(); + viterbi(); + if (nbest_) initNbest(); + + return true; +} + +const char* TaggerImpl::parse(const char* input) { + return parse(input, std::strlen(input)); +} + +const char* TaggerImpl::parse(const char* input, size_t length) { + std::istringstream is(std::string(input, length)); + if (!read(&is) || !parse()) return 0; + toString(); + return os_.c_str(); +} + +const char* TaggerImpl::parse(const char*input, size_t len1, + char *output, size_t len2) { + std::istringstream is(std::string(input, len1)); + if (x_.empty()) return 0; + toString(); + if ((os_.size() + 1) < len2) { + memcpy(output, os_.data(), os_.size()); + output[os_.size()] = '\0'; + return output; + } else { + return 0; + } +} + +bool TaggerImpl::parse_stream(std::istream *is, + std::ostream *os) { + if (!read(is) || !parse()) return false; + if (x_.empty()) return true; + toString(); + os->write(os_.data(), os_.size()); + return true; +} + +const char* TaggerImpl::toString(char *output, + size_t len) { + const char* p = toString(); + size_t l = _min(std::strlen(p), len); + std::strncpy(output, p, l); + return output; +} + +const char* TaggerImpl::toString() { + os_.assign(""); + +#define PRINT \ + for (size_t i = 0; i < x_.size(); ++i) { \ + for (std::vector::iterator it = x_[i].begin(); \ + it != x_[i].end(); ++it) \ + os_ << *it << '\t'; \ + os_ << yname(y(i)); \ + if (vlevel_ >= 1) os_ << '/' << prob(i); \ + if (vlevel_ >= 2) { \ + for (size_t j = 0; j < ysize_; ++j) \ + os_ << '\t' << yname(j) << '/' << prob(i, j); \ + } \ + os_ << '\n'; \ + } \ + os_ << '\n'; + + if (nbest_ >= 1) { + for (size_t n = 0; n < nbest_; ++n) { + if (!next()) break; + os_ << "# " << n << " " << prob() << '\n'; + PRINT; + } + } else { + if (vlevel_ >= 1) os_ << "# " << prob() << '\n'; + PRINT; + } + + return const_cast(os_.c_str()); + +#undef PRINT +} + +Tagger *createTagger(int argc, char **argv) { + TaggerImpl *tagger = new TaggerImpl(); + if (!tagger->open(argc, argv)) { + errorStr = tagger->what(); + delete tagger; + return 0; + } + return tagger; +} + +Tagger *createTagger(const char *argv) { + TaggerImpl *tagger = new TaggerImpl(); + if (!tagger->open(argv)) { + errorStr = tagger->what(); + delete tagger; + return 0; + } + return tagger; +} + +const char *getTaggerError() { + return errorStr.c_str(); +} +} + +int crfpp_test(int argc, char **argv) { + CRFPP::Param param; + + param.open(argc, argv, long_options); + + if (param.get("version")) { + std::cout << param.version(); + return -1; + } + + if (param.get("help")) { + std::cout << param.help(); + return -1; + } + + CRFPP::TaggerImpl tagger; + if (!tagger.open(¶m)) { + std::cerr << tagger.what() << std::endl; + return -1; + } + + std::string output = param.get("output"); + if (output.empty()) output = "-"; + CRFPP::ostream_wrapper os(output.c_str()); + if (!*os) { + std::cerr << "no such file or directory: " << output << std::endl; + return -1; + } + + const std::vector& rest_ = param.rest_args(); + std::vector rest = rest_; // trivial copy + if (rest.empty()) rest.push_back("-"); + + for (size_t i = 0; i < rest.size(); ++i) { + CRFPP::istream_wrapper is(rest[i].c_str()); + if (!*is) { + std::cerr << "no such file or directory: " << rest[i] << std::endl; + return -1; + } + while (*is) tagger.parse_stream(is.get(), os.get()); + } + + return 0; +} diff --git a/CRF/tagger.h b/CRF/tagger.h new file mode 100644 index 0000000000000000000000000000000000000000..e34183b95088e5223801f446478acda5e928ec0f --- /dev/null +++ b/CRF/tagger.h @@ -0,0 +1,173 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: tagger.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_TAGGER_H__ +#define CRFPP_TAGGER_H__ + +#include +#include +#include +#include "param.h" +#include "crfpp.h" +#include "scoped_ptr.h" +#include "feature_index.h" + +namespace CRFPP { + +static inline double toprob(Node *n, double Z) { + return std::exp(n->alpha + n->beta - n->cost - Z); +} + +class TaggerImpl : public Tagger { + private: + struct QueueElement { + Node *node; + QueueElement *next; + double fx; + double gx; + }; + + class QueueElementComp { + public: + const bool operator()(QueueElement *q1, + QueueElement *q2) + { return(q1->fx > q2->fx); } + }; + + enum { TEST, LEARN }; + unsigned int mode_ : 2; + unsigned int vlevel_ : 3; + unsigned int nbest_ : 11; + size_t ysize_; + double cost_; + double Z_; + size_t feature_id_; + unsigned short thread_id_; + FeatureIndex *feature_index_; + std::vector > x_; + std::vector > node_; + std::vector answer_; + std::vector result_; + whatlog what_; + string_buffer os_; + + scoped_ptr, + QueueElementComp> > agenda_; + scoped_ptr > nbest_freelist_; + + void forwardbackward(); + void viterbi(); + void buildLattice(); + bool initNbest(); + bool add2(size_t, const char **, bool); + + public: + explicit TaggerImpl(): mode_(TEST), vlevel_(0), nbest_(0), + ysize_(0), Z_(0), feature_id_(0), + thread_id_(0), feature_index_(0) {} + virtual ~TaggerImpl() { close(); } + + void set_feature_id(size_t id) { feature_id_ = id; } + size_t feature_id() const { return feature_id_; } + void set_thread_id(unsigned short id) { thread_id_ = id; } + unsigned short thread_id() const { return thread_id_; } + Node *node(size_t i, size_t j) const { return node_[i][j]; } + void set_node(Node *n, size_t i, size_t j) { node_[i][j] = n; } + + int eval(); + double gradient(double *); + double collins(double *); + bool shrink(); + bool parse_stream(std::istream *, std::ostream *); + bool read(std::istream *); + bool open(Param *); + bool open(FeatureIndex *); + bool open(const char*); + bool open(int, char **); + void close(); + bool add(size_t, const char **); + bool add(const char*); + size_t size() const { return x_.size(); } + size_t xsize() const { return feature_index_->xsize(); } + size_t dsize() const { return feature_index_->size(); } + const float *weight_vector() const { return feature_index_->alpha_float(); } + bool empty() const { return x_.empty(); } + size_t ysize() const { return ysize_; } + double cost() const { return cost_; } + double Z() const { return Z_; } + double prob() const { return std::exp(- cost_ - Z_); } + double prob(size_t i, size_t j) const { + return toprob(node_[i][j], Z_); + } + double prob(size_t i) const { + return toprob(node_[i][result_[i]], Z_); + } + double alpha(size_t i, size_t j) const { return node_[i][j]->alpha; } + double beta(size_t i, size_t j) const { return node_[i][j]->beta; } + double emission_cost(size_t i, size_t j) const { return node_[i][j]->cost; } + double next_transition_cost(size_t i, size_t j, size_t k) const { + return node_[i][j]->rpath[k]->cost; + } + double prev_transition_cost(size_t i, size_t j, size_t k) const { + return node_[i][j]->lpath[k]->cost; + } + double best_cost(size_t i, size_t j) const { + return node_[i][j]->bestCost; + } + const int *emission_vector(size_t i, size_t j) const { + return const_cast(node_[i][j]->fvector); + } + const int* next_transition_vector(size_t i, size_t j, size_t k) const { + return node_[i][j]->rpath[k]->fvector; + } + const int* prev_transition_vector(size_t i, size_t j, size_t k) const { + return node_[i][j]->lpath[k]->fvector; + } + size_t answer(size_t i) const { return answer_[i]; } + size_t result(size_t i) const { return result_[i]; } + size_t y(size_t i) const { return result_[i]; } + const char* yname(size_t i) const { return feature_index_->y(i); } + const char* y2(size_t i) const { return yname(result_[i]); } + const char* x(size_t i, size_t j) const { return x_[i][j]; } + const char** x(size_t i) const { + return const_cast(&x_[i][0]); + } + const char* toString(); + const char* toString(char *, size_t); + const char* parse(const char*); + const char* parse(const char*, size_t); + const char* parse(const char*, size_t, char*, size_t); + bool parse(); + bool clear(); + bool next(); + + unsigned int vlevel() const { return vlevel_; } + + float cost_factor() const { + return feature_index_->cost_factor(); + } + + size_t nbest() const { return nbest_; } + + void set_vlevel(unsigned int vlevel) { + vlevel_ = vlevel; + } + + void set_cost_factor(float cost_factor) { + if (cost_factor > 0) + feature_index_->set_cost_factor(cost_factor); + } + + void set_nbest(size_t nbest) { + nbest_ = nbest; + } + + const char* what() { return what_.str(); } +}; +} + +#endif diff --git a/CRF/tagger.lo b/CRF/tagger.lo new file mode 100644 index 0000000000000000000000000000000000000000..0b7b5c50318f3dd65cfa8a94e987346252dc96d6 --- /dev/null +++ b/CRF/tagger.lo @@ -0,0 +1,12 @@ +# tagger.lo - a libtool object file +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/tagger.o' + +# Name of the non-PIC object +non_pic_object='tagger.o' + diff --git a/CRF/tagger.o b/CRF/tagger.o new file mode 100644 index 0000000000000000000000000000000000000000..979de158f4b9cc01d4ed6eb0b9b0b1a5eb120bc5 Binary files /dev/null and b/CRF/tagger.o differ diff --git a/CRF/template_SimConcept b/CRF/template_SimConcept new file mode 100644 index 0000000000000000000000000000000000000000..02f8408058869254801ca9c20ce1f1e4a1121538 --- /dev/null +++ b/CRF/template_SimConcept @@ -0,0 +1,464 @@ +# Unigram +U0:%x[0,0] +U1:%x[0,1] +U2:%x[0,2] +U3:%x[0,3] +U4:%x[0,4] +U5:%x[0,5] +U6:%x[0,6] +U7:%x[0,7] +U8:%x[0,8] +U9:%x[0,9] +U10:%x[0,10] +U11:%x[0,11] +U12:%x[0,12] +U13:%x[0,13] +U14:%x[0,14] +U15:%x[0,15] +U16:%x[0,16] +U17:%x[0,17] +U18:%x[0,18] +U19:%x[0,19] +U20:%x[0,20] +U21:%x[0,21] +U22:%x[0,22] +U23:%x[0,23] +U24:%x[0,24] +U25:%x[0,25] +U26:%x[0,26] +U27:%x[0,27] +U28:%x[0,28] + +U50:%x[-1,0] +U51:%x[1,0] +U52:%x[-2,0] +U53:%x[2,0] +U54:%x[-1,1] +U55:%x[1,1] +U56:%x[-2,1] +U57:%x[2,1] +U58:%x[-1,2] +U59:%x[1,2] +U60:%x[-2,2] +U61:%x[2,2] +U62:%x[-1,3] +U63:%x[1,3] +U64:%x[-2,3] +U65:%x[2,3] +U66:%x[-1,4] +U67:%x[1,4] +U68:%x[-2,4] +U69:%x[2,4] +U70:%x[-1,5] +U71:%x[1,5] +U72:%x[-2,5] +U73:%x[2,5] +U74:%x[-1,6] +U75:%x[1,6] +U76:%x[-2,6] +U77:%x[2,6] +U78:%x[-1,7] +U79:%x[1,7] +U80:%x[-2,7] +U81:%x[2,7] +U82:%x[-1,8] +U83:%x[1,8] +U84:%x[-2,8] +U85:%x[2,8] +U86:%x[-1,9] +U87:%x[1,9] +U88:%x[-2,9] +U89:%x[2,9] +U90:%x[-1,10] +U91:%x[1,10] +U92:%x[-2,10] +U93:%x[2,10] +U94:%x[-1,11] +U95:%x[1,11] +U96:%x[-2,11] +U97:%x[2,11] +U98:%x[-1,12] +U99:%x[1,12] +U100:%x[-2,12] +U101:%x[2,12] +U102:%x[-1,13] +U103:%x[1,13] +U104:%x[-2,13] +U105:%x[2,13] +U106:%x[-1,28] +U107:%x[1,28] +U108:%x[-2,28] +U109:%x[2,28] + +U150:%x[-4,0]/%x[-3,0] +U151:%x[-3,0]/%x[-2,0] +U152:%x[-2,0]/%x[-1,0] +U153:%x[-1,0]/%x[0,0] +U154:%x[0,0]/%x[1,0] +U155:%x[1,0]/%x[2,0] +U156:%x[2,0]/%x[3,0] +U157:%x[3,0]/%x[4,0] +U158:%x[-4,1]/%x[-3,1] +U159:%x[-3,1]/%x[-2,1] +U160:%x[-2,1]/%x[-1,1] +U161:%x[-1,1]/%x[0,1] +U162:%x[0,1]/%x[1,1] +U163:%x[1,1]/%x[2,1] +U164:%x[2,1]/%x[3,1] +U165:%x[3,1]/%x[4,1] +U166:%x[-4,2]/%x[-3,2] +U167:%x[-3,2]/%x[-2,2] +U168:%x[-2,2]/%x[-1,2] +U169:%x[-1,2]/%x[0,2] +U170:%x[0,2]/%x[1,2] +U171:%x[1,2]/%x[2,2] +U172:%x[2,2]/%x[3,2] +U173:%x[3,2]/%x[4,2] +U174:%x[-4,3]/%x[-3,3] +U175:%x[-3,3]/%x[-2,3] +U176:%x[-2,3]/%x[-1,3] +U177:%x[-1,3]/%x[0,3] +U178:%x[0,3]/%x[1,3] +U179:%x[1,3]/%x[2,3] +U180:%x[2,3]/%x[3,3] +U181:%x[3,3]/%x[4,3] +U182:%x[-4,4]/%x[-3,4] +U183:%x[-3,4]/%x[-2,4] +U184:%x[-2,4]/%x[-1,4] +U185:%x[-1,4]/%x[0,4] +U186:%x[0,4]/%x[1,4] +U187:%x[1,4]/%x[2,4] +U188:%x[2,4]/%x[3,4] +U189:%x[3,4]/%x[4,4] +U190:%x[-4,8]/%x[-3,8] +U191:%x[-3,8]/%x[-2,8] +U192:%x[-2,8]/%x[-1,8] +U193:%x[-1,8]/%x[0,8] +U194:%x[0,8]/%x[1,8] +U195:%x[1,8]/%x[2,8] +U196:%x[2,8]/%x[3,8] +U197:%x[3,8]/%x[4,8] +U198:%x[-4,9]/%x[-3,9] +U199:%x[-3,9]/%x[-2,9] +U200:%x[-2,9]/%x[-1,9] +U201:%x[-1,9]/%x[0,9] +U202:%x[0,9]/%x[1,9] +U203:%x[1,9]/%x[2,9] +U204:%x[2,9]/%x[3,9] +U205:%x[3,9]/%x[4,9] +U206:%x[-4,10]/%x[-3,10] +U207:%x[-3,10]/%x[-2,10] +U208:%x[-2,10]/%x[-1,10] +U209:%x[-1,10]/%x[0,10] +U210:%x[0,10]/%x[1,10] +U211:%x[1,10]/%x[2,10] +U212:%x[2,10]/%x[3,10] +U213:%x[3,10]/%x[4,10] +U214:%x[-4,11]/%x[-3,11] +U215:%x[-3,11]/%x[-2,11] +U216:%x[-2,11]/%x[-1,11] +U217:%x[-1,11]/%x[0,11] +U218:%x[0,11]/%x[1,11] +U219:%x[1,11]/%x[2,11] +U220:%x[2,11]/%x[3,11] +U221:%x[3,11]/%x[4,11] +U222:%x[-4,12]/%x[-3,12] +U223:%x[-3,12]/%x[-2,12] +U224:%x[-2,12]/%x[-1,12] +U225:%x[-1,12]/%x[0,12] +U226:%x[0,12]/%x[1,12] +U227:%x[1,12]/%x[2,12] +U228:%x[2,12]/%x[3,12] +U229:%x[3,12]/%x[4,12] +U230:%x[-4,13]/%x[-3,13] +U231:%x[-3,13]/%x[-2,13] +U232:%x[-2,13]/%x[-1,13] +U233:%x[-1,13]/%x[0,13] +U234:%x[0,13]/%x[1,13] +U235:%x[1,13]/%x[2,13] +U236:%x[2,13]/%x[3,13] +U237:%x[3,13]/%x[4,13] +U238:%x[-4,28]/%x[-3,28] +U239:%x[-3,28]/%x[-2,28] +U240:%x[-2,28]/%x[-1,28] +U241:%x[-1,28]/%x[0,28] +U242:%x[0,28]/%x[1,28] +U243:%x[1,28]/%x[2,28] +U244:%x[2,28]/%x[3,28] +U245:%x[3,28]/%x[4,28] + +U300:%x[-4,0]/%x[-3,0]/%x[-2,0] +U301:%x[-3,0]/%x[-2,0]/%x[-1,0] +U302:%x[-2,0]/%x[-1,0]/%x[0,0] +U303:%x[-1,0]/%x[0,0]/%x[1,0] +U304:%x[0,0]/%x[1,0]/%x[2,0] +U305:%x[1,0]/%x[2,0]/%x[3,0] +U306:%x[2,0]/%x[3,0]/%x[4,0] +U307:%x[-4,1]/%x[-3,1]/%x[-2,1] +U308:%x[-3,1]/%x[-2,1]/%x[-1,1] +U309:%x[-2,1]/%x[-1,1]/%x[0,1] +U310:%x[-1,1]/%x[0,1]/%x[1,1] +U311:%x[0,1]/%x[1,1]/%x[2,1] +U312:%x[1,1]/%x[2,1]/%x[3,1] +U313:%x[2,1]/%x[3,1]/%x[4,1] +U314:%x[-4,2]/%x[-3,2]/%x[-2,2] +U315:%x[-3,2]/%x[-2,2]/%x[-1,2] +U316:%x[-2,2]/%x[-1,2]/%x[0,2] +U317:%x[-1,2]/%x[0,2]/%x[1,2] +U318:%x[0,2]/%x[1,2]/%x[2,2] +U319:%x[1,2]/%x[2,2]/%x[3,2] +U320:%x[2,2]/%x[3,2]/%x[4,2] +U321:%x[-4,3]/%x[-3,3]/%x[-2,3] +U322:%x[-3,3]/%x[-2,3]/%x[-1,3] +U323:%x[-2,3]/%x[-1,3]/%x[0,3] +U324:%x[-1,3]/%x[0,3]/%x[1,3] +U325:%x[0,3]/%x[1,3]/%x[2,3] +U326:%x[1,3]/%x[2,3]/%x[3,3] +U327:%x[2,3]/%x[3,3]/%x[4,3] +U328:%x[-4,4]/%x[-3,4]/%x[-2,4] +U329:%x[-3,4]/%x[-2,4]/%x[-1,4] +U330:%x[-2,4]/%x[-1,4]/%x[0,4] +U331:%x[-1,4]/%x[0,4]/%x[1,4] +U332:%x[0,4]/%x[1,4]/%x[2,4] +U333:%x[1,4]/%x[2,4]/%x[3,4] +U334:%x[2,4]/%x[3,4]/%x[4,4] +U335:%x[-4,28]/%x[-3,28]/%x[-2,28] +U336:%x[-3,28]/%x[-2,28]/%x[-1,28] +U337:%x[-2,28]/%x[-1,28]/%x[0,28] +U338:%x[-1,28]/%x[0,28]/%x[1,28] +U339:%x[0,28]/%x[1,28]/%x[2,28] +U340:%x[1,28]/%x[2,28]/%x[3,28] +U341:%x[2,28]/%x[3,28]/%x[4,28] + + +# Bigram +B0:%x[0,0] +B1:%x[0,1] +B2:%x[0,2] +B3:%x[0,3] +B4:%x[0,4] +B5:%x[0,5] +B6:%x[0,6] +B7:%x[0,7] +B8:%x[0,8] +B9:%x[0,9] +B10:%x[0,10] +B11:%x[0,11] +B12:%x[0,12] +B13:%x[0,13] +B14:%x[0,14] +B15:%x[0,15] +B16:%x[0,16] +B17:%x[0,17] +B18:%x[0,18] +B19:%x[0,19] +B20:%x[0,20] +B21:%x[0,21] +B22:%x[0,22] +B23:%x[0,23] +B24:%x[0,24] +B25:%x[0,25] +B26:%x[0,26] +B27:%x[0,27] +B28:%x[0,28] + +B50:%x[-1,0] +B51:%x[1,0] +B52:%x[-2,0] +B53:%x[2,0] +B54:%x[-1,1] +B55:%x[1,1] +B56:%x[-2,1] +B57:%x[2,1] +B58:%x[-1,2] +B59:%x[1,2] +B60:%x[-2,2] +B61:%x[2,2] +B62:%x[-1,3] +B63:%x[1,3] +B64:%x[-2,3] +B65:%x[2,3] +B66:%x[-1,4] +B67:%x[1,4] +B68:%x[-2,4] +B69:%x[2,4] +B70:%x[-1,5] +B71:%x[1,5] +B72:%x[-2,5] +B73:%x[2,5] +B74:%x[-1,6] +B75:%x[1,6] +B76:%x[-2,6] +B77:%x[2,6] +B78:%x[-1,7] +B79:%x[1,7] +B80:%x[-2,7] +B81:%x[2,7] +B82:%x[-1,8] +B83:%x[1,8] +B84:%x[-2,8] +B85:%x[2,8] +B86:%x[-1,9] +B87:%x[1,9] +B88:%x[-2,9] +B89:%x[2,9] +B90:%x[-1,10] +B91:%x[1,10] +B92:%x[-2,10] +B93:%x[2,10] +B94:%x[-1,11] +B95:%x[1,11] +B96:%x[-2,11] +B97:%x[2,11] +B98:%x[-1,12] +B99:%x[1,12] +B100:%x[-2,12] +B101:%x[2,12] +B102:%x[-1,13] +B103:%x[1,13] +B104:%x[-2,13] +B105:%x[2,13] +B106:%x[-1,28] +B107:%x[1,28] +B108:%x[-2,28] +B109:%x[2,28] + +B150:%x[-4,0]/%x[-3,0] +B151:%x[-3,0]/%x[-2,0] +B152:%x[-2,0]/%x[-1,0] +B153:%x[-1,0]/%x[0,0] +B154:%x[0,0]/%x[1,0] +B155:%x[1,0]/%x[2,0] +B156:%x[2,0]/%x[3,0] +B157:%x[3,0]/%x[4,0] +B158:%x[-4,1]/%x[-3,1] +B159:%x[-3,1]/%x[-2,1] +B160:%x[-2,1]/%x[-1,1] +B161:%x[-1,1]/%x[0,1] +B162:%x[0,1]/%x[1,1] +B163:%x[1,1]/%x[2,1] +B164:%x[2,1]/%x[3,1] +B165:%x[3,1]/%x[4,1] +B166:%x[-4,2]/%x[-3,2] +B167:%x[-3,2]/%x[-2,2] +B168:%x[-2,2]/%x[-1,2] +B169:%x[-1,2]/%x[0,2] +B170:%x[0,2]/%x[1,2] +B171:%x[1,2]/%x[2,2] +B172:%x[2,2]/%x[3,2] +B173:%x[3,2]/%x[4,2] +B174:%x[-4,3]/%x[-3,3] +B175:%x[-3,3]/%x[-2,3] +B176:%x[-2,3]/%x[-1,3] +B177:%x[-1,3]/%x[0,3] +B178:%x[0,3]/%x[1,3] +B179:%x[1,3]/%x[2,3] +B180:%x[2,3]/%x[3,3] +B181:%x[3,3]/%x[4,3] +B182:%x[-4,4]/%x[-3,4] +B183:%x[-3,4]/%x[-2,4] +B184:%x[-2,4]/%x[-1,4] +B185:%x[-1,4]/%x[0,4] +B186:%x[0,4]/%x[1,4] +B187:%x[1,4]/%x[2,4] +B188:%x[2,4]/%x[3,4] +B189:%x[3,4]/%x[4,4] +B190:%x[-4,8]/%x[-3,8] +B191:%x[-3,8]/%x[-2,8] +B192:%x[-2,8]/%x[-1,8] +B193:%x[-1,8]/%x[0,8] +B194:%x[0,8]/%x[1,8] +B195:%x[1,8]/%x[2,8] +B196:%x[2,8]/%x[3,8] +B197:%x[3,8]/%x[4,8] +B198:%x[-4,9]/%x[-3,9] +B199:%x[-3,9]/%x[-2,9] +B200:%x[-2,9]/%x[-1,9] +B201:%x[-1,9]/%x[0,9] +B202:%x[0,9]/%x[1,9] +B203:%x[1,9]/%x[2,9] +B204:%x[2,9]/%x[3,9] +B205:%x[3,9]/%x[4,9] +B206:%x[-4,10]/%x[-3,10] +B207:%x[-3,10]/%x[-2,10] +B208:%x[-2,10]/%x[-1,10] +B209:%x[-1,10]/%x[0,10] +B210:%x[0,10]/%x[1,10] +B211:%x[1,10]/%x[2,10] +B212:%x[2,10]/%x[3,10] +B213:%x[3,10]/%x[4,10] +B214:%x[-4,11]/%x[-3,11] +B215:%x[-3,11]/%x[-2,11] +B216:%x[-2,11]/%x[-1,11] +B217:%x[-1,11]/%x[0,11] +B218:%x[0,11]/%x[1,11] +B219:%x[1,11]/%x[2,11] +B220:%x[2,11]/%x[3,11] +B221:%x[3,11]/%x[4,11] +B222:%x[-4,12]/%x[-3,12] +B223:%x[-3,12]/%x[-2,12] +B224:%x[-2,12]/%x[-1,12] +B225:%x[-1,12]/%x[0,12] +B226:%x[0,12]/%x[1,12] +B227:%x[1,12]/%x[2,12] +B228:%x[2,12]/%x[3,12] +B229:%x[3,12]/%x[4,12] +B230:%x[-4,13]/%x[-3,13] +B231:%x[-3,13]/%x[-2,13] +B232:%x[-2,13]/%x[-1,13] +B233:%x[-1,13]/%x[0,13] +B234:%x[0,13]/%x[1,13] +B235:%x[1,13]/%x[2,13] +B236:%x[2,13]/%x[3,13] +B237:%x[3,13]/%x[4,13] +B238:%x[-4,28]/%x[-3,28] +B239:%x[-3,28]/%x[-2,28] +B240:%x[-2,28]/%x[-1,28] +B241:%x[-1,28]/%x[0,28] +B242:%x[0,28]/%x[1,28] +B243:%x[1,28]/%x[2,28] +B244:%x[2,28]/%x[3,28] +B245:%x[3,28]/%x[4,28] + +B300:%x[-4,0]/%x[-3,0]/%x[-2,0] +B301:%x[-3,0]/%x[-2,0]/%x[-1,0] +B302:%x[-2,0]/%x[-1,0]/%x[0,0] +B303:%x[-1,0]/%x[0,0]/%x[1,0] +B304:%x[0,0]/%x[1,0]/%x[2,0] +B305:%x[1,0]/%x[2,0]/%x[3,0] +B306:%x[2,0]/%x[3,0]/%x[4,0] +B307:%x[-4,1]/%x[-3,1]/%x[-2,1] +B308:%x[-3,1]/%x[-2,1]/%x[-1,1] +B309:%x[-2,1]/%x[-1,1]/%x[0,1] +B310:%x[-1,1]/%x[0,1]/%x[1,1] +B311:%x[0,1]/%x[1,1]/%x[2,1] +B312:%x[1,1]/%x[2,1]/%x[3,1] +B313:%x[2,1]/%x[3,1]/%x[4,1] +B314:%x[-4,2]/%x[-3,2]/%x[-2,2] +B315:%x[-3,2]/%x[-2,2]/%x[-1,2] +B316:%x[-2,2]/%x[-1,2]/%x[0,2] +B317:%x[-1,2]/%x[0,2]/%x[1,2] +B318:%x[0,2]/%x[1,2]/%x[2,2] +B319:%x[1,2]/%x[2,2]/%x[3,2] +B320:%x[2,2]/%x[3,2]/%x[4,2] +B321:%x[-4,3]/%x[-3,3]/%x[-2,3] +B322:%x[-3,3]/%x[-2,3]/%x[-1,3] +B323:%x[-2,3]/%x[-1,3]/%x[0,3] +B324:%x[-1,3]/%x[0,3]/%x[1,3] +B325:%x[0,3]/%x[1,3]/%x[2,3] +B326:%x[1,3]/%x[2,3]/%x[3,3] +B327:%x[2,3]/%x[3,3]/%x[4,3] +B328:%x[-4,4]/%x[-3,4]/%x[-2,4] +B329:%x[-3,4]/%x[-2,4]/%x[-1,4] +B330:%x[-2,4]/%x[-1,4]/%x[0,4] +B331:%x[-1,4]/%x[0,4]/%x[1,4] +B332:%x[0,4]/%x[1,4]/%x[2,4] +B333:%x[1,4]/%x[2,4]/%x[3,4] +B334:%x[2,4]/%x[3,4]/%x[4,4] +B335:%x[-4,28]/%x[-3,28]/%x[-2,28] +B336:%x[-3,28]/%x[-2,28]/%x[-1,28] +B337:%x[-2,28]/%x[-1,28]/%x[0,28] +B338:%x[-1,28]/%x[0,28]/%x[1,28] +B339:%x[0,28]/%x[1,28]/%x[2,28] +B340:%x[1,28]/%x[2,28]/%x[3,28] +B341:%x[2,28]/%x[3,28]/%x[4,28] diff --git a/CRF/template_UB b/CRF/template_UB new file mode 100644 index 0000000000000000000000000000000000000000..df809381ae552f7492b273451163394428bbe7d8 --- /dev/null +++ b/CRF/template_UB @@ -0,0 +1,650 @@ +# Unigram +U0:%x[0,0] +U1:%x[0,1] +U2:%x[0,2] +U3:%x[0,3] +U4:%x[0,4] +U5:%x[0,5] +U6:%x[0,6] +U7:%x[0,7] +U8:%x[0,8] +U9:%x[0,9] +U10:%x[0,10] +U11:%x[0,11] +U12:%x[0,12] +U13:%x[0,13] +U14:%x[0,14] +U15:%x[0,15] +U16:%x[0,16] +U17:%x[0,17] +U18:%x[0,18] +U19:%x[0,19] +U20:%x[0,20] +U21:%x[0,21] +U22:%x[0,22] +U23:%x[0,23] +U24:%x[0,24] +U25:%x[0,25] +U26:%x[0,26] +U27:%x[0,27] +U28:%x[0,28] +U29:%x[-1,0] +U30:%x[1,0] +U31:%x[-2,0] +U32:%x[2,0] +U33:%x[-1,1] +U34:%x[1,1] +U35:%x[-2,1] +U36:%x[2,1] +U33:%x[-1,2] +U34:%x[1,2] +U35:%x[-2,2] +U36:%x[2,2] +U37:%x[-1,3] +U38:%x[1,3] +U39:%x[-2,3] +U40:%x[2,3] +U41:%x[-1,4] +U42:%x[1,4] +U43:%x[-2,4] +U44:%x[2,4] +U45:%x[-1,5] +U46:%x[1,5] +U47:%x[-2,5] +U48:%x[2,5] +U49:%x[-1,6] +U50:%x[1,6] +U51:%x[-2,6] +U52:%x[2,6] +U53:%x[-1,7] +U54:%x[1,7] +U55:%x[-2,7] +U56:%x[2,7] +U57:%x[-1,8] +U58:%x[1,8] +U59:%x[-2,8] +U60:%x[2,8] +U61:%x[-1,9] +U62:%x[1,9] +U63:%x[-2,9] +U64:%x[2,9] +U65:%x[-1,10] +U66:%x[1,10] +U67:%x[-2,10] +U68:%x[2,10] +U69:%x[-1,11] +U70:%x[1,11] +U71:%x[-2,11] +U72:%x[2,11] +U73:%x[-1,12] +U74:%x[1,12] +U75:%x[-2,12] +U76:%x[2,12] +U77:%x[-1,13] +U78:%x[1,13] +U79:%x[-2,13] +U80:%x[2,13] +U81:%x[-1,14] +U82:%x[1,14] +U83:%x[-2,14] +U84:%x[2,14] +U85:%x[-1,15] +U86:%x[1,15] +U87:%x[-2,15] +U88:%x[2,15] +U89:%x[-1,16] +U90:%x[1,16] +U91:%x[-2,16] +U92:%x[2,16] +U93:%x[-1,17] +U94:%x[1,17] +U95:%x[-2,17] +U96:%x[2,17] +U97:%x[-1,18] +U98:%x[1,18] +U99:%x[-2,18] +U100:%x[2,18] +U101:%x[-1,19] +U102:%x[1,19] +U103:%x[-2,19] +U104:%x[2,19] +U105:%x[-1,20] +U106:%x[1,20] +U107:%x[-2,20] +U108:%x[2,20] +U109:%x[-1,21] +U110:%x[1,21] +U111:%x[-2,21] +U112:%x[2,21] +U113:%x[-1,22] +U114:%x[1,22] +U115:%x[-2,22] +U116:%x[2,22] +U117:%x[-1,23] +U118:%x[1,23] +U119:%x[-2,23] +U120:%x[2,23] +U121:%x[-1,24] +U122:%x[1,24] +U123:%x[-2,24] +U124:%x[2,24] +U125:%x[-1,25] +U126:%x[1,25] +U127:%x[-2,25] +U128:%x[2,25] +U129:%x[-1,26] +U130:%x[1,26] +U131:%x[-2,26] +U132:%x[2,26] +U133:%x[-1,27] +U134:%x[1,27] +U135:%x[-2,27] +U136:%x[2,27] +U137:%x[-1,28] +U138:%x[1,28] +U139:%x[-2,28] +U140:%x[2,28] + +U150:%x[-4,0]/%x[-3,0] +U151:%x[-3,0]/%x[-2,0] +U152:%x[-2,0]/%x[-1,0] +U153:%x[-1,0]/%x[0,0] +U154:%x[0,0]/%x[1,0] +U155:%x[1,0]/%x[2,0] +U156:%x[2,0]/%x[3,0] +U157:%x[3,0]/%x[4,0] +U158:%x[-4,1]/%x[-3,1] +U159:%x[-3,1]/%x[-2,1] +U160:%x[-2,1]/%x[-1,1] +U161:%x[-1,1]/%x[0,1] +U162:%x[0,1]/%x[1,1] +U163:%x[1,1]/%x[2,1] +U164:%x[2,1]/%x[3,1] +U165:%x[3,1]/%x[4,1] +U166:%x[-4,2]/%x[-3,2] +U167:%x[-3,2]/%x[-2,2] +U168:%x[-2,2]/%x[-1,2] +U169:%x[-1,2]/%x[0,2] +U170:%x[0,2]/%x[1,2] +U171:%x[1,2]/%x[2,2] +U172:%x[2,2]/%x[3,2] +U173:%x[3,2]/%x[4,2] +U174:%x[-4,3]/%x[-3,3] +U175:%x[-3,3]/%x[-2,3] +U176:%x[-2,3]/%x[-1,3] +U177:%x[-1,3]/%x[0,3] +U178:%x[0,3]/%x[1,3] +U179:%x[1,3]/%x[2,3] +U180:%x[2,3]/%x[3,3] +U181:%x[3,3]/%x[4,3] +U182:%x[-4,4]/%x[-3,4] +U183:%x[-3,4]/%x[-2,4] +U184:%x[-2,4]/%x[-1,4] +U185:%x[-1,4]/%x[0,4] +U186:%x[0,4]/%x[1,4] +U187:%x[1,4]/%x[2,4] +U188:%x[2,4]/%x[3,4] +U189:%x[3,4]/%x[4,4] +U190:%x[-4,9]/%x[-3,9] +U191:%x[-3,9]/%x[-2,9] +U192:%x[-2,9]/%x[-1,9] +U193:%x[-1,9]/%x[0,9] +U194:%x[0,9]/%x[1,9] +U195:%x[1,9]/%x[2,9] +U196:%x[2,9]/%x[3,9] +U197:%x[3,9]/%x[4,9] +U198:%x[-4,10]/%x[-3,10] +U199:%x[-3,10]/%x[-2,10] +U200:%x[-2,10]/%x[-1,10] +U201:%x[-1,10]/%x[0,10] +U202:%x[0,10]/%x[1,10] +U203:%x[1,10]/%x[2,10] +U204:%x[2,10]/%x[3,10] +U205:%x[3,10]/%x[4,10] +U206:%x[-4,11]/%x[-3,11] +U207:%x[-3,11]/%x[-2,11] +U208:%x[-2,11]/%x[-1,11] +U209:%x[-1,11]/%x[0,11] +U210:%x[0,11]/%x[1,11] +U211:%x[1,11]/%x[2,11] +U212:%x[2,11]/%x[3,11] +U213:%x[3,11]/%x[4,11] +U214:%x[-4,12]/%x[-3,12] +U215:%x[-3,12]/%x[-2,12] +U216:%x[-2,12]/%x[-1,12] +U217:%x[-1,12]/%x[0,12] +U218:%x[0,12]/%x[1,12] +U219:%x[1,12]/%x[2,12] +U220:%x[2,12]/%x[3,12] +U221:%x[3,12]/%x[4,12] +U222:%x[-4,22]/%x[-3,22] +U223:%x[-3,22]/%x[-2,22] +U224:%x[-2,22]/%x[-1,22] +U225:%x[-1,22]/%x[0,22] +U226:%x[0,22]/%x[1,22] +U227:%x[1,22]/%x[2,22] +U228:%x[2,22]/%x[3,22] +U229:%x[3,22]/%x[4,22] +U230:%x[-4,24]/%x[-3,24] +U231:%x[-3,24]/%x[-2,24] +U232:%x[-2,24]/%x[-1,24] +U233:%x[-1,24]/%x[0,24] +U234:%x[0,24]/%x[1,24] +U235:%x[1,24]/%x[2,24] +U236:%x[2,24]/%x[3,24] +U237:%x[3,24]/%x[4,24] +U238:%x[-4,25]/%x[-3,25] +U239:%x[-3,25]/%x[-2,25] +U240:%x[-2,25]/%x[-1,25] +U241:%x[-1,25]/%x[0,25] +U242:%x[0,25]/%x[1,25] +U243:%x[1,25]/%x[2,25] +U244:%x[2,25]/%x[3,25] +U245:%x[3,25]/%x[4,25] +U246:%x[-4,26]/%x[-3,26] +U247:%x[-3,26]/%x[-2,26] +U248:%x[-2,26]/%x[-1,26] +U249:%x[-1,26]/%x[0,26] +U250:%x[0,26]/%x[1,26] +U251:%x[1,26]/%x[2,26] +U252:%x[2,26]/%x[3,26] +U253:%x[3,26]/%x[4,26] +U254:%x[-4,27]/%x[-3,27] +U255:%x[-3,27]/%x[-2,27] +U256:%x[-2,27]/%x[-1,27] +U257:%x[-1,27]/%x[0,27] +U258:%x[0,27]/%x[1,27] +U259:%x[1,27]/%x[2,27] +U260:%x[2,27]/%x[3,27] +U261:%x[3,27]/%x[4,27] +U262:%x[-4,28]/%x[-3,28] +U263:%x[-3,28]/%x[-2,28] +U264:%x[-2,28]/%x[-1,28] +U265:%x[-1,28]/%x[0,28] +U266:%x[0,28]/%x[1,28] +U267:%x[1,28]/%x[2,28] +U268:%x[2,28]/%x[3,28] +U269:%x[3,28]/%x[4,28] + +U260:%x[-4,0]/%x[-3,0]/%x[-2,0] +U261:%x[-3,0]/%x[-2,0]/%x[-1,0] +U262:%x[-2,0]/%x[-1,0]/%x[0,0] +U263:%x[-1,0]/%x[0,0]/%x[1,0] +U264:%x[0,0]/%x[1,0]/%x[2,0] +U265:%x[1,0]/%x[2,0]/%x[3,0] +U266:%x[2,0]/%x[3,0]/%x[4,0] +U267:%x[-4,1]/%x[-3,1]/%x[-2,1] +U268:%x[-3,1]/%x[-2,1]/%x[-1,1] +U269:%x[-2,1]/%x[-1,1]/%x[0,1] +U270:%x[-1,1]/%x[0,1]/%x[1,1] +U271:%x[0,1]/%x[1,1]/%x[2,1] +U272:%x[1,1]/%x[2,1]/%x[3,1] +U273:%x[2,1]/%x[3,1]/%x[4,1] +U274:%x[-4,2]/%x[-3,2]/%x[-2,2] +U275:%x[-3,2]/%x[-2,2]/%x[-1,2] +U276:%x[-2,2]/%x[-1,2]/%x[0,2] +U277:%x[-1,2]/%x[0,2]/%x[1,2] +U278:%x[0,2]/%x[1,2]/%x[2,2] +U279:%x[1,2]/%x[2,2]/%x[3,2] +U280:%x[2,2]/%x[3,2]/%x[4,2] +U281:%x[-4,3]/%x[-3,3]/%x[-2,3] +U282:%x[-3,3]/%x[-2,3]/%x[-1,3] +U283:%x[-2,3]/%x[-1,3]/%x[0,3] +U284:%x[-1,3]/%x[0,3]/%x[1,3] +U285:%x[0,3]/%x[1,3]/%x[2,3] +U286:%x[1,3]/%x[2,3]/%x[3,3] +U287:%x[2,3]/%x[3,3]/%x[4,3] +U288:%x[-4,4]/%x[-3,4]/%x[-2,4] +U289:%x[-3,4]/%x[-2,4]/%x[-1,4] +U290:%x[-2,4]/%x[-1,4]/%x[0,4] +U291:%x[-1,4]/%x[0,4]/%x[1,4] +U292:%x[0,4]/%x[1,4]/%x[2,4] +U293:%x[1,4]/%x[2,4]/%x[3,4] +U294:%x[2,4]/%x[3,4]/%x[4,4] +U295:%x[-4,26]/%x[-3,26]/%x[-2,26] +U296:%x[-3,26]/%x[-2,26]/%x[-1,26] +U297:%x[-2,26]/%x[-1,26]/%x[0,26] +U298:%x[-1,26]/%x[0,26]/%x[1,26] +U299:%x[0,26]/%x[1,26]/%x[2,26] +U300:%x[1,26]/%x[2,26]/%x[3,26] +U301:%x[2,26]/%x[3,26]/%x[4,26] +U302:%x[-4,27]/%x[-3,27]/%x[-2,27] +U303:%x[-3,27]/%x[-2,27]/%x[-1,27] +U304:%x[-2,27]/%x[-1,27]/%x[0,27] +U305:%x[-1,27]/%x[0,27]/%x[1,27] +U306:%x[0,27]/%x[1,27]/%x[2,27] +U307:%x[1,27]/%x[2,27]/%x[3,27] +U308:%x[2,27]/%x[3,27]/%x[4,27] +U309:%x[-4,28]/%x[-3,28]/%x[-2,28] +U310:%x[-3,28]/%x[-2,28]/%x[-1,28] +U311:%x[-2,28]/%x[-1,28]/%x[0,28] +U312:%x[-1,28]/%x[0,28]/%x[1,28] +U313:%x[0,28]/%x[1,28]/%x[2,28] +U314:%x[1,28]/%x[2,28]/%x[3,28] +U315:%x[2,28]/%x[3,28]/%x[4,28] + +# Bigram + +B0:%x[0,0] +B1:%x[0,1] +B2:%x[0,2] +B3:%x[0,3] +B4:%x[0,4] +B5:%x[0,5] +B6:%x[0,6] +B7:%x[0,7] +B8:%x[0,8] +B9:%x[0,9] +B10:%x[0,10] +B11:%x[0,11] +B12:%x[0,12] +B13:%x[0,13] +B14:%x[0,14] +B15:%x[0,15] +B16:%x[0,16] +B17:%x[0,17] +B18:%x[0,18] +B19:%x[0,19] +B20:%x[0,20] +B21:%x[0,21] +B22:%x[0,22] +B23:%x[0,23] +B24:%x[0,24] +B25:%x[0,25] +B26:%x[0,26] +B27:%x[0,27] +B28:%x[0,28] +B29:%x[-1,0] +B30:%x[1,0] +B31:%x[-2,0] +B32:%x[2,0] +B33:%x[-1,1] +B34:%x[1,1] +B35:%x[-2,1] +B36:%x[2,1] +B33:%x[-1,2] +B34:%x[1,2] +B35:%x[-2,2] +B36:%x[2,2] +B37:%x[-1,3] +B38:%x[1,3] +B39:%x[-2,3] +B40:%x[2,3] +B41:%x[-1,4] +B42:%x[1,4] +B43:%x[-2,4] +B44:%x[2,4] +B45:%x[-1,5] +B46:%x[1,5] +B47:%x[-2,5] +B48:%x[2,5] +B49:%x[-1,6] +B50:%x[1,6] +B51:%x[-2,6] +B52:%x[2,6] +B53:%x[-1,7] +B54:%x[1,7] +B55:%x[-2,7] +B56:%x[2,7] +B57:%x[-1,8] +B58:%x[1,8] +B59:%x[-2,8] +B60:%x[2,8] +B61:%x[-1,9] +B62:%x[1,9] +B63:%x[-2,9] +B64:%x[2,9] +B65:%x[-1,10] +B66:%x[1,10] +B67:%x[-2,10] +B68:%x[2,10] +B69:%x[-1,11] +B70:%x[1,11] +B71:%x[-2,11] +B72:%x[2,11] +B73:%x[-1,12] +B74:%x[1,12] +B75:%x[-2,12] +B76:%x[2,12] +B77:%x[-1,13] +B78:%x[1,13] +B79:%x[-2,13] +B80:%x[2,13] +B81:%x[-1,14] +B82:%x[1,14] +B83:%x[-2,14] +B84:%x[2,14] +B85:%x[-1,15] +B86:%x[1,15] +B87:%x[-2,15] +B88:%x[2,15] +B89:%x[-1,16] +B90:%x[1,16] +B91:%x[-2,16] +B92:%x[2,16] +B93:%x[-1,17] +B94:%x[1,17] +B95:%x[-2,17] +B96:%x[2,17] +B97:%x[-1,18] +B98:%x[1,18] +B99:%x[-2,18] +B100:%x[2,18] +B101:%x[-1,19] +B102:%x[1,19] +B103:%x[-2,19] +B104:%x[2,19] +B105:%x[-1,20] +B106:%x[1,20] +B107:%x[-2,20] +B108:%x[2,20] +B109:%x[-1,21] +B110:%x[1,21] +B111:%x[-2,21] +B112:%x[2,21] +B113:%x[-1,22] +B114:%x[1,22] +B115:%x[-2,22] +B116:%x[2,22] +B117:%x[-1,23] +B118:%x[1,23] +B119:%x[-2,23] +B120:%x[2,23] +B121:%x[-1,24] +B122:%x[1,24] +B123:%x[-2,24] +B124:%x[2,24] +B125:%x[-1,25] +B126:%x[1,25] +B127:%x[-2,25] +B128:%x[2,25] +B129:%x[-1,26] +B130:%x[1,26] +B131:%x[-2,26] +B132:%x[2,26] +B133:%x[-1,27] +B134:%x[1,27] +B135:%x[-2,27] +B136:%x[2,27] +B137:%x[-1,28] +B138:%x[1,28] +B139:%x[-2,28] +B140:%x[2,28] + +B150:%x[-4,0]/%x[-3,0] +B151:%x[-3,0]/%x[-2,0] +B152:%x[-2,0]/%x[-1,0] +B153:%x[-1,0]/%x[0,0] +B154:%x[0,0]/%x[1,0] +B155:%x[1,0]/%x[2,0] +B156:%x[2,0]/%x[3,0] +B157:%x[3,0]/%x[4,0] +B158:%x[-4,1]/%x[-3,1] +B159:%x[-3,1]/%x[-2,1] +B160:%x[-2,1]/%x[-1,1] +B161:%x[-1,1]/%x[0,1] +B162:%x[0,1]/%x[1,1] +B163:%x[1,1]/%x[2,1] +B164:%x[2,1]/%x[3,1] +B165:%x[3,1]/%x[4,1] +B166:%x[-4,2]/%x[-3,2] +B167:%x[-3,2]/%x[-2,2] +B168:%x[-2,2]/%x[-1,2] +B169:%x[-1,2]/%x[0,2] +B170:%x[0,2]/%x[1,2] +B171:%x[1,2]/%x[2,2] +B172:%x[2,2]/%x[3,2] +B173:%x[3,2]/%x[4,2] +B174:%x[-4,3]/%x[-3,3] +B175:%x[-3,3]/%x[-2,3] +B176:%x[-2,3]/%x[-1,3] +B177:%x[-1,3]/%x[0,3] +B178:%x[0,3]/%x[1,3] +B179:%x[1,3]/%x[2,3] +B180:%x[2,3]/%x[3,3] +B181:%x[3,3]/%x[4,3] +B182:%x[-4,4]/%x[-3,4] +B183:%x[-3,4]/%x[-2,4] +B184:%x[-2,4]/%x[-1,4] +B185:%x[-1,4]/%x[0,4] +B186:%x[0,4]/%x[1,4] +B187:%x[1,4]/%x[2,4] +B188:%x[2,4]/%x[3,4] +B189:%x[3,4]/%x[4,4] +B190:%x[-4,9]/%x[-3,9] +B191:%x[-3,9]/%x[-2,9] +B192:%x[-2,9]/%x[-1,9] +B193:%x[-1,9]/%x[0,9] +B194:%x[0,9]/%x[1,9] +B195:%x[1,9]/%x[2,9] +B196:%x[2,9]/%x[3,9] +B197:%x[3,9]/%x[4,9] +B198:%x[-4,10]/%x[-3,10] +B199:%x[-3,10]/%x[-2,10] +B200:%x[-2,10]/%x[-1,10] +B201:%x[-1,10]/%x[0,10] +B202:%x[0,10]/%x[1,10] +B203:%x[1,10]/%x[2,10] +B204:%x[2,10]/%x[3,10] +B205:%x[3,10]/%x[4,10] +B206:%x[-4,11]/%x[-3,11] +B207:%x[-3,11]/%x[-2,11] +B208:%x[-2,11]/%x[-1,11] +B209:%x[-1,11]/%x[0,11] +B210:%x[0,11]/%x[1,11] +B211:%x[1,11]/%x[2,11] +B212:%x[2,11]/%x[3,11] +B213:%x[3,11]/%x[4,11] +B214:%x[-4,12]/%x[-3,12] +B215:%x[-3,12]/%x[-2,12] +B216:%x[-2,12]/%x[-1,12] +B217:%x[-1,12]/%x[0,12] +B218:%x[0,12]/%x[1,12] +B219:%x[1,12]/%x[2,12] +B220:%x[2,12]/%x[3,12] +B221:%x[3,12]/%x[4,12] +B222:%x[-4,22]/%x[-3,22] +B223:%x[-3,22]/%x[-2,22] +B224:%x[-2,22]/%x[-1,22] +B225:%x[-1,22]/%x[0,22] +B226:%x[0,22]/%x[1,22] +B227:%x[1,22]/%x[2,22] +B228:%x[2,22]/%x[3,22] +B229:%x[3,22]/%x[4,22] +B230:%x[-4,24]/%x[-3,24] +B231:%x[-3,24]/%x[-2,24] +B232:%x[-2,24]/%x[-1,24] +B233:%x[-1,24]/%x[0,24] +B234:%x[0,24]/%x[1,24] +B235:%x[1,24]/%x[2,24] +B236:%x[2,24]/%x[3,24] +B237:%x[3,24]/%x[4,24] +B238:%x[-4,25]/%x[-3,25] +B239:%x[-3,25]/%x[-2,25] +B240:%x[-2,25]/%x[-1,25] +B241:%x[-1,25]/%x[0,25] +B242:%x[0,25]/%x[1,25] +B243:%x[1,25]/%x[2,25] +B244:%x[2,25]/%x[3,25] +B245:%x[3,25]/%x[4,25] +B246:%x[-4,26]/%x[-3,26] +B247:%x[-3,26]/%x[-2,26] +B248:%x[-2,26]/%x[-1,26] +B249:%x[-1,26]/%x[0,26] +B250:%x[0,26]/%x[1,26] +B251:%x[1,26]/%x[2,26] +B252:%x[2,26]/%x[3,26] +B253:%x[3,26]/%x[4,26] +B254:%x[-4,27]/%x[-3,27] +B255:%x[-3,27]/%x[-2,27] +B256:%x[-2,27]/%x[-1,27] +B257:%x[-1,27]/%x[0,27] +B258:%x[0,27]/%x[1,27] +B259:%x[1,27]/%x[2,27] +B260:%x[2,27]/%x[3,27] +B261:%x[3,27]/%x[4,27] +B262:%x[-4,28]/%x[-3,28] +B263:%x[-3,28]/%x[-2,28] +B264:%x[-2,28]/%x[-1,28] +B265:%x[-1,28]/%x[0,28] +B266:%x[0,28]/%x[1,28] +B267:%x[1,28]/%x[2,28] +B268:%x[2,28]/%x[3,28] +B269:%x[3,28]/%x[4,28] + +B260:%x[-4,0]/%x[-3,0]/%x[-2,0] +B261:%x[-3,0]/%x[-2,0]/%x[-1,0] +B262:%x[-2,0]/%x[-1,0]/%x[0,0] +B263:%x[-1,0]/%x[0,0]/%x[1,0] +B264:%x[0,0]/%x[1,0]/%x[2,0] +B265:%x[1,0]/%x[2,0]/%x[3,0] +B266:%x[2,0]/%x[3,0]/%x[4,0] +B267:%x[-4,1]/%x[-3,1]/%x[-2,1] +B268:%x[-3,1]/%x[-2,1]/%x[-1,1] +B269:%x[-2,1]/%x[-1,1]/%x[0,1] +B270:%x[-1,1]/%x[0,1]/%x[1,1] +B271:%x[0,1]/%x[1,1]/%x[2,1] +B272:%x[1,1]/%x[2,1]/%x[3,1] +B273:%x[2,1]/%x[3,1]/%x[4,1] +B274:%x[-4,2]/%x[-3,2]/%x[-2,2] +B275:%x[-3,2]/%x[-2,2]/%x[-1,2] +B276:%x[-2,2]/%x[-1,2]/%x[0,2] +B277:%x[-1,2]/%x[0,2]/%x[1,2] +B278:%x[0,2]/%x[1,2]/%x[2,2] +B279:%x[1,2]/%x[2,2]/%x[3,2] +B280:%x[2,2]/%x[3,2]/%x[4,2] +B281:%x[-4,3]/%x[-3,3]/%x[-2,3] +B282:%x[-3,3]/%x[-2,3]/%x[-1,3] +B283:%x[-2,3]/%x[-1,3]/%x[0,3] +B284:%x[-1,3]/%x[0,3]/%x[1,3] +B285:%x[0,3]/%x[1,3]/%x[2,3] +B286:%x[1,3]/%x[2,3]/%x[3,3] +B287:%x[2,3]/%x[3,3]/%x[4,3] +B288:%x[-4,4]/%x[-3,4]/%x[-2,4] +B289:%x[-3,4]/%x[-2,4]/%x[-1,4] +B290:%x[-2,4]/%x[-1,4]/%x[0,4] +B291:%x[-1,4]/%x[0,4]/%x[1,4] +B292:%x[0,4]/%x[1,4]/%x[2,4] +B293:%x[1,4]/%x[2,4]/%x[3,4] +B294:%x[2,4]/%x[3,4]/%x[4,4] +B295:%x[-4,26]/%x[-3,26]/%x[-2,26] +B296:%x[-3,26]/%x[-2,26]/%x[-1,26] +B297:%x[-2,26]/%x[-1,26]/%x[0,26] +B298:%x[-1,26]/%x[0,26]/%x[1,26] +B299:%x[0,26]/%x[1,26]/%x[2,26] +B300:%x[1,26]/%x[2,26]/%x[3,26] +B301:%x[2,26]/%x[3,26]/%x[4,26] +B302:%x[-4,27]/%x[-3,27]/%x[-2,27] +B303:%x[-3,27]/%x[-2,27]/%x[-1,27] +B304:%x[-2,27]/%x[-1,27]/%x[0,27] +B305:%x[-1,27]/%x[0,27]/%x[1,27] +B306:%x[0,27]/%x[1,27]/%x[2,27] +B307:%x[1,27]/%x[2,27]/%x[3,27] +B308:%x[2,27]/%x[3,27]/%x[4,27] +B309:%x[-4,28]/%x[-3,28]/%x[-2,28] +B310:%x[-3,28]/%x[-2,28]/%x[-1,28] +B311:%x[-2,28]/%x[-1,28]/%x[0,28] +B312:%x[-1,28]/%x[0,28]/%x[1,28] +B313:%x[0,28]/%x[1,28]/%x[2,28] +B314:%x[1,28]/%x[2,28]/%x[3,28] +B315:%x[2,28]/%x[3,28]/%x[4,28] \ No newline at end of file diff --git a/CRF/thread.h b/CRF/thread.h new file mode 100644 index 0000000000000000000000000000000000000000..940e6f1a4e9396a8e56674df894b0f6e89c9eb74 --- /dev/null +++ b/CRF/thread.h @@ -0,0 +1,83 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: thread.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_THREAD_H__ +#define CRFPP_THREAD_H__ + +#ifdef HAVE_PTHREAD_H +#include +#else +#ifdef _WIN32 +#include +#include +#endif +#endif + +#if defined HAVE_PTHREAD_H +#define CRFPP_USE_THREAD 1 +#endif + +#if(defined(_WIN32) && !defined (__CYGWIN__)) +#define CRFPP_USE_THREAD 1 +#define BEGINTHREAD(src, stack, func, arg, flag, id) \ + (HANDLE)_beginthreadex((void *)(src), (unsigned)(stack), \ + (unsigned(_stdcall *)(void *))(func), (void *)(arg), \ + (unsigned)(flag), (unsigned *)(id)) +#endif + +namespace CRFPP { + +class thread { + private: +#ifdef HAVE_PTHREAD_H + pthread_t hnd_; +#else +#ifdef _WIN32 + HANDLE hnd_; +#endif +#endif + + public: + static void* wrapper(void *ptr) { + thread *p = static_cast(ptr); + p->run(); + return 0; + } + + virtual void run() {} + + void start() { +#ifdef HAVE_PTHREAD_H + pthread_create(&hnd_, 0, &thread::wrapper, + static_cast(this)); + +#else +#ifdef _WIN32 + DWORD id; + hnd_ = BEGINTHREAD(0, 0, &thread::wrapper, this, 0, &id); +#else + run(); +#endif +#endif + } + + void join() { +#ifdef HAVE_PTHREAD_H + pthread_join(hnd_, 0); +#else +#ifdef _WIN32 + WaitForSingleObject(hnd_, INFINITE); + CloseHandle(hnd_); +#endif +#endif + } + + virtual ~thread() {} +}; +} + +#endif diff --git a/CRF/timer.h b/CRF/timer.h new file mode 100644 index 0000000000000000000000000000000000000000..409eef1d09aa44725bab5ab7372970795d1a1d32 --- /dev/null +++ b/CRF/timer.h @@ -0,0 +1,59 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: timer.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#ifndef CRFPP_TIMER_H__ +#define CRFPP_TIMER_H__ + +#include +#include +#include +#include + +/* COPY FROM Boost::timer */ + +namespace CRFPP { + +class timer { + public: + explicit timer() { start_time_ = std::clock(); } + void restart() { start_time_ = std::clock(); } + double elapsed() const { + return static_cast(std::clock() - start_time_) / CLOCKS_PER_SEC; + } + + double elapsed_max() const { + return(static_cast(std::numeric_limits::max()) + - static_cast(start_time_)) / + static_cast(CLOCKS_PER_SEC); + } + + double elapsed_min() const { + return static_cast(1.0 / CLOCKS_PER_SEC); + } + + private: + std::clock_t start_time_; +}; + +class progress_timer : public timer { + public: + explicit progress_timer(std::ostream & os = std::cout) : os_(os) {} + virtual ~progress_timer() { + std::istream::fmtflags old_flags = os_.setf(std::istream::fixed, + std::istream::floatfield); + std::streamsize old_prec = os_.precision(2); + os_ << elapsed() << " s\n" << std::endl; + os_.flags(old_flags); + os_.precision(old_prec); + } + + private: + std::ostream & os_; +}; +} + +#endif diff --git a/CRF/winmain.h b/CRF/winmain.h new file mode 100644 index 0000000000000000000000000000000000000000..464494b8855dfc7a0dbd7ae45220b4b1071a5abc --- /dev/null +++ b/CRF/winmain.h @@ -0,0 +1,69 @@ +// +// CRF++ -- Yet Another CRF toolkit +// +// $Id: common.h 1588 2007-02-12 09:03:39Z taku $; +// +// Copyright(C) 2005-2007 Taku Kudo +// +#if defined(_WIN32) || defined(__CYGWIN__) + +#include +#include + +namespace { +class CommandLine { + public: + CommandLine(int argc, wchar_t **argv) : argc_(argc), argv_(0) { + argv_ = new char * [argc_]; + for (int i = 0; i < argc_; ++i) { + const std::string arg = WideToUtf8(argv[i]); + argv_[i] = new char[arg.size() + 1]; + ::memcpy(argv_[i], arg.data(), arg.size()); + argv_[i][arg.size()] = '\0'; + } + } + ~CommandLine() { + for (int i = 0; i < argc_; ++i) { + delete [] argv_[i]; + } + delete [] argv_; + } + + int argc() const { return argc_; } + char **argv() const { return argv_; } + + private: + static std::string WideToUtf8(const std::wstring &input) { + const int output_length = ::WideCharToMultiByte(CP_UTF8, 0, + input.c_str(), -1, NULL, 0, + NULL, NULL); + if (output_length == 0) { + return ""; + } + + char *input_encoded = new char[output_length + 1]; + const int result = ::WideCharToMultiByte(CP_UTF8, 0, input.c_str(), -1, + input_encoded, + output_length + 1, NULL, NULL); + std::string output; + if (result > 0) { + output.assign(input_encoded); + } + delete [] input_encoded; + return output; + } + + int argc_; + char **argv_; +}; +} // namespace + +#define main(argc, argv) wmain_to_main_wrapper(argc, argv) + +int wmain_to_main_wrapper(int argc, char **argv); + +int wmain(int argc, wchar_t **argv) { + CommandLine cmd(argc, argv); + return wmain_to_main_wrapper(cmd.argc(), cmd.argv()); +} +#endif diff --git a/DISCLAIMER b/DISCLAIMER new file mode 100755 index 0000000000000000000000000000000000000000..1798279ff562e1d002a43852403855a541c8d523 --- /dev/null +++ b/DISCLAIMER @@ -0,0 +1 @@ +This tool shows the results of research conducted in the Computational Biology Branch, NCBI. The information produced on this website is not intended for direct diagnostic use or medical decision-making without review and oversight by a clinical professional. Individuals should not change their health behavior solely on the basis of information produced on this website. NIH does not independently verify the validity or utility of the information produced by this tool. If you have questions about the information produced on this website, please see a health care professional. More information about NCBI's disclaimer policy is available. \ No newline at end of file diff --git a/Dictionary/CTDAddWord.tsv b/Dictionary/CTDAddWord.tsv new file mode 100644 index 0000000000000000000000000000000000000000..de616ba07f4d60aeb17f2a2251e49e2684e719e6 --- /dev/null +++ b/Dictionary/CTDAddWord.tsv @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76279c4d55ab06e1634624bbe5891a969fe5c86a58d9c298d2c5d559f3d06b06 +size 86 diff --git a/Dictionary/CTDStopWord.tsv b/Dictionary/CTDStopWord.tsv new file mode 100644 index 0000000000000000000000000000000000000000..ff46b68e786d6c397f9eae40708d1269ccdae5f2 --- /dev/null +++ b/Dictionary/CTDStopWord.tsv @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4aa8d6d7cd1adb6e2ed54fde260aa452b8a7329da12b3dd32dc33566f843b662 +size 4083 diff --git a/Dictionary/Filtering.species.txt b/Dictionary/Filtering.species.txt new file mode 100644 index 0000000000000000000000000000000000000000..02db87c573e37f97105938b52014ebb38547d1ad --- /dev/null +++ b/Dictionary/Filtering.species.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93dc8d389b5c18c57aa75c96e46c313a41646b4fc9d9bfebe5032a37002effec +size 8578 diff --git a/Dictionary/Filtering.txt b/Dictionary/Filtering.txt new file mode 100644 index 0000000000000000000000000000000000000000..393d01eebcc1977596382ae04d2638fc47b4bf85 --- /dev/null +++ b/Dictionary/Filtering.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f3eb1a4d57a925eaf1a673962b2f428506bcd37c0d7932a629edb7b0a9edc31 +size 485 diff --git a/Dictionary/Filtering_WithLongForm.txt b/Dictionary/Filtering_WithLongForm.txt new file mode 100644 index 0000000000000000000000000000000000000000..db02bdebaf738e040810a36b9948caf1702af7c2 --- /dev/null +++ b/Dictionary/Filtering_WithLongForm.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d63e4f7a87559302355f11861df0d4a25d061db0386cd86cac8160b1729ccae9 +size 645 diff --git a/Dictionary/GNR.Model b/Dictionary/GNR.Model new file mode 100644 index 0000000000000000000000000000000000000000..ad08ccc641d2972064ee44846ae070bd01cc4ed7 --- /dev/null +++ b/Dictionary/GNR.Model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c95fec5c3a598e89e7dc4eb4de0f3e2ebca0c5019cb9d9192eadfdf1a7336cb +size 908886708 diff --git a/Dictionary/Gene2Homoid.txt b/Dictionary/Gene2Homoid.txt new file mode 100644 index 0000000000000000000000000000000000000000..137f4dd3e90ae60f14be5128b525b0e49ce36828 --- /dev/null +++ b/Dictionary/Gene2Homoid.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dca23ec1cc519c07e41a47d59939d02bd373239389eeb537c28f3c7fa5cd636 +size 3680383 diff --git a/Dictionary/Gene2Protein.txt b/Dictionary/Gene2Protein.txt new file mode 100644 index 0000000000000000000000000000000000000000..aa5e22746773998b10ee7053ad0d8bc854c42d77 --- /dev/null +++ b/Dictionary/Gene2Protein.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b4f41f4b34eb1140138e56f6b8831dc82a12c4f584a129180727f2a894765b0 +size 1620652 diff --git a/Dictionary/GeneIDs.txt b/Dictionary/GeneIDs.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f966831130308b89189562eb8147cd663b0df3d --- /dev/null +++ b/Dictionary/GeneIDs.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c977a45088edcb04f0ea9c278d01c35fa06c4d02fdc0cfeb3774dff3181360c +size 187136897 diff --git a/Dictionary/GeneScoring.10090.txt b/Dictionary/GeneScoring.10090.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f2f39607ade9977025ad919dee664c5b7d388b1 --- /dev/null +++ b/Dictionary/GeneScoring.10090.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24de1a5759c66af1bbdd12b541fe71aac0ce9da329b57377339d6c9882a2becd +size 8166969 diff --git a/Dictionary/GeneScoring.10116.txt b/Dictionary/GeneScoring.10116.txt new file mode 100644 index 0000000000000000000000000000000000000000..30e49c5bffee5c0c8ba414e291858a020033d41a --- /dev/null +++ b/Dictionary/GeneScoring.10116.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b6658eec598032c947ee6a9beef8f4f1596119719b16e0264df474ccdfbb5ad +size 4736173 diff --git a/Dictionary/GeneScoring.11676.txt b/Dictionary/GeneScoring.11676.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1133d9dcf06cca52498894e1ca368dbcd445211 --- /dev/null +++ b/Dictionary/GeneScoring.11676.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d17a473811dc7a1c11f393b95d80c16f20e2ccaa0142a0c12f9cfe0f0742dfaf +size 1032 diff --git a/Dictionary/GeneScoring.3702.txt b/Dictionary/GeneScoring.3702.txt new file mode 100644 index 0000000000000000000000000000000000000000..eebdc25b914b09ea9a6ef1251039e5628807bdc6 --- /dev/null +++ b/Dictionary/GeneScoring.3702.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad960d628c343a7fa65cb78ef928a2cc542325b77d57b573f6f61a1192b34b76 +size 3434254 diff --git a/Dictionary/GeneScoring.4932.txt b/Dictionary/GeneScoring.4932.txt new file mode 100644 index 0000000000000000000000000000000000000000..c85c8b1343b6445a5f3dae5b1237399e2f91e62c --- /dev/null +++ b/Dictionary/GeneScoring.4932.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35affd46191d34871733608a268df30f3ef80149d5b2f09cf95c4668ec609652 +size 426731 diff --git a/Dictionary/GeneScoring.562.txt b/Dictionary/GeneScoring.562.txt new file mode 100644 index 0000000000000000000000000000000000000000..65abb08ca888ec08b2adae4257a42f5f8a2589c9 --- /dev/null +++ b/Dictionary/GeneScoring.562.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a49e72d3f5382c73e7e284dd5d163d7225a3941b781b32b1a6757c2558a992ba +size 3216241 diff --git a/Dictionary/GeneScoring.6239.txt b/Dictionary/GeneScoring.6239.txt new file mode 100644 index 0000000000000000000000000000000000000000..5784855e519dbd163bff30d2dacd470dead02e85 --- /dev/null +++ b/Dictionary/GeneScoring.6239.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bb0000b19338bc63da6d8994d39efe5393e5e97f4d72fca46997710a23f7276 +size 3130353 diff --git a/Dictionary/GeneScoring.7227.txt b/Dictionary/GeneScoring.7227.txt new file mode 100644 index 0000000000000000000000000000000000000000..daf97f3b56030ba56fcc88a2feb1d75e75dcd7ea --- /dev/null +++ b/Dictionary/GeneScoring.7227.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d41efb4eaa6ebf285bcbb694f79c5e82a8b3d4c32bf444734e6ae919a1c4794 +size 2748412 diff --git a/Dictionary/GeneScoring.7955.txt b/Dictionary/GeneScoring.7955.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ca8196075390cee9b9d34ce003b75af85c5c63e --- /dev/null +++ b/Dictionary/GeneScoring.7955.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:784a44e5ab616811a54ee2cefb17b56feda5d751dfb11d4271aef5bb13808aad +size 4867621 diff --git a/Dictionary/GeneScoring.9606.txt b/Dictionary/GeneScoring.9606.txt new file mode 100644 index 0000000000000000000000000000000000000000..c21963671676b1c5095d2f6be978477524b76a21 --- /dev/null +++ b/Dictionary/GeneScoring.9606.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6c256845b5cdcc0f22dd4ff51c77504885efd2298371b5d19ab3f4cb966d2da +size 7688366 diff --git a/Dictionary/GeneScoring.9615.txt b/Dictionary/GeneScoring.9615.txt new file mode 100644 index 0000000000000000000000000000000000000000..1cfb159200111bc73f415ad3fe2cf4576d521360 --- /dev/null +++ b/Dictionary/GeneScoring.9615.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbd553026bf9b3e16fb19846b5255df57eaa3dfcdf5dfbe1a94a2eea546b5a02 +size 3503196 diff --git a/Dictionary/GeneScoring.9823.txt b/Dictionary/GeneScoring.9823.txt new file mode 100644 index 0000000000000000000000000000000000000000..93e8993133deb3c53e52731482ab7da746940460 --- /dev/null +++ b/Dictionary/GeneScoring.9823.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:acbaaf59b3fc89ebb72be00cea09b730754e72f9b07e91621bbbbb202721e116 +size 5379257 diff --git a/Dictionary/GeneScoring.9913.txt b/Dictionary/GeneScoring.9913.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc2f18927a4f7fa1caea835afc0af173a6d75389 --- /dev/null +++ b/Dictionary/GeneScoring.9913.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8632c5b9c92b51b722f7c6651c097a89af61232996bec86a9a7d2016d4becd1 +size 5482093 diff --git a/Dictionary/GeneScoring.9986.txt b/Dictionary/GeneScoring.9986.txt new file mode 100644 index 0000000000000000000000000000000000000000..fc3f9dcf2ea4636d8c0e238632947c013d8f8e77 --- /dev/null +++ b/Dictionary/GeneScoring.9986.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f9b97f14515afafec1c224ec4948d51d4120f96b669ad9d02114d76e4e9a7b2 +size 3050757 diff --git a/Dictionary/GeneScoring.DF.10090.txt b/Dictionary/GeneScoring.DF.10090.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2fc701b7645c9515e8843d31db1d06ea45e5a4e --- /dev/null +++ b/Dictionary/GeneScoring.DF.10090.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e662863aa378845d5b8b23ac2a78a204ffdcc1c5cafff04bdde0f525112df79 +size 843437 diff --git a/Dictionary/GeneScoring.DF.10116.txt b/Dictionary/GeneScoring.DF.10116.txt new file mode 100644 index 0000000000000000000000000000000000000000..27e79de4d53d72f9ab4d4a83f70786ee65d6b8c2 --- /dev/null +++ b/Dictionary/GeneScoring.DF.10116.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f49208e676876f4e5352fd0d634f3ebec79901d01615454ccc4cdfd92d12d00 +size 525359 diff --git a/Dictionary/GeneScoring.DF.11676.txt b/Dictionary/GeneScoring.DF.11676.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ac0743a047870b208dab6682ce1c70b2ae4fb2e --- /dev/null +++ b/Dictionary/GeneScoring.DF.11676.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81ebeba28969fb4446791b59fbb300100e7d1818f37d0440aee0d380a1c78e40 +size 575 diff --git a/Dictionary/GeneScoring.DF.3702.txt b/Dictionary/GeneScoring.DF.3702.txt new file mode 100644 index 0000000000000000000000000000000000000000..0fcca75e5a6b6ac2dc1cc93d5e11b41e838899d3 --- /dev/null +++ b/Dictionary/GeneScoring.DF.3702.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:145f9f53fb60c28d32fff8759bc0ffbdb93a6bc8faf6a39aa8bb4597391c95be +size 236131 diff --git a/Dictionary/GeneScoring.DF.4932.txt b/Dictionary/GeneScoring.DF.4932.txt new file mode 100644 index 0000000000000000000000000000000000000000..c89f9ac8ced4cc50cac12d265851d5481b0d15a8 --- /dev/null +++ b/Dictionary/GeneScoring.DF.4932.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4db4f9d1d390ebd15fd829e231c78585177f9bc25af7d66a609d7692919eb3ef +size 36068 diff --git a/Dictionary/GeneScoring.DF.562.txt b/Dictionary/GeneScoring.DF.562.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9d9fc1a2f47dd279e63758cc17814ee1e2193b9 --- /dev/null +++ b/Dictionary/GeneScoring.DF.562.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b0487b245cd974ebe254802ab4a12b8b509510be601e1c508aa78db6d1aa8fa +size 111150 diff --git a/Dictionary/GeneScoring.DF.6239.txt b/Dictionary/GeneScoring.DF.6239.txt new file mode 100644 index 0000000000000000000000000000000000000000..64d58adcf5c2f9df3338f4bfd8cb82f8ffc18c42 --- /dev/null +++ b/Dictionary/GeneScoring.DF.6239.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:774f24b571a214aa9690b1f8c68a3d41530b7a3838f925cb4de0db0192227293 +size 164698 diff --git a/Dictionary/GeneScoring.DF.7227.txt b/Dictionary/GeneScoring.DF.7227.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a5fa4daccf9810bf818dc02c0e378148cceb1ea --- /dev/null +++ b/Dictionary/GeneScoring.DF.7227.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:711442bd796767b5c6577d17c689b36d9bcf27a963d09f733d783e900eefaa3d +size 358723 diff --git a/Dictionary/GeneScoring.DF.7955.txt b/Dictionary/GeneScoring.DF.7955.txt new file mode 100644 index 0000000000000000000000000000000000000000..9331b1419338a5ac5507451c5fbce7fe19fe6d5d --- /dev/null +++ b/Dictionary/GeneScoring.DF.7955.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c98b14b9790b12c3885cc905eaa57f3f4d403b3732d6f1ee2f46fbf88a5df4c +size 436543 diff --git a/Dictionary/GeneScoring.DF.9606.txt b/Dictionary/GeneScoring.DF.9606.txt new file mode 100644 index 0000000000000000000000000000000000000000..94323008211299af23d24a5343f3681b4c9fc7c7 --- /dev/null +++ b/Dictionary/GeneScoring.DF.9606.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e4018890c8327898b537f2e17b3bcb81b9e3a15643655505d936829c7cc3fa +size 822860 diff --git a/Dictionary/GeneScoring.DF.9615.txt b/Dictionary/GeneScoring.DF.9615.txt new file mode 100644 index 0000000000000000000000000000000000000000..6ed89aefb684eca6d8a1eb5a67a3619cc062eb11 --- /dev/null +++ b/Dictionary/GeneScoring.DF.9615.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ddba48f9b40396ea98e31cfda3170508e69017f10b2f2780245a398792ad50c +size 377219 diff --git a/Dictionary/GeneScoring.DF.9823.txt b/Dictionary/GeneScoring.DF.9823.txt new file mode 100644 index 0000000000000000000000000000000000000000..b937a7c29ee6e75c2c1f304f2d3f6f6474398cf6 --- /dev/null +++ b/Dictionary/GeneScoring.DF.9823.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e26663cdcf57e7830ad6b153141e852bde71f8fc22efa6eb390ac663d34c5bde +size 496456 diff --git a/Dictionary/GeneScoring.DF.9913.txt b/Dictionary/GeneScoring.DF.9913.txt new file mode 100644 index 0000000000000000000000000000000000000000..bfc3a8a5b587075779b73e7fd391dc7ad8646472 --- /dev/null +++ b/Dictionary/GeneScoring.DF.9913.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45455416ef125b313a3e93d6bfb838b5d62e875a1b352389b88c51232b231871 +size 402134 diff --git a/Dictionary/GeneScoring.DF.9986.txt b/Dictionary/GeneScoring.DF.9986.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb3982224201ad581f89e506f7ac242846b744e9 --- /dev/null +++ b/Dictionary/GeneScoring.DF.9986.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39fcb3e984b25bc8c64264614c5c837409acbea37bd987b548891d974c55e012 +size 295884 diff --git a/Dictionary/GeneScoring.DF.txt b/Dictionary/GeneScoring.DF.txt new file mode 100644 index 0000000000000000000000000000000000000000..83a1aa848401331b677366a6fc3576d36a17b423 --- /dev/null +++ b/Dictionary/GeneScoring.DF.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08538338fc290b19350d5804cdbf49e0fcc9c404e60e4c26317366421ac76296 +size 73843086 diff --git a/Dictionary/GeneScoring.txt b/Dictionary/GeneScoring.txt new file mode 100644 index 0000000000000000000000000000000000000000..6611e070280b1c750bba4309e992c4309078c05a --- /dev/null +++ b/Dictionary/GeneScoring.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6680d8de2c8d0713fbc4e0c8bd32126f84658844ad3452f0795f59bd0618e9f5 +size 1277209471 diff --git a/Dictionary/GeneWithoutSPPrefix.txt b/Dictionary/GeneWithoutSPPrefix.txt new file mode 100644 index 0000000000000000000000000000000000000000..78b4fb3b773642b76569b26df8c737e559822621 --- /dev/null +++ b/Dictionary/GeneWithoutSPPrefix.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb9acb8f67c7cddb8d311da73b64bc5b7149cbbc2df3bb2c64bc4382bbe90de6 +size 14 diff --git a/Dictionary/LowConfidence.txt b/Dictionary/LowConfidence.txt new file mode 100644 index 0000000000000000000000000000000000000000..012b99fe09946e6b4bd5e1441286a7fe460338f3 --- /dev/null +++ b/Dictionary/LowConfidence.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5f5b25ed37ae7e73d9b9adb1d1aa1d6d93153b8b519bcdefa809582d847d901 +size 338766 diff --git a/Dictionary/LowerCosineSimilarity.txt b/Dictionary/LowerCosineSimilarity.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff4b61aed1cae5611a6a43a4096c669462e4a91e --- /dev/null +++ b/Dictionary/LowerCosineSimilarity.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ea0923c8490fe25ab5ddb5a55a8531ce245b4e2c98e0985e2010adea247d1ad +size 19030 diff --git a/Dictionary/NonGeneAbbr.txt b/Dictionary/NonGeneAbbr.txt new file mode 100644 index 0000000000000000000000000000000000000000..d16cc341dd3c7e9b293ed68703880a323e8be243 --- /dev/null +++ b/Dictionary/NonGeneAbbr.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a9293073ee14a80f8b1401e4bc5e3d7478e5a9cfa61ca370f8f6c8228f60f47 +size 4439206 diff --git a/Dictionary/PT_CTDGene.txt b/Dictionary/PT_CTDGene.txt new file mode 100644 index 0000000000000000000000000000000000000000..d4a1c6d7ebc926e6716addf2ee9fd65931236299 --- /dev/null +++ b/Dictionary/PT_CTDGene.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:361c75afb346e593c811990e74dfce93e95f0f9c9f3b702ac6f0e446da7e8a27 +size 19518863 diff --git a/Dictionary/PT_Cell.txt b/Dictionary/PT_Cell.txt new file mode 100644 index 0000000000000000000000000000000000000000..1361d514a72fcf204c27416b4008a9c09be316c0 --- /dev/null +++ b/Dictionary/PT_Cell.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b39ea6d5639b19f737613d51f8f7b75a92fc5843aa8263a24bbab616871124fa +size 1799505 diff --git a/Dictionary/PT_Domain.txt b/Dictionary/PT_Domain.txt new file mode 100644 index 0000000000000000000000000000000000000000..f3781951b3e597e3ae4e1ddf4065781cb0ed947a --- /dev/null +++ b/Dictionary/PT_Domain.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17da52dd921d709644f9aec78d552ca6a35edfbb05eae418d6fc7e332a9054d2 +size 6584318 diff --git a/Dictionary/PT_FamilyName.txt b/Dictionary/PT_FamilyName.txt new file mode 100644 index 0000000000000000000000000000000000000000..41f4e3d5954c7a39d645ceb765f11e30306f76d8 --- /dev/null +++ b/Dictionary/PT_FamilyName.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d59396bf2990a2509e5ec20718fd1433b753677c0d81887eb3053d7ed043690b +size 308341 diff --git a/Dictionary/PT_Gene.10090.txt b/Dictionary/PT_Gene.10090.txt new file mode 100644 index 0000000000000000000000000000000000000000..c585eed94305e49713ca0873430ac078e98cbbee --- /dev/null +++ b/Dictionary/PT_Gene.10090.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2fcc7dfe8ecc77c92df601982b4ac811bad7f452db49ea6cb468b603e282f86 +size 11596244 diff --git a/Dictionary/PT_Gene.10116.txt b/Dictionary/PT_Gene.10116.txt new file mode 100644 index 0000000000000000000000000000000000000000..d949055bc03880077ace9d379a6f07edfa06c771 --- /dev/null +++ b/Dictionary/PT_Gene.10116.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af3669a03a73e0c198f24b9966f57745eabd6fa67ecd7f1db083922edc23c609 +size 6274750 diff --git a/Dictionary/PT_Gene.11676.txt b/Dictionary/PT_Gene.11676.txt new file mode 100644 index 0000000000000000000000000000000000000000..bf5a50a7b7ab4b2a8a193b4f2cbb0d067f6acc80 --- /dev/null +++ b/Dictionary/PT_Gene.11676.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6202c12588fd03bd49b709f56a1cf9bfb548a4f19d39b12a2306e5bcea27a2b +size 5119 diff --git a/Dictionary/PT_Gene.3702.txt b/Dictionary/PT_Gene.3702.txt new file mode 100644 index 0000000000000000000000000000000000000000..06bdcb0c40b7dc7f9724bb1106724b83015c8a26 --- /dev/null +++ b/Dictionary/PT_Gene.3702.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ea5dd792f5f2b608a7587fdcca549fbcadcc124e292105be3244b7d5548439 +size 4321242 diff --git a/Dictionary/PT_Gene.4932.txt b/Dictionary/PT_Gene.4932.txt new file mode 100644 index 0000000000000000000000000000000000000000..20a2d01b89c50c171e848682933ca5d7234c23df --- /dev/null +++ b/Dictionary/PT_Gene.4932.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a51b33a87151c3da99ea89ec3c7f7c55f315a7e9874e6b9b70032f6a7d85d229 +size 537976 diff --git a/Dictionary/PT_Gene.562.txt b/Dictionary/PT_Gene.562.txt new file mode 100644 index 0000000000000000000000000000000000000000..6dbcc7bdc419ad9ef83c24786498d4839b1b5dcc --- /dev/null +++ b/Dictionary/PT_Gene.562.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6b18cbc3a84b22fc0695ac4176e9518de053d7fdbf766550055e004627363b3 +size 2191960 diff --git a/Dictionary/PT_Gene.6239.txt b/Dictionary/PT_Gene.6239.txt new file mode 100644 index 0000000000000000000000000000000000000000..dc06f011ba28da231a651e5d4de6e5964b0ce832 --- /dev/null +++ b/Dictionary/PT_Gene.6239.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc54b722a7909910a9bfaa44b39e7c230861e1e106df34d50e2aab871ff4f36c +size 2364252 diff --git a/Dictionary/PT_Gene.7227.txt b/Dictionary/PT_Gene.7227.txt new file mode 100644 index 0000000000000000000000000000000000000000..624b26598e5ddd3908598f71e182a61e5e6185fb --- /dev/null +++ b/Dictionary/PT_Gene.7227.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f79d3a3ac28f59367c31464c37b065c6085dc92352eca6599126febd6432233 +size 6082754 diff --git a/Dictionary/PT_Gene.7955.txt b/Dictionary/PT_Gene.7955.txt new file mode 100644 index 0000000000000000000000000000000000000000..c58480f719f0e59ca654f0956e194fccd5a7e04e --- /dev/null +++ b/Dictionary/PT_Gene.7955.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8183790faaf6d0ca2150ad98d775b59335642c5870351aef28d911ca4f9b3c7d +size 5844522 diff --git a/Dictionary/PT_Gene.9606.txt b/Dictionary/PT_Gene.9606.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb30925ba55af807e346641c88087e4c308c0721 --- /dev/null +++ b/Dictionary/PT_Gene.9606.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fb981af9abb1f99b2a4ee6a93829d1816eda2667c4147c27801243e1d480d0b +size 10656359 diff --git a/Dictionary/PT_Gene.9615.txt b/Dictionary/PT_Gene.9615.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec99806a6870636239ed8ee77f09292975d2024f --- /dev/null +++ b/Dictionary/PT_Gene.9615.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60974c27c96a0782d92d14a90f29e49d1dfd3d95cc4bebbd02fab1e40b0be68f +size 3880650 diff --git a/Dictionary/PT_Gene.9823.txt b/Dictionary/PT_Gene.9823.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e44dec616c185819847eee97597814b0042a0eb --- /dev/null +++ b/Dictionary/PT_Gene.9823.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2db3b2bb68caabcefb48f4f8a3d7373e458ae406c4873b348d243eb090356bda +size 4349479 diff --git a/Dictionary/PT_Gene.9913.txt b/Dictionary/PT_Gene.9913.txt new file mode 100644 index 0000000000000000000000000000000000000000..bc55556973bb86b7ee2dd888a77554f6bad76ecc --- /dev/null +++ b/Dictionary/PT_Gene.9913.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3c3d813b8f7c7226cd0d8ba607bdcf7600118f126f8b8f821754d11e505b86b +size 4933607 diff --git a/Dictionary/PT_Gene.9986.txt b/Dictionary/PT_Gene.9986.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a3e8410fd43eea2367482d1f324293533c9c4de --- /dev/null +++ b/Dictionary/PT_Gene.9986.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5460915069f0429024e95c36583f7b881fe8b681fc7ef9229ac833e4219a1db3 +size 3152833 diff --git a/Dictionary/PT_Gene.txt b/Dictionary/PT_Gene.txt new file mode 100644 index 0000000000000000000000000000000000000000..0bff60e2faedeab0ffb5dfd44955699ed78ebc73 --- /dev/null +++ b/Dictionary/PT_Gene.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46b7df94da543b5a7c8f2c8afe8477ea26fc3bccb3fd947556aa536750211155 +size 950693713 diff --git a/Dictionary/PT_GeneChromosome.txt b/Dictionary/PT_GeneChromosome.txt new file mode 100644 index 0000000000000000000000000000000000000000..36e017b02bb089e67a439009a3e2fdd6414aa5df --- /dev/null +++ b/Dictionary/PT_GeneChromosome.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bdfbf60509b59c51fa8e9fe192743ba5fc71ea10126219e172c299eb8c0a4b0 +size 1925613 diff --git a/Dictionary/PT_GeneID.txt b/Dictionary/PT_GeneID.txt new file mode 100644 index 0000000000000000000000000000000000000000..6fc23398e7ed3695991cc44d36cc1c46677a3de4 --- /dev/null +++ b/Dictionary/PT_GeneID.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51caa4078ee395bf0c10fd5fa6cc8bd74d0cfe4cd6fe1bdd7767bf20005f9121 +size 175686975 diff --git a/Dictionary/PT_Species.txt b/Dictionary/PT_Species.txt new file mode 100644 index 0000000000000000000000000000000000000000..ea780fdccc6805973341d2a087883120e56fd7a3 --- /dev/null +++ b/Dictionary/PT_Species.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab7f770c07273d0296242f4189fb6ce2dd852cd815b8aeae275264ef53605c52 +size 367254363 diff --git a/Dictionary/PrefixSuffix.txt b/Dictionary/PrefixSuffix.txt new file mode 100644 index 0000000000000000000000000000000000000000..601ab09a07b55622e968fcc47bcf6c15c9128a6a --- /dev/null +++ b/Dictionary/PrefixSuffix.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb8a7bdfb103f13751b584f5c38a90e69698f5a82667599d0affbd344251aff5 +size 1023893 diff --git a/Dictionary/SPGenus.txt b/Dictionary/SPGenus.txt new file mode 100644 index 0000000000000000000000000000000000000000..422623cd41d74921aff01374cf19980a3ae616bd --- /dev/null +++ b/Dictionary/SPGenus.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21248423791874e6d8f5b94bd4fee34f3d49cf0cbd327c9f7a426c0baa159ca7 +size 101265 diff --git a/Dictionary/SPHighlevel.txt b/Dictionary/SPHighlevel.txt new file mode 100644 index 0000000000000000000000000000000000000000..46feb657296ad13f66e2788906e8c09705e2abf8 --- /dev/null +++ b/Dictionary/SPHighlevel.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c15f065f91759c49ba1357a050bafd7f279bf4259a92035c416ceb38099880bd +size 6284108 diff --git a/Dictionary/SPNodes.txt b/Dictionary/SPNodes.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b506544c416d1fc113c1202298d4685010ebd41 --- /dev/null +++ b/Dictionary/SPNodes.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84d41761dac9201c60aef9f85023389c0f050b1cd3003964ab14a24d9b731f6c +size 241409211 diff --git a/Dictionary/SPPrefix.txt b/Dictionary/SPPrefix.txt new file mode 100644 index 0000000000000000000000000000000000000000..c8ab0c6bd0c63a66752c38b86d23f6e8c303130b --- /dev/null +++ b/Dictionary/SPPrefix.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f4f5e2ebfe041768e9ee908edc6a3bb47fac15b5ed02cb837fafc7e08aa7be0 +size 52718 diff --git a/Dictionary/SPStrain.txt b/Dictionary/SPStrain.txt new file mode 100644 index 0000000000000000000000000000000000000000..bedb4338c660f0a7a2e82c6a8dc4e609c9a31532 --- /dev/null +++ b/Dictionary/SPStrain.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c2a043071f2f58a2d0538939b94fcb653a5fadd00de270aa2d9ca3d1e590277 +size 26728523 diff --git a/Dictionary/SP_Virus2HumanList.txt b/Dictionary/SP_Virus2HumanList.txt new file mode 100644 index 0000000000000000000000000000000000000000..79eda3795101a2cea30f8467af23e4a4f18e4edd --- /dev/null +++ b/Dictionary/SP_Virus2HumanList.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf5df3ca94f959653768eab4103d4ae823830537af22180deaa99b402dbca1f4 +size 1447944 diff --git a/Dictionary/SimConcept.MentionType.txt b/Dictionary/SimConcept.MentionType.txt new file mode 100644 index 0000000000000000000000000000000000000000..e082ee0d12d3f135a0203c863cac6763f4fc004b --- /dev/null +++ b/Dictionary/SimConcept.MentionType.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5046737b03569a702ea0aa42d8c84658a380e8a55bde8b757525be3e662ab000 +size 2145 diff --git a/Dictionary/SimConcept.Model b/Dictionary/SimConcept.Model new file mode 100644 index 0000000000000000000000000000000000000000..833d9f86ea75cb1ab45f6f06a9e64e127b1ed73a --- /dev/null +++ b/Dictionary/SimConcept.Model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1310693e9a396898818af2f45d5454519cd666af550f28895b6909fac0a674ad +size 41627548 diff --git a/Dictionary/ent.rev.txt b/Dictionary/ent.rev.txt new file mode 100644 index 0000000000000000000000000000000000000000..476e40f9153a49a8aa358684154eaf0581e59a9a --- /dev/null +++ b/Dictionary/ent.rev.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b8e4deceb16b8ed99db6fefc84ea221e0a70bdbe5853d8fa78a978a4709c808 +size 1315 diff --git a/Dictionary/nodes.dmp.yeast b/Dictionary/nodes.dmp.yeast new file mode 100644 index 0000000000000000000000000000000000000000..b057e1c2e30f5cbb81720f6cfd4d84a5cf903ad2 --- /dev/null +++ b/Dictionary/nodes.dmp.yeast @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6bf57488f07726bf82339e05726d88fe2b64ba75402b57a489196697f59ee10 +size 2809 diff --git a/Dictionary/tax4gene.txt b/Dictionary/tax4gene.txt new file mode 100644 index 0000000000000000000000000000000000000000..80c345bd3d5bbbc4aeb203de0f9c01411946eec5 --- /dev/null +++ b/Dictionary/tax4gene.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:340b8f1162b9c89f4d5cc7e275238f9542cd02a59fd6f5639f12ffce9d32da7c +size 179598 diff --git a/Dictionary/taxids.txt b/Dictionary/taxids.txt new file mode 100644 index 0000000000000000000000000000000000000000..8bd800d7d8399e2120f75ee165523834d635aa4c --- /dev/null +++ b/Dictionary/taxids.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33dc5244c1b46582a032948596e9c13187e47639daef1133cfe6f98e037373eb +size 10520174 diff --git a/Dictionary/taxonomy_freq.txt b/Dictionary/taxonomy_freq.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f6db3da36e2fbb6edad5daa1ba32c08fea58c12 --- /dev/null +++ b/Dictionary/taxonomy_freq.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7eaa0afebcb6c3775a95b302a744fca3ce8e8bfb61ec79d3e8d4d4c474067858 +size 41582 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..71a0475283feeaf35685f8c90bb72bb5589381d7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM nvcr.io/nvidia/tensorflow:24.02-tf2-py3 + +RUN apt-get update && apt-get install -y default-jre && rm -rf /var/lib/apt/lists/* + +COPY requirements-py310.txt /tmp/ +RUN pip install --no-cache-dir -r /tmp/requirements-py310.txt + +COPY . /app +WORKDIR /app +# RUN wget https://www.ncbi.nlm.nih.gov/CBBresearch/Lu/Demo/tmTools/download/GNorm2/GNorm2.tar.gz +# RUN tar -xvzf GNorm2.tar.gz + +RUN chmod +x GNorm2.sh diff --git a/GNorm2.sh b/GNorm2.sh new file mode 100755 index 0000000000000000000000000000000000000000..251b36db81e669aaf485ec4e552a3a3f76ae3bd4 --- /dev/null +++ b/GNorm2.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +#./Installation.sh +# source env39/bin/activate + +# +# ./GNorm2.sh input output +# +INPUT=$1 +OUTPUT=$2 + +# SR +java -Xmx60G -Xms30G -jar GNormPlus.jar ${INPUT} tmp_SR setup.SR.txt + +# GNR+SA (CUDA_VISIBLE_DEVICES=3 ) +python GeneNER_SpeAss_run.py -i tmp_SR -r tmp_GNR -a tmp_SA -n gnorm_trained_models/geneNER/GeneNER-Bioformer.h5 -s gnorm_trained_models/SpeAss/SpeAss-Bioformer.h5 + +# GN +java -Xmx60G -Xms30G -jar GNormPlus.jar tmp_SA ${OUTPUT} setup.GN.txt + +#rm tmp_SR/* +#rm tmp_GNR/* +#rm tmp_SA/* diff --git a/GNormPlus.jar b/GNormPlus.jar new file mode 100755 index 0000000000000000000000000000000000000000..e6ae43ae3e1276bc1a31c2ad5b8f4bdba5898374 --- /dev/null +++ b/GNormPlus.jar @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74897b786e84b0b81485b7ee4737bad999134ad633ab3d4b1bd6122c84bd082 +size 29455928 diff --git a/GNormPluslib/BioCDoc.class b/GNormPluslib/BioCDoc.class new file mode 100644 index 0000000000000000000000000000000000000000..cb001dc9cfa9006815f7a90ef727c9b81057fe2e Binary files /dev/null and b/GNormPluslib/BioCDoc.class differ diff --git a/GNormPluslib/GN.class b/GNormPluslib/GN.class new file mode 100644 index 0000000000000000000000000000000000000000..91bbd8444568e07bd483b1d889f0e88754c29a09 Binary files /dev/null and b/GNormPluslib/GN.class differ diff --git a/GNormPluslib/GNR.class b/GNormPluslib/GNR.class new file mode 100644 index 0000000000000000000000000000000000000000..c502267c5e98f97537fb13e8914380613a16f1bc Binary files /dev/null and b/GNormPluslib/GNR.class differ diff --git a/GNormPluslib/GNormPlus.class b/GNormPluslib/GNormPlus.class new file mode 100644 index 0000000000000000000000000000000000000000..88ebc6c980a229ea9acfc7191026db67ea50de86 Binary files /dev/null and b/GNormPluslib/GNormPlus.class differ diff --git a/GNormPluslib/PrefixTree.class b/GNormPluslib/PrefixTree.class new file mode 100644 index 0000000000000000000000000000000000000000..23499a14119dec116f7957c1dbb2269d8cba8fd3 Binary files /dev/null and b/GNormPluslib/PrefixTree.class differ diff --git a/GNormPluslib/SR.class b/GNormPluslib/SR.class new file mode 100644 index 0000000000000000000000000000000000000000..0d33f2b08726bd1055dd6691479dd473d7756335 Binary files /dev/null and b/GNormPluslib/SR.class differ diff --git a/GNormPluslib/SimConcept.class b/GNormPluslib/SimConcept.class new file mode 100644 index 0000000000000000000000000000000000000000..be7ae0496d61755a4c0ef98b18538e7b5568f1dc Binary files /dev/null and b/GNormPluslib/SimConcept.class differ diff --git a/GNormPluslib/Tree.class b/GNormPluslib/Tree.class new file mode 100644 index 0000000000000000000000000000000000000000..7122d6f4f8dc529c9836b4ead2683049210fdb3f Binary files /dev/null and b/GNormPluslib/Tree.class differ diff --git a/GNormPluslib/TreeNode.class b/GNormPluslib/TreeNode.class new file mode 100644 index 0000000000000000000000000000000000000000..428284df5c8272adf8bb18f0fae714852cfebeb1 Binary files /dev/null and b/GNormPluslib/TreeNode.class differ diff --git a/GeneNER_SpeAss_run.py b/GeneNER_SpeAss_run.py new file mode 100755 index 0000000000000000000000000000000000000000..b77484e9359aaa9447bba0fa0c9b8dba03ea073f --- /dev/null +++ b/GeneNER_SpeAss_run.py @@ -0,0 +1,746 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Jun 8 09:26:57 2022 + +@author: luol2 + +Pipeline: first gene NER, then species assignment +input: species NER bioc xml file +output: gene ner and species assignment results bioc xml file +""" +import argparse +import os +import io +import time +import sys +import re +import shutil +from src_python.GeneNER import model_ner,ner_tag +from src_python.SpeAss import model_sa,sa_tag + +import tensorflow as tf + +import bioc +import stanza +nlp_token = stanza.Pipeline(model_dir='gnorm_trained_models/stanza', lang='en', processors={'tokenize': 'spacy'},package='None', download_method=None) #package='craft' ;./gnorm_trained_models/stanza + +def NER_BioC(infolder,infile,outpath,nn_model): + + with open(infolder+"/"+infile, 'r',encoding='utf-8') as fin: + with open(outpath+"/"+infile,'w', encoding='utf8') as fout: + collection = bioc.load(fin) + + Total_n=len(collection.documents) + print('Total number of sub-documents:', Total_n) + pmid_n=0 + for document in collection.documents: + print("Processing:{0}%".format(round(pmid_n * 100 / Total_n)), end="\r") + pmid_n+=1 + # print(document.id) + mention_num_new=0 + for passage in document.passages: + if passage.text!='' and (not passage.text.isspace()) and passage.infons['type']!='ref': # have text and is not ref + passage_offset=passage.offset + tag_result=ner_tag.ML_Tag(passage.text,nn_model,nlp_token) + mention_num=0 + for ele in tag_result: + bioc_note = bioc.BioCAnnotation() + bioc_note.id = str(mention_num) + mention_num+=1 + bioc_note.infons['type'] = ele[2] + start = int(ele[0]) + last = int(ele[1]) + loc = bioc.BioCLocation(offset=str(passage_offset+start), length= str(last-start)) + bioc_note.locations.append(loc) + bioc_note.text = passage.text[start:last] + passage.annotations.append(bioc_note) + #update id + for temp_annotation in passage.annotations: + temp_annotation.id=str(mention_num_new) + mention_num_new+=1 + bioc.dump(collection, fout, pretty_print=True) + +def NER_PubTator(infolder,infile,outpath,nn_model): + with open(infolder+"/"+infile, 'r',encoding='utf-8') as fin: + with open(outpath+"/"+infile,'w', encoding='utf-8') as fout: + title='' + abstract='' + all_text=fin.read().strip().split('\n\n') + Total_n=len(all_text) + print('Total number of sub-documents:', Total_n) + pmid_n=0 + for doc in all_text: + print("Processing:{0}%".format(round(pmid_n * 100 / Total_n)), end="\r") + pmid_n+=1 + lines = doc.split('\n') + seg=lines[0].split('|t|') + pmid=seg[0] + title="" + if len(seg)>1: + title=seg[1] + abstract="" + if len(lines)>1: + seg=lines[1].split('|a|') + abstract=seg[1] + if len(seg)>1: + abstract=seg[1] + + intext=title+' '+abstract + tag_result=ner_tag.ML_Tag(intext,nn_model,nlp_token) + fout.write(doc+'\n') + for ele in tag_result: + ent_start = ele[0] + ent_last = ele[1] + ent_mention = intext[int(ele[0]):int(ele[1])] + ent_type=ele[2] + fout.write(pmid+"\t"+ent_start+"\t"+ent_last+"\t"+ent_mention+"\t"+ent_type+"\n") + fout.write('\n') + title='' + abstract='' + +def geneNER(infolder, outpath, modelfile): + + print('loading NER models........') + + if modelfile.lower().find('bioformer')>=0: + vocabfiles={'labelfile':'./vocab/GeneNER_label.vocab', + 'checkpoint_path':'./gnorm_trained_models/bioformer-cased-v1.0/', #bioformer-cased-v1.0 + 'lowercase':False, + } + else: + vocabfiles={'labelfile':'./vocab/GeneNER_label.vocab', + 'checkpoint_path':'./gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/', + 'lowercase':True, + } + + nn_model=model_ner.HUGFACE_NER(vocabfiles) + nn_model.build_encoder() + nn_model.build_softmax_decoder() + nn_model.load_model(modelfile) + + #tagging text + print("begin GeneNER tagging........") + start_time=time.time() + + for infile in os.listdir(infolder): + if os.path.isfile(outpath+"/"+infile): + print(infile+' has exsited.') + else: + print('processing:',infile) + fin = open(infolder+"/"+infile, 'r',encoding='utf-8') + input_format="" + for line in fin: + pattern_bioc = re.compile('.*.*') + pattern_pubtator = re.compile('^([^\|]+)\|[^\|]+\|(.*)') + if pattern_bioc.search(line): + input_format="BioC" + break + elif pattern_pubtator.search(line): + input_format="PubTator" + break + fin.close() + if(input_format == "PubTator"): + NER_PubTator(infolder,infile,outpath,nn_model) + elif(input_format == "BioC"): + NER_BioC(infolder,infile,outpath,nn_model) + + print('tag done:',time.time()-start_time) + + +#SA for bioc format +def SA_BioC(infolder,infile,outpath,nn_model,virus_set,prefix_dict): + + #BioC xml to pubtator + # pmid|t|text1 + #pmid|a|text2 + #pmid sid eid entity_txt entity_type entity_id (gene is blank) + fin = open(infolder+"/"+infile, 'r',encoding='utf-8') + # fout_pubtator=open(outpath+'tmp/input_xml.pubtator','w', encoding='utf-8') + fin_pubtator0=io.StringIO() #none *species + fin_pubtator1=io.StringIO() #one *species + fin_pubtator2=io.StringIO() #two or more species + collection = bioc.load(fin) + fin.close() + ori_ann_index={} #{'pmid':{'ent.id':'ent_s-ent_e'}} + species_count={} #{pmid:{speid:num}} + gene_set=['Gene','FamilyName'] + final_sa_results={} #{'pmid':{'entity_id':species_id}} + for document in collection.documents: + doc_pmid=document.id + doc_title='' + doc_abstract='' + doc_annotation=[] + _ann_index={} + _species_num={} #{*speciesid:num} + _gene_num=0 + _passage_num=0 + if len(document.passages)<=2: #abstract xml or PMC only have title + for passage in document.passages: + passage_offset=passage.offset + _passage_num+=1 + #print(passage_offset,type(passage_offset)) + #if passage.infons['type']=='title' or passage.infons['type']=='front': + if _passage_num==1: + doc_title=passage.text + for temp_annotation in passage.annotations: + if temp_annotation.infons['type'] in gene_set: + _gene_num+=1 + ent_start=temp_annotation.locations[0].offset-passage_offset + ent_end=ent_start+temp_annotation.locations[0].length + #print(ent_start,ent_end) + _ann_index[temp_annotation.id]=str(ent_start)+'-'+str(ent_end) + # print(temp_annotation.infons) + if 'Identifier' in temp_annotation.infons.keys(): + # print(temp_annotation.infons.keys['Identifier']) + species_ID=temp_annotation.infons['Identifier'] + if species_ID.find('*')>=0: + if species_ID not in _species_num.keys(): + _species_num[species_ID]=1 + else: + _species_num[species_ID]+=1 + doc_annotation.append(doc_pmid+'\t'+temp_annotation.id+'\t'+str(ent_start)+'\t'+str(ent_end)+'\t'+temp_annotation.text+'\t'+temp_annotation.infons['type']+'\t'+species_ID) + else: + doc_annotation.append(doc_pmid+'\t'+temp_annotation.id+'\t'+str(ent_start)+'\t'+str(ent_end)+'\t'+temp_annotation.text+'\t'+temp_annotation.infons['type']) + + #elif passage.infons['type']=='abstract' or passage.infons['type']=='paragraph': + else: + doc_abstract=passage.text + for temp_annotation in passage.annotations: + if temp_annotation.infons['type'] in gene_set: + _gene_num+=1 + ent_start=len(doc_title)+1+temp_annotation.locations[0].offset-passage_offset + ent_end=ent_start+temp_annotation.locations[0].length + #print(ent_start,ent_end) + _ann_index[temp_annotation.id]=str(ent_start)+'-'+str(ent_end) + if 'Identifier' in temp_annotation.infons.keys(): + # print(temp_annotation.infons.keys['Identifier']) + species_ID=temp_annotation.infons['Identifier'] + if species_ID.find('*')>=0: + if species_ID not in _species_num.keys(): + _species_num[species_ID]=1 + else: + _species_num[species_ID]+=1 + doc_annotation.append(doc_pmid+'\t'+temp_annotation.id+'\t'+str(ent_start)+'\t'+str(ent_end)+'\t'+temp_annotation.text+'\t'+temp_annotation.infons['type']+'\t'+species_ID) + else: + doc_annotation.append(doc_pmid+'\t'+temp_annotation.id+'\t'+str(ent_start)+'\t'+str(ent_end)+'\t'+temp_annotation.text+'\t'+temp_annotation.infons['type']) + + if len(_species_num)>=2 and _gene_num>0: + fin_pubtator2.write(doc_pmid+'|t|'+doc_title+'\n') + fin_pubtator2.write(doc_pmid+'|a|'+doc_abstract+'\n') + for ele in doc_annotation: + fin_pubtator2.write(ele+'\n') + fin_pubtator2.write('\n') + elif len(_species_num)==1 and _gene_num>0: #å¯ä»¥ç›´æŽ¥ç»™ç»“æžœ + fin_pubtator1.write(doc_pmid+'|t|'+doc_title+'\n') + fin_pubtator1.write(doc_pmid+'|a|'+doc_abstract+'\n') + major_speicesid,=_species_num + fin_pubtator1.write(major_speicesid[1:]+'\n') + for ele in doc_annotation: + fin_pubtator1.write(ele+'\n') + fin_pubtator1.write('\n') + elif len(_species_num)==0 and _gene_num>0: + fin_pubtator0.write(doc_pmid+'|t|'+doc_title+'\n') + fin_pubtator0.write(doc_pmid+'|a|'+doc_abstract+'\n') + for ele in doc_annotation: + fin_pubtator0.write(ele+'\n') + fin_pubtator0.write('\n') + + else: # full text xml + for passage in document.passages: + passage_annotation=[] + _species_num_passage={} + _gene_num_passage=0 + passage_offset=passage.offset + #print(passage_offset,type(passage_offset)) + if passage.text!='' and (not passage.text.isspace()) and passage.infons['type']!='ref': + doc_title=passage.text + for temp_annotation in passage.annotations: + if temp_annotation.infons['type'] in gene_set: + _gene_num_passage+=1 + ent_start=temp_annotation.locations[0].offset-passage_offset + ent_end=ent_start+temp_annotation.locations[0].length + #print(ent_start,ent_end) + _ann_index[temp_annotation.id]=str(ent_start)+'-'+str(ent_end) + # print(temp_annotation.infons) + if 'Identifier' in temp_annotation.infons.keys(): + # print(temp_annotation.infons.keys['Identifier']) + species_ID=temp_annotation.infons['Identifier'] + if species_ID.find('*')>=0: + if species_ID not in _species_num.keys(): + _species_num[species_ID]=1 + else: + _species_num[species_ID]+=1 + if species_ID not in _species_num_passage.keys(): + _species_num_passage[species_ID]=1 + else: + _species_num_passage[species_ID]+=1 + passage_annotation.append(doc_pmid+'\t'+temp_annotation.id+'\t'+str(ent_start)+'\t'+str(ent_end)+'\t'+temp_annotation.text+'\t'+temp_annotation.infons['type']+'\t'+species_ID) + else: + passage_annotation.append(doc_pmid+'\t'+temp_annotation.id+'\t'+str(ent_start)+'\t'+str(ent_end)+'\t'+temp_annotation.text+'\t'+temp_annotation.infons['type']) + + + if len(_species_num_passage)>=2 and _gene_num_passage>0: + fin_pubtator2.write(doc_pmid+'|t|'+doc_title+'\n') + fin_pubtator2.write(doc_pmid+'|a|'+doc_abstract+'\n') + for ele in passage_annotation: + fin_pubtator2.write(ele+'\n') + fin_pubtator2.write('\n') + elif len(_species_num_passage)==1 and _gene_num_passage>0: #å¯ä»¥ç›´æŽ¥ç»™ç»“æžœ + fin_pubtator1.write(doc_pmid+'|t|'+doc_title+'\n') + fin_pubtator1.write(doc_pmid+'|a|'+doc_abstract+'\n') + major_speicesid,=_species_num_passage + fin_pubtator1.write(major_speicesid[1:]+'\n') + for ele in passage_annotation: + fin_pubtator1.write(ele+'\n') + fin_pubtator1.write('\n') + elif len(_species_num_passage)==0 and _gene_num_passage>0: + fin_pubtator0.write(doc_pmid+'|t|'+doc_title+'\n') + fin_pubtator0.write(doc_pmid+'|a|'+doc_abstract+'\n') + for ele in passage_annotation: + fin_pubtator0.write(ele+'\n') + fin_pubtator0.write('\n') + # print(ori_ann_index) + + ori_ann_index[doc_pmid]=_ann_index + species_count[doc_pmid]=_species_num + + + cache_geneid={} #{pmid:{gene1:{id1:num,id2:num}}} + + if fin_pubtator2.getvalue()!='': + #pubtator format ML tagging + # print(fin_pubtator2.getvalue()) + ml_out= sa_tag.ml_tag_main(fin_pubtator2,nlp_token, nn_model) + #print(ml_out.getvalue()) + fin_result=io.StringIO(ml_out.getvalue()) + all_in=fin_result.read().strip().split('\n\n') + #print('+2 species:',len(all_in)) + fin_result.close() + + prefix_speid_allset=set(prefix_dict.keys()) + + for doc in all_in: + lines=doc.split('\n') + pmid=lines[0].split('|t|')[0] + _prefix_str2id_dict={} + doc_species=list(species_count[pmid].keys()) + for _spe_ele in doc_species: + if _spe_ele[1:] in prefix_speid_allset: + for ele in prefix_dict[_spe_ele[1:]]: + _prefix_str2id_dict[ele]=_spe_ele[1:] + + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if pmid not in final_sa_results.keys(): + final_sa_results[pmid]={segs[1]:'Focus:'+segs[-1]} + else: + final_sa_results[pmid][segs[1]]='Focus:'+segs[-1] + + if segs[5] in gene_set: + if segs[4][0:2] in _prefix_str2id_dict: #prefix rule + #print('prefix rule:', pmid) + # print(_prefix_str2id_dict) + if pmid not in final_sa_results.keys(): + final_sa_results[pmid]={segs[1]:'Focus:'+_prefix_str2id_dict[segs[4][0:2]]} + else: + final_sa_results[pmid][segs[1]]='Focus:'+_prefix_str2id_dict[segs[4][0:2]] + if pmid not in cache_geneid.keys(): + cache_geneid[pmid]={segs[4]:{'Focus:'+segs[-1]:1}} + else: + if segs[4] not in cache_geneid[pmid].keys(): + cache_geneid[pmid][segs[4]]={'Focus:'+segs[-1]:1} + else: + if segs[-1] not in cache_geneid[pmid][segs[4]].keys(): + cache_geneid[pmid][segs[4]]['Focus:'+segs[-1]]=1 + else: + cache_geneid[pmid][segs[4]]['Focus:'+segs[-1]]+=1 + + #print(final_sa_results) + + #one species + if fin_pubtator1.getvalue()!='': + fin_result=io.StringIO(fin_pubtator1.getvalue()) + all_in=fin_result.read().strip().split('\n\n') + fin_result.close() + #print('1 species:',len(all_in)) + for doc in all_in: + lines=doc.split('\n') + pmid=lines[0].split('|t|')[0] + major_speicesid=lines[2] + for i in range(3,len(lines)): + segs=lines[i].split('\t') + if len(segs)>=7:#species + if pmid not in final_sa_results.keys(): + final_sa_results[pmid]={segs[1]:segs[-1]} + else: + final_sa_results[pmid][segs[1]]=segs[-1] + else:#gene + marjor_species='Focus:'+major_speicesid + if pmid not in final_sa_results.keys(): + final_sa_results[pmid]={segs[1]:marjor_species} + else: + final_sa_results[pmid][segs[1]]=marjor_species + if pmid not in cache_geneid.keys(): + cache_geneid[pmid]={segs[4]:{marjor_species:1}} + else: + if segs[4] not in cache_geneid[pmid].keys(): + cache_geneid[pmid][segs[4]]={marjor_species:1} + else: + if segs[-1] not in cache_geneid[pmid][segs[4]].keys(): + cache_geneid[pmid][segs[4]][marjor_species]=1 + else: + cache_geneid[pmid][segs[4]][marjor_species]+=1 + + + #no species + fin_result=io.StringIO(fin_pubtator0.getvalue()) + all_in=fin_result.read().strip().split('\n\n') + fin_result.close() + #print('no species:',len(all_in)) + for doc in all_in: + lines=doc.split('\n') + pmid=lines[0].split('|t|')[0] + + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if (pmid in cache_geneid.keys()) and (segs[4] in cache_geneid[pmid].keys()):#same gene in doc + marjor_species = max(zip(cache_geneid[pmid][segs[4]].values(), cache_geneid[pmid][segs[4]].keys())) + if pmid not in final_sa_results.keys(): + final_sa_results[pmid]={segs[1]:marjor_species[1]} + else: + final_sa_results[pmid][segs[1]]=marjor_species[1] + else: #marjor species in doc + if (pmid in species_count.keys()) and len(species_count[pmid])>0:#marjor species in doc + marjor_species = max(zip(species_count[pmid].values(), species_count[pmid].keys())) + + if pmid not in final_sa_results.keys(): + final_sa_results[pmid]={segs[1]:'Focus:'+marjor_species[1][1:]} + else: + final_sa_results[pmid][segs[1]]='Focus:'+marjor_species[1][1:] + else:#no any species in doc,assign human + if pmid not in final_sa_results.keys(): + final_sa_results[pmid]={segs[1]:'Focus:9606'} + else: + final_sa_results[pmid][segs[1]]='Focus:9606' + + + + # print(final_sa_results) + fin = open(infolder+"/"+infile, 'r',encoding='utf-8') + fout_xml=open(outpath+"/"+infile,'w', encoding='utf8') + collection = bioc.load(fin) + for document in collection.documents: + doc_pmid=document.id + # print(final_sa_results[doc_pmid]) + # print(doc_pmid) + for passage in document.passages: + for temp_annotation in passage.annotations: + if 'Identifier' not in temp_annotation.infons.keys(): + if temp_annotation.id in final_sa_results[doc_pmid].keys(): + if final_sa_results[doc_pmid][temp_annotation.id][6:] in virus_set: + temp_annotation.infons['Identifier']=final_sa_results[doc_pmid][temp_annotation.id]+',9606' + # print('!!! virus:', doc_pmid) + else: + temp_annotation.infons['Identifier']=final_sa_results[doc_pmid][temp_annotation.id] + else: #same text bug + if (doc_pmid in cache_geneid.keys()) and (temp_annotation.text in cache_geneid[doc_pmid].keys()):#same gene in doc + marjor_species = max(zip(cache_geneid[doc_pmid][temp_annotation.text].values(), cache_geneid[doc_pmid][temp_annotation.text].keys())) + temp_annotation.infons['Identifier']=marjor_species[1] + else: + + temp_annotation.infons['Identifier']='Focus:9606' + bioc.dump(collection, fout_xml, pretty_print=True) + fin.close() + fout_xml.close() + + +#SA for PubTator format +def SA_PubTator(infolder,infile,outpath,nn_model,virus_set,prefix_dict): + + + # pmid|t|text1 + #pmid|a|text2 + #pmid entity_id sid eid entity_txt entity_type (gene is blank) + fin = open(infolder+"/"+infile, 'r',encoding='utf-8') + # fout_pubtator=open(outpath+'tmp/input_xml.pubtator','w', encoding='utf-8') + fin_pubtator2=io.StringIO() #two or more species + all_in_ori=fin.read().strip().split('\n\n') + fin.close() + species_gene_count={} #{pmid:{'spec':_species_num;'gene':_gene_num}} + gene_set=['Gene','FamilyName'] + ML_results={} #{'pmid':{'sid-eid':species_id}} + + prefix_speid_allset=set(prefix_dict.keys()) + + for document in all_in_ori: + lines=document.split('\n') + doc_pmid=lines[0].split('|t|')[0] + doc_title=lines[0].split('|t|')[1] + doc_abstract=lines[1].split('|a|')[1] + doc_annotation=[] + _species_num=set() #(*speciesid) + _gene_num=0 + _ML_gene_num=0 + _entity_num=0 + _prefix_str2id_dict={} #{prestr:id} + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if segs[4] in gene_set: + _gene_num+=1 + if len(segs)>=6: #species + doc_annotation.append(segs[0]+'\t'+str(_entity_num)+'\t'+'\t'.join(segs[1:])) + species_ID=segs[-1] + if species_ID.find('*')>=0: + _species_num.add(species_ID) + if species_ID[1:] in prefix_speid_allset: + for ele in prefix_dict[species_ID[1:]]: + _prefix_str2id_dict[ele]=species_ID[1:] + else: #gene + if segs[3][0:2] in _prefix_str2id_dict:#prefix rule + if _prefix_str2id_dict[segs[3][0:2]] in virus_set: + doc_annotation.append(segs[0]+'\t'+str(_entity_num)+'\t'+'\t'.join(segs[1:])+'\tFocus:'+_prefix_str2id_dict[segs[3][0:2]]+',9606') + if doc_pmid not in ML_results.keys(): + ML_results[doc_pmid]={segs[1]+'-'+segs[2]:_prefix_str2id_dict[segs[3][0:2]]+',9606'} + else: + ML_results[doc_pmid][segs[1]+'-'+segs[2]]=_prefix_str2id_dict[segs[3][0:2]]+',9606' + + # print('!!! prefixr and virus:', doc_pmid) + else: + doc_annotation.append(segs[0]+'\t'+str(_entity_num)+'\t'+'\t'.join(segs[1:])+'\tFocus:'+_prefix_str2id_dict[segs[3][0:2]]) + if doc_pmid not in ML_results.keys(): + ML_results[doc_pmid]={segs[1]+'-'+segs[2]:_prefix_str2id_dict[segs[3][0:2]]} + else: + ML_results[doc_pmid][segs[1]+'-'+segs[2]]=_prefix_str2id_dict[segs[3][0:2]] + # print('prefix rule!!',_prefix_str2id_dict) + # print(doc_pmid) + else: + doc_annotation.append(segs[0]+'\t'+str(_entity_num)+'\t'+'\t'.join(segs[1:])) + if segs[4] in gene_set: + _ML_gene_num+=1 + _entity_num+=1 + + if len(_species_num)>=2 and _ML_gene_num>0: + fin_pubtator2.write(doc_pmid+'|t|'+doc_title+'\n') + fin_pubtator2.write(doc_pmid+'|a|'+doc_abstract+'\n') + for ele in doc_annotation: + fin_pubtator2.write(ele+'\n') + fin_pubtator2.write('\n') + + species_gene_count[doc_pmid]={'spec':_species_num,'gene':_gene_num} + + if fin_pubtator2.getvalue()!='': + #pubtator format ML tagging + #print(fin_pubtator2.getvalue()) + ml_out= sa_tag.ml_tag_main(fin_pubtator2,nlp_token, nn_model) + #print(ml_out.getvalue()) + fin_result=io.StringIO(ml_out.getvalue()) + all_in=fin_result.read().strip().split('\n\n') + #print('+2 species:',len(all_in)) + fin_result.close() + for doc in all_in: + lines=doc.split('\n') + pmid=lines[0].split('|t|')[0] + + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if pmid not in ML_results.keys(): + ML_results[pmid]={segs[2]+'-'+segs[3]:segs[-1]} + else: + ML_results[pmid][segs[2]+'-'+segs[3]]=segs[-1] + + #output + fout_pubtator=open(outpath+"/"+infile,'w', encoding='utf8') + for doc in all_in_ori: + lines=doc.split('\n') + pmid=lines[0].split('|t|')[0] + fout_pubtator.write(lines[0]+'\n'+lines[1]+'\n') + if len(species_gene_count[pmid]['spec'])>1 and species_gene_count[pmid]['gene']>0: # ML + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if len(segs)>=6: #species + fout_pubtator.write(lines[i]+'\n') + else:#gene + if ML_results[pmid][segs[1]+'-'+segs[2]] in virus_set: + fout_pubtator.write(lines[i]+'\tFocus:'+ML_results[pmid][segs[1]+'-'+segs[2]]+',9606'+'\n') + # print('!!! virus:', pmid) + else: + fout_pubtator.write(lines[i]+'\tFocus:'+ML_results[pmid][segs[1]+'-'+segs[2]]+'\n') + fout_pubtator.write('\n') + + elif len(species_gene_count[pmid]['spec'])==1 and species_gene_count[pmid]['gene']>0: #only one species + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if len(segs)>=6: #species + fout_pubtator.write(lines[i]+'\n') + else:#gene + major_species,=species_gene_count[pmid]['spec'] + if major_species[1:] in virus_set: + fout_pubtator.write(lines[i]+'\tFocus:'+major_species[1:]+',9606'+'\n') + # print('!!! virus:', pmid) + fout_pubtator.write(lines[i]+'\tFocus:'+major_species[1:]+'\n') + fout_pubtator.write('\n') + + elif len(species_gene_count[pmid]['spec'])==0 and species_gene_count[pmid]['gene']>0:#no species + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if len(segs)>=6: #species + fout_pubtator.write(lines[i]+'\n') + else:#gene + fout_pubtator.write(lines[i]+'\tFocus:9606'+'\n') + fout_pubtator.write('\n') + + else: + for i in range(2,len(lines)): + fout_pubtator.write(lines[i]+'\n') + fout_pubtator.write('\n') + fout_pubtator.close() + + +#SA main +def speciesAss(infolder,outpath, modelfile): + + if modelfile.lower().find('bioformer')>=0: + model_type='bioformer' + else: + model_type='pubmedbert' + + print('loading SA models........') + if model_type=='bioformer': + + vocabfiles={'labelfile':'./vocab/SpeAss_IO_label.vocab', + 'checkpoint_path':'./gnorm_trained_models/bioformer-cased-v1.0/', + 'lowercase':False, + } + else: + vocabfiles={'labelfile':'./vocab/SpeAss_IO_label.vocab', + 'checkpoint_path':'./gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/', + 'lowercase':True, + } + + nn_model=model_sa.HUGFACE_NER(vocabfiles) + nn_model.build_encoder() + nn_model.build_softmax_decoder() + nn_model.load_model(modelfile) + + dict_filename={'prefix':'./Dictionary/SPPrefix.txt', + 'virus':'./Dictionary/SP_Virus2HumanList.txt'} + fin=open(dict_filename['virus'],'r',encoding='utf-8') + virus_set=set(fin.read().strip().split('\n')) + fin.close() + + prefix_dict={}#{id:[prefix1,prefix2]} + fin=open(dict_filename['prefix'],'r',encoding='utf-8') + for line in fin: + seg= line.strip().split('\t') + if seg[0] not in prefix_dict.keys(): + prefix_dict[seg[0]]=seg[1].split('|') + else: + prefix_dict[seg[0]].extend(seg[1].split('|')) + fin.close() + + + + print("begin species assignment........") + start_time=time.time() + + for infile in os.listdir(infolder): + if os.path.isfile(outpath+"/"+infile): + print(infile+' has exsited.') + else: + print('Processing:',infile) + fin=open(infolder+"/"+infile, 'r',encoding='utf-8') + file_format="" + for line in fin: + pattern_bioc = re.compile('.*.*') + pattern_pubtator = re.compile('^([^\|]+)\|[^\|]+\|(.*)') + if pattern_bioc.search(line): + file_format="BioC" + break + elif pattern_pubtator.search(line): + file_format="PubTator" + break + fin.close() + if(file_format == "PubTator"): + SA_PubTator(infolder,infile,outpath,nn_model,virus_set,prefix_dict) + elif(file_format == "BioC"): + SA_BioC(infolder,infile,outpath,nn_model,virus_set,prefix_dict) + + + print('species assignment done:',time.time()-start_time) + +if __name__=='__main__': + + parser = argparse.ArgumentParser(description='run GeneNER and species assignment, python GeneNER_SpeAss_run.py -i input -n NERmodel -s SAmodel -r neroutput -a saoutput') + parser.add_argument('--infolder', '-i', help="input folder",default='./example/input/') + parser.add_argument('--NERmodel', '-n', help="trained deep learning NER model file",default='') + parser.add_argument('--SAmodel', '-s', help="trained deep learning species assignment model file",default='') + parser.add_argument('--NERoutpath', '-r', help="output folder to save the NER tagged results",default='./example/ner_output/') + parser.add_argument('--SAoutpath', '-a', help="output folder to save the SA tagged results",default='./example/sa_output/') + parser.add_argument('--NUM_THREADS', '-t', help="Number of threads",default='3') + args = parser.parse_args() + + + if args.NUM_THREADS.isdigit() == False: + args.NUM_THREADS='3' + + tf.config.threading.set_inter_op_parallelism_threads(int(args.NUM_THREADS)) + tf.config.threading.set_intra_op_parallelism_threads(int(args.NUM_THREADS)) + + if args.NERmodel!='' and args.SAmodel!='': + + #pipleline + print('==============\n| GeneNER and SpeAss |\n==============') + + #creat output folder + + if args.infolder[-1]!='/': + args.infolder+='/' + if not os.path.exists(args.infolder): + os.makedirs(args.infolder) + + if args.NERoutpath[-1]!='/': + args.NERoutpath+='/' + if not os.path.exists(args.NERoutpath): + os.makedirs(args.NERoutpath) + + if args.SAoutpath[-1]!='/': + args.SAoutpath+='/' + if not os.path.exists(args.SAoutpath): + os.makedirs(args.SAoutpath) + + #1. gene NER, the results are saved in outpath/ner_tmp/ + geneNER(args.infolder,args.NERoutpath, args.NERmodel) + + + #2. species assignment, the results are saved in outpath/sa_tmp/ + speciesAss(args.NERoutpath,args.SAoutpath, args.SAmodel) + + elif args.NERmodel!='' and args.SAmodel=='': + if args.infolder[-1]!='/': + args.infolder+='/' + if not os.path.exists(args.infolder): + os.makedirs(args.infolder) + + # only geneNER + if args.NERoutpath[-1]!='/': + args.NERoutpath+='/' + if not os.path.exists(args.NERoutpath): + os.makedirs(args.NERoutpath) + + print('==============\n| GeneNER |\n==============') + geneNER(args.infolder,args.NERoutpath,args.NERmodel) + + elif args.NERmodel=='' and args.SAmodel!='': + # only speass + if args.SAoutpath[-1]!='/': + args.SAoutpath+='/' + if not os.path.exists(args.SAoutpath): + os.makedirs(args.SAoutpath) + + print('==============\n| SpeAss |\n==============') + speciesAss(args.infolder,args.SAoutpath,args.SAmodel) + else: + print('Please provide models!') + + + \ No newline at end of file diff --git a/Installation.sh b/Installation.sh new file mode 100755 index 0000000000000000000000000000000000000000..72b912ef9d7ac13ff963de9f0ce8ce3c34e7de50 --- /dev/null +++ b/Installation.sh @@ -0,0 +1,7 @@ +# +# env +# +python3.9 -m venv env39 +source env39/bin/activate +python3.9 -m pip install --upgrade pip +pip install -r requirements.txt diff --git a/Library/Ab3P.C b/Library/Ab3P.C new file mode 100644 index 0000000000000000000000000000000000000000..bd811b8907b48441af337dda13edd5091c3b0737 --- /dev/null +++ b/Library/Ab3P.C @@ -0,0 +1,110 @@ +#include "Ab3P.h" + +Ab3P::Ab3P ( void ) : + buffer(""), + wrdData( new WordData ) +{ + + string sf_grp, sf_nchr, strat; + double value; + + char file_name[1000]; + get_pathw( file_name, "Ab3P", "prec", "dat" ); + ifstream fin(file_name); + if(!fin) { + cout << "Cannot open Ab3P_prec.dat\n"; + exit(1); + } + //get precision of a given #-ch SF's strategy + while(fin>>sf_grp>>sf_nchr>>strat) { + fin>>value; //precision + stratPrec.insert(pair(sf_grp+sf_nchr+strat, value)); + util.push_back_strat(sf_grp+sf_nchr, strat); //set strategy sequence + } +} + +void Ab3P::get_abbrs( char * text, vector & abbrs ) { + abbrs.clear(); + + if( ! text[0] ) return; // skip empty line + + ab.Proc(text); //extract potential SF & LF pairs + + for(int i=0; i 0 ) { + abbrs.push_back( result ); + } + } + ab.cleara(); + + } + + +void Ab3P::try_pair( char * sf, char * lf, AbbrOut & result ) { + + //process i) lf (sf) + try_strats( sf, lf, false, result ); + + //process ii) sf (lf) + ab.token(lf); + try_strats( ab.lst[ab.num-1], sf, true, result ); +} + + + /** + psf -- pointer short form + plf -- pointer long form + **/ +void Ab3P::try_strats ( char * psf, char * plf, bool swap, + AbbrOut & result ) { + + string sfg; //SF group eg) Al1, Num2, Spec3 + //false if sf is not ok, sfg will be assigned + + if(!util.group_sf(psf,plf,sfg)) return; + if (swap) if(!util.exist_upperal(psf)) return; + + char sf[1000], sfl[1000]; + + //strategy sequence for a given #-ch SF group + vector strats = util.get_strats(sfg); + util.remove_nonAlnum(psf,sf); //sf will be w/o non-alnum + + //go through strategies + for( int j=0; jwData = wrdData; //set wordset, stopword + if(strat->strategy(sf,plf)) { //case sensitive + strat->str_tolower(sf,sfl); + + if( strat->lf_ok(psf,strat->lf) ) { + + map::iterator p = + stratPrec.find(sfg+strats[j]); + if(p==stratPrec.end()) { + cout << "No precision assigned" << endl; + exit(1); + } + + //add outputs + if( p->second>result.prec ) { + result.sf = psf; + result.lf = strat->lf; + result.prec = p->second; + result.strat = strats[j]; + } + + delete strat; + return; + } + } + delete strat; + } + +} diff --git a/Library/Ab3P.h b/Library/Ab3P.h new file mode 100644 index 0000000000000000000000000000000000000000..60e2c7cac33a4512dba9812db2164bccd4be99cd --- /dev/null +++ b/Library/Ab3P.h @@ -0,0 +1,83 @@ +/* +Identify sf & lf pairs from free text using multi-stage algorithm +process one line at a time and print out: +line + sf|lf|P-precision|strategy +*/ + +#include "AbbrvE.h" +#include "AbbrStra.h" +#include +#include +#include + +using namespace std; +using namespace iret; + +namespace iret { + +class AbbrOut { +public: + string sf, lf, strat; + double prec; + + AbbrOut( void ) : sf(""), lf(""), strat(""), prec(0) + {} + + void print ( ostream & out ) { + out << " " << sf << "|" << lf << "|" << prec; + } + +}; + + +class Ab3P { +public: + Ab3P( void ); + ~Ab3P(void) { delete wrdData; } + + /** Collect text for later abbreviation finding. **/ + void add_text( const string & text ) { + buffer += text; + } + void add_text( char * text ) { + buffer += text; + } + + /** Sets abbrs to the abbreviations found in previous calls to add_text. + Afterwords, resets the text buffer. **/ + void get_abbrs( vector & abbrs ) { + get_abbrs( buffer, abbrs ); + buffer = ""; + } + + /** Sets abbrs to the abbreviations found in text + Does not interfere with the add_text buffer. **/ + void get_abbrs( const string & text, vector & abbrs ) { + abbrs.clear(); + + if(text.empty()) return; // skip empty line + // const_cast need so correct get_abbrs get called, + // otherwise, infinite loop + get_abbrs( const_cast(text.c_str()), abbrs ); + } + void get_abbrs( char * text, vector & abbrs ); + + /** Try a potential sf-lf form to find proper lf, strategy used, + and pseudo-precision of result **/ + void try_pair( char * sf, char * lf, AbbrOut & abbr ); + + /** + psf -- pointer short form + plf -- pointer long form + **/ + void try_strats ( char * psf, char * plf, bool swap, AbbrOut & result ); + + AbbrvE ab; //default # pairs = 10,000 + map stratPrec; + StratUtil util; + WordData *wrdData; //set data needed for AbbrStra + string buffer; // collect text for later use +}; + +} diff --git a/Library/Ab3P.o b/Library/Ab3P.o new file mode 100644 index 0000000000000000000000000000000000000000..fccec9fb4bc4547021ff612cb83a873de15cc422 Binary files /dev/null and b/Library/Ab3P.o differ diff --git a/Library/AbbrStra.C b/Library/AbbrStra.C new file mode 100644 index 0000000000000000000000000000000000000000..3f9c5c7274e714a674332b50ca68010349a8d04d --- /dev/null +++ b/Library/AbbrStra.C @@ -0,0 +1,1426 @@ +#include "AbbrStra.h" +#include +#include +#include +#include + + +WordData::WordData(const char *wrdnam, const char *stpnam, + const char *lfsnam) : + wrdset(wrdnam), stp(stpnam), lfs(lfsnam) +{ + wrdset.set_path_name("Ab3P"); + wrdset.gopen_ctable_map(); + stp.set_path_name("Ab3P"); + stp.gopen_htable_map(); + lfs.set_path_name("Ab3P"); + lfs.gopen_htable_map(); +} + +WordData::~WordData() +{ + wrdset.gclose_ctable_map(); + stp.gclose_htable_map(); + lfs.gclose_htable_map(); +} + + +AbbrStra::AbbrStra() +{ + npairs = tpairs = nsfs = nmatchs = amatchs = 0; +} + + +AbbrStra::~AbbrStra() +{ +} + + +void AbbrStra::token(const char *str, char lst[1000][1000]) +{ + long i,j=0,k=0; + long n=strlen(str)-1; + + while(isblank(str[n])) n--; + + while(str[j]){ + while(isblank(str[j]))j++; + i=j; + while((str[j])&&(!isblank(str[j])))j++; + strncpy(lst[k],str+i,j-i); + lst[k][j-i]='\0'; + if(str[j]){ + k++; + j++; + } + } + if((j-1)>n) k--; //added by Sohn (Jan-17-08): "ab cd " -> 2 tokens + ntk=k+1; //# tokens, ntk is data member +} + + +long AbbrStra::tokenize(const char *str, char lst[1000][1000]) +{ + long i,j=0,k=0; + long n=strlen(str)-1; + + while(isblank(str[n])) n--; + + while(str[j]){ + while(isblank(str[j]))j++; + i=j; + while((str[j])&&(!isblank(str[j])))j++; + strncpy(lst[k],str+i,j-i); + lst[k][j-i]='\0'; + if(str[j]){ + k++; + j++; + } + } + if((j-1)>n) k--; //added by Sohn (Jan-17-08): "ab cd " -> 2 tokens + return k+1; //# tokens +} + + +long AbbrStra::num_token(const char *str) +{ + long i,j=0,k=0; + long n=strlen(str)-1; + + while(isblank(str[n])) n--; + + while(str[j]){ + while(isblank(str[j]))j++; + i=j; + while((str[j])&&(!isblank(str[j])))j++; + if(str[j]){ + k++; + j++; + } + } + if((j-1)>n) k--; //added by Sohn (Jan-17-08): "ab cd " -> 2 tokens + return k+1; //# tokens +} + + +// fch is 1st char of str token from backward +long AbbrStra::first_ch(const char *str, char *fch, long num) +{ + long i, j, numtk; + char tk[1000][1000]; + + numtk = tokenize(str,tk); + if(num>numtk) return 0; + + for(i=0; i=0; i--) + if(!isupper(str[i]) || !isalpha(str[i])) + return 0; + return 1; +} + +long AbbrStra::is_alpha(const char *str) +{ + for(long i=strlen(str)-1; i>=0; i--) + if(!isalpha(str[i])) + return 0; + return 1; +} + + +// str2 will lower-case of str1 +void AbbrStra::str_tolower(const char *str1, char *str2) +{ + long i=0; + + while(str1[i]) { + str2[i] = tolower(str1[i]); + i++; + } + str2[i] = '\0'; +} + +//copy num tokens from back of str1 to str2 +long AbbrStra::get_str(const char *str1, char *str2, long num) +{ + char ch, tk[1000][1000]; + long i, j, numtk; + + if(num<0) { cout<<"num<0\n"; exit(1); } + numtk = tokenize(str1,tk); + if(numtk=0; i--) { + if(isupper(tk[i][0])) j++; + else return j; + } + + return j; +} + +void AbbrStra::get_alpha(const char *str1, char *str2) +{ + long i = 0, j = 0; + long len = strlen(str1); + + while(i=0; i--) { + if(longf[i]=='(') paren++; + if(longf[i]==')') paren--; + if(longf[i]=='[') sbrac++; + if(longf[i]==']') sbrac--; + } + if(paren!=0 || sbrac!=0) return false; + + s.assign(shrtf); + l.assign(longf); + + for(i=0; i=0) { + loop1: while((tkloc>=0)&&(tok[tkinx][tkloc]!=abbr[sfloc])) tkloc--; + if(tkloc<0) { + tkinx--; + if(tkinx<0) return 0; //moved to here (Sep-14-07) + tkloc=strlen(tok[tkinx])-1; + } + else { + if(sfloc==0) { + if(tkloc!=0) { + if(!first) { tkloc--; goto loop1; } + else if(isalnum(tok[tkinx][tkloc-1])) { tkloc--; goto loop1; } + } + } + mod[sfloc][0]=tkinx; + mod[sfloc][1]=tkloc; + sfloc--; tkloc--; + } + } + + return 1; +} + +long AbbrStra::search_backward_adv(const char *abbr, bool flag) +{ + long i; + long lna=strlen(abbr); + + i=0; + while(i0) j+=k; + i++; + } + + if(j>0) return true; + else return false; +} + + +bool AbbrStra::exist_n_skipwords(long nsf, long n) +{ + long i=0, j, k; + bool flag=false; + + //k: # skip words + while(in) return false; + if(k==n) flag=true; + i++; + } + + if(flag) return true; + else return false; +} + +//exists n consecutive skip stopwords between tokens +bool AbbrStra::exist_n_stopwords(long nsf, long n) +{ + long i=0, j, k; + bool flag=false; + + while(in) return false; + if(k==n) flag=true; + if(k>0) { //skip word exists + while(k) { + if(!wData->stp.find(tok[mod[i][0]+k])) return false; + k--; + } + } + i++; + } + + if(flag) return true; + else return false; +} + + +bool AbbrStra::stopword_ok(long nsf, long nsw) +{ + long i=0, j, k; + + while(insw) return false; + if(k>0) { //skip word exists + while(k) { + if(!wData->stp.find(tok[mod[i][0]+k])) return false; + k--; + } + } + i++; + } + + return true; +} + +bool AbbrStra::skip_stop_ok(long nsf, long nsw, long n) +{ + long i=0, j, k, nstp; + + while(insw) return false; + //if(k>0) { //skip word exists + if(k>(nsw-n)) { + nstp=0; //# skiped stopword between tokens + while(k) { + if(wData->stp.find(tok[mod[i][0]+k])) nstp++; + k--; + } + if(nstp0)&&(k!=nsw)) return false; + if(k>0) { //skip word exists + nstp=0; //# skiped stopword between tokens + while(k) { + if(wData->stp.find(tok[mod[i][0]+k])) nstp++; + k--; + } + if(nstpnsw) return false; + i++; + } + + return true; +} + + +bool AbbrStra::is_subword(long nsf) +{ + long i=0; + char word[1000]; + + while(iwrdset.count(word)==0) return false; + } + i++; + } + + return true; +} + + +bool AbbrStra::is_BeginWrdMatch(long nsf, bool general) +{ + long i=0, j; + bool *bwm = new bool [ntk]; //BeginWrdMatch of a given tok + + for(j=0; j0) wwm++; + } + else { + if(mod[i][1]>0 && isalnum(tok[mod[i][0]][mod[i][1]-1])) wwm++; + } + i++; + } + + if(wwm>0) return true; + else return false; +} + + +bool AbbrStra::is_FirstLetMatch(long nsf, bool general) +{ + long i=0, flm=0, flm2=0; + + while(i=1) ) return true; + else return false; +} + + +bool AbbrStra::is_FirstLetSMatch(const char *abbr, bool general) +{ + long i=0, j=strlen(abbr)-1, flm=0, lsm=0; + + while(i=2) return true; + else return false; +} +//---- + + +//---1st ch must be alnum & at least one alphabet for all +//str1: sf +bool AbbrStra::set_condition(const char *str1) +{ + int n=0, m=0, o=0; + + switch(setCondition) { + case 1: //all alphabet SFs + for(long i=strlen(str1)-1; i>=0; i--) + if(!isalpha(str1[i])) + return false; + return true; + break; + case 2: //at least one non-alphabet + if(!isalnum(str1[0])) return false; + for(long i=strlen(str1)-1; i>=0; i--) { + if(isalpha(str1[i])) n++; + else m++; + } + if( (n>0) && (m>0) ) return true; + else return false; + break; + case 3: //only alnum & at least one num + for(long i=strlen(str1)-1; i>=0; i--) { + if(!isalnum(str1[i])) return false; + if(isalpha(str1[i])) n++; + if(isdigit(str1[i])) m++; + } + if( (n>0) && (m>0) ) return true; + else return false; + break; + case 4: //only alpha and non-alnum & at least one non-alnum + if(!isalpha(str1[0])) return false; + for(long i=strlen(str1)-1; i>=0; i--) { + if(isdigit(str1[i])) return false; + if(!isalnum(str1[i])) n++; + } + if(n>0) return true; + else return false; + break; + case 5: //at least one non-alnum + if(!isalnum(str1[0])) return false; + for(long i=strlen(str1)-1; i>0; i--) { + if(!isalnum(str1[i])) return true; + } + return false; + break; + case 6: //at least one num and non-alnum + if(!isalnum(str1[0])) return false; + for(long i=strlen(str1)-1; i>=0; i--) { + if(isalpha(str1[i])) n++; + if(isdigit(str1[i])) m++; + if(!isalnum(str1[i])) o++; + } + if( (n>0) && (m>0) && (o>0) ) return true; + else return false; + break; + case 7: //1+2 (SH algorithm) + if(!isalnum(str1[0])) return false; + for(long i=strlen(str1)-1; i>=0; i--) + if(isalpha(str1[i])) return true; + return false; + break; + default: + cout << "Not defined set condition\n"; + exit(1); + } +} + +//--- +//same as FirstLet::set_condition +//but requires extra set conditions +bool FirstLetOneChSF::set_condition(const char *shrtf, const char *longf, char *str) +{ + long i=0, len=strlen(shrtf), numtk; + char tk[1000][1000]; + + //sf conditions: all alphabet + while(i=|SF|, 1st ch of words must be alphabet + numtk = tokenize(longf,tk); + if(len>numtk) return false; + + for(i=0; istp.find(phrl)) return 0; //last token is stopword + if(!wData->lfs.find(phrl)) return 0; //lfs (1-ch sf) for FirstLet match cases < 2 + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,0)) continue; + if(!is_FirstLetMatch(lna,genFL)) continue; //not allow 1-alpha + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} +//--- + +bool FirstLet::set_condition(const char *shrtf, const char *longf, char *str) +{ + long i=0, len=strlen(shrtf), numtk; + char tk[1000][1000]; + + //sf conditions + while(inumtk) return false; + + for(i=0; i=0; i--) { + if(!isupper(str[i])) return false; + if(!isalpha(str[i])) return false; //necessary? + } + + return true; +} + + +long FirstLetGenS::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + if(!set_condition(sf_)) return 0; + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,0)) continue; + if(!is_FirstLetSMatch(sf,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long FirstLetGenStp::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!exist_skipword(lna)) continue; + if(!stopword_ok(lna,1)) continue; + if(!is_FirstLetMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long FirstLetGenStp2::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!exist_n_stopwords(lna,2)) continue; + if(!is_FirstLetMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long FirstLetGenSkp::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!exist_skipword(lna)) continue; + if(!skipword_ok(lna,1)) continue; + if(!is_FirstLetMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long WithinWrdWrd::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,0)) continue; + if(!is_subword(lna)) continue; + if(!is_WithinWrdMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long WithinWrdFWrd::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,0)) continue; + if(!is_subword(lna)) continue; + if(!is_BeginWrdMatch(lna,genFL)) continue; + if(!is_WithinWrdMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long WithinWrdFWrdSkp::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!exist_skipword(lna)) continue; + if(!skipword_ok(lna,1)) continue; + if(!is_subword(lna)) continue; + if(!is_BeginWrdMatch(lna,genFL)) continue; + if(!is_WithinWrdMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long WithinWrdLet::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,0)) continue; + if(!is_WithinWrdMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long WithinWrdFLet::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,0)) continue; + if(!is_BeginWrdMatch(lna,genFL)) continue; + if(!is_WithinWrdMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long WithinWrdFLetSkp::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!exist_skipword(lna)) continue; + if(!skipword_ok(lna,1)) continue; + if(!is_BeginWrdMatch(lna,genFL)) continue; + if(!is_WithinWrdMatch(lna,genFL)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long ContLet::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,0)) continue; + if(!is_BeginWrdMatch(lna,genFL)) continue; + if(!is_ContLetMatch(lna)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long ContLetSkp::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!exist_skipword(lna)) continue; + if(!skipword_ok(lna,1)) continue; + if(!is_BeginWrdMatch(lna,genFL)) continue; + if(!is_ContLetMatch(lna)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + +long AnyLet::strategy(const char *sf_, const char *str_) +{ + long lna,lnt,flag; + bool genFL=true; //1:allow 1-ahpha for 1ch of SF match, 0:don't + + str_tolower(sf_,sf); + str_tolower(str_,text); + + token(text,tok); + lna = strlen(sf); + lnt = strlen(tok[ntk-1]); + + flag = search_backward(lna-1,ntk-1,lnt-1,sf,genFL); + if(!flag) return 0; + + do { + if(!skipword_ok(lna,1)) continue; + + extract_lf(mod[0][0],ntk-1,str_); + return 1; + } while(search_backward_adv(sf,genFL)); + + return 0; +} + + + +//----- +AbbrStra * StratUtil::strat_factory(string name) +{ + if(name=="FirstLetOneChSF") return new FirstLetOneChSF; + else if(name=="FirstLet") return new FirstLet; + else if(name=="FirstLetGen") return new FirstLetGen; + else if(name=="FirstLetGen2") return new FirstLetGen2; + else if(name=="FirstLetGenS") return new FirstLetGenS; + else if(name=="FirstLetGenStp") return new FirstLetGenStp; + else if(name=="FirstLetGenStp2") return new FirstLetGenStp2; + else if(name=="FirstLetGenSkp") return new FirstLetGenSkp; + else if(name=="WithinWrdWrd") return new WithinWrdWrd; + else if(name=="WithinWrdFWrd") return new WithinWrdFWrd; + else if(name=="WithinWrdFWrdSkp") return new WithinWrdFWrdSkp; + else if(name=="WithinWrdLet") return new WithinWrdLet; + else if(name=="WithinWrdFLet") return new WithinWrdFLet; + else if(name=="WithinWrdFLetSkp") return new WithinWrdFLetSkp; + else if(name=="ContLet") return new ContLet; + else if(name=="ContLetSkp") return new ContLetSkp; + else if(name=="AnyLet") return new AnyLet; + else { cout << "Fail strat_factory\n"; exit(1); } +} + + +//check if sf is ok and assign a group +//if sf length > 5, use 5!! +//grp will be Al+#ChInSF, Num+#ChInSF, or Spec+#ChInSF +bool StratUtil::group_sf(const char *sf, string &grp) +{ + long i, j, len=strlen(sf); + long al=0, num=0, nonalnum=0; + long paren=0, sbrac=0; + + grp = ""; // if failure, no group + + if(!isalnum(sf[0])) return false; //1sf ch must alnum + for(i=0; i=0; i--) { + if(sf[i]=='(') paren++; + if(sf[i]==')') paren--; + if(sf[i]=='[') sbrac++; + if(sf[i]==']') sbrac--; + } + if(paren!=0 || sbrac!=0) return false; + + if(al==len) grp.assign("Al"); + else if(num>0) grp.assign("Num"); + else if(nonalnum>0) grp.assign("Spec"); + else { cout << "No sf group\n"; exit(1); } + + //append sf length + len = len>5 ? 5 : len; + + switch(len) { + case 1: + grp.append("1"); + break; + case 2: + grp.append("2"); + break; + case 3: + grp.append("3"); + break; + case 4: + grp.append("4"); + break; + case 5: + grp.append("5"); + break; + default: + cout << "Not defined #-ch SF" << endl; + exit(1); + } + + return true; +} + +//add the condition |lf|>|sf| +bool StratUtil::group_sf(const char *sf, const char *lf, string &grp) +{ + long i, j, len=strlen(sf); + long al=0, num=0, nonalnum=0; + long paren=0, sbrac=0; + + if(strlen(lf)|sf| + if(!isalnum(sf[0])) return false; //1sf ch must alnum + for(i=0; i10) return false; //|alpha sf| is at most 10 + if(num_token(sf)>2) return false; //added Feb-21-08 + + //false for one parenthesis or square bracket + for(i=len-1; i>=0; i--) { + if(sf[i]=='(') paren++; + if(sf[i]==')') paren--; + if(sf[i]=='[') sbrac++; + if(sf[i]==']') sbrac--; + } + if(paren!=0 || sbrac!=0) return false; + + if(al==len) grp.assign("Al"); + else if(num>0) grp.assign("Num"); + else if(nonalnum>0) grp.assign("Spec"); + else { cout << "No sf group\n"; exit(1); } + + //append sf length + len = len>5 ? 5 : len; + + switch(len) { + case 1: + grp.append("1"); + break; + case 2: + grp.append("2"); + break; + case 3: + grp.append("3"); + break; + case 4: + grp.append("4"); + break; + case 5: + grp.append("5"); + break; + default: + cout << "Not defined #-ch SF" << endl; + exit(1); + } + + return true; +} + + +//remove non-alnum in str1 and save it to str2 +void StratUtil::remove_nonAlnum(const char *str1, char *str2) +{ + long i=0, j=0; + + while(str1[i]) { + if(isalnum(str1[i])) { + str2[j] = str1[i]; + j++; + } + i++; + } + str2[j] = '\0'; +} + + +vector StratUtil::get_strats(string s) +{ + if(s=="Al1") return Al1; + else if(s=="Al2") return Al2; + else if(s=="Al3") return Al3; + else if(s=="Al4") return Al4; + else if(s=="Al5") return Al5; + else if(s=="Num2") return Num2; + else if(s=="Num3") return Num3; + else if(s=="Num4") return Num4; + else if(s=="Num5") return Num5; + else if(s=="Spec2") return Spec2; + else if(s=="Spec3") return Spec3; + else if(s=="Spec4") return Spec4; + else if(s=="Spec5") return Spec5; + else { cout << "Incorrect name\n"; exit(1); } +} + + +void StratUtil::push_back_strat(string sgp, string strat) +{ + if(sgp=="Al1") Al1.push_back(strat); + else if(sgp=="Al2") Al2.push_back(strat); + else if(sgp=="Al3") Al3.push_back(strat); + else if(sgp=="Al4") Al4.push_back(strat); + else if(sgp=="Al5") Al5.push_back(strat); + else if(sgp=="Num2") Num2.push_back(strat); + else if(sgp=="Num3") Num3.push_back(strat); + else if(sgp=="Num4") Num4.push_back(strat); + else if(sgp=="Num5") Num5.push_back(strat); + else if(sgp=="Spec2") Spec2.push_back(strat); + else if(sgp=="Spec3") Spec3.push_back(strat); + else if(sgp=="Spec4") Spec4.push_back(strat); + else if(sgp=="Spec5") Spec5.push_back(strat); +} + + +long StratUtil::exist_upperal(const char *str) +{ + long i, len=strlen(str); + + for(i=0; in) k--; //added by Sohn (Jan-17-08): "ab cd " -> 2 tokens + return k+1; //# tokens +} +//----- diff --git a/Library/AbbrStra.h b/Library/AbbrStra.h new file mode 100644 index 0000000000000000000000000000000000000000..0dcb2b34370f1799ad509ee77fb41b595dc68b7b --- /dev/null +++ b/Library/AbbrStra.h @@ -0,0 +1,332 @@ +#ifndef ABBRSTRA_H +#define ABBRSTRA_H + +#include +#include +#include + +using namespace std; +using namespace iret; + + +class WordData { +public: + WordData(const char *wrdname="wrdset3", const char *stpname="stop", + const char *lfsname="Lf1chSf"); + + ~WordData(); + + Chash wrdset; //sigle word in MEDLINE + Hash stp; //stopword + Hash lfs; //lfs (1-ch sf) for FirstLet match cases >=2 +}; + + +class AbbrStra { +public: + AbbrStra(); + ~AbbrStra(); + void token(const char *str, char lst[1000][1000]); // tokennize & set ntk + long tokenize(const char *str, char lst[1000][1000]); //tokennize & return # tokens + long num_token(const char *str); //return # tokens + long first_ch(const char *str, char *fch, long num); + long is_upperal(const char *str); + long is_alpha(const char *str); + void str_tolower(const char *str1, char *str2); + long get_str(const char *str1, char *str2, long num); + bool isupper_str(const char *str); + bool is_onealpha(const char *str); + long count_upperstr(const char *str); + //return # upper-case 1st letter of consecutive tokens (backward) + void get_alpha(const char *str1, char *str2); + //set str2 with only alphabet of str1 + bool lf_ok(const char *shrtf, const char *longf); + + virtual bool set_condition(const char *sf); + //must set nonAlphaSF=true if want to use SF containing non-alphabet + virtual long strategy(const char *sf, const char *str) = 0; + //sf & str will be lower-cased (OCt-25-2007) + long search_backward(long sloc, long tnum, long tloc, const char *sf, bool first); + //search backward to find match starting from sf[sloc] + //Returns 1 if matches. sf[0] must match with begin word + long search_backward_adv(const char *sf, bool first); + //Searches for next model setting. Returns 1 if finds one. + void extract_lf(long begin, long end); + //save strings from begin to end of tok to lf + void extract_lf(long begin, long end, const char *str); + //save strings from begin to end of str's tok to lf + + //---after set mod check conditions + //nsf:# ch in sf, nsw:# allowed skipword, general:true allow 1st ch match after non-alnum + bool exist_skipword(long nsf); + //true if at least one skip word exists + bool exist_n_skipwords(long nsf, long n); + //true if exist n consecutive skip words between tokens but cannot be more than n + bool exist_n_stopwords(long nsf, long n); + //true if exist n consecutive skip stopwords between tokens but cannot be more than n + bool stopword_ok(long nsf, long nsw); + //true if at most (can be 0) nsw skip stopword in row exists + bool skip_stop_ok(long nsf, long nsw, long n); + //true if at most (can be 0) nsw skip word, which include at least n stopwords, in row exists + bool skip_stop_ok2(long nsf, long nsw, long n); + //true if nsw skip word, which include at least n stopwords, in row exists + bool skipword_ok(long nsf, long nsw); + //true if at most (can be 0) nsw skip word in row exists + bool is_subword(long nsf); + //true if matching string is begin of a tok or a word in wrdlist + bool is_BeginWrdMatch(long nsf, bool general); + //true if begining ch of a word match + //if general is true, allow match after non-alnum (eg, 1-alpha) + bool is_WithinWrdMatch(long nsf, bool general); + //true if within word match + //if general is true, 1-Alpha: 'A' is not within word match + bool is_FirstLetMatch(long nsf, bool general); + //true if each ch of sf match with 1st ch of word + //(true: Alpha anyword Beta (AB)) + //if general=true, true: 1-Alpha Beta, Alpha-Beta + bool is_FirstLetMatch2(long nsf, bool general); + //at least one 1-Alpha + bool is_FirstLetSMatch(const char *sf, bool general); + //true if first letter match & 's' match with last ch of lf + bool is_ContLetMatch(long nsf); + //true if two or more consecutive letter match + //--- + + char *pch; //sf applied to a strategy + char *ps, *pl; //sf, potential lf + char sf[100], text[10000]; //sf & potential lf used in a strategy + char lf[10000]; //lf found by a strategy + char tok[1000][1000]; //token of potential lf + //lower after strategy, original after extract_lf(b,e,str) + long ntk; //# tokens + long mod[100][2]; //match locations of tok with a given sf + //mod[sf_inx][0]=tok inx, mod[sf_inx][1]=match loc in tok[mod[sf_inx][0]] + + //for each n_ch-SF + long npairs; //selected pairs for this strategy + long tpairs; //total pairs + long nsfs; //# selected unique sfs for this strategy + long nmatchs; //# matchs (success strategy & given sf == real sf) + long amatchs; //# accumulated matchs up to this strategy + long setCondition; //SF condition + long greaterEqNsf; //if 1 select SF |SF|>=nsf + + WordData *wData; +}; + + +/* +alpha beta gamma (ABG) + */ +class FirstLet : public AbbrStra { +public: + virtual bool set_condition(const char *str1, const char *str2, char *str); + virtual long strategy(const char *sf, const char *str); +}; + + +class FirstLetOneChSF : public AbbrStra { +public: + virtual bool set_condition(const char *str1, const char *str2, char *str); + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- sf ch matchs with 1st ch or ch right after non-alphanum of lf + but at least one match right after non-alphanum + (eg, success: 1-alpha 2-beta (AB), alpha-beta(AB), + fail: alpha beta(AB)) +*/ +class FirstLetGen : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- sf ch matchs with 1st ch or ch right after non-alphanum of lf + (eg, success: 1-alpha 2-beta (AB), alpha-beta(AB), + alpha beta(AB)) +*/ +class FirstLetGen2 : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +For sf consisting of capital letters & lower-case 's' +- First letter & 's' in the last token of lf +(success: Alpha Betas (ABs), 1-Alpha Betas (ABs), + 1-Alpha-Betas (ABs), Alpha BetaS (ABs) + fail: Alpha Beta xxs (ABs) ) +*/ +class FirstLetGenS : public AbbrStra { +public: + virtual bool set_condition(const char *sf); //sf must be an original sf + //true if sf is like ABCs + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- sf ch matches with 1st ch or ch right after non-alphanum of lf +- allowing one skip stopword between tokens (no more than one in row) + at least one skip stopword in total + (eg, success: alpha and beta (AB), 1-alpha and beta (AB) + fail: alpha beta (AB), alpha word beta (AB)) +*/ +class FirstLetGenStp : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- same as FirstLetGenStp except for 2 skip stopwords + & at least one two consecutive skip stopwords + */ +class FirstLetGenStp2 : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- same as FirstLetGenStp except using skip any word instead of stopword + */ +class FirstLetGenSkp : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- a matching sub-string must be word + (eg, success: AlphaBeta (AB), Beta is word + x-AlphaBeta (AB) ) +- at least one within word match + (eg,fail: Alpha Beta Word (ABW), Alpha x-Beta x-Word (ABW) + success: AlphaBeta Word (ABW), x-AlphaBeta inWord (ABW)) + */ +class WithinWrdWrd : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- WithinWrdWrd w/ Begin Word Match + (success: AlphaBeta x-Word (ABW) + fail: AlphaBeta inWord (ABW) ) + */ +class WithinWrdFWrd : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- WithinWrdFWrd w/ allowing one skip word between tokens (no more than one in row) + at least one skip word in total + (success: AlphaBeta zzz x-Word zzz (ABW) + fail: AlphaBeta x-Word (ABW), AlphaBeta zzz yyy x-Word (ABW)) +*/ +class WithinWrdFWrdSkp : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- at least one within word match + ( success: Alpha InXyy (AX), x-Alpha InXyy (AX)) + fail: Alpha Xyy (AX), Alpha 1-Xyy (AX)) +*/ +class WithinWrdLet : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- WithinWrdLet w/ Begin Word Match + (fail: Alpha InXyy (AX), x-Alpha InXyy (AX) + success: AlphaXyy Word (AXW), x-AlphaXyy 1-Word (AXW)) +*/ +class WithinWrdFLet : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- WithinWrdFLet w/ allowing one skip word between tokens (no more than one in row) + at least one skip word in total + (success: AlphaXyy zzz Word zzz (AXW) + fail: AlphaXyy Word (AXW), AlphaXyy zzz yyy Word (AXW)) +*/ +class WithinWrdFLetSkp : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- any two consecutive letter matching w/ begin word match +eg) ABxxx (AB), 1-ABxxx (AB), ABxxx Cxxx (ABC), Axxx BCxxx (ABC) + prolactin (PRL), succinylcholine (SCh) +*/ +class ContLet : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- ContLet w/ allowing one skip word between tokens (no more than one in row) + at least one skip word in total +*/ +class ContLetSkp : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +/* +- match can occur anywhere +- allow one skip word between tokens (no more than one in row) + (success: Alpha yXyy (AX), Alpha yXyy word (AX) + 1-Alpha yXyy word (AX)) +*/ +class AnyLet : public AbbrStra { +public: + virtual long strategy(const char *sf, const char *str); +}; + + +class StratUtil { +public: + AbbrStra *strat_factory(string name); + vector get_strats(string s); + //get the strategy sequence for a given #-ch SF group + void push_back_strat(string sgp, string strat); + bool group_sf(const char *sf, string &grp); + //check if sf is ok and assign a group + bool group_sf(const char *sf, const char *lf, string &grp); + //add the contion |lf|>|sf| + void remove_nonAlnum(const char *str1, char *str2); + //remove non-alnum in str1 and save it to str2 + long exist_upperal(const char *str); //return 1 if exists upper char, 0 ow + long num_token(const char *str); //return # tokens + + vector Al1, Al2, Al3, Al4, Al5; + vector Num2, Num3, Num4, Num5; + vector Spec2, Spec3, Spec4, Spec5; +}; + + +#endif + + diff --git a/Library/AbbrStra.o b/Library/AbbrStra.o new file mode 100644 index 0000000000000000000000000000000000000000..a45936fb935c4b3c3e12a214b35d017604f337ad Binary files /dev/null and b/Library/AbbrStra.o differ diff --git a/Library/AbbrvE.C b/Library/AbbrvE.C new file mode 100644 index 0000000000000000000000000000000000000000..0f60036bdcd683baffcd6ab2905974cceb6dc368 --- /dev/null +++ b/Library/AbbrvE.C @@ -0,0 +1,629 @@ +#include "AbbrvE.h" +#include + +namespace iret { + + Find_Seq::Find_Seq( void ) + /* initializers work in C++0x + : + seq_i ( { "i", "ii", "iii", "iv", "v", "vi" } ), + seq_I ( { "I", "II", "III", "IV", "V", "VI" } ), + seq_a ( { "a", "b", "c", "d", "e", "f" } ), + seq_A ( { "A", "B", "C", "D", "E", "F" } ) + */ + { + seq_i.push_back("i"); + seq_i.push_back("ii"); + seq_i.push_back("iii"); + seq_i.push_back("iv"); + seq_i.push_back("v"); + seq_i.push_back("vi"); + + seq_I.push_back("I"); + seq_I.push_back("II"); + seq_I.push_back("III"); + seq_I.push_back("IV"); + seq_I.push_back("V"); + seq_I.push_back("VI"); + + seq_a.push_back("a"); + seq_a.push_back("b"); + seq_a.push_back("c"); + seq_a.push_back("d"); + seq_a.push_back("e"); + seq_a.push_back("f"); + + seq_A.push_back("A"); + seq_A.push_back("B"); + seq_A.push_back("C"); + seq_A.push_back("D"); + seq_A.push_back("E"); + seq_A.push_back("F"); + + } + + void + Find_Seq::flag_seq( int numa, char* abbs[] ) { + + my_numa = numa; + my_abbs = abbs; + + my_rate.resize(numa); + for ( int i = 0; i < numa; ++i ) + my_rate[i] = true; + + find_seq(seq_i); + find_seq(seq_I); + find_seq(seq_a); + find_seq(seq_A); + + create_seq(); + } + + + void + Find_Seq::find_seq( const vector & seq ) { + + for ( int i_abbr = 0; i_abbr < my_numa-1; ++i_abbr ) { + // need to see at least 2 in sequence + + if ( seq[0] == my_abbs[i_abbr] ) { + int i_seq = 1; + while ( i_seq < seq.size() and + i_seq + i_abbr < my_numa and + seq[i_seq] == my_abbs[i_abbr + i_seq ] ) + ++i_seq; + + if ( i_seq > 1 ) + for ( int i = 0; i < i_seq; ++i ) + my_rate[i_abbr+i] = false; + } + + } + } + + void + Find_Seq::create_seq( void ) { + + for ( int i_abbr = 0; i_abbr < my_numa; ++i_abbr ) { + + size_t len = std::strlen( my_abbs[i_abbr] ); + + if ( my_abbs[i_abbr][len-1] == '1' ) { + // create sequence and test + + string prefix( my_abbs[i_abbr], len-1 ); + size_t seq_len = my_numa - i_abbr; // max possible length + vector seq; + // sequence starts with 1 + for ( int i= 1; i <= seq_len; ++i ) { + std::ostringstream stream(prefix,std::ios::app); + stream << i; + seq.push_back( stream.str() ); + } + + // cout << seq << '\n'; + find_seq(seq); + } + } + } + + + AbbrvE::AbbrvE(long ta,long wrd_spc){ + tta=ta; + word_space=wrd_spc; + abbl=new char*[tta]; + abbs=new char*[tta]; + nt=new int[tta]; + lst=new char*[word_space]; + numa=num=0; + pMt=new MPtok; + setup_Test(); + } + + AbbrvE::~AbbrvE(){ + if(numa)cleara(); + clear(); + delete [] abbl; + delete [] abbs; + delete [] nt; + delete [] lst; + delete pMt; + } + +void AbbrvE::Extract(char*pch){ + long i,j,k,u,flag; + int ix; + + if ( strlen(pch) <= 0 ) // no text to look at + return; + + token(pch); + + i=j=k=0; + flag=0; + while(ik)&&(strcmp(")",lst[i-1]))){ + j=i; + flag=1; + } + } + if(!strcmp(")",lst[i])){ + if(!flag){j=k=i+1;} + else { + if(((j>k)&&(ij+1)){ + if(k alpha beta ( AB ) + + for(jj=0; jj<2; jj++) {//deal with both () & [] + i=j=k=0; + flag=0; + + if(jj==0) { strcpy(openCh,"("); strcpy(closeCh,")"); } + else if(jj==1) { strcpy(openCh,"["); strcpy(closeCh,"]"); } + + while(ik)&&(strcmp(closeCh,lst[i-1]))){ + j=i; //index of '(' + flag=1; + } + } + if(!strcmp(closeCh,lst[i])){ + if(!flag){j=k=i+1;} //next token + else { + if(((j>k)&&(ij+1)){ + if(kcnam_size) { + cerr<<"Scratch space "<0)&&(isblank(str[u-1])))u--; + str[u]='\0'; + + while(str[j]){ + while(isblank(str[j]))j++; + i=j; + while((str[j])&&(!isblank(str[j])))j++; + lst[k]=new char[j-i+1]; + strncpy(lst[k],str+i,j-i); + lst[k][j-i]='\0'; + if(str[j]){ + k++; + j++; + } + } + num=k+1; +} + + +//both () & [] Jan-9-2008 +//(G(1)) -> ( G(1) ) Jan-28-2008 +void AbbrvE::token2(const char *pch){ + long i=1,j=0,k=0; + long u=1; + vector openChFlag1,openChFlag2; + long cflag; + long ii, jj, kk, sz; + char c,*str=cnam; + clear(); // ready space for tokens + cnam[0]=pch[0]; + while(c=pch[i]){ + switch(c){ + case '(': + //--- (h)alpha -> (h)alpha, (h)-alpha -> ( h ) -alpha + ii=kk=i; + cflag=0; + while(pch[ii] && !isblank(pch[ii])) { //pch[ii] can be '\0' + if(pch[ii]=='(') cflag -= 1; + else if(pch[ii]==')') { cflag += 1; kk=ii; } + ii++; + } + + if(!cflag && isalnum(pch[kk+1])) { //if alnum right after ')' + while(i0 && openChFlag1[sz-1]){ //modified Jan-28-08 + if(!isblank(str[u-1])){ + str[u++]=' '; + str[u++]=pch[i++]; //pch[i++] is ')' + } + //---added (Jan-11-08): (BIV; ), -> ( BIV; ) , + else if(!isblank(pch[i+1])){ + str[u++]=pch[i++]; //pch[i++] is ')' + } + //--- + + if(!isblank(pch[i]))str[u++]=' '; //pch[i] must be after ')' + } + else str[u++]=pch[i++]; + + if(sz>0) openChFlag1.pop_back(); + + break; + + case '[': + //--- [h]alpha -> [h]alpha + ii=kk=i; + cflag=0; + while(pch[ii] && !isblank(pch[ii])) { //pch[ii] can be '\0' + if(pch[ii]=='[') cflag -= 1; + else if(pch[ii]==']') { cflag += 1; kk=ii; } + ii++; + } + + if(!cflag && isalnum(pch[kk+1])) { //if alnum right after ')' + while(i0 && openChFlag2[sz-1]){ //modified Jan-28-08 + if(!isblank(str[u-1])){ + str[u++]=' '; + str[u++]=pch[i++]; + } + //---added (Jan-11-08): [BIV; ], -> [ BIV; ] , + else if(!isblank(pch[i+1])){ + str[u++]=pch[i++]; + } + //--- + if(!isblank(pch[i]))str[u++]=' '; + } + else str[u++]=pch[i++]; + + if(sz>0) openChFlag2.pop_back(); + + break; + default: str[u++]=pch[i++]; + } + } + while((u>0)&&(isblank(str[u-1])))u--; + str[u]='\0'; + + while(str[j]){ + while(isblank(str[j]))j++; + i=j; + while((str[j])&&(!isblank(str[j])))j++; + lst[k]=new char[j-i+1]; + strncpy(lst[k],str+i,j-i); + lst[k][j-i]='\0'; + if(str[j]){ + k++; + j++; + } + } + num=k+1; +} + + + void AbbrvE::clear(void){ + for ( int i=0; i pre.size() and + 0 == pre.compare( 0, pre.size(), str, pre.size() ) ) + return true; + } + return false; + } + + +//no space before and after abbs[] (because of using token) +bool AbbrvE::Test(const char *str){ + + if ( match.find(str) != match.end() ) return false; + if ( prefix_match(str) ) return false; + + size_t length, letters, digits; + length = letters = digits = 0; + + char c; + while((c=str[length])&&(c!=' ')){ + length++; + if ( isdigit(c) ) digits++; + if ( isalpha(c) ) letters++; + + if( length==digits and length>=3 ) return false; + } + if ( digits == length ) return false; + if ( letters <= 0 ) return false; + + return true; +} + + void AbbrvE::setup_Test( void ) { + + match.insert("author's transl"); + match.insert("proceedings"); + match.insert("see"); + match.insert("and"); + match.insert("comment"); + match.insert("letter"); + match.insert("eg"); + + prefix.push_back("="); + prefix.push_back("eg."); + prefix.push_back("eg,"); + prefix.push_back("see "); + prefix.push_back("see,"); + prefix.push_back("p<"); + prefix.push_back("P<"); + + // rules added in 2010 + match.insert("e.g."); + match.insert("ie"); + match.insert("i.e."); + match.insert("mean"); + match.insert("age"); + match.insert("std"); + match.insert("range"); + match.insert("young"); + match.insert("old"); + match.insert("male"); + match.insert("female"); + + } + +void AbbrvE::Proc(char *pxh){ + long i,j; + char *pch,*ptr; + pMt->segment(pxh); + for(i=0;isent.size();i++){ + Extract2( (pMt->sent[i]).c_str() ); + } + + seq.flag_seq( numa, abbs ); + j=0; + for(i=0;i +#include +#include +#include +#include +using namespace std; +namespace iret { + +typedef vector strings; + + +class Find_Seq { +public: + + Find_Seq( void ); + + // flag the SFs whether part of sequence or not + void flag_seq( int numa, char* abbs[] ); + + // true if good SF, false if part of sequence + bool rate( int i ) const { my_rate[i]; } + +private: + void find_seq( const vector & seq ); + void create_seq( void ); + + // const works with c++0x + /* const */ strings seq_i; + /* const */ strings seq_I; + /* const */ strings seq_a; + /* const */ strings seq_A; + + vector my_rate; + int my_numa; + char ** my_abbs; // really char *[], but that doesn't work + +}; + + +class AbbrvE { + public: + AbbrvE(long ta=10000,long wrd_spc=10000); //Sets space for extracted + //potential abbreviations to ta & word_space to wrd_spc + ~AbbrvE(void); + void Extract(char *pch); //Extracts possible long-short form + //pairs, but does not attempt to find the relationship + void Extract2(const char *pch); //extened version (Jan-9-2008) + bool Test(const char *str); //Tests a single token and returns true + //if the token should be a possible first token of a short form + void Rate(void); //Sets ratings for the proposed pairs. Effort to + //remove (a), (b), etc., sequence markers + void token(const char *str); //Produces a list of tokens in order of + //of occurrence in the string. + void token2(const char *str); //extended version (Jan-9-2008) + void cleara(void); //Clear the abbl & abbs memory of strings + void clear(void); //Clear the lst memory of words + + //Application functions + void Proc(char *pch); //Accepts a natural language statement and + //processes to final results stored in tta, abbs, and abbl + //Need to call cleara function after each use of this function + + // Internal routines: + // setup data for Test method + void setup_Test( void ); + bool prefix_match( const char *str ); // does str begins with a prefix? + + //Data + long tta; //Total possible abbreviations extracted + //default 10k + long numa; //number of abbreviations in current extract + char **abbl; //Long form space, hold up to 10 tokens + char **abbs; //Short form space, hold up to 10 tokens + Find_Seq seq; // identify sequences to ignore + int *nt; //Number of tokens within parentheses + long word_space; //Space in lst for tokens + //default 10k + long num; //Number of tokens + char **lst; //Holds the tokens + + static const int cnam_size=100000; + char cnam[cnam_size]; //Work space + MPtok *pMt; //Pointer at tokenizer class. Used to segment text + //in Proc function. + + // Test data + set match; // bad SF to match exactly + vector prefix; // bad SF to match prefix +}; +} +#endif diff --git a/Library/AbbrvE.o b/Library/AbbrvE.o new file mode 100644 index 0000000000000000000000000000000000000000..7225278f80e0be4abe49c0cb54f6ce6fe500b26b Binary files /dev/null and b/Library/AbbrvE.o differ diff --git a/Library/Btree.C b/Library/Btree.C new file mode 100644 index 0000000000000000000000000000000000000000..64f01624b798f279552d0573c54785a0025274a3 --- /dev/null +++ b/Library/Btree.C @@ -0,0 +1,1304 @@ +#include +#include +#include +#include +#include +#include +#include +#include "Btree.h" +#include "runn.h" + +using namespace std; +namespace iret { + +Node::Node(void){ + str=NULL; + rel=NULL; + pdn=NULL; +} + +Node::Node(const char *ptr){ + int i=strlen(ptr); + str = new char[i+1]; + strcpy(str,ptr); + rel=NULL; + pdn=NULL; +} + +Node::Node(char const *ptr,void *dtr){ + int i=strlen(ptr); + str = new char[i+1]; + strcpy(str,ptr); + rel = dtr; + pdn=NULL; +} + +Node::~Node(){ + if(str)delete [] str; +} + +void Node::debug(void){ + cout << "Node {" << endl; + cout << " str: " << this->str << endl; + if(rel==NULL)cout << " rel: NULL" << endl; + else cout << " rel: " << (long)rel << endl; + if(pdn==NULL)cout << " pdn: NULL" << endl; + else cout << " pdn: " << (long)pdn << endl; + cout << " }" << endl; +} + +Page::Page(){ + pdn=NULL; + ndnm='\0'; +} + +Page::Page(Page *const pz,Page *const pn,const int n){ + pdn=pn; + int j=(int)(pz->ndnm)-n; + ndnm=(char)(j>0 ? j : 0); + for(int i=0;i<(int)ndnm;i++){pnd[i]=(pz->pnd)[n+i];} +} + +Page::~Page(){ + for(int i=0;i<(int)ndnm;i++){ + delete pnd[i]; + } +} + +void Page::clean(void){ + for(int i=0;i<(int)ndnm;i++){ + pnd[i]->str=NULL; + } +} + +void Page::insert(const int n,Node * const nd,const int j){ + assert(jn;i--)pnd[i]=pnd[i-1]; + pnd[n]=nd; + } + ndnm++; +} + +int Page::search(int &a,int &b,const char *str,int &p){ + int j; + if((j=stc_my(a,b,str,pnd[0]->str))<0){ + p=0; + return(0); + } + else if(j==0){ + p=0; + return(1); + } + if((j=stc_my(a,b,str,pnd[(int)(ndnm-1)]->str))>0){ + p=(int)ndnm; + return(0); + } + else if(j==0){ + p=(int)(ndnm-1); + return(1); + } + int x=0,i; + int y=(int)(ndnm-1); + while(y-x>1){ + i=(y+x)/2; + if((j=stc_my(a,b,str,pnd[i]->str))==0){p=i;return(1);} + else if(j<0)y=i; + else x=i; + } + p=y; + return(0); +} + +int Page::search(int &a,int &b,char *str,int &p,Partial_match *btr){ + int j; + if((j=btr->stc_my_long(a,b,str,pnd[0]->str,0))<0){ + p=0; + return(0); + } + else if(j==0){ + p=0; + return(1); + } + if((j=btr->stc_my_long(a,b,str,pnd[(int)(ndnm-1)]->str,(int)(ndnm-1)))>0){ + p=(int)ndnm; + return(0); + } + else if(j==0){ + p=(int)(ndnm-1); + return(1); + } + int x=0,i; + int y=(int)(ndnm-1); + while(y-x>1){ + i=(y+x)/2; + if((j=btr->stc_my_long(a,b,str,pnd[i]->str,i))==0){p=i;return(1);} + else if(j<0)y=i; + else x=i; + } + p=y; + return(0); +} + +void Page::debug(void){ + cout << "Page {" << endl; + cout << " ndnm: " << (int)ndnm << endl; + if(pdn==NULL)cout << " pdn: NULL" << endl; + else cout << " pdn: " << (long)pdn << endl; + for(int i=0;i<(int)ndnm;i++){ + cout << i << " "; + (this->pnd[i])->debug(); + } + cout << " }" << endl; +} + +int stc_my(int &a,int &b,const char *str,const char *ptr) + {register int i=(andnm = 1; + (root->pnd)[0]=new Node(""); +} + +int Btree::search(const char *str){ + depth=-1; + Page *pu=root; + register int a=0,b=0,i,j; + while(pu!=NULL){ + depth++; + pg[depth]=pu; + j=(pu->search)(a,b,str,i); + cnd[depth]=i; + if(j==1)return(1); + if(i==0)pu=pu->pdn; + else pu=(pu->pnd)[i-1]->pdn; + } +return(0); +} + +int Btree::insert(Node *nd){ + int w,k; + Page *pm,*pz; + while((nd!=NULL)&&(depth)){ + pm=pg[depth]; + w=pm->ndnm; + if(winsert(cnd[depth],nd,w); + nd=NULL; + } + else { + k=cnd[depth]; + if(kpnd)[order-1])->pdn,order); + pm->insert(k,nd,order); + nd=pm->pnd[order]; + nd->pdn=pz; + pm->ndnm=order; + } + else if(k>order){ + pz=new Page(pm,((pm->pnd)[order])->pdn,order+1); + pz->insert(k-order-1,nd,order-1); + nd=pm->pnd[order]; + nd->pdn=pz; + pm->ndnm=order; + } + else { + pz=new Page(pm,nd->pdn,order); + nd->pdn=pz; + pm->ndnm=order; + } + } + depth--; + } + if(nd!=NULL){ + pm=pg[depth]; + w=pm->ndnm; + if(winsert(cnd[depth],nd,w); + else { + root=new Page(); + root->pdn=pm; + k=cnd[depth]; + if(kpnd)[order-1])->pdn,order); + pm->insert(k,nd,order); + (root->pnd)[0]=pm->pnd[order]; + ((root->pnd)[0])->pdn=pz; + root->ndnm=1; + pm->ndnm=order; + } + else if(k>order){ + pz=new Page(pm,((pm->pnd)[order])->pdn,order+1); + pz->insert(k-order-1,nd,order-1); + (root->pnd)[0]=pm->pnd[order]; + ((root->pnd)[0])->pdn=pz; + root->ndnm=1; + pm->ndnm=order; + } + else { + pz=new Page(pm,nd->pdn,order); + (root->pnd)[0]=nd; + nd->pdn=pz; + root->ndnm=1; + pm->ndnm=order; + } + } + } +return(1); +} + +void Btree::node_first(void){ + depth=0; + pg[depth]=root; + cnd[depth]=0; + Page *pm; + while((pm=(pg[depth]->pdn))!=NULL){ + depth++; + pg[depth]=pm; + cnd[depth]=0; + } +} + +int Btree::node_next(){ + int i=cnd[depth]; + Page *pd=((pg[depth]->pnd)[i])->pdn; + if(pd!=NULL){ + (cnd[depth])++; + depth++; + pg[depth]=pd; + cnd[depth]=0; + while((pd=(pg[depth]->pdn))!=NULL){ + depth++; + pg[depth]=pd; + cnd[depth]=0; + } + } + else { + cnd[depth]=++i; + while((depth>=1)&&(i==(pg[depth]->ndnm))){depth--;i=cnd[depth];} + if((depth==0)&&(i==(pg[depth]->ndnm)))depth--; + if(depth<0)return(0); + } +return(1); +} + +char *Btree::show_str(){ + return(((pg[depth]->pnd)[cnd[depth]])->str); +} + +void *Btree::give_ptr(){ + return(((pg[depth]->pnd)[cnd[depth]])->rel); +} + +void Btree::set_ptr(void *dtr){ + ((pg[depth]->pnd)[cnd[depth]])->rel=dtr; +} + +Btree::~Btree(){ + int pflag=get_qflag(); + long k=0; + if (copy) return; // only delete original + if(!iclean){ + node_first(); + int i=depth,j; + do{ + j=node_next(); + if(depthdepth){ + delete pg[i]; + i--; + mark(pflag,++k,1000,"pages deleted"); + } + } + else i=depth; + } while(j); + } + else { + node_first(); + int i=depth,j; + do{ + j=node_next(); + if(depthdepth){ + pg[i]->clean(); + delete pg[i]; + i--; + mark(pflag,++k,1000,"pages deleted"); + } + } + else i=depth; + } while(j); + } +} + +long Btree::list_write(ofstream &fout){ + int pflag=get_qflag(); + long ct=0; + node_first(); + while(node_next()){ + fout << show_str() << endl; + mark(pflag,++ct,1000,"strings written"); + } + fout.close(); + return((int)fout.good()); +} + +Btree::Btree(ifstream &fin){ + copy=false; + char cnam[256]; + int pflag=get_qflag(); + depth=0; + pg[0]=root=new Page(); + cnd[0]=root->ndnm = 1; + (root->pnd)[0]=new Node(""); + Node *pno; + long ct=0; + while(get_string(cnam,fin,'\n')){ + pno = new Node(cnam); + add(pno); + mark(pflag,++ct,10000,"strings read"); + } + fin.close(); +} + +int Btree::add(Node *nd){ + int w,k,dp; + Page *pm,*pz; + dp=depth; //uses dp in place of depth in insert. + while((nd!=NULL)&&(dp)){ + pm=pg[dp]; + w=pm->ndnm; + if(winsert(cnd[dp],nd,w); + nd=NULL; + (cnd[dp])++; //variation from insert. + } + else { + k=cnd[dp]; + if(kpnd)[order-1])->pdn,order); + pm->insert(k,nd,order); + nd=pm->pnd[order]; + nd->pdn=pz; + pm->ndnm=order; + } + else if(k>order){ + pz=new Page(pm,((pm->pnd)[order])->pdn,order+1); + pz->insert(k-order-1,nd,order-1); + nd=pm->pnd[order]; + nd->pdn=pz; + pm->ndnm=order; + } + else { + pz=new Page(pm,nd->pdn,order); + nd->pdn=pz; + pm->ndnm=order; + } + pg[dp]=pz; //2 lines of variation from insert. + cnd[dp]=order; + } + dp--; + } + if(nd!=NULL){ + pm=pg[dp]; + w=pm->ndnm; + if(winsert(cnd[dp],nd,w); + (cnd[dp])++; //variation from insert. + } + else { + root=new Page(); + root->pdn=pm; + k=cnd[dp]; + if(kpnd)[order-1])->pdn,order); + pm->insert(k,nd,order); + (root->pnd)[0]=pm->pnd[order]; + ((root->pnd)[0])->pdn=pz; + root->ndnm=1; + pm->ndnm=order; + } + else if(k>order){ + pz=new Page(pm,((pm->pnd)[order])->pdn,order+1); + pz->insert(k-order-1,nd,order-1); + (root->pnd)[0]=pm->pnd[order]; + ((root->pnd)[0])->pdn=pz; + root->ndnm=1; + pm->ndnm=order; + } + else { + pz=new Page(pm,nd->pdn,order); + (root->pnd)[0]=nd; + nd->pdn=pz; + root->ndnm=1; + pm->ndnm=order; + } + next_empty(); //variation from insert. + } + } +return(1); +} + +void Btree::next_empty(){ + depth=0; + pg[depth]=root; + int i=cnd[depth]=root->ndnm; + Page *pm; + while((pm=((pg[depth]->pnd)[i-1])->pdn)!=NULL){ + depth++; + pg[depth]=pm; + i=cnd[depth]=pm->ndnm; + } +} + +Str_str::Str_str() : Btree() { +} + +Str_str::~Str_str(){ + if(copy)return; + this->node_first(); + while(this->node_next())delete [] (char*)this->give_ptr(); +} + +void Str_str::add_pair(const char *one,const char *two){ + Node *pnd; + if(search(one)){ + cout << "Duplicate string in keys list = " << one << endl; + exit(0); + } + else { + int i=strlen(two); + char *st=new char[i+1]; + strcpy(st,two); + pnd=new Node(one,(void *)st); + add(pnd); + } +} + +char *Str_str::match(const char *one){ + if(search(one)){ + return((char*)give_ptr()); + } + else { + cout << "String not a key = " << one << endl; + exit(0); + } +} + +List::List() : Btree() { + cnt_key=0; +} + +List::~List(){ +} + +void List::add_key(const char *str){ + Node *pnd; + if(!search(str)){ + pnd=new Node(str); + add(pnd); + } +} + +void List::add_key_count(const char *str){ + Node *pnd; + if(!search(str)){ + pnd=new Node(str); + add(pnd); + cnt_key++; + } +} + +void List::addp_key_count(char *str){ + Node *pnd; + if(!search(str)){ + pnd=new Node; + pnd->str=str; + add(pnd); + cnt_key++; + } +} + +Num_num::Num_num() : Btree() { +} + +Num_num::~Num_num(){ + if(copy)return; + this->node_first(); + while(this->node_next())delete (long*)this->give_ptr(); +} + +void Num_num::add_pair(long i,long j){ + Node *pnd; + char cnam[256]; + long_str(cnam,i); + if(!search(cnam)){ + long *st=new long; + *st=j; + pnd=new Node(cnam,(void *)st); + add(pnd); + } +} + +long Num_num::match(long i){ + char cnam[256]; + long_str(cnam,i); + if(search(cnam)){ + return(*((long*)give_ptr())); + } + else return(LNEG); +} + +Count::Count() : List() { + total=0; +} + +Count::~Count(){ + if(copy)return; + long *pk; + this->node_first(); + while(this->node_next()){ + pk=(long*)(this->give_ptr()); + if(pk)delete pk; + } +} + +void Count::add_count(const char *pch,long n){ + long *ppt; + Node *np; + total+=n; + if(this->search(pch)==0){ + ppt = new long; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + (*(long*) this->give_ptr())+=n; + } +} + +void Count::add_countz(const char *pch,long n){ + long *ppt; + Node *np; + if(this->search(pch)==0){ + ppt = new long; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + (*(long*) this->give_ptr())+=n; + } +} + +void Count::add_count2(const char *pch,long n){ + long *ppt; + Node *np; + total+=n; + if(this->search(pch)==0){ + ppt = new long; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + (*(long*) this->give_ptr())+=n; + } +} + +void Count::addp_count2(char *pch,long n){ + long *ppt; + Node *np; + total+=n; + if(this->search(pch)==0){ + ppt = new long; + (*ppt) =n; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + (*(long*) this->give_ptr())+=n; + } +} + +void Count::correct(const char *pch,long n){ + if(this->search(pch)){ + (*(long*) this->give_ptr())=n; + } +} + +long Count::count(const char *pch){ + if(this->search(pch)==0){ + return(0); + } + else { + return(*((long*) this->give_ptr())); + } +} + +long Count::count(void){ + return(*((long*) this->give_ptr())); +} + +void Count::max_count(const char *pch,long n){ + long *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new long; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + ppt=(long*)give_ptr(); + if(*pptinsert(np); + cnt_key++; + } + else { + ppt=(long*)give_ptr(); + if(*pptstr=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + ppt=(long*)give_ptr(); + if(*pptinsert(np); + } + else { + ppt=(long*)give_ptr(); + if(*ppt>n)*ppt=n; + } +} + +void Count::min_count2(const char *pch,long n){ + long *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new long; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + ppt=(long*)give_ptr(); + if(*ppt>n)*ppt=n; + } +} + +void Count::minp_count2(char *pch,long n){ + long *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new long; + (*ppt) =n; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + ppt=(long*)give_ptr(); + if(*ppt>n)*ppt=n; + } +} + +//FCount (float count tree) + +FCount::FCount() : List() { + total=0; +} + +FCount::~FCount(){ + if(copy)return; + float *pk; + this->node_first(); + while(this->node_next()){ + pk=(float*)(this->give_ptr()); + if(pk)delete pk; + } +} + +void FCount::Copy(FCount &Fc){ + char *pch; + float *xx,*zz; + Node *pN; + + pg[0]=root; + cnd[0]=root->ndnm; + + Fc.node_first(); + while(Fc.node_next()){ + pch=Fc.show_str(); + xx=(float*)Fc.give_ptr(); + zz=new float; + *zz=*xx; + pN=new Node(pch,(void*)zz); + add(pN); + } +} + +void FCount::add_count(const char *pch,float z){ + float *ppt; + Node *np; + total+=z; + if(this->search(pch)==0){ + ppt = new float; + (*ppt) =z; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + (*(float*) this->give_ptr())+=z; + } +} + +void FCount::add_count2(const char *pch,float z){ + float *ppt; + Node *np; + total+=z; + if(this->search(pch)==0){ + ppt = new float; + (*ppt) =z; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + (*(float*) this->give_ptr())+=z; + } +} + +void FCount::addp_count2(char *pch,float z){ + float *ppt; + Node *np; + total+=z; + if(this->search(pch)==0){ + ppt = new float; + (*ppt) =z; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + (*(float*) this->give_ptr())+=z; + } +} + +float FCount::count(const char *pch){ + if(this->search(pch)==0){ + return(0); + } + else { + return(*((float*) this->give_ptr())); + } +} + +float FCount::count(void){ + return(*((float*) this->give_ptr())); +} + +//DCount (double precision count tree) + +DCount::DCount() : List() { + total=0; +} + +DCount::~DCount(){ + if(copy)return; + double *pk; + this->node_first(); + while(this->node_next()){ + pk=(double*)(this->give_ptr()); + if(pk)delete pk; + } +} + +void DCount::Copy(DCount &Dc){ + char *pch; + double *xx,*zz; + Node *pN; + + pg[0]=root; + cnd[0]=root->ndnm; + + Dc.node_first(); + while(Dc.node_next()){ + pch=Dc.show_str(); + xx=(double*)Dc.give_ptr(); + zz=new double; + *zz=*xx; + pN=new Node(pch,(void*)zz); + add(pN); + } +} + +void DCount::add_count(const char *pch,double z){ + double *ppt; + Node *np; + total+=z; + if(this->search(pch)==0){ + ppt = new double; + (*ppt) =z; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + (*(double*) this->give_ptr())+=z; + } +} + +void DCount::add_count2(const char *pch,double z){ + double *ppt; + Node *np; + total+=z; + if(this->search(pch)==0){ + ppt = new double; + (*ppt) =z; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + (*(double*) this->give_ptr())+=z; + } +} + +void DCount::addp_count2(char *pch,double z){ + double *ppt; + Node *np; + total+=z; + if(this->search(pch)==0){ + ppt = new double; + (*ppt) =z; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + (*(double*) this->give_ptr())+=z; + } +} + +double DCount::count(const char *pch){ + if(this->search(pch)==0){ + return(0); + } + else { + return(*((double*) this->give_ptr())); + } +} + +double DCount::count(void){ + return(*((double*) this->give_ptr())); +} + +void DCount::max_count(const char *pch,double z){ + double *ppt; + Node *np; + total+=z; + if(!search(pch)){ + ppt = new double; + (*ppt) =z; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + ppt=(double*)give_ptr(); + if(*pptinsert(np); + cnt_key++; + } + else { + ppt=(double*)give_ptr(); + if(*pptstr=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + ppt=(double*)give_ptr(); + if(*pptinsert(np); + } + else { + ppt=(double*)give_ptr(); + if(*ppt>z)*ppt=z; + } +} + +void DCount::min_count2(const char *pch,double z){ + double *ppt; + Node *np; + total+=z; + if(!search(pch)){ + ppt = new double; + (*ppt) =z; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + ppt=(double*)give_ptr(); + if(*ppt>z)*ppt=z; + } +} + +void DCount::minp_count2(char *pch,double z){ + double *ppt; + Node *np; + total+=z; + if(!search(pch)){ + ppt = new double; + (*ppt) =z; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + ppt=(double*)give_ptr(); + if(*ppt>z)*ppt=z; + } +} + +void DCount::debug(void){ + node_first(); + while(node_next()){ + cout << count() << " " << show_str() << endl; + } +} + +//Partial Match + +Partial_match::Partial_match() : Count() { +} + +Partial_match::~Partial_match(){ +} + +void Partial_match::long_match(char *str,List &Lst){ + char *pch; + while(*str!='\0'){ + if(this->search_long(str)){ + pch=this->show_str(); + Lst.add_key_count(pch); + } + if((pch=strchr(str,' '))!=NULL)str=pch+1; + else str=str+strlen(str); + } +} + +void Partial_match::local_match(char *str,List &Lst){ + char *pch; + int i,j; + if(*str!='\0'){ + if(this->search_long(str)){ + pch=this->show_str(); + Lst.add_key_count(pch); + i=strlen(pch)-1; + while(0search(str); + *(str+i)=' '; + if(j){ + pch=this->show_str(); + Lst.add_key_count(pch); + } + i--; + } + } + } + } +} + +void Partial_match::all_match(char *str,List &Lst){ + char *pch; + int i,j; + while(*str!='\0'){ + if(this->search_long(str)){ + pch=this->show_str(); + Lst.add_key_count(pch); + i=strlen(pch)-1; + while(0search(str); + *(str+i)=' '; + if(j){ + pch=this->show_str(); + Lst.add_key_count(pch); + } + i--; + } + } + } + if((pch=strchr(str,' '))!=NULL)str=pch+1; + else str=str+strlen(str); + } +} + +void Partial_match::long_match(char *str,Count &Cnt,long n){ + char *pch; + while(*str!='\0'){ + if(this->search_long(str)){ + pch=this->show_str(); + Cnt.add_count2(pch,n); + } + if((pch=strchr(str,' '))!=NULL)str=pch+1; + else str=str+strlen(str); + } +} + +void Partial_match::local_match(char *str,Count &Cnt,long n){ + char *pch; + int i,j; + if(*str!='\0'){ + if(this->search_long(str)){ + pch=this->show_str(); + Cnt.add_count2(pch,n); + i=strlen(pch)-1; + while(0search(str); + *(str+i)=' '; + if(j){ + pch=this->show_str(); + Cnt.add_count2(pch,n); + } + i--; + } + } + } + } +} + +void Partial_match::all_match(char *str,Count &Cnt,long n){ + char *pch; + int i,j; + while(*str!='\0'){ + if(this->search_long(str)){ + pch=this->show_str(); + Cnt.add_count2(pch,n); + i=strlen(pch)-1; + while(0search(str); + *(str+i)=' '; + if(j){ + pch=this->show_str(); + Cnt.add_count2(pch,n); + } + i--; + } + } + } + if((pch=strchr(str,' '))!=NULL)str=pch+1; + else str=str+strlen(str); + } +} + +int Partial_match::search_long(char *str){ + int a=0,b=0,i,j; + len=strlen(str); + if(this->step_one(a,b,str))return(1); + i=(asearch(str); + *(str+i)=' '; + if(j)return(1); + i--; + } + } + if(cln_o){ + depth=depth_o; + cnd[depth]=index_o; + return(1); + } + else return(0); +} + +int Partial_match::step_one(int &a,int &b,char *str){ + char c; + cln_o=0; + cln=0; + while((c=*(str+cln))&&c!=32)cln++; + *(str+cln)='\0'; + depth=-1; + Page *pu=root; + int i,j; + while(pu!=NULL){ + depth++; + pg[depth]=pu; + j=(pu->search)(a,b,str,i,this); + cnd[depth]=i; + if(j==1)return(1); + if(i==0)pu=pu->pdn; + else pu=(pu->pnd)[i-1]->pdn; + } + +if(cln +#include +using namespace std; +namespace iret { + +const int order = 5; //Half the order of the Btree that we build. +const int height_limit =12; //Limit on the height of the Btree. +const int ord2 = order*2; //The order of the Btree. + +int stc_my(int &,int &,const char *,const char *); //Function used to compare + //two strings. The first two arguments hold information about how much the + //string can be ignored in the comparison. + +class Page; //forward declaration +class Btree; //forward declaration +class Partial_match; //forward declaration + +class Node { + friend int stc_my(int &,int &,const char *,const char *); + friend class Page; + friend class Btree; + friend class List; + friend class Count; + friend class FCount; + friend class DCount; + template friend class BCount; + friend class Partial_match; + friend class Thes; +public: + Node(void); //Sets all points to NULL. + Node(const char * ); //Argument is the string for this node. + Node(const char * ,void *); //Arguments are first the string and then the + //data pointer. + ~Node(); + void debug(); //Prints out the node in simple format. +private: + char *str; //String pointer. + void *rel; //Data pointer. + Page *pdn; //Points down to the page below or to NULL. +}; + +class Page { + friend int stc_my(int &,int &,const char *,const char *); + friend class Btree; + friend class Partial_match; + friend class FCount; + friend class DCount; +public: + Page(); //Constructs a new empty page. Only happens at the root. + Page(Page * const pz,Page * const pn,const int n); //Constructs a page that + //holds the right half of a full page. The full page is pointed at by the + //pz. The new pages downward pointer is set to pn. + //n tells how much of the full page is to remain or where to begin removal. + ~Page(); + void clean(void); //Used to delete without touching search keys in the nodes + //which were created with addp functions and do not belong to the tree. + void insert(const int n,Node * const nd,const int j); //inserts in partially empty + //page. n is insertion point, j is number of nodes on page that are viable. + int search(int &a,int &b,const char *,int &p); //searches for string on + //the page. Returns 1 if found, 0 otherwise. If found p is the index, otherwise + //if p is 0 then the page downward pointer is to next page to search, but if + //p is positive then p-1 is number of node that has the downward pointer to + //next page to search. + int search(int &a,int &b,char *,int &p,Partial_match *btr); //Looks for longest + //partial match. + void debug(); //Prints out the page for debugging purposes. + +private: + char ndnm; //Indicates the number of Nodes on the page. + Page *pdn; //Pointer that points to the page below and also lexically below. + //May be NULL. + Node *pnd[ord2]; //Pointers to the nodes on the page. Some may be NULL. +}; + +class Btree { + friend class Page; +public: + Btree(void); + Btree(ifstream &); //Reads in a Btree in form of list written out by + //list_write() from disc. String arguments mark the path in proj file. + Btree( const Btree & btree ) {copy = true; root = btree.root;} // Actually + // creates another reference to the same tree. Take great care to + // avoid simultaneously modifying both copies. + ~Btree(void); + int search(const char *); //Searches for a string and sets the path to that + //string or its insertion point. + int insert(Node *);//Only to be called after a search has failed to find the + //string. + void node_first();//Finds the first node in the tree and sets the path to it. + int node_next(); //Given the path is already set to a node, this function + //finds the next node in lexicographic order. + char *show_str();//Used to show the string after a call to next is successful. + void *give_ptr();//Used to give the data pointer in the current node. + void set_ptr(void *); //Used to set the data pointer after a call to search + //has found string. + int add(Node *); //Only to be used to construct a tree from a lexical list + //as written out by list_write(); + void next_empty(); //Only used to reset the pointer arrays when the root is + //split. Used in add(). + long list_write(ofstream &); //Writes out a lexical list of the strings in + //the tree. + int iclean; //Default 0, but set to 1 if want to have destructor run without + //touching key strings (if addp used in making tree). +protected: + int depth; //Tells the depth in the tree that marks the current location. + Page *root; //Points at the root page of the tree. + Page *pg[height_limit]; //Descending list of pointers that mark the pages. + int cnd[height_limit]; //Mark the positions of the nodes just above the + //downard page pointer at each level. Thus 0 marks the page's downward + //pointer, but a nonzero value must have 1 subtracted and then it gives + //the node whose downward pointer is the correct downward pointer. + bool copy; //flags copies of a tree with true. +}; + +class List : public Btree { +public: + List(); + List(const List & list) : Btree(list) {} + ~List(); + void add_key(const char *str); //Adds the string *str to the tree if not already in list + void add_key_count(const char *str); //Adds the string *str to the tree if + //not already in list and counts it. + void addp_key_count(char *str); //Adds the string *str to the tree if + //not already in list and counts it. Uses the actual string pointer instead + //of making a copy + long cnt_key; //Used to count the number of keys. +}; + +class Count : public List { +public: + Count(); + Count(const Count & Ct) : List(Ct){} + ~Count(); + void add_count(const char *str,long n); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is incremented by n. + void add_countz(const char *str,long n); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + //Does not add count to the total variable, unlike add_count2. + void add_count2(const char *str,long n); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + void addp_count2(char *str,long n); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + void correct(const char *str,long n); //If str is in the tree the count is + //changed to n. Otherwise nothing is done. + + //Functions for maximum calculation + void max_count(const char *str,long n); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is max of n and prior value. + void max_count2(const char *str,long n); //Adds the string *str with its count + //just as max_count, but also counts number of unique keys in count. + void maxp_count2(char *str,long n); //Adds the string *str with its count + //just as max_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + + //Functions for minium calculation + void min_count(const char *str,long n); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is min of n and prior value. + void min_count2(const char *str,long n); //Adds the string *str with its count + //just as min_count, but also counts number of unique keys in count. + void minp_count2(char *str,long n); //Adds the string *str with its count + //just as min_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + + long count(const char *str); //Returns the count if a key (in list) otherwise + //returns 0. + long count(void); //Returns the count of the current string. Assumes the + //pointers have already been set by a search or node_next call. + long total; //Holds the total of all counts added for all keys. +}; + +class FCount : public List { +public: + FCount(); + FCount(const FCount & Ct) : List(Ct){} + ~FCount(); + void Copy(FCount &Dc); //Makes a copy of the tree Dc in the current tree. + void add_count(const char *str,float z); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is incremented by z. + void add_count2(const char *str,float z); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + void addp_count2(char *str,float z); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + float count(const char *str); //Returns the count if a key (in list) otherwise + //returns 0. + float count(void); //Returns the count of the current string. Assumes the + //pointers have already been set by a search or node_next call. + float total; //Holds the total of all counts added for all keys. +}; + +class DCount : public List { +public: + DCount(); + DCount(const DCount & Ct) : List(Ct){} + ~DCount(); + void Copy(DCount &Dc); //Makes a copy of the tree Dc in the current tree. + void add_count(const char *str,double z); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is incremented by z. + void add_count2(const char *str,double z); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + void addp_count2(char *str,double z); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + double count(const char *str); //Returns the count if a key (in list) otherwise + //returns 0. + double count(void); //Returns the count of the current string. Assumes the + //pointers have already been set by a search or node_next call. + + //Functions for maximum calculation + void max_count(const char *str,double z); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is max of z and prior value. + void max_count2(const char *str,double z); //Adds the string *str with its count + //just as max_count, but also counts number of unique keys in count. + void maxp_count2(char *str,double z); //Adds the string *str with its count + //just as max_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + + //Functions for minium calculation + void min_count(const char *str,double z); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is min of z and prior value. + void min_count2(const char *str,double z); //Adds the string *str with its count + //just as min_count, but also counts number of unique keys in count. + void minp_count2(char *str,double z); //Adds the string *str with its count + //just as min_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + + void debug(void); //Prints to stdout a list "i str[i]" + double total; //Holds the total of all counts added for all keys. +}; + +class Partial_match : public Count { + friend class Page; +public: + Partial_match(); + Partial_match(const Partial_match & Par_mat) : Count(Par_mat){} + ~Partial_match(); + void long_match(char *,List &); //Finds the longest matches for all word + //starts in the string and adds them to the list. + void local_match(char *,List &); //Finds all matches that start at + //beginning of the string and adds them to the list. + void all_match(char *,List &); //Finds all matches within the string and + //adds them to the list. + void long_match(char *,Count &,long n); //Finds the longest matches for all word + //starts in the string and adds them to the list in Count. + void local_match(char *,Count &,long n); //Finds all matches that start at + //beginning of string and adds them to the list in Count. + void all_match(char *,Count &,long n); //Finds all matches within the string and + //adds them to the list in Count. + int search_long(char *); //Searches for longest partial match to an initial + //segment of a string that ends at a word boundary and + //sets the path to that string or its insertion point. + +private: + int stc_my_long(int &,int &,char *,const char *,int); //Function used to compare + //two strings. The first two arguments hold information about how much the + //string can be ignored in the comparison. The last argument holds the index + //or number of the string's node on the page. + int step_one(int &,int &,char *); //Looks for partial or complete match and + //returns 1 if complete found. Partial is reflected in parameters. + + //Special parameters used in partial matching. + int depth_o; //Depth of longest partial match thus far. + int index_o; //index of longest partial match thus far. + int cln_o; //String length of longest partial match thus far. + int len; //Length of query string. + int cln; //Current null position in string. +}; + +class Str_str : public Btree { +public: + Str_str(); + Str_str(const Str_str & Stst) : Btree(Stst){} + ~Str_str(); + void add_pair(const char *one,const char *two); //Adds the string *one to the tree and stores + //the string *two at that node. + char *match(const char *one); //Returns pointer to the string stored under string *one. +}; + +class Num_num : public Btree { +public: + Num_num(); + Num_num(const Num_num & Nmnm) : Btree(Nmnm){} + ~Num_num(); + void add_pair(long i, long j); //Adds the string for i to the tree and + //stores the number j at that node. + long match(long i); //Returns the number stored under the string for i. +}; + +template +class BCount : public List { +public: + BCount(); + BCount(const BCount & Ct) : List(Ct){} + ~BCount(); + void add_count(const char *str,Z n); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is incremented by n. + void add_count2(const char *str,Z n); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + void addp_count2(char *str,Z n); //Adds the string *str with its count + //just as add_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + void correct(const char *str,Z n); //If str is in the tree the count is + //changed to n. Otherwise nothing is done. + + //Functions for maximum calculation + void max_count(const char *str,Z n); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is max of n and prior value. + void max_count2(const char *str,Z n); //Adds the string *str with its count + //just as max_count, but also counts number of unique keys in count. + void maxp_count2(char *str,Z n); //Adds the string *str with its count + //just as max_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + + //Functions for minium calculation + void min_count(const char *str,Z n); //Adds the string *str with its count + //to the tree if not already in list. String is key and count is data. + //If string is already a key the count is min of n and prior value. + void min_count2(const char *str,Z n); //Adds the string *str with its count + //just as min_count, but also counts number of unique keys in count. + void minp_count2(char *str,Z n); //Adds the string *str with its count + //just as min_count, but also counts number of unique keys in count. + //Does not make copy of string, but uses the pointer str as key pointer. + + Z count(const char *str); //Returns the count if a key (in list) otherwise + //returns 0. + Z count(void); //Returns the count of the current string. Assumes the + //pointers have already been set by a search or node_next call. + Z total; //Holds the total of all counts added for all keys. +}; + +template +BCount::BCount() : List() { + total=0; +} + +template +BCount::~BCount(){ + if(copy)return; + Z *pk; + this->node_first(); + while(this->node_next()){ + pk=(Z *)(this->give_ptr()); + if(pk)delete pk; + } +} + +template +void BCount::add_count(const char *pch,Z n){ + Z *ppt; + Node *np; + total+=n; + if(this->search(pch)==0){ + ppt = new Z; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + (*(Z *) this->give_ptr())+=n; + } +} + +template +void BCount::add_count2(const char *pch,Z n){ + Z *ppt; + Node *np; + total+=n; + if(this->search(pch)==0){ + ppt = new Z; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + (*(Z *) this->give_ptr())+=n; + } +} + +template +void BCount::addp_count2(char *pch,Z n){ + Z *ppt; + Node *np; + total+=n; + if(this->search(pch)==0){ + ppt = new Z; + (*ppt) =n; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + (*(Z *) this->give_ptr())+=n; + } +} + +template +void BCount::correct(const char *pch,Z n){ + if(this->search(pch)){ + (*(Z *) this->give_ptr())=n; + } +} + +template +Z BCount::count(const char *pch){ + if(this->search(pch)==0){ + return(0); + } + else { + return(*((Z *) this->give_ptr())); + } +} + +template +Z BCount::count(void){ + return(*((Z *) this->give_ptr())); +} + +template +void BCount::max_count(const char *pch,Z n){ + Z *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new Z; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + ppt=(Z *)give_ptr(); + if(*ppt +void BCount::max_count2(const char *pch,Z n){ + Z *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new Z; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + ppt=(Z *)give_ptr(); + if(*ppt +void BCount::maxp_count2(char *pch,Z n){ + Z *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new Z; + (*ppt) =n; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + ppt=(Z *)give_ptr(); + if(*ppt +void BCount::min_count(const char *pch,Z n){ + Z *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new Z; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + } + else { + ppt=(Z *)give_ptr(); + if(*ppt>n)*ppt=n; + } +} + +template +void BCount::min_count2(const char *pch,Z n){ + Z *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new Z; + (*ppt) =n; + np=new Node(pch,(void*)ppt); + this->insert(np); + cnt_key++; + } + else { + ppt=(Z *)give_ptr(); + if(*ppt>n)*ppt=n; + } +} + +template +void BCount::minp_count2(char *pch,Z n){ + Z *ppt,i; + Node *np; + total+=n; + if(!search(pch)){ + ppt = new Z; + (*ppt) =n; + np=new Node; + np->str=pch; + np->rel=ppt; + this->insert(np); + cnt_key++; + } + else { + ppt=(Z *)give_ptr(); + if(*ppt>n)*ppt=n; + } +} + +} +#endif diff --git a/Library/Btree.o b/Library/Btree.o new file mode 100644 index 0000000000000000000000000000000000000000..0594e17ea1f6fc7c2d64b14824c6a1ca86a574c8 Binary files /dev/null and b/Library/Btree.o differ diff --git a/Library/FBase.C b/Library/FBase.C new file mode 100644 index 0000000000000000000000000000000000000000..1321d65a334ddd5a0bb2fc767e8a31513457a073 --- /dev/null +++ b/Library/FBase.C @@ -0,0 +1,600 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "runn.h" +#include "FBase.h" + +using namespace std; +namespace iret { + +FBase::FBase(const char *typ,const char *nam){ + int lxn=strlen(typ); + type=new char[lxn+1]; + tpnm=-1; + nmnm=-1; + strcpy(type,typ); + lxn=strlen(nam); + name=new char[lxn+1]; + strcpy(name,nam); + cflag=0; + oflag=0; + pflag=get_qflag(); + eflag=1; +} + +FBase::FBase(const char *typ,int tpn,const char *nam){ + int lxn=strlen(typ); + type=new char[lxn+1]; + tpnm=tpn; + nmnm=-1; + strcpy(type,typ); + lxn=strlen(nam); + name=new char[lxn+1]; + strcpy(name,nam); + cflag=0; + oflag=0; + pflag=get_qflag(); + eflag=1; +} + +FBase::FBase(const char *typ,const char *nam,const char *pt){ + int lxn=strlen(typ); + type=new char[lxn+1]; + tpnm=-1; + nmnm=-1; + strcpy(type,typ); + lxn=strlen(nam); + name=new char[lxn+1]; + strcpy(name,nam); + cflag=0; + oflag=0; + pflag=get_qflag(); + if(*pt!=':')set_path_name(pt); + else set_path_internal(pt+1); +} + +FBase::~FBase(void){ + delete [] type; + delete [] name; +} + +void FBase::set_type_num(int tn){tpnm=tn;} + +void FBase::set_name_num(int nn){nmnm=nn;} + +void FBase::change_type(const char *typ){ + if(type!=NULL)delete [] type; + int lxn=strlen(typ); + type=new char[lxn+1]; + strcpy(type,typ); +} + +void FBase::change_name(const char *nam){ + if(name!=NULL)delete [] name; + int lxn=strlen(nam); + name=new char[lxn+1]; + strcpy(name,nam); +} + +void FBase::set_name(const char *nam){ + if(name!=NULL)delete [] name; + int lxn=strlen(nam); + name=new char[lxn+1]; + strcpy(name,nam); +} + +void FBase::subname(const char *tph,const char *tpl,const char *nm){ + char cnam[max_str]; + long i=strlen(tpl); + strcpy(cnam,tpl); + cnam[i]='_'; + cnam[i+1]='\0'; + strcat(cnam,nm); + change_type(tph); + change_name(cnam); +} + +void FBase::set_path_internal(const char *pt){ + long len; + if(pt&&(len=strlen(pt))){ + eflag=0; + path=new char[len+1]; + strcpy(path,pt); + } + else eflag=1; +} + +void FBase::set_path_name(const char *pa){ + long len; + if(pa&&(len=strlen(pa))){ + eflag=2; + pnam=new char[len+1]; + strcpy(pnam,pa); + } + else eflag=1; +} + +void FBase::map_down(FBase *pFb){ + pFb->change_type(type); + pFb->change_name(name); + pFb->set_type_num(tpnm); + pFb->set_name_num(nmnm); + pFb->pflag=pflag; + if(eflag==2)pFb->set_path_name(pnam); + else if(!eflag)pFb->set_path_internal(path); +} + +void FBase::map_down_sub(FBase *pFb,const char *subtype){ + pFb->subname(type,name,subtype); + pFb->set_type_num(tpnm); + pFb->set_name_num(nmnm); + pFb->pflag=pflag; + if(eflag==2)pFb->set_path_name(pnam); + else if(!eflag)pFb->set_path_internal(path); +} + +void FBase::get_pathx(char *nam,const char *ch){ + char cnam[256]; + ifstream fin; + + if(eflag==2){ + strcpy(cnam,"path_"); + strcat(cnam,pnam); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path"); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + cout << "Path file for type " << type << " does not exist!" << endl; + exit(0); + } + } + fin.getline(nam,256); + fin.close(); + } + else if(eflag){ + strcpy(cnam,"path_"); + strcat(cnam,type); + strcat(cnam,"_"); + strcat(cnam,name); + strcat(cnam,"."); + strcat(cnam,ch); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path_"); + strcat(cnam,type); + strcat(cnam,"_"); + strcat(cnam,name); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path_"); + strcat(cnam,type); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path"); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + cout << "Path file for type " << type << " does not exist!" << endl; + exit(0); + } + } + } + } + fin.getline(nam,256); + fin.close(); + } + else { + strcpy(nam,path); + } + + if(tpnm<0)strcat(nam,type); + else cat_num(type,tpnm,nam); + strcat(nam,"_"); + if(nmnm<0)strcat(nam,name); + else cat_num(name,nmnm,nam); + strcat(nam,"."); + strcat(nam,ch); +} + +void FBase::get_pathx(char *nam,long n,const char *ch){ + char cnam[256],bnam[256]; + ifstream fin; + + if(eflag==2){ + strcpy(cnam,"path_"); + strcat(cnam,pnam); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path"); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + cout << "Path file for type " << type << " does not exist!" << endl; + exit(0); + } + } + fin.getline(nam,256); + fin.close(); + } + else if(eflag){ + strcpy(cnam,"path_"); + strcat(cnam,type); + strcat(cnam,"_"); + strcat(cnam,name); + strcat(cnam,"."); + strcat(cnam,ch); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path_"); + strcat(cnam,type); + strcat(cnam,"_"); + strcat(cnam,name); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path_"); + strcat(cnam,type); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path"); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + cout << "Path file for type " << type << " does not exist!" << endl; + exit(0); + } + } + } + } + fin.getline(nam,256); + fin.close(); + } + else { + strcpy(nam,path); + } + + if(tpnm<0)strcat(nam,type); + else cat_num(type,tpnm,nam); + strcat(nam,"_"); + strcat(nam,add_num(name,n,bnam)); + strcat(nam,"."); + strcat(nam,ch); +} + +char *FBase::add_num(const char *ptr,long n,char *buf){ + char cnam[100]; + long_str(cnam,n); + strcpy(buf,ptr); + strcat(buf,cnam); + return(buf); +} + +char *FBase::cat_num(const char *ptr,long n,char *buf){ + char cnam[100]; + long_str(cnam,n); + strcat(buf,ptr); + strcat(buf,cnam); + return(buf); +} + +int FBase::Gcom(int sflag){ + if((cflag&sflag)&&!(oflag&sflag)){ + oflag=oflag|sflag; + return(1); + } + else return(0); +} + +int FBase::Rcom(int sflag){ + if((cflag&sflag)&&(oflag&sflag)){ + oflag=oflag&(~sflag); + return(1); + } + else return(0); +} + +ifstream *FBase::get_Istr(const char *a,ios::openmode mode){ + char cnam[max_str]; + get_pathx(cnam,a); + ifstream *pfin=new ifstream(cnam,mode); + if(pfin->is_open())return(pfin); + else { + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } +} + +ofstream *FBase::get_Ostr(const char *a,ios::openmode mode){ + char cnam[max_str]; + get_pathx(cnam,a); + ofstream *pfout=new ofstream(cnam,mode); + if(pfout->is_open())return(pfout); + else { + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } +} + +fstream *FBase::get_Fstr(const char *a,ios::openmode mode){ + char cnam[max_str]; + get_pathx(cnam,a); + fstream *pfstr=new fstream(cnam,mode); + if(pfstr->is_open())return(pfstr); + else { + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } +} + +ifstream *FBase::get_Istr(long n,const char *a,ios::openmode mode){ + char cnam[max_str]; + get_pathx(cnam,n,a); + ifstream *pfin=new ifstream(cnam,mode); + if(pfin->is_open())return(pfin); + else { + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } +} + +ofstream *FBase::get_Ostr(long n,const char *a,ios::openmode mode){ + char cnam[max_str]; + get_pathx(cnam,n,a); + ofstream *pfout=new ofstream(cnam,mode); + if(pfout->is_open())return(pfout); + else { + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } +} + +fstream *FBase::get_Fstr(long n,const char *a,ios::openmode mode){ + char cnam[max_str]; + get_pathx(cnam,n,a); + fstream *pfstr=new fstream(cnam,mode); + if(pfstr->is_open())return(pfstr); + else { + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } +} + +void FBase::dst_Istr(ifstream *pfin){ + if(!pfin)return; + if(!pfin->is_open()){ + cout << "File not open!" << endl; + exit(0); + } + delete pfin; +} + +void FBase::dst_Ostr(ofstream *pfout){ + if(!pfout)return; + if(!pfout->is_open()){ + cout << "File not open!" << endl; + exit(0); + } + delete pfout; +} + +void FBase::dst_Fstr(fstream *pfstr){ + if(!pfstr)return; + if(!pfstr->is_open()){ + cout << "File not open!" << endl; + exit(0); + } + delete pfstr; +} + +long FBase::get_Fsiz(const char *a){ + if(!Exists(a))return(0); + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,a); + fld=::open(cnam,O_RDONLY); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size \ + determination" << endl;exit(0);} + ::close(fld); + return(datf.st_size); +} + +long FBase::get_Fsiz(long n,const char *a){ + if(!Exists(n,a))return(0); + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,n,a); + fld=::open(cnam,O_RDONLY); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size \ + determination" << endl;exit(0);} + ::close(fld); + return(datf.st_size); +} + +char *FBase::get_Read(const char *a){ + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,a); + fld=::open(cnam,O_RDONLY); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size \ + determination" << endl;exit(0);} + ::close(fld); + char *ptr=new char[datf.st_size]; + ifstream fin(cnam,ios::in); + if(!fin.is_open()){ + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } + fin.read(ptr,datf.st_size); + return(ptr); +} + +char *FBase::get_Read(long n,const char *a){ + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,n,a); + fld=::open(cnam,O_RDONLY); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size \ + determination" << endl;exit(0);} + ::close(fld); + char *ptr=new char[datf.st_size]; + ifstream fin(cnam,ios::in); + if(!fin.is_open()){ + cout << "Error: " << cnam << " failed to open!" << endl; + exit(0); + } + fin.read(ptr,datf.st_size); + return(ptr); +} + +char *FBase::get_Mmap(const char *a){ + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,a); + fld=::open(cnam,O_RDONLY); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size determination" << endl;exit(0);} + char *ptr=(char*)mmap(0,datf.st_size,PROT_READ,MAP_PRIVATE|MAP_NORESERVE,fld,0); + if(ptr==MAP_FAILED){cout << cnam << " failed to map" << endl;exit(0);} + ::close(fld); + return(ptr); +} + +char *FBase::get_Mmap(long n,const char *a){ + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,n,a); + fld=::open(cnam,O_RDONLY); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size determination" << endl;exit(0);} + char *ptr=(char*)mmap(0,datf.st_size,PROT_READ,MAP_PRIVATE|MAP_NORESERVE,fld,0); + if(ptr==MAP_FAILED){cout << cnam << " failed to map" << endl;exit(0);} + ::close(fld); + return(ptr); +} + +char *FBase::get_Wmap(const char *a){ + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,a); + fld=::open(cnam,O_RDWR); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size determination" << endl;exit(0);} + char *ptr=(char*)mmap(0,datf.st_size,PROT_READ|PROT_WRITE,MAP_SHARED,fld,0); + if(ptr==MAP_FAILED){cout << cnam << " failed to map" << endl;exit(0);} + ::close(fld); + return(ptr); +} + +char *FBase::get_Wmap(long n,const char *a){ + int fld; + struct stat datf; + char cnam[max_str]; + get_pathx(cnam,n,a); + fld=::open(cnam,O_RDWR); + if(fld<=0){cout << cnam << " failed to open" << endl;exit(0);} + if(fstat(fld,&datf)){cout << cnam << " failed on size determination" << endl;exit(0);} + char *ptr=(char*)mmap(0,datf.st_size,PROT_READ|PROT_WRITE,MAP_SHARED,fld,0); + if(ptr==MAP_FAILED){cout << cnam << " failed to map" << endl;exit(0);} + ::close(fld); + return(ptr); +} + +void FBase::dst_Mmap(const char *a,char *ptr){ + struct stat datf; + char cnam[max_str]; + if(ptr==NULL){cout << "NULL pointer" << endl;return;} + get_pathx(cnam,a); + if(stat(cnam,&datf)){cout << cnam << " failed on size determination" << endl;exit(0);} + if(munmap(ptr,datf.st_size)){cout << cnam << " failed to unmap" << endl;exit(0);} + ptr=NULL; +} + +void FBase::dst_Mmap(long n,const char *a,char *ptr){ + struct stat datf; + char cnam[max_str]; + if(ptr==NULL){cout << "NULL pointer" << endl;return;} + get_pathx(cnam,n,a); + if(stat(cnam,&datf)){cout << cnam << " failed on size determination" << endl;exit(0);} + if(munmap(ptr,datf.st_size)){cout << cnam << " failed to unmap" << endl;exit(0);} + ptr=NULL; +} + +void FBase::bin_Writ(const char *a,long nm,char *ptr){ + ofstream *pfout=get_Ostr(a,ios::out); + long k=100000,i=0; + while(i+kwrite((char*)ptr,k); + i+=k; + ptr=ptr+k; + } + pfout->write((char*)ptr,nm-i); + pfout->close(); + delete pfout; +} + +void FBase::bin_Writ(long n,const char *a,long nm,char *ptr){ + ofstream *pfout=get_Ostr(n,a,ios::out); + long k=100000,i=0; + while(i+kwrite((char*)ptr,k); + i+=k; + ptr=ptr+k; + } + pfout->write((char*)ptr,nm-i); + pfout->close(); + delete pfout; +} + +int FBase::Exists(const char *a){ + char cnam[max_str]; + get_pathx(cnam,a); + ifstream fin(cnam,ios::in); + if(fin.is_open()){ + fin.close(); + return(1); + } + else return(0); +} + +int FBase::Exists(long n,const char *a){ + char cnam[max_str]; + get_pathx(cnam,n,a); + ifstream fin(cnam,ios::in); + if(fin.is_open()){ + fin.close(); + return(1); + } + else return(0); +} + +void FBase::mark(long ct, int ivl, const char *what){ + if(pflag&&(ct%ivl==0)){ + cout << what << " count=" << ct << endl; + } +} + +} diff --git a/Library/FBase.h b/Library/FBase.h new file mode 100644 index 0000000000000000000000000000000000000000..330446017c2ee5a9dec23d114d6732752de9ae26 --- /dev/null +++ b/Library/FBase.h @@ -0,0 +1,248 @@ +#ifndef FBASE_H +#define FBASE_H + +#include +#include + +using namespace std; +namespace iret { + +typedef char *pChr; + +class FBase { + public: + FBase(const char *tp,const char *nm); //tp is type name, nm is name + FBase(const char *tp,int tn,const char *nm); //tp is type name, if + //nonnegative tn is appended to end of tp, nm is name + FBase(const char *tp,const char *nm,const char *pt); //tp is type name, nm is name + //pt is pointer at a string sss and reads the path from file path_sss in + //current directory. But if sss begins with ':' then skips this character + //and remaining string is the path string itself. + ~FBase(); + void set_type_num(int tn); //Sets tpnm and uses if nonnegative: appended + //to end of type name + void set_name_num(int nn); //Sets nmnm and uses if nonnegative: appended + //to end of name + void change_type(const char *nm); //Allows change of type string for class. + void change_name(const char *nm); //Allows change of name string for class. + void set_name(const char *nm); //Allows change of name string for class. + //Included for compatibility + void subname(const char *tph,const char *tpl,const char *nm); //Uses the + //higher level type tph as type and combines lower level tpl_nm with + //name to allow one to keep track of file types. + void set_path_internal(const char *pt); //Path is by default external with + //eflag=1. But if this function called with nonempty string, then eflag=0 + //and pt stored in path and used for access to data. + void set_path_name(const char *pa); //path will be extracted from path_pa + //and eflag=2. Naming conventions for files are unchanged + void map_down(FBase *pFb); //Maps naming parameters to class instance pFb + void map_down_sub(FBase *pFb,const char *subtype); //Maps naming parameters to class instance pFb + //combines subtype with name to make a new name for pFb and type becomes its type + + //Path access functions + void get_pathx(char *cn,const char *a); + //Reads the path from a file "path_(*name)" and constructs the + //file name from as "(*type)_(*name).(*a)". Cats path and file + //name and returns the full info in cn. + void get_pathx(char *cn,long n,const char *a); + char *add_num(const char *ptr,long n,char *buf); //converts long to ascii + //and cats to end of string and returns pointer to new string + //that results. Does not change input string. The new string is + //held in buffer space and this is overwritten at each call. + char *cat_num(const char *ptr,long n,char *buf); //converts long to ascii + //and cats to end of ptr string and then cats result to end of + //whatever is in buffer. Does not change input string. The new string is + //held in buffer space. + + //Stream object pointers + ifstream *get_Istr(const char *a,ios::openmode m=ios::in); + //Opens input file stream by path and name composition. + ofstream *get_Ostr(const char *a,ios::openmode m=ios::out); + //Opens output file stream by path and name composition. + fstream *get_Fstr(const char *a,ios::openmode m=ios::in|ios::out); + //Opens output file stream by path and name composition. + ifstream *get_Istr(long n,const char *a,ios::openmode m=ios::in); + ofstream *get_Ostr(long n,const char *a,ios::openmode m=ios::out); + fstream *get_Fstr(long n,const char *a,ios::openmode m=ios::in|ios::out); + void dst_Istr(ifstream *pfin); + void dst_Ostr(ofstream *pfout); + void dst_Fstr(fstream *pfstr); + + //Get file size in bytes + long get_Fsiz(const char *a); + long get_Fsiz(long n,const char *a); + + //File existence + int Exists(const char *a); //returns 1 if file exists + int Exists(long n,const char *a); //returns 1 if file exists + + //Read in array pointers + char *get_Read(const char *a); + //Reads in a file into an char array and returns pointer + char *get_Read(long n,const char *a); + + //Memory map pointers + char *get_Mmap(const char *a); + //Memory maps file by path and name composition. + char *get_Mmap(long n,const char *a); + char *get_Wmap(const char *a); + //Memory maps file by path and name composition. + //Allows to modify contents and is written out when dst_Mmap called + char *get_Wmap(long n,const char *a); + //Allows to modify contents and is written out when dst_Mmap called + void dst_Mmap(const char *a,char *ptr); + //Removes the memory map for ptr based on path and name composition. + void dst_Mmap(long n,const char *a,char *ptr); + + //Array of chars and binary write + void bin_Writ(const char *a,long nm,char *ptr); + //Writes out nm bytes binary + void bin_Writ(long n,const char *a,long nm,char *ptr); + + //Write and read 1, 2, or 3 long integers to or from a file + template + void get_Nnum(const char *a,X &m1); + template + void get_Nnum(const char *a,X &m1,Y &m2); + template + void get_Nnum(const char *a,X &m1,Y &m2,Z &m3); + template + void get_Nnum(long n,const char *a,X &m1); + template + void get_Nnum(long n,const char *a,X &m1,Y &m2); + template + void get_Nnum(long n,const char *a,X &m1,Y &m2,Z &m3); + template + void put_Nnum(const char *a,X &m1); + template + void put_Nnum(const char *a,X &m1,Y &m2); + template + void put_Nnum(const char *a,X &m1,Y &m2,Z &m3); + template + void put_Nnum(long n,const char *a,X &m1); + template + void put_Nnum(long n,const char *a,X &m1,Y &m2); + template + void put_Nnum(long n,const char *a,X &m1,Y &m2,Z &m3); + + //Logical accounting functions + int Gcom(int sflag); //sflag is bit marker such as READ_W, etc. + //This returns 1 if sflag bit not set in oflag and is in cflag + //If this is the case then it sets sflag in oflag. + int Rcom(int sflag); + //This returns 1 if sflag bit set in oflag and in cflag + //If this is the case then it turns off sflag in oflag. + void mark(long,int,const char*); + //This function prints out string in 3rd argument and count + //if first argument is multiple of the second + +//Data + int cflag; //Command, what should happen to resources. + int oflag; //Bit string status of resources, 1 open, 0 closed. + int open1; //flags to mark whether a resource is open or not + int open2; //0 means closed, 1 means open + int open3; //Used for those resources that are either completely + int open4; //closed or completely open. + int open5; + char *type; + int tpnm; //If nonnegative integer it is appended to end of type + //in constructing file name + char *name; + int nmnm; //If nonnegative integer it is appended to end of name + //in constructing file name + int pflag; //Usual print flag, 1 for verbose output, 0 for none + //Print flag set to 1 by default. + int eflag; //Flag set to 1 for external path from path file, 0 + //for internal path + char *path; //Path stored here if eflag=0. + char *pnam; //Path extension stored here if eflag=2. +}; + +//Template functions + +template +void FBase::get_Nnum(const char *a,X &m1){ + ifstream *pfin=get_Istr(a,ios::in); + *pfin >> m1; + dst_Istr(pfin); +} + +template +void FBase::get_Nnum(const char *a,X &m1,Y &m2){ + ifstream *pfin=get_Istr(a,ios::in); + *pfin >> m1 >> m2; + dst_Istr(pfin); +} + +template +void FBase::get_Nnum(const char *a,X &m1,Y &m2,Z &m3){ + ifstream *pfin=get_Istr(a,ios::in); + *pfin >> m1 >> m2 >> m3; + dst_Istr(pfin); +} + +template +void FBase::get_Nnum(long n,const char *a,X &m1){ + ifstream *pfin=get_Istr(n,a,ios::in); + *pfin >> m1; + dst_Istr(pfin); +} + +template +void FBase::get_Nnum(long n,const char *a,X &m1,Y &m2){ + ifstream *pfin=get_Istr(n,a,ios::in); + *pfin >> m1 >> m2; + dst_Istr(pfin); +} + +template +void FBase::get_Nnum(long n,const char *a,X &m1,Y &m2,Z &m3){ + ifstream *pfin=get_Istr(n,a,ios::in); + *pfin >> m1 >> m2 >> m3; + dst_Istr(pfin); +} + +template +void FBase::put_Nnum(const char *a,X &m1){ + ofstream *pfout=get_Ostr(a,ios::out); + *pfout << m1 << endl; + dst_Ostr(pfout); +} + +template +void FBase::put_Nnum(const char *a,X &m1,Y &m2){ + ofstream *pfout=get_Ostr(a,ios::out); + *pfout << m1 << " " << m2 << endl; + dst_Ostr(pfout); +} + +template +void FBase::put_Nnum(const char *a,X &m1,Y &m2,Z &m3){ + ofstream *pfout=get_Ostr(a,ios::out); + *pfout << m1 << " " << m2 << " " << m3 << endl; + dst_Ostr(pfout); +} + +template +void FBase::put_Nnum(long n,const char *a,X &m1){ + ofstream *pfout=get_Ostr(n,a,ios::out); + *pfout << m1 << endl; + dst_Ostr(pfout); +} + +template +void FBase::put_Nnum(long n,const char *a,X &m1,Y &m2){ + ofstream *pfout=get_Ostr(n,a,ios::out); + *pfout << m1 << " " << m2 << endl; + dst_Ostr(pfout); +} + +template +void FBase::put_Nnum(long n,const char *a,X &m1,Y &m2,Z &m3){ + ofstream *pfout=get_Ostr(n,a,ios::out); + *pfout << m1 << " " << m2 << " " << m3 << endl; + dst_Ostr(pfout); +} + +} +#endif diff --git a/Library/FBase.o b/Library/FBase.o new file mode 100644 index 0000000000000000000000000000000000000000..408924d170ab6a6307f52f279482a2e801f57f5c Binary files /dev/null and b/Library/FBase.o differ diff --git a/Library/Hash.C b/Library/Hash.C new file mode 100644 index 0000000000000000000000000000000000000000..47355c101981950036def7c391ad3dc35d7d475a --- /dev/null +++ b/Library/Hash.C @@ -0,0 +1,733 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "runn.h" +#include "Hash.h" + +using namespace std; +namespace iret { + +Hash::Hash(void) : FBase("hshset","null"){ +} + +Hash::Hash(const char *nam) : FBase("hshset",nam){ +} + +Hash::Hash(int n,const char *nam) : FBase("hshset",n,nam){ +} + +Hash::~Hash(){ +} + +void Hash::create_htable(List &Lst,int excess){ + char cnam[max_str],*cptr,*uptr; + int u,len; + long ct,i,j,k; + ofstream *pfout; + + nwrds=Lst.cnt_key; + ct=nwrds; + tnum=1; + u=0; + while(ct=ct/2){tnum*=2;u++;} + if(u>30){cout << "Error in size, " << u << endl;exit(0);} + i=0; + while((u<32)&&(i30){cout << "Error in size, " << u << endl;exit(0);} + i=0; + while((u<32)&&(i30){cout << "Error in size, " << u << endl;exit(0);} + i=0; + while((u<32)&&(i> nwrds >> tnum >> asize; + dst_Istr(pfin); + + harr=(long*)get_Mmap("ha"); + addr=(long*)get_Mmap("ad"); + strmap=get_Mmap("str"); + + farr=new long[1536]; + ct=1; + for(i=0;i<1536;i++){ + farr[i]=ct=(ct*331)&tnum; + } + + px0=farr,px1=farr+128,px2=farr+256; + px3=farr+384,px4=farr+512,px5=farr+640; + px6=farr+768,px7=farr+896,px8=farr+1024; + px9=farr+1152,px10=farr+1280,px11=farr+1408; +} + +void Hash::gopen_htable_map(int mz){ + char cnam[max_str],*cptr; + int fld; + long ct,asize,i; + + ifstream *pfin=get_Istr(mz,"nm"); + *pfin >> nwrds >> tnum >> asize; + dst_Istr(pfin); + + harr=(long*)get_Mmap(mz,"ha"); + addr=(long*)get_Mmap(mz,"ad"); + strmap=get_Mmap(mz,"str"); + + farr=new long[1536]; + ct=1; + for(i=0;i<1536;i++){ + farr[i]=ct=(ct*331)&tnum; + } + + px0=farr,px1=farr+128,px2=farr+256; + px3=farr+384,px4=farr+512,px5=farr+640; + px6=farr+768,px7=farr+896,px8=farr+1024; + px9=farr+1152,px10=farr+1280,px11=farr+1408; +} + +void Hash::gopen_htable_copy(Hash *pH){ + char cnam[max_str],*cptr; + int fld; + long ct,asize,i; + + nwrds=pH->nwrds; + tnum=pH->tnum; + + harr=pH->harr; + addr=pH->addr; + strmap=pH->strmap; + + farr=pH->farr; + + px0=farr,px1=farr+128,px2=farr+256; + px3=farr+384,px4=farr+512,px5=farr+640; + px6=farr+768,px7=farr+896,px8=farr+1024; + px9=farr+1152,px10=farr+1280,px11=farr+1408; +} + +long Hash::find(const char *str){ + register long ct=0,i=0,k; + register int ic; + register const char *utr=str; + while(ic=*(utr++)){ + switch(i){ + case 0: ct+=*(px0+ic); + break; + case 1: ct+=*(px1+ic); + break; + case 2: ct+=*(px2+ic); + break; + case 3: ct+=*(px3+ic); + break; + case 4: ct+=*(px4+ic); + break; + case 5: ct+=*(px5+ic); + break; + case 6: ct+=*(px6+ic); + break; + case 7: ct+=*(px7+ic); + break; + case 8: ct+=*(px8+ic); + break; + case 9: ct+=*(px9+ic); + break; + case 10: ct+=*(px10+ic); + break; + case 11: ct+=*(px11+ic); + i-=12; + break; + } + i++; + } + k=ct&tnum; + ct=harr[k+1]; + i=harr[k]; +//cout << k << " " << i << " " << addr[i] << " " << ct << " " << addr[ct] << endl; + switch(ct-i){ + case 0: return(0); + break; + case 1: if(!strcmp(str,strmap+addr[i]))return(i+1); + else return(0); + break; + case 2: ic=strcmp(str,strmap+addr[i]); + if(ic>0){ + if(!strcmp(str,strmap+addr[i+1]))return(i+2); + else return(0); + } + else if(ic<0)return(0); + else return(i+1); + break; + default: ic=strcmp(str,strmap+addr[i]); + if(ic<0)return(0); + else if(!ic)return(i+1); + ct--; + ic=strcmp(str,strmap+addr[ct]); + if(ic>0)return(0); + else if(!ic)return(ct+1); + while(ct-i>1){ + k=(ct+i)/2; + ic=strcmp(str,strmap+addr[k]); + if(ic>0)i=k; + else if(ic<0)ct=k; + else return(k+1); + } + return(0); + } +} + +void Hash::gclose_htable_map(void){ + dst_Mmap("ha",(char*)harr); + dst_Mmap("ad",(char*)addr); + dst_Mmap("str",strmap); + delete [] farr; +} + +void Hash::gclose_htable_map(int mz){ + dst_Mmap(mz,"ha",(char*)harr); + dst_Mmap(mz,"ad",(char*)addr); + dst_Mmap(mz,"str",strmap); + delete [] farr; +} + +//Chash code + +Chash::Chash() : Hash(){ + change_type("cshset"); +} + +Chash::Chash(const char *str) : Hash(str){ + change_type("cshset"); +} + +Chash::Chash(int n,const char *str) : Hash(n,str){ + change_type("cshset"); +} + +Chash::~Chash(void){} + +void Chash::create_ctable(Count &Ct,int excess){ + create_htable(Ct,excess); + gopen_htable_map(); + long n,i=0; + long *pct=new long[Ct.cnt_key]; + Ct.node_first(); + while(Ct.node_next()){ + if(n=find(Ct.show_str())){ + pct[n-1]=Ct.count(); + } + else { + cout << "Error in Count tree!" << endl;exit(0); + } + mark(++i,10000,"count terms"); + } + bin_Writ("ct",Ct.cnt_key*sizeof(long),(char*)pct); + delete [] pct; + cnt=(long*)get_Mmap("ct"); + gclose_htable_map(); +} + +void Chash::create_ctable(List &Lt,int excess){ + create_htable(Lt,excess); + gopen_htable_map(); + long n,i=1; + long *pct=new long[Lt.cnt_key]; + Lt.node_first(); + while(Lt.node_next()){ + if(n=find(Lt.show_str())){ + pct[n-1]=i; + } + else { + cout << "Error in List tree!" << endl;exit(0); + } + mark(++i,10000,"count terms"); + } + bin_Writ("ct",Lt.cnt_key*sizeof(long),(char*)pct); + delete [] pct; + cnt=(long*)get_Mmap("ct"); + gclose_htable_map(); +} + +void Chash::create_ctable(int mz,Count &Ct,int excess){ + create_htable(mz,Ct,excess); + gopen_htable_map(mz); + long n,i=0; + long *pct=new long[Ct.cnt_key]; + Ct.node_first(); + while(Ct.node_next()){ + if(n=find(Ct.show_str())){ + pct[n-1]=Ct.count(); + } + else { + cout << "Error in Count tree!" << endl;exit(0); + } + mark(++i,10000,"count terms"); + } + bin_Writ(mz,"ct",Ct.cnt_key*sizeof(long),(char*)pct); + delete [] pct; + cnt=(long*)get_Mmap(mz,"ct"); + gclose_htable_map(mz); +} + +void Chash::create_ctable(int mz,List &Lt,int excess){ + create_htable(mz,Lt,excess); + gopen_htable_map(mz); + long n,i=1; + long *pct=new long[Lt.cnt_key]; + Lt.node_first(); + while(Lt.node_next()){ + if(n=find(Lt.show_str())){ + pct[n-1]=i; + } + else { + cout << "Error in List tree!" << endl;exit(0); + } + mark(++i,10000,"count terms"); + } + bin_Writ(mz,"ct",Lt.cnt_key*sizeof(long),(char*)pct); + delete [] pct; + cnt=(long*)get_Mmap(mz,"ct"); + gclose_htable_map(mz); +} + +void Chash::gopen_ctable_map(void){ + gopen_htable_map(); + cnt=(long*)get_Mmap("ct"); +} + +void Chash::gopen_ctable_map(int mz){ + gopen_htable_map(mz); + cnt=(long*)get_Mmap(mz,"ct"); +} + +void Chash::gclose_ctable_map(void){ + gclose_htable_map(); + dst_Mmap("ct",(char*)cnt); +} + +void Chash::gclose_ctable_map(int mz){ + gclose_htable_map(mz); + dst_Mmap(mz,"ct",(char*)cnt); +} + +long Chash::count(const char *str){ + long n=find(str); + if(n)return(cnt[n-1]); + else return(0); +} + +} + diff --git a/Library/Hash.h b/Library/Hash.h new file mode 100644 index 0000000000000000000000000000000000000000..4b4d7d2aaf2382add9876eb79d1458529bf475e3 --- /dev/null +++ b/Library/Hash.h @@ -0,0 +1,92 @@ +#ifndef HASH_H +#define HASH_H + +#include +#include +#include +#include + +namespace iret { + +class Hash : public FBase { +public: + Hash(void); + Hash(const char *nm); + Hash(int n,const char *nm); //n gets appended to type if >-1 + ~Hash(); + + void create_htable(List &Lst,int excess); //"str" for file of strings, + //"ad" for address file, "nm" numbers, + //"ha" hash array. Excess is # powers of 2 above size. + void create_htableM(List &Lst,int excess); //creates in memory ready for use + //and no need to call gopen or gclose functions + void create_htable(int mz,List &Lst,int excess); //"str" for file of strings, + //Creates a numbered version of above + + void gopen_htable_map(void); //Creates memory maps + void gopen_htable_map(int mz); //Creates memory maps + void gclose_htable_map(void); //Destroys memory maps + //and deletes memory + void gclose_htable_map(int mz); //Destroys memory maps + //and deletes memory + void gopen_htable_copy(Hash *pH); //Copies memory maps + + long find(const char *str); //Return number+1 if present, else 0. + //Number is not lexical order but hash order and then lexical + //within collesion groups. + + //Data + char *strmap; //Holds the bit map. + long *addr; //Holds the offsets to strmap. + long nwrds; //Number of words. + long tnum; //Truncation number, size of har. + long *harr; //Holds hash array. + long *farr; //Holds the hash coefficients. + long *px0; + long *px1; + long *px2; + long *px3; + long *px4; + long *px5; + long *px6; + long *px7; + long *px8; + long *px9; + long *px10; + long *px11; +}; + +class Chash : public Hash { +public: + Chash(void); + Chash(const char *nm); + Chash(int n,const char *nm); //n gets appended to type if >-1 + ~Chash(void); + + void create_ctable(Count &Ct,int excess); //Adds "ct" for counts + //Calls create_htable and then prodoces the array of counts. + void create_ctable(int mz,Count &Ct,int excess); //Adds "ct" for counts + //Creates a numbered version of above + void create_ctable(List &Lt,int excess); //Adds "ct" for term # + //and starts the count at 1 and in lexical order. count() will + //return 0 if term not in list. + void create_ctable(int mz,List &Lt,int excess); //Adds "ct" for term # + //Creates a numbered version of above + + void gopen_ctable_map(void); //Calls gopen_htable_map and also + //maps "ct" file. + void gopen_ctable_map(int mz); //Calls gopen_htable_map and also + //maps "ct" file. + void gclose_ctable_map(void); //Calls gclose_htable_map and also + //Unmaps "ct" file. + void gclose_ctable_map(int mz); //Calls gclose_htable_map and also + //Unmaps "ct" file. + + long count(const char *str); //Returns count if present, else 0. + + //Data + long *cnt; +}; + +} +#endif diff --git a/Library/Hash.o b/Library/Hash.o new file mode 100644 index 0000000000000000000000000000000000000000..a51779b06f1149f61e167c591cc0a3edd10f5029 Binary files /dev/null and b/Library/Hash.o differ diff --git a/Library/MPtok.C b/Library/MPtok.C new file mode 100644 index 0000000000000000000000000000000000000000..c119909f54db1a8bc58c90eb84bac491836dd3b6 --- /dev/null +++ b/Library/MPtok.C @@ -0,0 +1,2036 @@ +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "MPtok.h" + +// These options are probably compile time constants + +static char option_tagsep = '_'; // The tagsep character +static char option_replacesep = '-'; // Replace tagsep with this + +static void chomp(char *line) +{ + int i; + + i = strlen(line) - 1; + while (i >= 0 && line[i] == '\n' || line[i] == '\r') + line[i--] = '\0'; +} + +// Data structure and algorithm for finding common pairs. + +// read a file of pairs into a data structure, +// the file must be sorted first + +void MPtok::init_pair(const string& file_name) +{ + filebuf fb; + fb.open(file_name.c_str(), ios::in); + istream is(&fb); + string pair; + + while (1) + { + getline(is, pair); + if (is.fail()) break; + if (pair.size() > 0) common_pair.insert(pair); + } + + fb.close(); +} + +// List of abbreviations in 3 categories +// ABB = can occur mid sentence +// EOS = can occur at end of sentence +// NUM = only used before numbers + +void MPtok::init_abbr(const string& file_name) +{ + filebuf fb; + fb.open(file_name.c_str(), ios::in); + istream is(&fb); + string typ, abb; + map val; + val["ABB"] = ABB_ABB; val["EOS"] = ABB_EOS; val["NUM"] = ABB_NUM; + + while (is.good()) + { + is >> typ; + if (val.count(typ)) + { + is >> abb; + if (abb.size() > 0) common_abbr[abb] = val[typ]; + } + } + fb.close(); +} + +static char nextchar(const char *t, int i) +{ + while (isspace(t[i])) i++; + return t[i]; +} + +// Look for a token at or prior to the text position + +static int lookbehind(const char *t, int i, const char *s, int *tokflag) +{ + int k = (int) strlen(s) - 1; + + while (i > 0 && isspace(t[i])) i--; + + while (k >= 0 && i >= 0) + { + if (k > 0 && tokflag[i]) break; + + if (tolower(s[k]) != tolower(t[i])) + return -1; + k--; + i--; + } + + return (k < 0 && tokflag[i+1]) ? i + 1 : -1; +} + +// Look for a token at or following the text position + +static int lookahead(const char *t, int i, const char *s, int *tokflag) +{ + int k = 0; + + while (isspace(t[i])) i++; + + while (k < strlen(s) && i < strlen(t)) + { + if (k > 0 && tokflag[i]) break; + + if (tolower(s[k]) != tolower(t[i])) + return -1; + k++; + i++; + } + + return (k == strlen(s) && tokflag[i]) ? i - (int) strlen(s) : -1; +} + +// Set the initial tokens at spaces + +void MPtok::tok_0() +{ + int i; + + tokflag[0] = 1; + for (i = 1; i < text_len; i++) + { + tokflag[i] = isspace(text[i]) || (i > 0 && isspace(text[i - 1])) ? 1 : 0; + } + tokflag[i] = 1; +} + +// Get quotes preceded by open parens +// +// A double quote, preceded by a space or open bracket is a separate token +// + +void MPtok::tok_1() +{ + for (int i = 1; i < text_len; i++) + { + if (text[i] == '"' && strchr("([{<", text[i-1])) + { + tokflag[i] = 1; + if (i + 1 < text_len) tokflag[i+1] = 1; + } + } +} + +// Look for ellipses +// +// Three dots in a row is a separate token + +void MPtok::tok_2() +{ + for (int i = 1; i + 2 < text_len; i++) + { + if (strncmp(&text[i], "...", 3) == 0) + { + tokflag[i] = 1; + if (i + 3 < text_len) tokflag[i+3] = 1; + } + } +} + +// Non-sentence-ending punctuation +// +// Certain punctuation characters are separate tokens + +void MPtok::tok_3() +{ + for (int i = 0; i < text_len; i++) + { + // If it is a comma and the next char is not a space and option_comma = 0 + + if (option_comma == 0 && text[i] == ',' && isspace(text[i + 1]) == 0) + { + // do nothing + } else if (strchr(",;:@#$%&", text[i])) + { + tokflag[i] = 1; + tokflag[i + 1] = 1; + } + } +} + +// Separate the slashes +// +// Slashes are a separate token +// except for +/-, +/+, -/-, -/+, and and/or. + +void MPtok::tok_5_6_7() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '/') + { + tokflag[i] = 1; + if (i+1 < text_len) tokflag[i+1] = 1; + + // Put back +/-, etc, unless option_hyphen is 1 + + if (i - 1 >= 0 + && i + 1 < text_len + && ((option_new < 9 + && text[i - 1] == '+' || (text[i - 1] == '-' && option_hyphen == 0) + && text[i + 1] == '+' || (text[i + 1] == '-' && option_hyphen == 0)) + || (option_new >= 9 + && (text[i - 1] == '+' || text[i - 1] == '-') + && (text[i + 1] == '+' || text[i + 1] == '-')))) + { + tokflag[i - 1] = 1; + tokflag[i] = tokflag[i+1] = 0; + tokflag[i + 2] = 1; + } + + // Put back and/or, etc + + if (option_new <= 7) + { + if (i > 5 && strncmp(text + i - 5, " and/or ", 8) == 0) + { + for (int j = 1; j < 5; j++) + tokflag[i - 2 + j] = 0; + } + } else + { + if (i > 4 && strncmp(text + i - 4, " and/or ", 8) == 0) + { + for (int j = 1; j < 6; j++) + tokflag[i - 3 + j] = 0; + } + } + } + } +} + +// All brackets +// +// Any open or closed bracket is a separate token +// +// Exclamation and question mark +// +// Any question or exclamation mark is a separate token + +void MPtok::tok_8_9() +{ + for (int i = 0; i < text_len; i++) + { + if (strchr("[](){}<>", text[i]) + || strchr("?!", text[i])) + { + tokflag[i] = 1; + if (i + 1 < text_len) tokflag[i+1] = 1; + } + } +} + +// Period at the end of a string may be followed by closed-bracket or quote +// +// A period that is preceded by a non-period +// and optionally followed by a close paren +// and any amount of space at the end of the string +// is a separate token. + +void MPtok::tok_10() +{ + for (int i = text_len - 1; i >= 0; i--) + { + if (isspace(text[i])) continue; + if (strchr("])}>\"'", text[i])) continue; + if (text[i] != '.') break; + if (text[i] == '.' && (i - 1 < 0 || text[i-1] != '.')) + { + tokflag[i] = 1; + if (i + 1 < text_len) tokflag[i+1] = 1; + } + } +} + +// Period followed by a capitalized word +// +// A period preceded by a character that is not another period and not a space +// and followed by a space then an upper case letter is a separate token + +void MPtok::tok_11() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '.' + && (i + 1 < text_len && isspace(text[i+1])) + && (i - 1 < 0 || text[i - 1] != '.' || isspace(text[i-1]) == 0) + && isupper(nextchar(text, i + 1))) + tokflag[i] = 1; + } +} + +// A normal word followed by a period +// +// A period followed by a space +// and preceded by 2 or more alphabetic characters or hyphens +// is a separate token + +void MPtok::tok_12() +{ + int wcnt = 0; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == '.' + && tokflag[i + 1] + && wcnt >= 2) + tokflag[i] = 1; + + if (isalpha(text[i]) || text[i] == '-') + ++wcnt; + else + wcnt = 0; + } +} + +// A non-normal token (that has no lower case letters) followed by a period +// +// A period at the end of a token made of characters excluding lower case +// is a separate token + +void MPtok::tok_13() +{ + int stok = 0; + int wcnt = 0; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == '.' + && tokflag[i + 1] + && wcnt >= 2) + tokflag[i] = 1; + + if (tokflag[i] == 1) stok = 1; + + if (islower(text[i]) || text[i] == '.') + { + stok = 0; + wcnt = 0; + } + + if (stok) + wcnt++; + } +} + +// put some periods with single-letter abbreviations +// +// A single alphabetic token followed by a period followed +// by a token that does not begin with an upper case letter +// or number is taken to be an abbreviation and the period +// does not start a new token. +// +// NOTE: This does not recognize initials in people's names, +// that problem is not simply solved. + +void MPtok::tok_14() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '.' + && i - 1 >= 0 && isalpha(text[i - 1]) && tokflag[i - 1] + && tokflag[i + 1] + && isupper(nextchar(text, i + 1)) == 0 + && isdigit(nextchar(text, i + 1)) == 0 + && nextchar(text, i + 1) != '(' + ) + { + tokflag[i] = 0; + } + } +} + +void MPtok::tok_15() +{ + int i, j, k, a; + char buff[MAX_ABB + 1]; + + for (i = 0; i < text_len; i++) + { + // only start at a current token + + if (! tokflag[i]) continue; + + // find alphabetic followed by period + + buff[0] = '\0'; + for (k = 0; i + k < text_len && k < MAX_ABB; k++) + { + buff[k] = text[i+k]; buff[k+1] = '\0'; + if (k > 0 && buff[k] == '.') break; // this is good + if (! isalpha(buff[k])) { buff[0] = '\0'; break; } // this is not good + } + + if (buff[0] == '\0' || i + k == text_len || k == MAX_ABB) continue; + + // at this point, buff[k] == '.' add 1 to make it the length + + k++; + + // if not found, try finding a concatenated abbrev + + if (! common_abbr.count(buff)) + { + for (; i + k < text_len && k < MAX_ABB; k++) + { + buff[k] = text[i+k]; buff[k+1] = '\0'; + if (k > 0 && buff[k] == '.') break; // this is good + if (! isalpha(buff[k])) { buff[0] = '\0'; break; } // this is not good + } + + if (buff[0] == '\0' || i + k == text_len || k == MAX_ABB) continue; + + // at this point, buff[k] == '.' add 1 to make it the length + + k++; + } + + // if not found, give up + + if (! common_abbr.count(buff)) continue; + + if (common_abbr[buff] == ABB_NUM) + { + for (j = i + k; j < text_len && isspace(text[j]); j++) ; // next must be a number + if (! isdigit(text[j])) continue; // go to next abbreviation + } else if (common_abbr[buff] == ABB_EOS) + { + for (j = i + k; j < text_len && isspace(text[j]); j++) ; // if next token is upper case letter + if (isupper(text[j])) tokflag[i + (--k)] = 1; // tokenize the final period of this abbreviation + } + + // clear all token flags + + for (j = 1; j < k; j++) tokflag[i + j] = 0; + } +} + +// Check for common pairs that should not be considered sentence breaks + +void MPtok::tok_15_1() +{ + int i, j, k, tnum, p; + char buff[MAX_ABB + 1]; + + for (i = 0; i < text_len; i++) + { + if (! tokflag[i]) continue; + + // must be alphanumeric token followed by period token followed by space followed by alphanumeric token + + tnum = 0; + buff[0] = '\0'; + for (p = k = 0; i + k < text_len && k < MAX_ABB; k++) + { + buff[k] = text[i+k]; buff[k+1] = '\0'; + + if (isspace(buff[k])) + { + if (tnum == 2) break; // this is good + else if (tnum == 1) continue; // ok + else { buff[0] = '\0'; break; } // this shouldn't happen + } + + if (tokflag[i+k]) + { + if (tnum > 2) break; // done + else tnum++; + } + + if (tnum == 1 && buff[k] == '.') p = k; + if (tnum == 1 && buff[k] != '.') { buff[0] = '\0'; break; } // nope + if (! isalnum(buff[k])) { buff[0] = '\0'; break; } // nope + } + + if (buff[0] == '\0' || i + k == text_len || k == MAX_ABB) continue; + + // at this point buff is a potential pair, so untokenize the period, that's all + + if (common_pair.count(buff)) + tokflag[p] = 0; + } +} + +// Get cases where a space after a sentence has been omitted +// +// A period that occurs in a token consisting of alphabetic +// letters with a vowel to the left and the right is a +// separate token. + +void MPtok::tok_16() +{ + int j; + int has_vowel; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == '.' && tokflag[i] == 0) + { + has_vowel = 0; + for (j = i - 1; j >= 0; --j) + { + if (isalpha(text[j]) == 0) + break; + if (strchr("aeiouAEIOU", text[j])) + has_vowel = 1; + if (tokflag[j]) + break; + } + if ((j >= 0 && tokflag[j] == 0) || has_vowel == 0) + continue; + + j = i + 1; + + has_vowel = 0; + for (; j < text_len && tokflag[j] == 0; ++j) + { + if (isalpha(text[j]) == 0) + break; + if (strchr("aeiouAEIOU", text[j])) + has_vowel = 1; + } + + if ((j < text_len && tokflag[j] == 0) || has_vowel == 0) + continue; + + tokflag[i] = 1; + tokflag[i + 1] = 1; + } + } +} + +// Correction to tok_16, +// Don't count if the token before is a single letter +// or the token following is a single letter other than 'a'. +// Also, don't count if the token to the right is gov, com, edu, etc. +// because those are web addresses! + +#define COMPLEX_WINDOW 40 + +enum {COMPLEX_NOT = 0, COMPLEX_YES, COMPLEX_DONE}; + +struct _complex { + int flag; + int offset; + const char *str; + int len; +} complex[] = { + COMPLEX_YES, 0, "complex", 7, + COMPLEX_NOT, 0, "complexi", 8, + COMPLEX_NOT, 0, "complexed", 9, + COMPLEX_NOT, 0, "complexa", 8, + COMPLEX_NOT, 0, "complex-", 8, + COMPLEX_NOT, 0, "complexl", 8, + COMPLEX_NOT, 0, "complexu", 8, + COMPLEX_NOT, -1, "-complex", 7, + COMPLEX_NOT, -2, "nocomplex", 9, + COMPLEX_NOT, -3, "subcomplex", 10, + COMPLEX_YES, 0, "hybrid", 6, + COMPLEX_NOT, 0, "hybridi", 7, + COMPLEX_NOT, 0, "hybrido", 7, + COMPLEX_NOT, 0, "hybrida", 7, + COMPLEX_NOT, 0, "hybrid-", 7, + COMPLEX_NOT, -1, "-hybrid", 7, + COMPLEX_YES, 0, "duplex", 6, + COMPLEX_NOT, -1, "oduplex", 7, + COMPLEX_DONE, 0, NULL, 0, +}; + +int MPtok::complex_check() +{ + int last_period = -2*COMPLEX_WINDOW; + int last_complex = -2*COMPLEX_WINDOW; + int i, j; + int complex_match; + + for (i = 0; i < text_len; i++) + { + if (text[i] == '.') + { + if (i - last_complex <= COMPLEX_WINDOW) + return 1; + last_period = i; + } + + complex_match = 0; + for (j = 0; complex[j].str; j++) + { + if (complex[j].flag == COMPLEX_NOT) + { + if (i + complex[j].offset >= 0 + && strncmp(text+i+complex[j].offset, complex[j].str, complex[j].len) == 0) + { + // don't match here + complex_match = 0; + } + } else if (complex[j].flag == COMPLEX_YES) + { + if (i + complex[j].offset >= 0 + && strncmp(text+i+complex[j].offset, complex[j].str, complex[j].len) == 0) + { + // match here + complex_match = 1; + } + } + } + + if (complex_match) + { + if (i - last_period <= COMPLEX_WINDOW) + return 1; + last_complex = i; + } + } + return 0; +} + +void MPtok::tok_16_1() +{ + int i, j; + char v1, v2; + int c1, c2; + + if (option_new == 3 && strstr(text, "complex")) + return; + + if (option_new >= 4 && complex_check()) + return; + + for (i = 0; i < text_len; i++) + { + if (text[i] == '.' && tokflag[i] == 0) + { + char suffix[10]; + int s_i; + + v1 = '\0'; + c1 = 0; + for (j = i - 1; j >= 0; --j) + { + if (isalpha(text[j]) == 0) + break; + if (strchr("aeiouAEIOU", text[j])) + v1 = tolower(text[j]); + c1++; + if (tokflag[j]) + break; + } + if ((j >= 0 && tokflag[j] == 0) + || v1 == '\0' + || c1 == 1) + continue; + + j = i + 1; + + v2 = '\0'; + c2 = 0; + s_i = 0; + for (; j < text_len && tokflag[j] == 0; ++j) + { + if (isalpha(text[j]) == 0) + break; + if (strchr("aeiouAEIOU", text[j])) + v2 = tolower(text[j]); + if (s_i < 3) + suffix[s_i++] = tolower(text[j]); suffix[s_i] = '\0'; + c2++; + } + + if ((j < text_len && tokflag[j] == 0) + || v2 == '\0' + || (c2 == 1 && v2 != 'a') + || (c2 == 3 && tokflag[j] == 1 && s_i == 3 + && (strcmp(suffix, "gov") == 0 + || strcmp(suffix, "edu") == 0 + || strcmp(suffix, "org") == 0 + || strcmp(suffix, "com") == 0))) + continue; + + tokflag[i] = 1; + tokflag[i + 1] = 1; + } + } +} + + +// Numeric endings of sentences +// +// A period after a numeric token followed by a token that starts +// with an alphabetic character, is a separate token. +// +// This should be covered already by tok_13 + +void MPtok::tok_17() +{ + int j; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == '.' + && tokflag[i] == 0 + && tokflag[i + 1]) + { + for (j = i - 1; j >= 0 && isdigit(text[j]) && tokflag[j] == 0; --j) + ; + if (j >= 0 && j < i - 1 && tokflag[j] && isalpha(nextchar(text, i + 1))) + tokflag[i] = 1; + } + } +} + +// period at end of string is a token + +void MPtok::tok_20() +{ + for (int i = text_len - 1; i >= 0; --i) + { + if (isspace(text[i])) + continue; + + if (strchr(".!?", text[i])) + tokflag[i] = 1; + + break; + } +} + +// a period that follows a non-common word, and that is +// followed by a lower case common word is probably not a token + +void MPtok::tok_20_1() +{ + int j; + + for (int i = 0; i < text_len; ++i) + { + if (text[i] == '.' && tokflag[i] == 1) + { + int tcnt, lcnt, ocnt; + tcnt = lcnt = ocnt = 0; + + // make sure the previous word was *not* common + + for (j = i - 1; j >= 0; j--) + { + if (isspace(text[j])) continue; + if (option_new >= 2) + { + if (islower(text[j]) == 0 && text[j] != '-') ocnt++; + } else + { + if (! islower(text[j])) ocnt++; + } + + if (tokflag[j] || j == 0) + { + if (ocnt == 0) + { + goto nexti; + } + break; + } + } + + tcnt = lcnt = ocnt = 0; + + // make sure the next word is common + + for (j = i + 1; j < text_len; j++) + { + if (isspace(text[j])) continue; + if (tokflag[j]) tcnt++; + + if (tcnt == 2 || j == text_len - 1) + { + if (lcnt > 0 && ocnt == 0) tokflag[i] = 0; + break; + } + + if (islower(text[j])) lcnt++; + else ocnt++; + } + } +nexti: ; + } +} + +// tokenized period followed by non-space other than close paren +// is not a token + +void MPtok::tok_20_2() +{ + int j; + + for (int i = 0; i < text_len - 1; ++i) + { + if (text[i] == '.' && tokflag[i] == 1 + && strchr(" ()[]\"\'\n\t\r", text[i+1]) == 0) + { + tokflag[i] = 0; + } + } +} + + +// long dash +// +// A pair of hyphens is a complete token + +void MPtok::tok_21() +{ + for (int i = 0; i + 1 < text_len; i++) + { + if (strncmp(&text[i], "--", 2) == 0) + { + tokflag[i] = 1; + if (i + 2 < text_len) + { + i += 2; + tokflag[i] = 1; + } + } + } +} + +// hyphens +// +// If specified as an option, a hyphen between letters is a complete token + +void MPtok::tok_21a() +{ + if (option_hyphen == 0) return; + + for (int i = 0; i + 1 < text_len; i++) + { + if (text[i] == '-' + && (i == 0 || text[i-1] != '-') + && text[i+1] != '-') + { + tokflag[i] = 1; + tokflag[i+1] = 1; + } + } +} + + +// quote +// +// Any double quote is a separate token + +void MPtok::tok_22() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '"') + { + tokflag[i] = 1; + if (i + 1 < text_len) + { + i += 1; + tokflag[i] = 1; + } + } + } +} + +// possessive +// +// Any single quote at the end of a token that is not +// preceded by a single quote is a separate token + +void MPtok::tok_23() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '\'' + && (i - 1 >= 0 && text[i - 1] != '\'') + && tokflag[i + 1]) + { + tokflag[i] = 1; + } + } +} + + +// quote +// +// If a single quote starts a token, or is preceded by a +// single quote, and followed by a character +// that is not a single quote, then +// the character to it's right is the start of a new token + +void MPtok::tok_24() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '\'' + && (tokflag[i] == 1 || (i - 1 >= 0 && text[i - 1] == '\'')) + && (i + 1 < text_len && text[i + 1] != '\'')) + { + tokflag[i + 1] = 1; + } + } +} + +// put back possessive +// +// A single quote that is a whole token followed by a lower case s +// that is also a whole token (without space between them) +// should be merged into a single token + +void MPtok::tok_25() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '\'' + && tokflag[i] == 1 + && i + 1 < text_len && text[i + 1] == 's' + && tokflag[i+1] == 1 + && (i + 2 >= text_len || isspace(text[i + 2]) || tokflag[i + 2] == 1)) + { + tokflag[i + 1] = 0; + } + } +} + +// quote +// +// A pair of single quotes is a separate token + +void MPtok::tok_26() +{ + for (int i = 0; i < text_len; i++) + { + if (strncmp(&text[i], "''", 2) == 0 + || strncmp(&text[i], "``", 2) == 0) + { + tokflag[i] = 1; + if (i + 2 < text_len) tokflag[i + 2] = 1; + } + } +} + +// possessive +// +// A single quote followed by a letter s is a possessive + +void MPtok::tok_27() +{ + for (int i = 0; i < text_len; i++) + { + if (text[i] == '\'' + && i + 1 < text_len + && tolower(text[i + 1]) == 's' + && (i + 2 >= text_len || tokflag[i + 2])) + { + tokflag[i] = 1; + } + } +} + +// split "cannot" to "can not" +// +// A single token that is the word cannot (in any case) +// is split into two words + +void MPtok::tok_28() +{ + for (int i = 0; i < text_len; i++) + { + if ((strncmp(&text[i], "cannot", 6) == 0 + || strncmp(&text[i], "Cannot", 6) == 0) + && tokflag[i + 6]) + { + tokflag[i + 3] = 1; + } + } +} + +// put list item elements back at sentence end +// +// A period that is preceded by an alphanumeric (no space) +// and any amount of preceding space and an end-mark +// stays with the alphanumeric. + +void MPtok::tok_29() +{ + int j; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == '.' + && tokflag[i] && tokflag[i + 1] + && i - 1 >= 0 && isalnum(text[i - 1]) + && tokflag[i - 1] + && ((j = lookbehind(text, i-2, ".", tokflag)) >= 0 + || (j = lookbehind(text, i-2, "?", tokflag)) >= 0 + || (j = lookbehind(text, i-2, "!", tokflag)) >= 0) + && tokflag[j]) + { + tokflag[i] = 0; + } + } +} + +// attach list elements to the beginnings of their sentences +// this means, attach the period to the list element +// +// a list element is a single letter or a one or two digits +// which is preceded by an end of sentence ".!?;" +// or colon (provided it doesn't belong to a proportion construct) + +void MPtok::tok_29a() +{ + int i, j; + + for (i = 0; i < text_len; i++) + { + if (text[i] == '.' && tokflag[i]) + { + // Look back, make sure the token before the period + // is either single alphanumeric, or at most a two digit number + // and the character before that is a punctuation ".?!:," + + int tcnt, acnt, dcnt, pcnt, ocnt, scnt; + tcnt = acnt = dcnt = pcnt = ocnt = scnt = 0; + char p; + + for (j = i - 1; j >= 0; j--) + { + if (isspace(text[j])) { scnt++; continue; } + else if (tcnt == 0 && isalpha(text[j])) ++acnt; + else if (tcnt == 0 && isdigit(text[j])) ++dcnt; + else if (tcnt == 1 && strchr(".!?:;,", text[j])) { pcnt++; p = text[j]; } + else ocnt++; + + if (tokflag[j] || j == 0) + { + tcnt++; + if (tcnt == 1 && ocnt == 0 && scnt == 0 + && ((acnt == 1 && dcnt == 0) || (acnt == 0 && dcnt > 0 && dcnt <= 2))) + { + // This is acceptable + } else if (tcnt == 2 && pcnt <= 1 && ocnt == 0 && scnt > 0) + { + if (p == ':') + { + while (--j >= 0 && isspace(text[j])) + ; + if (j >= 0 && isdigit(text[j])) + { + // It's probably a proportion + break; + } + } + // Jackpot + tokflag[i] = 0; + } else + { + // This is not + break; + } + scnt = 0; + } + } + } + } +} + +// list elements at the beginning of a string +// +// An alphanumeric token followed by a period +// at the beginning of the line stays with the +// alphanumeric + +void MPtok::tok_30() +{ + int i = 0; + + while (isspace(text[i])) i++; + + if (isalnum(text[i]) + && tokflag[i] + && i + 1 < text_len + && text[i + 1] == '.' + && tokflag[i + 1]) + { + tokflag[i + 1] = 0; + } +} + +// process American style numbers + +void MPtok::tok_31() +{ + int j; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == ',' + && i + 3 < text_len + && tokflag[i] && tokflag[i + 1] + && isdigit(text[i + 1]) + && isdigit(text[i + 2]) + && isdigit(text[i + 3]) + && i - 1 >= 0 && isdigit(text[i - 1]) + ) + { + tokflag[i] = 0; + tokflag[i + 1] = 0; + } + } +} + +// process British style numbers + +void MPtok::tok_32() +{ + int j; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == ' ' + && i + 3 < text_len + && tokflag[i] && tokflag[i + 1] + && isdigit(text[i + 1]) + && isdigit(text[i + 2]) + && isdigit(text[i + 3]) + && i - 1 >= 0 && isdigit(text[i - 1]) + ) + { + tokflag[i] = 0; + tokflag[i + 1] = 0; + } + } +} + +// tokenize unicode escapes +// +// Added + +void MPtok::tok_33() +{ + int j; + + for (int i = 0; i < text_len; i++) + { + if (text[i] == '&') + { + if (text[i + 1] == '#') + { + for (j = i + 2; isdigit(text[j]); j++) + ; + } else + { + for (j = i + 1; isalpha(text[j]); j++) + ; + } + + if (text[j] == ';') + { + // Tokenize the escape, untokenize everything inside + + tokflag[i] = 1; + for (i++; i <= j; i++) tokflag[i] = 0; + tokflag[i] = 1; + } + } + } +} + +// Remove tags if they are present + +void MPtok::tok_un() +{ + int untok = 0; + for (int i = 0; text[i]; ++i) + { + if (isspace(text[i])) untok = 0; + if (text[i] == option_tagsep) untok = 1; + if (untok) text[i] = ' '; + } +} + + +void MPtok::set_tokflag() +{ + int i; + + tok_0(); + tok_1(); + tok_2(); + tok_3(); + + // step 4 replaces tag char, this is done at output + + tok_5_6_7(); + tok_8_9(); + + tok_10(); + tok_11(); + if (option_new >= 1) + { + tok_21(); + tok_21a(); + tok_22(); + tok_23(); + tok_24(); + tok_25(); + tok_26(); + tok_27(); + } + tok_12(); + tok_13(); + tok_14(); + if (option_new <= 5) + tok_15(); + if (option_new < 2) + tok_16(); + tok_17(); + + // steps 18 and 19 recognize periods within parens, + // and this is moved to the segmentation section + + tok_20(); + if (option_new >= 1) + { + tok_20_1(); + tok_20_2(); + if (option_new >= 2) + tok_16_1(); + if (option_new >= 6) + tok_15(); + if (option_new >= 7) + tok_15_1(); + } + if (option_new < 1) + { + tok_21(); + tok_21a(); + tok_22(); + tok_23(); + tok_24(); + tok_25(); + tok_26(); + tok_27(); + } + tok_28(); + if (option_new >= 1) + tok_29a(); + else + tok_29(); + tok_30(); + tok_31(); + tok_32(); + + tok_33(); +} + +/* set_endflag +** +** After tokflag has been set, find the possible sentence endings. +*/ + +void MPtok::set_endflag() +{ + int i; + + // The following tests look for end-stops and label them. + // They include steps 18 and 19 + + for (i = 0; i <= text_len; i++) + endflag[i] = 0; + + // Count the number of unmatched parens + + int up = 0; // unmatched round parens + int ub = 0; // unmatched brackets + + for (i = 0; i < text_len; i++) + { + if (text[i] == '(') ++up; + if (text[i] == ')') --up; + if (text[i] == '[') ++ub; + if (text[i] == ']') --ub; + if (up < 0) up = 0; + if (ub < 0) ub = 0; + } + + // Now find the end-of-sentence marks + + // tok_18: periods within parentheses, allow for nesting + // tok_19: periods within brackets, allow for nesting + // the perl version solves this by putting the period + // back with the previous token, but a better solution + // is to allow it to be tokenized but just don't + // allow it to be an end-of-sentence. + // Therefore, these are moved to the segmentation + // section + + int p = 0; // round parens + int b = 0; // brackets + + for (i = 0; i < text_len; i++) + { + if (text[i] == '(') ++p; + if (text[i] == ')') --p; + if (text[i] == '[') ++b; + if (text[i] == ']') --b; + if (p < 0) p = 0; + if (b < 0) b = 0; + + if (strchr(".!?", text[i]) + && tokflag[i] + && tokflag[i + 1]) + { + if (option_segment && p <= up && b <= ub) + endflag[i] = 1; + + // This is optional to join periods with + // probable abbreviations + + if (p > up || b > ub) + tokflag[i] = 0; + } + } + + // endtokens followed by a single or double quote, which matches + // a single or double quote in the previous sentence + + if (option_new >= 1) + { + int dquo, squo; + dquo = squo = 0; + + for (i = 0; i < text_len; i++) + { + if (text[i] == '"') dquo = ! dquo; + else if (text[i] == '\'') squo = ! squo; + else if (endflag[i]) + { + if ((text[i+1] == '"' && dquo) || (text[i+1] == '\'' && squo)) + { + endflag[i] = 0; + + // But don't end at all if the next token is something + // other than an upper case letter. + + if (option_new >= 2) + { + int j; + int ok = 0; + + for (j = i + 2; j < text_len; j++) + { + if (isspace(text[j])) continue; + // if (isupper(text[j])) + if (isupper(text[j]) || text[j] == '(') + { + ok = 1; + break; + } + if (tokflag[j]) break; + } + + if (ok) + endflag[i+1] = 1; + } else + { + endflag[i+1] = 1; + } + } + dquo = squo = 0; + } + } + } +} + + +/* set_endflag_01 +** +** After tokflag has been set, find the possible sentence endings. +** This has improved paren matching. +*/ + +#define MAX_MATCH 500 // Maximum length to get a paren match + +void MPtok::set_endflag_01() +{ + int match[text_len]; + int i, j; + + // The following tests look for end-stops and label them. + // They include steps 18 and 19 + + for (i = 0; i <= text_len; i++) + endflag[i] = 0; + + for (i = 0; i < text_len; i++) + match[i] = 0; + + for (i = text_len - 1; i >= 0; i--) + { + if (text[i] == '(' || text[i] == '[') + { + for (j = i + 1; text[j] && j - i <= MAX_MATCH; j++) + { + // Skip parens that are already matched + + if (match[j] > j) + { + j = match[j]; + continue; + } + + // Look for a matching close paren + + if (match[j] == 0 + && ((text[i] == '(' && text[j] == ')') + || (text[i] == '[' && text[j] == ']'))) + { + match[i] = j; + match[j] = i; + break; + } + } + } + } + + int next_match = 0; + for (i = 0; i < text_len; i++) + { + if (match[i] > next_match) + next_match = match[i]; + + if (strchr(".!?", text[i]) + && tokflag[i] + && tokflag[i + 1] + && (option_new <= 4 || option_doteos == 1 || (i > 0 && isspace(text[i-1]) == 0))) + { + if (i <= next_match) + tokflag[i] = 0; + else if (option_segment) + endflag[i] = 1; + } + } + + // endtokens followed by a single or double quote, which matches + // a single or double quote in the previous sentence + + int dquo, squo; + dquo = squo = 0; + + for (i = 0; i < text_len; i++) + { + if (option_new <= 7 && text[i] == '"') dquo = ! dquo; + else if (option_new >= 8 && text[i] == '"' && tokflag[i] && tokflag[i+1]) dquo = ! dquo; + else if (option_new <= 7 && text[i] == '\'') squo = ! squo; + else if (option_new >= 8 && text[i] == '\'' + && tokflag[i] && (tokflag[i+1] || (text[i+1] == '\'' && tokflag[i+2]))) squo = ! squo; + else if (endflag[i]) + { + if ((text[i+1] == '"' && dquo) || (text[i+1] == '\'' && squo)) + { + endflag[i] = 0; + + // But don't end at all if the next token is something + // other than an upper case letter. + + if (option_new >= 2) + { + int j; + int ok = 0; + + for (j = i + 2; j < text_len; j++) + { + if (isspace(text[j])) continue; + // if (isupper(text[j])) + if (isupper(text[j]) || text[j] == '(') + { + ok = 1; + break; + } + if (tokflag[j]) break; + } + + if (ok) + endflag[i+1] = 1; + } else + { + endflag[i+1] = 1; + } + } + dquo = squo = 0; + } + } +} + + +// Size buffer: return the size of the buffer required to hold all of the tokenized text. +// It can be simply estimated by a formula that depends only on the length of text and number of tokens. + +int MPtok::size_buff() +{ + int size = 1; // Start with null terminator + int t = option_pretag.size(); // for each tag, the length of the UNTAG string + + if (t <= 0) t = 1; // Make sure there is at least one + t += 2; // Add one for underscore and one for space + + for (int i = 0; i < text_len; i++) + { + size++; // Count all characters + if (tokflag[i]) size += t; // Count token delimiters (may overcount) + if (endflag[i]) size++; // Add one for newline + } + return size; +} + + +/* append_token +** +** Save a single token to a buffer. +*/ + +void MPtok::append_token(string& buff, int& sp, char *tok, int ef) +{ + // Convert tag separator chars and back quotes (?) + + for (int i = 0; tok[i]; i++) + { + if (tok[i] == option_tagsep) tok[i] = option_replacesep; + if (tok[i] == '`') tok[i] = '\''; + } + + // Skip whitespace if tokens are being output + // Otherwise, skip whitespace at the start of a sentence + + if (option_token || ! sp) while (isspace(*tok)) ++tok; + + // Save the token + + if (strlen(tok) > 0) + { + // Add delimiter if needed + + if (option_token && sp) buff += ' '; + + // Append token to output + + if (option_new < 9) + { + while (*tok && (! option_token || ! isspace(*tok))) + buff += *(tok++); + } else + { + while (*tok) + buff += *(tok++); + } + + sp = 1; + + // Add tag holders + + if (option_token && option_pretag.size() > 0) + { + buff += option_tagsep; + buff += option_pretag; + } + + // If it was end of sentence, then add newline + + if (ef) + { + buff += '\n'; + sp = 0; + } + } +} + +// Strip whitespace after sentences + +static void adjust_space(string& buff) +{ + while (buff.size() > 0 && isspace(buff[0])) buff.erase(0, 1); + + // delete two spaces in a row, but keep newlines + + for (int i = 1; i < buff.size(); i++) + { + if (isspace(buff[i]) && isspace(buff[i-1])) + buff.erase((buff[i] == '\n')?(--i):(i--), 1); + } + + for (int i = buff.size() - 1; i >= 0 && isspace(buff[i]); i--) + buff.erase(i, 1); +} + +/* token_string +** +** After the tokflag and endflag have been set, copy the tokens to the buffer. +*/ + +string MPtok::token_string() +{ + string buff; + + int i; + + // Move token starts to non-whitespace chars + + int last_tok = 0; + for (i = 0; i < text_len; i++) + { + if (tokflag[i] == 1 && isspace(text[i])) + { + tokflag[i] = 0; + last_tok = 1; + } else if (isspace(text[i]) == 0 && last_tok) + { + tokflag[i] = 1; + last_tok = 0; + } + } + + // Extract the tokens and print them out now + + char *tok = new char[text_len + 1]; + int pos = 0; + int sp = 0; + int ef = 0; + + tok[pos] = '\0'; + + for (i = 0; i <= text_len; i++) + { + // The start of a new token + + if (tokflag[i]) + { + // Print the current token + + append_token(buff, sp, tok, ef); + + // Start a new token + + pos = 0; + tok[pos] = '\0'; + + ef = 0; + } + + // Append to the current token + + tok[pos++] = text[i]; + tok[pos] = '\0'; + + // If any of the characters in the token are endflagged, + // Then pass this information along for end-of-sentence + + if (endflag[i]) ef = 1; + } + + // Print the last token + + append_token(buff, sp, tok, ef); + + delete[] tok; + + // Adjust the end of sentence boundaries + + adjust_space(buff); + + return buff; +} + +void MPtok::map_escapes() +{ + char *s; + int j, k, ch; + char buff[10]; + + k = 0; + for (int i = 0; text[i]; i++) + { + if (text[i] == '&' && text[i + 1] == '#') + { + for (s = &buff[0], j = 2; j <= 4 && i + j < text_len && isdigit(text[i + j]); j++) + *s++ = text[i + j]; + *s = '\0'; + ch = atoi(buff); + if (strlen(buff) > 0 && text[i + j] == ';' && ch > 0 && ch <= 256) + { + text[k] = ch; + if (! text[k]) text[k] = ' '; + k++; + i = i + j; + continue; + } + } + text[k++] = text[i]; + } + text[k] = '\0'; + text_len = k; +} + +MPtok::MPtok(string idir, const string& cnam) +{ + tok_initialized = 0; + + if (idir.size() == 0) + { + char *p = getenv("MEDPOST_HOME"); + if (p && strlen(p)) + { + idir = p; + + int found = idir.find("="); + if (found != string::npos) + idir = idir.substr(found + 1); + } + } + + + if (idir.size() == 0) + { + char buff[1000]; + FILE *fp = fopen("path_medpost", "r"); + if (fp) + { + if (fgets(buff, 1000, fp)) + { + chomp(buff); + idir = &buff[0]; + } + fclose(fp); + } + } + + if (idir.size() == 0) + idir = "/home/natxie/CPP64/lib/FIXED_DATA/"; + + option_dir = idir; + + option_token = 1; + option_segment = 1; + option_hyphen = 0; + option_comma = 1; + option_pretok = 0; + option_new = MPTOK_VERSION; + option_doteos = 0; + + if (cnam.size() > 0) + { + option_cnam = "_"; + option_cnam += cnam; + } + + init(); +} + +void MPtok::init(void) +{ + if (tok_initialized) return; + + string fname; + + fname = option_dir + "/medpost" + option_cnam + ".pairs"; + init_pair(fname); + + fname = option_dir + "/medpost" + option_cnam + ".abbr"; + init_abbr(fname); + + tok_initialized = 1; +} + +MPtok::~MPtok() +{ +} + +// Global tokenizer + +string MPtok::tokenize(const string& txt, int mt) +{ + if (option_pretok) return save_string(txt); + + option_token = mt; + text_len = txt.size(); + if (text_len == 0) return string(""); + + text = new char[text_len + 1]; + strcpy(text, txt.c_str()); + + map_escapes(); + + if (text_len == 0) return NULL; + + tokflag = new int[text_len + 1]; + endflag = new int[text_len + 1]; + + set_tokflag(); + if (option_new < 3) + set_endflag(); + else + set_endflag_01(); + + string buff = token_string(); + save_string(buff); + + delete[] text; text = NULL; + delete[] tokflag; tokflag = NULL; + delete[] endflag; endflag = NULL; + + return buff; +} + +string MPtok::tokenize(const string& text) +{ + return tokenize(text, 1); +} + +string MPtok::segment(const string& text) +{ + sent.clear(); + + // tokenize the text + + int save_option_segment = option_segment; + option_segment = 1; + string buff = tokenize(text, 0); + option_segment = save_option_segment; + + if (buff.size() == 0) return text; + + int found = 0; + int pos = 0; + + while (pos < buff.size()) + { + found = buff.find('\n', pos); + if (found == string::npos) + { + sent.push_back(buff.substr(pos)); + pos = buff.size(); + } else + { + sent.push_back(buff.substr(pos, found - pos)); + pos = found + 1; + } + } + + return buff; +} + +string MPtok::save_string(const string& s) +{ + stringstream ss (stringstream::in | stringstream::out); + string w, t; + int found; + string ret; + + word.clear(); + tag.clear(); + + ss << s; + while (ss.good()) + { + ss >> w; + if (w.size() == 0) break; + + found = w.find('_'); + + if (found != string::npos) + { + t = w.substr(found + 1); + w.resize(found); + word.push_back(w); + tag.push_back(t); + } else + { + word.push_back(w); + tag.push_back(option_pretag); + + } + if (ret.size() > 0) ret += " "; + ret += w; + } + + // now look for continuation tags... + + for (int i = 0; i < word.size(); i++) + { + int j = tag[i].size() - 1; + if (j >= 0 && tag[i][j] == '+' && i < tag.size() - 1) + { + word[i] = word[i] + " " + word[i + 1]; + tag[i] = tag[i + 1]; + word.erase(word.begin() + i + 1, word.begin() + i + 2); + tag.erase(tag.begin() + i + 1, tag.begin() + i + 2); + i--; + } + } + + return ret; +} + + +static int count_words(const char *s) +{ + int i; + + i = 1; + for (; *s; ++s) + { + if (*s == ' ') ++i; + } + return i; +} + +static void print_word(const char *s, int i) +{ + for (; i > 0 && *s; ++s) { if (*s == ' ') --i; } + while (*s && *s != ' ') { printf("%c", *s); ++s; } +} + +void MPtok::print(int how) +{ + int i, j, w; + + if (how != 0 && how != 2) + { + printf("print(%d) not defined\n", how); + return; + } + + for (i = 0; i < word.size(); ++i) + { + // Get the words from an idiom + + for (w = 0; w < count_words(word[i].c_str()); ++w) + { + if (how == 2 && i + w > 0) printf(" "); + + print_word(word[i].c_str(), w); + + if (how == 0) + { + printf(" tagged %s", tag[i].c_str()); + if (w < count_words(word[i].c_str()) - 1) printf("+"); + printf("\n"); + } else if (how == 2) + { + printf("%s%s", "_", tag[i].c_str()); + if (w < count_words(word[i].c_str()) - 1) printf("+"); + } + } + } + if (how == 2) + printf("\n"); +} + +void MPtok::merge_words(int s, int n) +{ + string tmp = word[s]; + + for (int i = s + 1; i < s + n; i++) + { + tmp += " "; + tmp += word[i]; + } + + // printf("merging words : '%s' n = %d\n", tmp.c_str(), n); + + for (int k = s; k + n < word.size(); k++) + { + word[k+1] = word[k+n]; + tag[k+1] = tag[k+n]; + } + + // Fixup the remaining array + + word.resize(word.size() - n + 1); + tag.resize(word.size()); + + word[s] = tmp; +} + +void MPtok::split_words() +{ + for (int i = 0; i < word.size(); i++) + { + int found = word[i].find(' '); + + if (found != string::npos) + { + string tmp1(word[i], 0, found); + string tmp2(word[i], found + 1, string::npos); + + // Move all the words and tags down + + word.resize(word.size() + 1); + tag.resize(tag.size() + 1); + + for (int j = word.size() - 1; j > i; j--) + { + word[j] = word[j - 1]; + tag[j] = tag[j - 1]; + } + + word[i] = tmp1; + tag[i] = tag[i+1]; + tag[i] += "+"; + + word[i+1] = tmp2; + } + } +} + +// Callable functions to set internal options + +void MPtok::set_segment(int i) { option_segment = i; } +void MPtok::set_hyphen(int i) { option_hyphen = i; } +void MPtok::set_comma(int i) { option_comma = i; } +void MPtok::set_pretag(char *a) { option_pretag = a; } +void MPtok::set_pretok(int i) { option_pretok = i; } +void MPtok::set_new(int i) { option_new = i; } +void MPtok::set_doteos(int i) { option_doteos = i; } diff --git a/Library/MPtok.h b/Library/MPtok.h new file mode 100644 index 0000000000000000000000000000000000000000..ef3e98efa6e78e7d719c4f518e03ad0e8d13d0ff --- /dev/null +++ b/Library/MPtok.h @@ -0,0 +1,141 @@ +#ifndef _MPTOK_H +#define _MPTOK_H + +#include + +#include +#include +#include +#include + +using namespace std; + +#define MPTOK_VERSION 11 // The latest version + +// Maximum number of words in a sentence + +#define MAX_WORDS 10000 + +enum { ABB_ABB, ABB_EOS, ABB_NUM }; +#define MAX_ABB 100 + +/*! \brief A class to perform tokenization. + * + * The MPtag class can be used to perform tokenization and segmentation + * of strings into tokens or sentences. It is inherited and used by MPtag + * so if the user is only interested in tagging, this class does not + * need to be referenced. + */ + +class MPtok +{ +public: + /// \brief A MPtok object, giving the install directory \p idir where data files can be found + MPtok(string idir = "", const string& cnam = ""); + ~MPtok(); + + void init(); // Initialize (call only once) + void init(const string& idir) { option_dir = idir; init(); } // Initialize using specified install directory + + string option_pretag; // The tag to use on tokens + int option_segment; // Segment into sentences + int option_hyphen; // Hyphens are separate tokens + int option_comma; // Commas are always tokenized + int option_pretok; // The text is pre-tokenized + int option_new; // Use new algorithms, used in development only + int option_doteos; // If " . " occurs, it's an end EOS (new >= 5) + + void set_segment(int i); ///< \brief Sentences are broken up during tokenization (default 1) + void set_token(int i); ///< \brief Break tokens apart with white space (default 1) + void set_hyphen(int i); ///< \brief Hyphens are separate tokens (default 0) + void set_comma(int i); ///< \brief Commas are separate tokens (default 1) + void set_pretag(char *a); ///< \brief Use this tag on all tokens (default empty string) + void set_pretok(int i); ///< \brief Assume string is already tokenized using spaces (default 0) + void set_new(int i); ///< \brief Use a previous algorithm (defaults to most recent) + void set_doteos(int i); ///< \brief Ignore abbreviations, and always assume a period ends a sentence (default 0) + + void merge_words(int s, int e); // merge words between s and e (idiom) + void split_words(void); // split all merged words + + string tokenize(const string&); ///< \brief Tokenize, save (in \p word), and return space delimited tokens + string segment(const string&); ///< \brief Segment, save (in \p sent), and return newline delimited sentences + + string save_string(const string&); // save a buffer + string tokenize_nosave(const string&); // tokenize without saving + string tokenize(const string&,int); // do tokenization with or without inserting spaces between them + + void print(int); ///< \brief Print tokens/tags with given verbosity + + vector word; ///< \brief Vector of words (tokens) of most recently tagged (or tokenized) text + vector tag; ///< \brief Vector of tags of most recently tagged (or tokenized) text + vector sent; ///< \brief Vector of sentences of most recently sentence-segmented text + + char *text; // Input text arg + int text_len; // It's length + int *tokflag; // token flags + int *endflag; // end-sentence flags + + string option_cnam; // A suffix, for opening variant support files + string option_dir; // Directory to find things + +protected: + + void set_tokflag(); + void set_endflag(); + void set_endflag_01(); + int size_buff(); + + void init_pair(const string& file_name); // read a file of common pairs + void init_abbr(const string& file_name); // read a file of abbreviations + + void tok_0(); + void tok_1(); + void tok_2(); + void tok_3(); + void tok_5_6_7(); + void tok_8_9(); + void tok_10(); + void tok_11(); + void tok_12(); + void tok_13(); + void tok_14(); + void tok_15(); + void tok_15_1(); + void tok_16(); + void tok_16_1(); + void tok_17(); + void tok_20(); + void tok_20_1(); + void tok_20_2(); + void tok_21(); + void tok_21a(); + void tok_22(); + void tok_23(); + void tok_24(); + void tok_25(); + void tok_26(); + void tok_27(); + void tok_28(); + void tok_29(); + void tok_29a(); + void tok_30(); + void tok_31(); + void tok_32(); + void tok_33(); + int complex_check(); + void map_escapes(); + void tok_un(); + + void append_token(string&, int&, char*, int); + string token_string(); + + set common_pair; + map common_abbr; + +private: + int option_token; // Output tokenized text (only use internally) + int tok_initialized; // is it inited? +}; + +#endif + diff --git a/Library/MPtok.o b/Library/MPtok.o new file mode 100644 index 0000000000000000000000000000000000000000..fa6a7e9f6581b5ca0553b3eb4622005ee178d9c1 Binary files /dev/null and b/Library/MPtok.o differ diff --git a/Library/Makefile b/Library/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..7f5d5441dae38c4eebc9f0ff3d03caa4bbbe9fac --- /dev/null +++ b/Library/Makefile @@ -0,0 +1,13 @@ +SRC_DIR=./ +TRASHFILES = *.o *~ *.bak core +LIB_INC=-I./ +#.KEEP_STATE: +libops.a: runn.o Btree.o FBase.o Hash.o MPtok.o \ + AbbrStra.o AbbrvE.o Ab3P.o + ar rus $@ $? +OS=-g +%.o: $(SRC_DIR)/%.C + g++ -c $(OS) $< -o $@ $(LIB_INC) + +clean: rm -f $(TRASHFILES) + diff --git a/Library/WordData/Ab3P_prec.dat b/Library/WordData/Ab3P_prec.dat new file mode 100644 index 0000000000000000000000000000000000000000..2c8e0ce9469f31f63558efd3751dd7aa45668304 --- /dev/null +++ b/Library/WordData/Ab3P_prec.dat @@ -0,0 +1,145 @@ +Al 1 FirstLetOneChSF 0.967224 +Al 2 FirstLet 0.99818 +Al 2 FirstLetGen 0.994292 +Al 2 WithinWrdFWrd 0.989054 +Al 2 FirstLetGenStp 0.970019 +Al 2 ContLet 0.96935 +Al 2 WithinWrdFLet 0.941981 +Al 2 FirstLetGenSkp 0.949988 +Al 2 WithinWrdFWrdSkp 0.947364 +Al 2 ContLetSkp 0.877216 +Al 2 WithinWrdWrd 0.74768 +Al 2 WithinWrdFLetSkp 0.640805 +Num 2 ContLet 0.975372 +Num 2 ContLetSkp 0.96617 +Num 2 WithinWrdFWrdSkp 0.988426 +Num 2 FirstLetGen2 0.909995 +Num 2 FirstLetGenStp 0.856401 +Num 2 FirstLetGenSkp 0.858132 +Num 2 WithinWrdFWrd 0.726155 +Num 2 WithinWrdFLetSkp 0.607829 +Num 2 WithinWrdFLet 0.493922 +Spec 2 FirstLetGen2 0.854368 +Spec 2 FirstLetGenStp 0.664622 +Spec 2 FirstLetGenSkp 0.657475 +Al 3 FirstLet 0.999808 +Al 3 FirstLetGen 0.999408 +Al 3 FirstLetGenS 0.998732 +Al 3 WithinWrdFWrd 0.997824 +Al 3 FirstLetGenStp 0.997839 +Al 3 FirstLetGenStp2 0.997264 +Al 3 FirstLetGenSkp 0.988583 +Al 3 ContLet 0.987697 +Al 3 WithinWrdFWrdSkp 0.981107 +Al 3 WithinWrdFLet 0.981322 +Al 3 ContLetSkp 0.968185 +Al 3 WithinWrdWrd 0.9437 +Al 3 WithinWrdFLetSkp 0.904799 +Al 3 WithinWrdLet 0.663735 +Al 3 AnyLet 0.303503 +Num 3 FirstLetGen2 0.998497 +Num 3 WithinWrdFWrd 0.99964 +Num 3 FirstLetGenStp 0.998807 +Num 3 FirstLetGenStp2 0.991256 +Num 3 FirstLetGenSkp 0.991202 +Num 3 ContLet 0.996938 +Num 3 WithinWrdFWrdSkp 0.998821 +Num 3 WithinWrdFLet 0.985676 +Num 3 ContLetSkp 0.995076 +Num 3 WithinWrdWrd 0.999245 +Num 3 WithinWrdFLetSkp 0.971123 +Num 3 WithinWrdLet 0.819989 +Num 3 AnyLet 0.797932 +Spec 3 FirstLetGen2 0.978311 +Spec 3 FirstLetGenStp 0.977779 +Spec 3 FirstLetGenStp2 0.929197 +Spec 3 WithinWrdFWrd 0.930654 +Spec 3 ContLet 0.923911 +Spec 3 FirstLetGenSkp 0.904086 +Spec 3 WithinWrdFWrdSkp 0.893989 +Spec 3 ContLetSkp 0.851583 +Spec 3 WithinWrdFLet 0.712331 +Spec 3 WithinWrdFLetSkp 0.64667 +Spec 3 WithinWrdWrd 0.428 +Al 4 FirstLet 0.999964 +Al 4 FirstLetGen 0.99993 +Al 4 FirstLetGenS 0.999811 +Al 4 WithinWrdFWrd 0.999616 +Al 4 FirstLetGenStp 0.999868 +Al 4 FirstLetGenStp2 0.999948 +Al 4 FirstLetGenSkp 0.998534 +Al 4 ContLet 0.992792 +Al 4 WithinWrdFWrdSkp 0.997097 +Al 4 WithinWrdFLet 0.992955 +Al 4 ContLetSkp 0.985568 +Al 4 WithinWrdWrd 0.995823 +Al 4 WithinWrdFLetSkp 0.976873 +Al 4 WithinWrdLet 0.917863 +Al 4 AnyLet 0.696532 +Num 4 FirstLetGen2 0.99992 +Num 4 WithinWrdFWrd 0.999835 +Num 4 FirstLetGenStp 0.999903 +Num 4 FirstLetGenStp2 0.999936 +Num 4 FirstLetGenSkp 0.999577 +Num 4 ContLet 0.999555 +Num 4 WithinWrdFWrdSkp 0.999885 +Num 4 WithinWrdFLet 0.9975 +Num 4 ContLetSkp 0.998578 +Num 4 WithinWrdWrd 0.997703 +Num 4 WithinWrdFLetSkp 0.996501 +Num 4 WithinWrdLet 0.986326 +Num 4 AnyLet 0.953126 +Spec 4 FirstLetGen2 0.99278 +Spec 4 FirstLetGenStp 0.98597 +Spec 4 FirstLetGenStp2 0.982127 +Spec 4 WithinWrdFWrd 0.997649 +Spec 4 ContLet 0.980869 +Spec 4 FirstLetGenSkp 0.944843 +Spec 4 WithinWrdFWrdSkp 0.985685 +Spec 4 ContLetSkp 0.973983 +Spec 4 WithinWrdFLet 0.992773 +Spec 4 WithinWrdFLetSkp 0.863247 +Spec 4 WithinWrdWrd 0.931745 +Spec 4 WithinWrdLet 0.418068 +Spec 4 AnyLet 0.223562 +Al 5 FirstLet 0.999979 +Al 5 FirstLetGen 0.999979 +Al 5 FirstLetGenS 0.999913 +Al 5 WithinWrdFWrd 0.999928 +Al 5 FirstLetGenStp 0.999989 +Al 5 FirstLetGenStp2 0.999887 +Al 5 FirstLetGenSkp 0.999852 +Al 5 ContLet 0.997596 +Al 5 WithinWrdFWrdSkp 0.999602 +Al 5 WithinWrdFLet 0.997473 +Al 5 ContLetSkp 0.989703 +Al 5 WithinWrdWrd 0.999812 +Al 5 WithinWrdFLetSkp 0.986066 +Al 5 WithinWrdLet 0.889324 +Al 5 AnyLet 0.73859 +Num 5 FirstLetGen2 0.999987 +Num 5 WithinWrdFWrd 0.999922 +Num 5 FirstLetGenStp 0.99998 +Num 5 FirstLetGenStp2 1 +Num 5 FirstLetGenSkp 0.999901 +Num 5 ContLet 0.999613 +Num 5 WithinWrdFWrdSkp 0.999937 +Num 5 WithinWrdFLet 0.999386 +Num 5 ContLetSkp 0.999312 +Num 5 WithinWrdWrd 1 +Num 5 WithinWrdFLetSkp 0.998939 +Num 5 WithinWrdLet 0.996068 +Num 5 AnyLet 0.986193 +Spec 5 FirstLetGen2 0.999701 +Spec 5 FirstLetGenStp 0.9999 +Spec 5 FirstLetGenStp2 0.999757 +Spec 5 WithinWrdFWrd 0.999517 +Spec 5 ContLet 0.994648 +Spec 5 FirstLetGenSkp 0.997065 +Spec 5 WithinWrdFWrdSkp 0.998513 +Spec 5 ContLetSkp 0.992445 +Spec 5 WithinWrdFLet 0.996623 +Spec 5 WithinWrdFLetSkp 0.978026 +Spec 5 WithinWrdWrd 0.996879 +Spec 5 WithinWrdLet 0.862993 +Spec 5 AnyLet 0.745608 \ No newline at end of file diff --git a/Library/WordData/Lf1chSf b/Library/WordData/Lf1chSf new file mode 100644 index 0000000000000000000000000000000000000000..ffd6b08b8da685479ad4435a6fcb5416cbe21bb0 --- /dev/null +++ b/Library/WordData/Lf1chSf @@ -0,0 +1,4991 @@ +a +a-wave +a/j +abdominal +abnormal +abortus +abscesses +absence +absent +absolute +absorbance +absorbency +absorptance +absorption +acarbose +acceleration +acceptor +acceptors +accessory +accumulation +accuracy +acebutolol +acetaldehyde +acetamide +acetaminophen +acetate +acetazolamide +acetoacetylation +acetone +acetonitrile +acetylcholine +acid +acidic +acids +acini +aconitine +acquired +acquisition +acrocentric +acromegaly +act +actin +action +action: +activated +activation +activator +active +activities +activitrax +activity +activity: +actuator +acupuncture +acute +addition +additive +addressed: +adductor +adducts +adenine +adenines +adenoidectomy +adenoma +adenomas +adenosine +adenylate +adenylation +adequate +adherent +adipocyte +admission +adrenalectomy +adrenalin +adrenaline +adrenaline-containing +adrenaline-storing +adrenergic +adriamycin +adult +adults +advanced +advantages: +adventurous +aerobacter +aerobic +aeromonas +affected +affective +afferent +african +africans +after +afternoon +age +aged +aggregated +aggression +aggressive +agonist +agonists +agouti +agreeableness +aims: +air +airways +akimbo +al(2)o(3) +ala +alanine +albumin +albuterol +alcohol +alcoholic +alcoholism +aldolase +aldosterone +alert +alfentanil +all-adenine +allele +alleles +allergic +allergy +allopurinol +alloxan +almitrine +alone +along +alopecia +alpha +alpha-methyldopa +alprazolam +alternating +altitude +alveolar +always +ambulatory +amenorrheic +american +amifostine +amikacin +amiloride +aminoacyl +aminoacyl-trna +aminophylline +amiodarone +amitriptyline +amlodipine +amniotomy +amodiaquine +amorphous +amount +amounts +amoxicillin +amoxycillin +amperes +amphetamine +ampicillin +amplified +amplitude +amplitudes +ampulla +ampullary +amrinone +amygdala +amylase +amyloid +amyloidosis +an +anaemia +analgesia +analogue +analysis +analysis, +analysis: +analyzed: +and +and/or +androgen +androgens +andromonoecious +androstendione +androstenedione +androsterone +anemic +anergic +anesthesia +anesthetized +anestrous +anestrus +aneuploid +aneuploidy +angina +angiography +angiotensin +angle +angstrom +angstroms +angus +aniline +animal +animals +anionic +anions +aniridia +ankyloglossia +annulus +anomalies +anomaly +anorexia +anoxia +antagonist +anterior +anteriorly +antheraxanthin +anthracene +anthracycline +anthracyclines +anti +anti-lewis +antibiotic +antibodies +antibody +antigen +antipyrine +antrectomy +antrum +anxiety +aorta +aortic +apex +apical +apnea +apneas +apo +apolipoprotein +apolipoproteins +apomorphine +apoprotein +apoptosis +approaches: +aprepitant +aprotinin +aqueous +arabinoside +arachidonate +arches +are +are: +area +areas +areas: +argas +arginase +arginine +arm +arms +arrhythmia +arterial +arteries +arterioles +artery +arthritic +as +as: +ascites +asians +asked: +aspects: +aspirin +assimilation +associative +assumptions: +asthma +asthmatic +asthmatics +astrocytes +astrocytoma +astrocytomas +asymmetric +asymmetrical +asymmetry +asymptomatic +asymptote +asymptotic +at +ataxia +atenolol +atherogenic +athletes +atomic +atopic +atorvastatin +atracurium +atrazine +atresia +atretic +atria +atrial +atrium +atropine +attenuated +attenuation +atypical +aubert +auditory +auditory-alone +auditory-only +austria +austrian +autism +autoclaved +autologous +automatic +autonomy +autumn +auxotype +available +average +avian +avidin +avirulent +avoidant +axial +axillary +axis +azathioprine +azithromycin +b +b.i.d. +b/beijing/184/93 +b4 +baboon +background +backward +bacteremia +bacteremic +bacteria +bacterial +bacteriochlorophyll +bacteriochlorophylls +bacteroides +baicalein +bakumondo-to +balance +balanced +balb/cj +balloon +band +banded +bar +barbital +barley +barrier +barring +basal +basalis +base +baseline +bases +basic +basicity +basolateral +basophils +bath +bathorhodopsin +bcnu +beads +beans +bearing +beats +becke +beclomethasone +beef +before +belgium +belgrade +beliefs +benazepril +bendamustine +bending +benfluorex +benfluron +benign +benignity +bentonite +benzamide +benzene +benzo +benzoate +benzylamide +bepridil +bermudagrass +berodual +beta +betamethasone +betaxolol +bezafibrate +bi- +biarra +bias +bicarbonate +bicycle +bilateral +bilirubin +binding +binocular +bioaccumulation +bioactive +bioactivity +bioassay +biofeedback +biological +biomass +biopsies +biopsy +biopterin +biotin +biotypes +biphasic +biphenyl +biphenylene +biphenyls +birth +bisexual +bisoprolol +bivalent +black +blackbelly +blacks +bladder +blank +bleeding +bleomycin +block +blocked +blocking +blood +blue +blunt +body +bolus +bombesin +bonding +bone +bone-marrow-derived +borderline +boron +bosentan +bottom +bottom-component +bound +bouton +bovine +boys +brace +bradykinin +brahman +brain +bran +brassica +breakdown +breakfast +breast +breast-fed +breathiness +breathlessness +bregma +brightness +brodimoprim +broiler +bromocriptine +bronchial +bronchitis +broth +brown +broxaterol +brushing +buccal +budesonide +buf/mna +buffer +bulb +bulimia +bulinus +bumetanide +bupivacaine +buprenorphine +burn +burned +bursa-equivalent +bursal +bursal-derived +bursting +buserelin +butanol +butorphanol +butter +butyl +c +c(5)h(8), +c(6)h(10), +c-peptide +c-terminal +c57bl/6j +ca2+. +caerulein +caffeine +calcitonin +calcitriol +calculus +calorie +calves +calyx +canadian +cancer +candesartan +candida +candidate +canine +capacitance +capacitor +capacity +capecitabine +capillaries +capillary +caprine +capsaicin +capsid +captopril +carbachol +carbamate +carbamazepine +carbaryl +carbohydrate +carbohydrate-rich +carbohydrates +carbomer +carbon +carboplatin +carboxy +carboxy- +carboxy-terminal +carboxyl +carboxyl-terminal +carboxylated +carcass +carcinoma +cardiac +cardiac-lethal +cardiologists +cardioversion +care +carminomycin +carnitine +carotenoid +carotid +carrageenan +carvedilol +case +casein +cases +cast +castrated +castration +casual +catabolism +catalase +catalyst +catalytic +cataract +catechin +catechol +catecholamines +catholic +cation +cationic +cations +cattle +caucasian +caucasians +caudal +caudata +caudate +cavity +cecum +cefotaxime +ceftazidime +ceftriaxone +cefuroxime +celecoxib +celiprolol +cell +cellobiase +cells +cells; +cellular +cellulose +cellulosic +celsius +cemented +cementum +cent +center +centigrade +central +centrilobular +centroid +centromeric +cephalothin +cerebellum +cerebrum +cerivastatin +cervical +cervix +cesarean +cetirizine +ch +chain +chains +chance +charolais +cheese +chemical +chemically-cured +chemiluminescence +chemotherapy +cherry +chicken +child +children +chimaeric +chimeric +chinese +chitosan +chitose +chlamydia +chloramphenicol +chlorhexidine +chlorination +chloroform +chloroquine +chlorpromazine +chlorthalidone +choice +cholate +cholecystectomy +cholesterol +cholesterols +cholestyramine +cholic +chow +chroma +chronaxie +chronic +chymase +cibenzoline +cicletanine +cilazapril +ciliated +cimetidine +ciprofloxacin +circular +circulating +circumference +circumferences +circumferential +cirrhosis +cis +cisatracurium +cisplatin +cisplatinum +cisternal +citrate +clamping +clarithromycin +class +classes +classic +classical +clearance +clearances +clindamycin +clinic +clinical +clockwise +clodronate +clomipramine +clonidine +clopidogrel +closed +closed-spiracle +clover +clozapine +cluster +clustered +clusters +cm +cm. +cm/m2 +cm3 +coactivation +coaptation +cobb +cocaine +codeine +coefficient +coefficients +coherence +cohesion +cohort +coil +colchicine +cold +cold-sensitive +collagen +collagenase +colon +colonic +colostrum +colour +columbia +columbinate +combination +combined +combustion +comfort +comfortable +common +community +compact +comparison +compensation +competence +competition +competitive +complaints +complement +complement- +complementary +complete +completeness +complex +complexed +compliance +compliances +compliant +complications +component +components +composite +compost +compounds +compression +compton +concentrate +concentration +concentrations +concise +concordance +concrete +concurrent +condensation +condensed +condition +conditioned +conditioning +conditions +conductance +cone +confederate +configuration +configurations +confined +confinement +confusion +conjugated +connecting +connection +conscientiousness +conserved +consonant +consonants +constant +constant-region +constants +constitutive +consumers +consumption +contact +contemplation +content +context +contingency +continuity +continuous +continuously +contractions +contralateral +contrast +contrasts +control +controlled +controller +controls +convection +conventional +convergent +conversion +cooh-terminal +cooling +cooperate +cooperation +cooperativeness +coopworth +copulating +copyright +cord +core +cores +corn +corneal +cornstarch +coronal +coronary +corrected +correlation +cortex +cortical +corticosteroid +corticosterone +cortisol +corynebacterium +cost +costs +cotton +coulomb +coulombs +coumarin +couplets +course +cream +creatine +creatinine +criteria +criterion +cryia +csf +cubic +culex +culture +cultures +cuprophan +curantyl +curcumin +cured +curvilinear +cutaneous +cyclase +cycle +cycles +cyclic +cycling +cyclists +cycloheximide +cyclohydrolase +cyclophosphamide +cylinders +cys +cysteine +cysts +cytidine +cytochrome +cytology +cytoplasm +cytoplasmatic +cytoplasmic +cytosine +cytosines +cytosol +cytosolic +d +d'man +d-loop +d-tga +dacarbazine +dai-saiko-to +daidzein +daily +dalton +daltons +dam +danazol +dantrolene +dark +darkness +darkschewitsch +daunomycin +daunorubicin +day +days +daytime +db1 +dba/2j +dbd-pz-nh2 +de-activated +dead +deafness +death +deaths +debrisoquin +debrisoquine +decapitated +decayed +decidua +decrease +decreases +decreasing +deep +defect +defection +defective +defibrotide +deficiency +deficient +deficit +deficits +defined +definite +deflation +degenerated +degradation +degrees +dehydrated +dehydration +dehydroepiandrosterone +dehydrogenase +deiodinase +delay +delayed +deletion +delirium +delivery +delta +deltamethrin +deltoides +demented +dementia +denatured +denervated +denervation +denmark +dense +densities +density +dentavax +dentin +deoxy +depolarizing +deposition +deprenyl +depressed +depression +deprivation +deprived +depth +dermatographism +dermis +dermographism +dermorphin +descending +desflurane +desiccation-selected +desmin +desmopressin +desmosine +desmosome +desogestrel +desynchronized +detail +detection +detergent +determinant +deurenberg +deuterated +deuterium +development +deviation +dexamethasone +dextran +dextro +dextromethorphan +dextropropoxyphene +dextrorotatory +dextrose +dhofari +diabetes +diabetic +diabetics +diagnosis +dialysance +dialysate +dialysis +dialyzable +dialyzed +diameter +diameters +diamond +diaphorase +diaphragm +diarrhea +diastole +diastolic +diazepam +diazinon +diazoxide +dibekacin +dibenzyline +dichloromethane +dichlorvos +diclofenac +died +diestrous +diestrus +diet +diet, +difference +differences +differentiated +diffuse +diffusion +diffusivities +diffusivity +diflunisal +digestibility +digital +digits +digora +digoxin +dihydrotestosterone +dihydrouridine +dilantin +diltiazem +diluent +dilute +dilution +dimension +dimensional +dimensions +dimer +dimeric +dimers +dimethoate +dimorphic +diopter +diopters +dioptre +dioptres +diphenhydramine +diphtheria +diploid +dipolar +dipyridamole +direct +directional +directly +disability +disc +discomfort +discontinuous +discrepancy +discriminability +discrimination +disease +disequilibrium +disgnathous +disinhibition +disobutamide +disopyramide +disorganized +dispersalloy +dispersed +dispersion +displacement +dissimilarity +dissipation +dissociative +distal +distance +distances +distensibility +distraction +distribution +disulfiram +dithranol +diuretic +diuretics +diurnal +divergence +divergent +diversity +division +dna +dobutamine +doca +docetaxel +dog +dolichol +domain +domains +dominance +dominant +donor +donors +dopamine +dopexamine +doppler +dormant +dorsal +dorsalis +dorset +dose +doses +double +down +doxazosin +doxorubicin +doxycycline +dp +drag +drainage +draining +dried +drink +drinkers +drive +driver +drivers +droperidol +drosophila +drowsiness +drug +drugs +dry +dual-marked +duarte +duodenum +duration +durations +during +duroc +dutasteride +dwarf +dye +dyes +dynamic +dyract +dysfunction +dysplasia +dyspnea +dysthymia +dystrophic +e +e(2) +e(t) +e-wave +early +east +eastern +ebony +eccentricity +ecdysone +ecgonine +echo +echocardiogram +echocardiographic +echocardiography +echovirus +eclampsia +ecori +ectostriatum +eczema +edatrexate +edema +edta +education +effect +effective +effectiveness +effector +effectors +effects +efficacies +efficacy +efficiencies +efficiency +efflux +effort +egg +eggen +eicosanoids +either +ejaculation +ejection +elastance +elastase +elastic +elasticity +elastin +elderly +elective +electric +electrical +electrolyte +electrolytes +electron +electronic +eledoisin +element +elements +elevated +elevation +elimination +elite +ellipticine +elliptocytosis +elongation +ema +embolic +embryo +embryogenic +embryonal +embryonic +emission +emotional +emotionality +emphysema +empty +enalapril +enamel +enantioenriched +enantiomeric +enantiopure +enantioselectivity +encainide +encephalitis +encoding +end +endocrinopathy +endometriosis +endometrium +endosulfan +endothelial +endothelin +endothelioid +endothelium +endotoxin +endralazine +endurance +endurance-only +endurance-trained +energies +energy +enflurane +english +enhancement +enhancer +enkephalin +enoxaparin +enoximone +enprostil +enriched +enrichment +entacapone, +enterobacteriaceae +enterobactin +entity +entropy +entry +envelop +envelope +environment +environmental +environments +enzyme +eosinophil +eosinophils +ependymomas +ephedrine +epidemic +epidermal +epidermis-type +epididymal +epididymis +epidoxorubicin +epidural +epilepsy +epimerase +epimerization +epinephrine +epiphysis +epirubicin +epitestosterone +epithelial +epithelioid +epithelium +epq-r +epsilometer +epsilon +equatorial +equine +equipment +equivalents +erect +ergometry +ergotamine +erosive +error +errors +erysipelas +erythema +erythroagglutinating +erythrocyte +erythrocytes +erythrocytic +erythroid +erythromycin +erythropoiesis +erythropoietic +erythropoietin +escharectomy +escherichia +esmolol +esophageal +esophagitis +essential +ester +esterified +estimates +estimation +estradiol +estradiol-17beta +estrodiol +estrogen +estrogen-treated +estrogenic +estrogenized +estrogens +estrone +estrous +estrus +etched +ethambutol +ethanol +ethanol-containing +ethanol-exposed +ethanol-fed +ethanolamine +ether +ethidium +ethmozine +ethyl +ethylbenzene +ethylene +etidocaine +etidronate +etilefrine +etintidine +etiocholanolone +etoh +etomidate +etoposide +euchromatic +eudragit +eugenol +eugenol, +euglycemia +euglycemic +european +europeans +euthanasia +euthyroid +evaluative +evaporation +evening +evenness +evoked +exacerbations +exam +examined, +excellent +excimer +excitation +excitatory +excited +exclusive +exclusively +excretion +execution +exercise +exercise-trained +exercised +exfoliative +exhaustion +exit +exoplasmic +expectancy +expected +expenditure +experienced +experimental +experimenter +experiments +expiration +expiratory +exponential +exposed +exposure +exposures +expressed +expressiveness +extended +extensibility +extension +extensive +extensor +extent +external +extinction +extracellular +extract +extracted +extraction +extractions +extracts +extranodal +extraversion +extraversion-introversion +extroversion +eye +f +f/sigma +f2000 +face +facial +facilitating +factor +factor" +factors +factors; +failing +failure +failures +fair +fall +false +familial +familiar +famotidine +farnesol +fast +fast-twitch +fasted +fasting +fat +fat-rich +fatal +father +fatigue +favourable +feathers +fecal +feces +fecundity +fed +feeding +felodipine +female +females +feminine +femininity +feminization +femoral +femur +fenfluramine +fenofibrate +fenoldopam +fenoterol +fentanyl +fermented +ferning +ferritin +ferromagnetic +ferryl +fertility +fertilization +fertilized +fertilizer +fetal +fetus +fetuses +fever +fi- +fiber +fibers +fibre +fibres +fibrin +fibrinogen +fibroblast +fibroblast-like +fibroblastic +fibroblasts +fibronectin +fibrosis +field +filamentous +filaments +filled +fillets +film +filtering +filtration +fimbrial +final +finally +finally, +finasteride +finger +finger-like +finishers +finnsheep +first +fischer +fish +fistula +fistulotomy +fit +fitness +flagellar +flat +flattened +flavonoids +flaxseed +flecainide +flexed-tail +flexical +flexion +flexor +flight +floating +flobufen +flow +flow-rate +flowers +flows +fluconazole +fluctuation +fludarabine +fludrocortisone +fluid +flumazenil +flunisolide +flunitrazepam +flunixin +fluorescein +fluorescence +fluorescent +fluoridated +fluoride +fluoride-resistant +fluorides +fluorine +fluoro +fluorophore +fluorouracil +fluoxetine +flurbiprofen +fluroshield +flutamide +flutter +fluttering-spiracle +fluvastatin +flux +foam +foetal +foil +folacin-deficient +folate +folded +follicles +follicular +for +force +forces +forget +forked +form +formaldehyde +formaldehyde-treated +formalin +formalin-fixed +formamide +formoterol +formula +formulation +fornix +forskolin +forssman +forward +fosinopril +fotemustine +foveal +fpd +fraction +fractionated +fractions +fracture +fragment +frame +frames +france +francs +free +freeze-branded +french +frequencies +frequency +frequent +frequently/always +fresh +freundlich +friesian +frizzle +front +frontal +fructosamine +fructose +fruit +frusemide +fsh +full +function +function, +functional +functioning +fundamental +fundus +furanose +furazolidone +furosemide +fusion +fusogenic +g +g-csf +g-protein +g-proteins +g/ml +gain +galactomannan +galactose +gallopamil +gamma +gaps +garlic +garnet +gas +gaseous +gastric +gastrin +gastrin-expressing +gastrin-producing +gastrocnemius +gastrointestinal +gastroschisis +gastrostomy +gastrozepin +gauche +gauge +gauss +gaussian +gauze +gavage +gel +gelatin +gelbvieh +gelsolin +gemcitabine +gemfibrozil +gender +gene +general +generalizability +generation +generations +genes +genetic +genistein +genital +genogroup +genomic +genotoxic +genotype +gentamicin +gentamycin +gentisate +gerbil +german +germany +germinating +germination +germline +gestation +gestodene +giemsa +gingivitis +ginsenosides +girls +girth +glandular +glass +glaucoma +gliadin +glial +glibenclamide +globular +globulin +glomerular +glomeruli +glu27 +glucagon +glucocorticoid +glucocorticoids +gluconate +glucosamine +glucose +glucosyl +glucuronide +glucuronides +glutamate +glutaraldehyde +glutathione +gly +gly16 +glyburide +glycated +glycemia +glycerol +glycine +glyco- +glycogen +glycogen-binding +glycoprotein +glycoproteins +glycopyrrolate +glycosylated +glycyrrhizin +glyoxal +gold +golgi +good +gossypol +grade +gradient +gradients +grading +graft +grain +gram +grams +granisetron +granular +granules +granulocyte +granulocytes +granulocytic +granulosa +grass +gravimetric +gravitational +gravity +grazing +greece +green +grey +grip +grooming +gross +ground +group +groups +groups; +grower +growing +growth +gtp-binding +gtpase +guaiacyl +guanethidine +guanfacine +guanidine +guanidinium +guanine +guanine-binding +guanine-nucleotide-binding +guanines +guanosine +guanosines +guanylate +guide +guluronic +gum +gvhd +gymnasts +gyroid +h +h2o2 +habituation +haemagglutinin +haematocrit +haemoglobin +haemolysis +hair +hairless +hairy +half-life +half-lives +halofantrine +halofuginone +haloperidol +halothane +hampshire +hamster +hamstring +hamstrings +hancock +handled +handling +haplotype +haptoglobin +harasima +hardened +hardness +harlan +harman +harmonic +harnesses +hartley +harvey +hatched +hatching +hay +hcl +hcv-1a +head +healing +healthy +hearing +heart +heart-type +hearts +heat +heated +heating +heavily +heavy +heavy-chain +heel +heifers +height +heights +hektoen +helical +helicase +helicobacter +helix +helper +hemagglutinin +hematocrit +hematoxylin +hematuria +hemisphere +hemispheres +hemispheric +hemodialysis +hemoglobin +hemolysis +hemophan +hemorrhage +hemorrhagic +heparin +hepatic +hepatocytes +heptane +herculite +hereford +heritability +heroin +herring +hertfordshire +hetastarch +heterochromatic +heterogeneous +heteronomous +heterophil +heterophils +heterosis +heterozygosities +heterozygosity +heterozygotes +hexagonal +hexamethylmelamine +hexanucleotide +hibernating +high +high- +high-affinity +high-grade +high-yield +high-yielding +higher +highest +highly +hilltop +hinge +hip +hippocampal +hippocampus +his +hispanic +hispanics +histamine +histidine +histidines +histocompatability +histocompatibility +histology +histone +histones +hoagland +hodgkin +hodgkin's +hoechst +hoffman +hoffmann +holland +holstein +home +homogenate +homogeneity +homogeneous +hooded +hopelessness +hopping +horizontal +hormonal +hormone +horse +hospital +hospitals +host +hostility +hot-iron-branded +houghton +hour +hours +hubbard +hue +hulls +human +humans +humerus +humidity +humoral +hyaluronidase +hybrid +hydralazine +hydrated +hydration +hydrochloride +hydrochlorothiazide +hydrocortisone +hydrogen +hydrolysate +hydromorphone +hydrophilic +hydrophobic +hydroxyurea +hydroxyzine +hyperactive +hypercholesterolemic +hyperglycemia +hyperglycemic +hypericin +hyperlipemic +hyperlipidemic +hyperoxia +hyperoxic +hyperplasia +hyperplasias +hyperpolarizing +hyperstimulated +hypertension +hypertensive +hypertensives +hyperthermia +hyperthyroid +hyperthyroidism +hypertonic +hypertrophic +hypertrophied +hypertrophy +hyperventilation +hyphal +hypocapnia +hypochromic +hypokinesis +hypophysectomized +hypophysectomy +hypopituitarism +hypopneas +hypotension +hypothalamic +hypothalamus +hypothermia +hypothyroid +hypothyroidism +hypoxanthine +hypoxemia +hypoxia +hypoxic +hypsarrhythmia +hysterectomized +hz +i +i.e. +i/sigma +ibuprofen +ichthyosis +icodextrin +icosahedral +identification +identified: +identities +identity +idiopathic +ifosfamide +ikeda +ileum +illuminance +image +imaging +imidazoline +imipramine +immature +immediately +immobilized +immune +immuno +immunoassay +immunoassayable +immunological +immunoreactive +immunoreactivity +impaired +impairment +impedance +implant +implantation +implanted +implantology +implants +implications: +impoverished +impression +improvement +impulsivity +in +in: +inactivated +inactivation +inactivator +inactive +inattentive +incentives +incidence +incisor +incisors +inclined +include +include: +included: +includes: +including +increases +increasing +indanestrol +indapamide +independent +indeterminate +index +indexes +indian +indians +indicate: +indices +indirect +individual +individually +individuals +indole +indomethacin +indoor +induced +inducer +inducible +ineffectiveness +inertance +inertia +inertial +infants +infarct +infarcted +infarction +infected +infection +infections +infectious +inferior +infiltrative +inflammation +influx +information +information: +infraspinatus +infusion +ingestion +inguinal +inhalation +inhibin +inhibited +inhibition +inhibitor +inhibitors +inhibitory +inion +initial +initiation +initiator +injection +injured +inner +innervated +innovated +inosine +inositol +input +inserted +insertion +inside +inspection +inspiration +inspiratory +institutionalized +instrumentality +instruments +insufficiency +insulation +insulin +insulinaemia +insulinemia +insurance +intact +intake +integral +intensities +intensity +intensive +interaction +intercalated +intercept +interchange +interest +interest: +interference +intermediate +intermittent +internal +international +internists +internship +interrupted +interstitial +interval +intervening +intervention +interview +intestinal +intestine +intima +intimal +intracellular +intromissions +intron +inulin +invariant +invasive +inversion +investigated: +involved +involved: +involves: +iodide +iodine +ion +ionomycin +ions +iopamidol +iota +ipratropium +ipsilateral +irbesartan +iron +irradiance +irradiances +irradiated +irradiation +irregular +irrigated +irrigation +irritant +irritants +is +is: +ischaemia +ischaemic +ischemia +ischemic +isethionate +iso-treated +isoflurane +isoform +isolated +isoleucine +isometric +isoniazid +isonymy +isoprenaline +isoproterenol +isotropic +issues: +isthmic +isthmus +italy +jacket +japanese +jejunal +jejunostomy +jejunum +jersey +jet +joggers +joining +joint +jointless +josamycin +joule +joules +jugular +juice +junction +junctional +juvenile +juxtamembrane +k +k(+) +k+ +kaempferol +kainate +kallidin +kallikrein +kanamycin +kanzo +kaolinite +kappa +karagouniko +kassinin +keloid +keloids +kelvin +keratin +keratinizing +keratinocytes +keratins +keratitis +keratometry +ketac-endo +ketamine +ketanserin +keto +ketoconazole +ketoprofen +ketorolac +ketotifen +kidney +kidneys +killer +kilodalton +kilodaltons +kindergarten +kinetic +kinetochores +kinetoplast +kininogen +kirschner +kirsten +klebsiella +knee +knees +know +knowledge +known +komarov +koniocellular +kooliner +korotkoff +kringle +kringles +kubicek +kulchitsky +kupffer +kurtosis +kwashiorkor +l-692,429 +l-ala-d-glu +l-leucine +l-name +l929 +labetalol +laboratory +labour +lacidipine +lactalbumin +lactase +lactate +lactating +lactation +lactitol +lactobacilli +lactobacillus +lactose +lactulose +lacunes +lambda +lamella +lamellae +lamellar +lamina +laminin +lamprey +landrace +langendorff +langmuir +language +lansoprazole +laparoscopic +laparoscopy +laparotomy +lard +large +larger +larynx +lasalocid +laser +lasting +latamoxef +late +latencies +latency +latent +lateral +lateralis +latum +layer +layers +laying +lead +leader +leaflets +lean +learning +leaves +lecithin +left +left-handed +leg +leghorn +legionella +legs +leiomyoma +leishmania +length +lengths +lepromatous +leptin +lesion +lesional +lesioned +lesions +less-soluble +let +lethal +leu +leu-m1 +leucine +leucocyte +leucovorin +leukemia +leukocyte +levamisole +levcromakalim +level +levels +levo +levobupivacaine +levofloxacin +levorotatory +lewis +lewisite +li +liable +lidocaine +lie +life +ligand +ligands +ligation +light +light-chain +light-cured +lighter +lightness +lignin +likelihood +limb +limbal +limited +limousin +lincomycin +lincosamide +line +linear +linearity +lingual +linker +linoleate +linoleic +lipase +lipid +lipids +lipocalin-type +lipofectin +lipopolysaccharide +liposomal +liposome +liposomes +lipreading +liquid +liquiritigenin +lire +lisinopril +lisuride +liter +liters +litter +little +live +liver +liver-type +load +loaded +loading +lobe +local +location +locus +log +london +long +long- +long-chain +long-lasting +long-lived +long-styled +long-wave +long-wavelength +long-wavelength-selective +long-wavelength-sensitive +longer +longevity +longissimus +longitudinal +loop +loops +loratadine +lorazepam +losartan +loss +loss" +lovastatin +low +low- +low-affinity +low-grade +low-yield +lower +lumbar +lumen +luminal +luminance +luminol +luminosity +lumpectomy +lung +lungs +lupin +luteal +lutein +luteolin +lymph +lympho- +lymphocyte +lymphocytes +lymphoid +lymphoma +lysine +lysis +lysosomal +lysozyme +m +m-5041t +m412 +mackay +macrolide +macrophage +macrophages +macula +madison +magnesium +magnetization +magnification +magnitude +magno +magno- +magnocellular +main +maintain +maintenance +maize +major +malabsorption +malathion +male +males +malignant +malnourished +malnutrition +maltodextrin +maltose +mammal +mammalian +mammography +mandible +mania +manics +mannan +mannitol +mannose +mannozym +mannuronic +manual +maori +marcus +margarine +margin +marginal +marijuana +marker +markers +marrow +marrow-dependent +masculine +masculinity +masked +mass +masses +masseter +mastectomy +mastoid +match +matching +maternal +matrix +maturation +maturational +mature +mauthner +maximal +maximum +meal +mean +meaning +meaningfulness +means +measles +measured +measures +meat +mecamylamine +mechanical +meclofenamate +media +medial +medialis +median +mediastinal +mediastinum +medical +medium +medium- +medium-sized +medium-wavelength +medium-wavelength-sensitive +medulla +medullary +mefloquine +megakaryocyte +megakaryocytes +meiotic +meishan +melanin +melanocytes +melanoid +melanoma +melatonin +melittin +meloxicam +melphalan +membrane +membrane-associated +membrane-binding +membrane-bound +membraneous +membranes +membranous +memory +men +meningiomas +meningitis +menses +menstrual +menstruation +meperidine +mepivacaine +merino +meropenem +mesencephalon +mesenchyma +mesenchyme +mesenteric +mesial +mesodermal +mesometrial +mesophyll +mesor +mesothelial +mesothelioma +messenger +mesterolone +mestranol +met +metabolic +metabolism +metabolite +metabolites +metabolized +metacentric +metacentrics +metacyclic +metal +metallic +metallicolous +metals +metanephrine +metaphase +metaproterenol +metarhodopsin +metastases +metastasis +metastatic +meters +metestrus +metformin +methacholine +methadone +methamphetamine +methanol +methicillin +methionine +methohexitone +methomyl +methotrexate +methoxamine +methoxychlor +methoxyflurane +methyl +methylanthranilate +methylase +methylated +methyldopa +methylergometrine +methylisobutylxanthine +methylprednisolone +methysergide +metoclopramide +metoprolol +metronidazole +metyrapone +mexiletine +mg +mg/kg +mg/m2 +mice +microalbuminuria +microelectrode +microfold +microg/kg +micromagnets +micronutrients +micropyle +microsomal +microsomes +microsporidia +microvillous +mid +mid-myocardial +mid-portion +mid-sized +mid-styled +midazolam +middle +middle- +middle-aged +middle-envelope +middle-size +middle-sized +middle-wave +middle-wave-sensitive +middle-wavelength +middle-wavelength-sensitive +midlobular +midmyocardial +midmyocardium +migraine +migrants +migration +mild +milk +milking +milkofix +million +millions +milrinone +min +mineral +miniature +minimal +minocycline +minor +minoxidil +minute +minutes +miokamycin +mirex +mirror-image +miscellaneous +misoprostol +missing +misty +mite +mitochondria +mitochondrial +mitomycin +mitoses +mitosis +mitotic +mitoxantrone +mitral +mivacurium +mixed +mixture +mj +ml(-1) +mm +mmol/l +mobility +modafinil +model +moderate +moderately +modification +modified +modifier +modulation +modulator +moduli +modulus +moisture +mol/l +molal +molality +molar +molars +molecule +moles +mollicutes +moloney +molsidomine +molt +moment +moments +monensin +monetite +money +mongrel +moniliformin +monitoring +mono- +monoamine +monoclinic +monoclonal +monocrotaline +monocyte +monocytes +monomer +monomeric +monomers +mononuclear +monophasic +montelukast +month +months +montmorillonite +more-soluble +morning +morphine +morphogenetic +morphology +mortality +morula +morulae +mosaic +mother +motilin +motor +mounts +mouse +mouth +movement +moving +mu +mucin +mucinous +mucoid +mucosa +mucosal +mucosal- +multiparous +multiple +murine +muscarine +muscarinic +muscle +muscle-specific +muscle-type +muscles +muscular +music +mutagenic +mutant +mutants +mutated +mutation +mutation, +mutations +mutator +muzolimine +myasthenia +mycelial +mycelium +mycobacterium +mycoplasma +mycorrhizal +myelin +myeloid +myocarditis +myocardium +myoglobin +myometrial +myometrium +myopathy +myosin +myricetin +mystus +n +n-terminal +n-terminus +nabilone +nacl +nadolol +nafcillin +naive +naked +naloxone +naltrexone +nandrolone +naphthalene +naproxen +narrow +nasal +nasion +nasopharynx +native +native-like +natural +nausea +nebivolol +nebuchamber +neck +necrosis +nefazodone +negative +negentropy +neglect +neighborhood +neither +nematic +neomycin +neonatal +neopterin +neopterins +neostigmine +neostriatum +neoxanthin +nephrectomized +nephrectomy +nephropathy +nerve +nerves +nervousness +netilmicin +network +neural +neuraminidase +neurinomas +neuroblast +neuroblastic +neuroblastoma +neurologic +neuronal +neurons +neuropathy +neuropeptide +neurotensin +neuroticism +neutral +neutralisation +neutralization +neutralizing +neutron +neutrons +neutrophil +neutrophils +newborn +newborns +newton +newtons +nh2-terminal +niacin +nicardipine +nicholas +nicorandil +nicotine +nicotinic +nifedipine +night +nighttime +nimesulide +nimodipine +nipple +nisin +nisoldipine +nitazoxanide +nitrate +nitrendipine +nitrification +nitrite +nitro +nitrogen +nitrogenous +nitroglycerin +nitroimidazole +nitroprusside +nitroxide +nizatidine +no +nociceptive +nocturnal +nodal +node +nodes +nodular +nodule +noise +non-arthritic +non-blood-fed +non-cf +non-sclerotic +non-stimulated +non-tumor +non-users +nonatopic +none +nonlepromatous +nonlinear +nonlinearity +nonreinforced +nonreward +nonsmokers +nonsynonymous +nontemplated +noradrenaline +norepinephrine +norfloxacin +norgestomet +normal +normalized +normally +normals +normoalbuminuria +normocapnia +normokinesis +normolipidemic +normospermic +normotension +normotensive +normotensives +normotonic +normoxia +normoxic +north +northern +norverapamil +noscapine +not +notch +nourished +novaron +novel +november +novice +noxious +nuclear +nuclei +nucleo- +nucleobase +nucleocapsid +nucleocaspid +nucleophile +nucleoprotein +nucleotide +nucleotide-binding +nucleotides +nucleus +null +nulliparous +number +numbers +nurses +nursing +nutrient +nutrition +nymphs +nystatin +nzb/blnj +o +oats +obese +obesity +object +objective +oblique +observed +observer +obstruction +obstructive +occipital +occlusion +occupation +octahedral +odor +of +ofloxacin +often +oil +olaquindox +old +older +oleate +oleic +olein +oleoyl +oligodendroglioma +oligodendrogliomas +oligosaccharides +omeprazole +oncovin +ondansetron +only +oophorectomy +opaque +open +opening +openness +operator +opposite +oral +orally +orange +orbit +orchardgrass +orchidectomized +orchiectomy +organic +organomegaly +orientation +orientational +orlistat +orosomucoid +oroxylin-a +orthorhombic +orthostatism +ossimi +osteocalcin +other +ouabain +outcome +outcomes +outdoor +outer +output +outside +ovalbumin +ovariectomized +ovariectomy +ovary +overload +ovine +oxaliplatin +oxatomide +oxidase +oxidation +oxidized +oxmetidine +oxygen +oxytetracycline +oxytocin +p +p-aminobenzamidine +p-hydroxyphenyl +pace +pachytene +pacing +pacinian +paclitaxel +paddles +pain +pair +pair-fed +paired +palatal +palindromic +palm +palmitic +palmitoyl +palpation +pamidronate +pancreas +pancreatectomy +pancreatic +pancuronium +pantethine +pantoprazole +papain +papaverine +paper +papilla +paracetamol +parallel +parameter +parameters +paraplegia +paraplegic +parasitaemia +parasympathetic +parathion +parathyroid +parenchyma +parenchymal +parent +parental +paretic +pargyline +parietal +parity +parkes +parkinsonism +paromomycin +parotid +partial +particulate +parvo +parvocellular +passage +passages +passive +pastoralists +patch +patency +pathogenic +pathologic +pathological +pathologically +pathology +pathways +patient +patients +pattern +patterns +peak +peaked +peat +peats +pectin +pediatric +pedicled +pefloxacin +pellet +pellets +pelvis +penetrating +penetration +penicillamine +penicillin +penicylinders +pentagastrin +pentazocine +pentobarbital +pentoses +pentoxifylline +peplomycin +peptide +peptides +peptidyl +peptidyl-trna +percentage +percentile +percussion +perforating +perforin +performance +perfusion +pericellular +pericytes +perimeter +perindopril +perinuclear +period +periodontitis +periosteal +peripheral +periportal +peritoneal +peritoneum +peritonitis +periventricular +permanent +permeabilities +permeability +permeation +permer +permixon +peroneal +peroxidase +peroxide +peroxy +perpendicular +persistence +persistent +persisting +personal +pertussis +ph +phagocytosis +pharmacy +pharyngeal +pharynx +phase +phases +phenanthrene +phenol +phenotype +phentolamine +phenylbutazone +phenylephrine +phenytoin +pheochromocytoma +phlebotomy +phlorizin +pholcodine +phosphate +phosphate-binding +phosphates +phospho +phospho- +phospholipid +phosphoprotein +phosphoproteins +phosphoramidon +phosphorous +phosphorus +phosphorus-31 +phosphorylated +phosphorylation +photosensitivity +photosynthesis +phoxim +phthalazine +physical +physicians +pi +pi(hs) +pietrain +pig +pill +pilocarpine +pimozide +pinacidil +pindolol +pinhole +pink +pink-eyed +pinzgauer +piperacillin +piracetam +pirenzepine +piroxicam +pitch +pituitary +placebo +placebo-controlled +placebos +placental +plagiocephaly +plain +plant +plantaris +plants +plaque +plasma +plasmacytoid +plasmapheresis +plasmid +plasmin +plasminogen +plastic +plateau +platelet +platelet-type +platelets +platinum +pleomorphic +plication +plosive +plus +pmoles +pneumonia +pneumoperitoneum +point +poise +poland +polar +polarity +polarization +polarizations +poleward +polished +pollock +polluted +poly +polyclonal +polydispersity +polymer +polymerase +polymerase-associated +polymeric +polymorphic +polymorphism +polyneuropathy +polypay +polypeptide +polypeptides +polyphenols +polyps +polyunsaturated +polyvinylpyrrolidone +pons +pontine +pony +poor +population +populations +porcelain +porcine +pore +pore-forming +pork +porosity +porphyrin +portsmouth +position +positions +positive +post +post- +post-natal +posterior +posteriorly +posthatching +postnatal +postnatally +postpartum +postural +potassium +potato +potency +potential +power +ppm +practice +pravastatin +prazosin +pre-existing +pre-pubertal +precipitation +precision +precursor +precursors +predictability +predicted +prednisolone +prednisone +predominant +preeclampsia +preference +preferred +preferring +pregesterone +pregnancies +pregnancy +pregnant +pregnenolone +preload +premature +prenalterol +prenylamine +preparation +preperitoneal +prepuberal +presence +present +pressor +pressure +pressure-loading +pressure-sensitive +pressures +preterm +prevalence +preventable +primary +primer +priming +primiparous +primitive +principal +pristinamycin +pro +pro-oestrus +probabilities +probability +probe +probenecid +problem +probucol +procainamide +procaine +procarbazine +procedure +procedures +processes +processing +procholeragenoid +product +production +productive +productivity +proestrous +proestrus +profile +prog +progenitor +progesterone +progesterone's +progesterone, +progesterone- +progestin +progestins +progestogen +progestogens +program +progression +progressive +progressor +progressors +proinflammatory +prolactin +proliferating +proliferation +proliferative +proline +promethazine +promoter +promoters +promotion +prone +propacetamol +propafenone +propanediol +properdin +prophylactic +propionate +propofol +proportion +proportional +proportions +propoxyphene +propranolol +prostate +prostatic +protamine +protease +protected +protection +protein +protein-rich +proteins +proteinuria +proteolytic +protocol +protocols +protoplasmic +prototype +protozoa +protruding +protrusion +protrusive +proximal +pseudoanodontia +pseudomonas +pseudorotation +psoralen +psychiatric +psychological +psychoticism +pugh-child +pulmonary +pulsatile +pulse +pulses +pulvinar +pump +puncture +pupae +purified +purine +purinergic +purkinje +push +putamen +putrescine +pyramidal +pyrene +pyridine +pyridostigmine +pyridoxine +pyrimethamine +pyrolysis +pyruvate +q +q10 +quackenbush +quadriceps +quadrivalent +quadrupole +quality +quantitative +quantity +quartile +quartiles +quenchers +quercetin +query +questionnaire +queuine +queuosine +quiescence +quiescent +quiet +quinacrine +quinapril +quinidine +quinine +quinoid +quinoline +quinone +quinones +quintiles +quisqualate +quotient +quotients +rabbit +rabeprazole +rac, +rac-, +racemic, +radial +radiation +radicals +radiculography +radii +radioactive +radioiodinated +radiolabeled +radiotherapy +radius +rads +raffinose +rahmani +raillietina +raloxifene +raman +rambouillet +ramipril +rams +ran +random +randomness +range +ranitidine +rankin +rapid +rarefaction +rarely/never +rat +rate +rates +ratio +ration +ratios +rats +rats, +rauscher +raw +rcc-36, +reabsorption +reacted +reaction +reaction, +reactions +reactive +reactivity +reagent +reagent, +reagents +rear +rearranged +rearrangement +reasoning +rebreathing +recalls +received +recently, +receptive +receptor +receptor-binding +receptor-regulated +receptors +receptors, +recession +recessive +recipient +recipients +reciprocal +recirculation +recognized +recollection +recombinant +recombinase +recovery +rectal +rectum +recurrent +red +red-eye +red-light +reduced +reducing +reductase +reduction +reference +reflectance +reflex +reflexes +reflow +refractile +refraction +refractoriness +refractory +region +regional +regions +regression +regressor +regular +regulator +regulatory +regurgitant +regurgitation +rehabilitation +rehydration +reinforced +reinforcement +rejection +relapse +relapsers +relapsing +related +relatedness +relation +relationship +relative +relatives +relaxation +relaxed +relaxin +relaxing +release +relevant +reliabilities +reliability +remaining +remember +remifentanil +remission +removal +removed +renal +renin +renshaw +reoxygenation +repeat +repeatability +repeated +repeats +reperfused +reperfusion +repetitive +replacement +replicase +repolarization +repression +repressor +reproducibility +reproductive +resection +reserpine +resident +residents +residual +residue +residues +resistance +resistances +resistant +resistive +resistivity +resistor +resolution +resolve +resolved +resonance +respective +respiration +respiratory +responded +responder +responders +responding +response +responses +responsive +rest +rested +resting +restrained +restraint +restricted +restriction +resulting +results: +resuscitation +resveratrol +retard +retardation +retentate +retention +reticular +reticulocytes +retina +retinol +retinular +retraction +retransfusion +retrograde +retroperitoneal +retzius +reverse +reward +rewarded +rhabdomyosarcoma +rhamnose +rheumatism +rhinitis +rhodamine +rhodopsin +rhombohedral +rhombomere +rhombomeres +rhythmic +ribavirin +ribose +ribosomal +ribosomes +rice +ricin +rickard +ridgelands +rifampicin +rifampicine +rifampin +rigevidon +right +right-handed +rigidified +rigidity +rilmenidine +ring +rinn +ripe +risk +ristocetin +ritonavir +rituximab +rna +rocuronium +rodent +roentgen +roentgens +rolipram +romanov +root +ropivacaine +rostral +rotation +rough +roughness +round +roundness +routine +rower +roxatidine +rs14203, +rubella +rudimentary +ruminal +ruminant +run +runners +running +rupture +rural +rutin +ryanodine +rye +s +s-methyl +s-phase +saccade +saccharose +sacrum +sagittal +salbutamol +salicylate +saline +salinity +salinomycin +saliva +salivary +salivary-like +salmeterol +salmon +salt-hypertension-sensitive +salt-sensitive +same +sample +samples +sand +saponins +sarafotoxin +sarcoidosis +sarcomatoid +sardi +sarsaponin +sartorius +satisfactory +saturated +saturation +scale +scao +scar +scatter +scattering +scavenger +schistosoma +schizophrenia +schizophrenics +sclerosis +scmc +scopolamine +score +scores +seated +secobarbital +second +secondary +seconds +secreted +secretin +secretion +secretory +sections +sedation +sedentary +sedimentation +segment +segmental +segments +select +selected +selection +selective +selegiline +selenium +self +self-concept +self-incompatibility +sella +semiconducting +seminoma +seminomas +semitendinosus +senescent +sense +sensibility +sensing +sensitive +sensitivity +sensitized +sensitizer +sensolog +sensory +sentence +separation +sephadex +sepiolite +sepsis +septal +september +septic +septum +sequence +sequence, +sequential +ser +sera +serial +series +series, +serine +serine-rich +serines +serosa +serosal +serotonin +serovar +serres +serum +serum-soluble +services +several +severe +severity +sevoflurane +sex +shade +shaft +shakuyaku +sham +sham-branded +sham-operated +sham-pinealectomized +sharpness +shear +sheep +shell +shift +shock +shocked +short +short- +short-wave +short-wave-sensitive +short-wavelength +short-wavelength-sensitive +shortening +shorter +shorthorn +shortwave-sensitive +shoulder +showed +shunt +siblings +sibutramine +sickle +side +sigmoidicity +signal +significant +silage +silane +silent +silver +silymarin +similarity +similarly, +simmental +simple +simultaneous +simvastatin +since +single +single-stage +singlet +sinus +sinusoids +site +sites +sitting +size +sizes +skeletal +skeletonized +skin +skull +sleep +slices +slides +slight +slope +slopes +slow +slow-resistant +slow-twitch +sludge +sluggish +small +small-surface +smaller +smallest +smoke +smokers +smoking +smooth +snout +social +sodium +sodium-sensitive +softness +soil +solcoseryl +soleus +solid +solitus +solubilities +solubility +soluble +solute +solution +solvent +somatic +somatomedin +somatosensory +somatostatin +somatotropin +somite +somites +sonicare +sorbitol +sotalol +sound +south +southern +sows +soy +soybean +space +spacer +spacings +spain +spatial +specialists +species +specific +specificity +spectinomycin +spectrophotometric +speed +spermidine +spherical +sphingomyelin +sphingosine +spike +spin +spinal +spine +spinnbarkeit +spirometry +spironolactone +spleen +splenectomized +splenic +splenocytes +spontaneous +sporadic +spot +spotting +spray +spread +spreading +spretus +spring +sprint +sprint-trained +sprinters +sprotte +sr48968 +sramek +stabe +stabilization +stable +stacked +stage +staging +standard +standard, +standards +standing +stanozolol +staphylococcus +star +starch +start +starvation +starved +state +static +stationary +stature +stearic +stearylamine +stenosis +stenting +step +stereopreference +sterile +steroid +steroids +stiffness +stilbenedisulfonates +stimulated +stimulating +stimulation +stimuli +stimulus +stoichiometry +stomach +stool +storage +strain +strata +stratum +straw +strength +streptokinase +streptomyces +streptomycin +stress +stressed +stretch +striatal +striatum +strict +stripping +stroke +stroma +stromal +strong +strongly +structure +students +studies, +study +study, +styrene +subcutaneous +subiculum +subject +subjective +subjects +submerged +subordinates +subpopulations +substance +substituted +substitution +substrate +substrate, +substrate-adherent +substrates +subtilisin +subtypes, +subunit +success +successful +succinate +succinylcholine +suckled +suckling +sucralfate +sucrase +sucrose +sufentanil +suffolk +sugar +sulfadiazine +sulfadoxine +sulfamethoxazole +sulfatase +sulfate +sulfated +sulfates +sulfinpyrazone +sulfisoxazole +sulfite +sulfonate +sulfoxide +sulfoxide, +sulfur +sulglicotide +sulodexide +sulphamethoxazole +sulphate +sulphide +sulphur +sulpiride +sum +summation +summer +superconducting +superficial +superior +superlative +supernatant +supernatants +supination +supine +supplement +supplementation +supplemented +supplies +support +suppressor +suprofen +suramin +surface +surfaces +surfactant +surgeon +surgeons +surgery +surgical +survanta +survey +survival +survivors +susceptibility +susceptible +susceptibles +suspect +suspended +suspension +sustained +suture +sweden +swedish +swimmers +swimming +swiss +switch +syk +symmetric +symmetrical +sympathetic +symptom +symptomatic +symptoms +syn +synaptic +synchronization +synchronous +synchrony +syncope +synonymous +synthase +synthesis +synthesized +synthetic +syringyl +sysomicin +system +system, +systemic +systems, +systole +systolic +t +t-cell +tablet +tablets +tachycardia +tacrolimus +tactile +tail +taiwanese +tallow +tamoxifen +tandem +tap +tape +tar +tarentaise +target +targets +targhee +task +tau +taurine +taut +taxol +taxotere +tazobactam +tear +technical +tectum +teeth +tegafur +teicoplanin +telangectasia +telmisartan +telomere +telomeric +telophase +telsa +temperature +temperatures +tempering +template +temporal +tendinous +tendon +teniposide +tense +tensed +tension +tensions +tenue +teratoma +teratozoospermia +terazosin +terbutaline +terfenadine +term +terminal +terminator +terminators +territorial +tertatolol +tesla +test +tester +testerone +testing +testis +testosterone +testosterone's +testosterone, +tetanus +tetracaine +tetracycline +tetragonal +tetrahedral +tetramethylrhodamine +tetranychus +tetraplegic +tetraploid +texas +thalamus +thalidomide +that +the +theca +thelytoky +theophylline +therapy +therapy-related +thermophilic +theta +thiacetazone +thiamin +thiamine +thickness +thicknesses +thigh +thighs +thin +thin-thread +thiolation +thionein +thiopental +thiopentone +thiophene +thiophosphamide +thioridazine +thiotepa +this +thomsen-friedenreich +thoracic +thr +threat +threonine +threshold +thresholds +thrombin +thrombocytopenia +thrombolysis +thrombosis +thrombus +thymic +thymic-dependent +thymic-derived +thymidine +thymine +thymines +thymoma +thymus +thymus- +thymus-dependent +thymus-derived +thymus-processed +thyroid +thyroidectomized +thyroidectomy +thyroxine +tianeptine +tiapamil +tibetans +tibia +tibial +tibolone +ticlopidine +tilapia +tilt +time +time-reversal +timed +times +timolol +tinidazole +tiny +tip +tissue +tissue-type +tissues +titanium +titer +tizoxanide +to +tobacco +tobramycin +tocopherol +tocopherols +tolbutamide +tolerance +tolerant +tolmetin +toluene +tone +tongue +tonic +tonnes +tons +tonsillectomy +top +topotecan +toronto +torpedo +torque +torr +torsion +torsional +total +toth +touch +tourniquet +toxicity +toxoid +tpsic +tq +trabecular +tracheal +traditional +trained +traineeship +training +tramadol +trandolapril +trans +transcribed +transducin +transection +transfer +transferred +transferrin +transformed +transfusion +transgenic +transient +transit +transit-time +transition +transitional +translation +translational +translocation +transmembrane +transmission +transmissivity +transmittance +transpiration +transplant +transplantation +transplanted +transplants +transport +transverse +trastuzumab +trauma +traumatic +trays +treadmill +treated +treatment +treatments +trehalase +trehalose +tremor +trendelenburg +trenimon +tri- +trial +triamcinolone +triamterene +triazolam +triceps +trichophyton +triclinic +tricuspid +tricyclic +triglycerides +trimer +trimethoprim +trimipramine +tripelennamine +triple +triplet +triptolide +trocar +trochanter +troglitazone +tropisetron +trough +true +truncated +trypanosoma +trypsin +tryptamine +tryptase +tryptic +tryptophan +tuberculoid +tubes +tubular +tubule +tubulopathic +tuli +tumor +tumor-bearing +tumorlike +tumorous +tumors +tumour +tumours +turbuhaler +turmeric +turned +tuscany +twin +two +tylosin +tymidine +type +tyr1 +tyramine +tyrosine +tyrosol +tytin +u-0521 +ubiquitinated +ulceration +ulcers +ulinastatin +ulnar +ultrasound +unaffected +uncertain +uncertainty +unchanged +unclassifiable +unclassified +unconjugated +uncontrolled +undernourished +undernutrition +undifferentiated +unfavourable +unfolded +unfractionated +uniformly +unilateral +uninfected +uninvolved +unipolar +unit +united +units +units/ml +unmodified +unrelated +unresolved +unresolved/disorganized +unrestricted +unsaturated +unstimulated +untrained +untreated +up +upper +upright +upstream +uptake +uracil +uraemic +uranium +urapidil +urban +urea +urecholine +uremia +uremic +ureter +urethane +urgency +uridine +uridines +uridylate +urinary +urine +urokinase +users +using +usual +uterine +uterus +utilization +v +v-thread +vacancies +vaccinated +vaccination +vaccine +vacuolar +vacuolar-type +vagal +vagina +vaginal +vaginally +vagotomy +val +valency +validation +valine +valsalva +valsartan +value +valves +vanadate +vanadium +vancomycin +var +variability +variable +variable-region +variance +variant +variants +variation +varicella +varicocele +variety +varnish +vascular +vasculitis +vector +vecuronium +vegetable +vegetarian +vegetarians +vegetative +vehicle +vein +veins +velocities +velocity +venlafaxine +venoles +venom +venous +ventilated +ventilation +ventilatory +ventral +ventricle +ventricles +ventricular +venules +verapamil +veratridine +verb +verbal +vermilion +verprolin-homology +vertebrae +vertebral +vertical +vesicle +vesicles +vesicular +vessels +vestibular +vetch +viability +viable +vibrational +vigor +villi +villin +vimentin +vinblastine +vinclozolin +vincristine +vindesine +vinorelbine +violaxanthin +violet +viral +virchowian +virgin +virion +virulence +virulent +virus +viruses +visceral +viscosity +vision +visits +visual +visual-only +visually +vitality +vitremer +vivarium +vivonex +vmax +voltage +voltages +volts +volume +volumes +volumetric +volunteers +vomiting +vomitoxin +vowel +w(peak) +waist +wake +wakefulness +waking +walking +wall +warfarin +warm +warm-sensitive +warmed +warmth +washed +water +watermelon +watt +watts +wave +weak +weakly +weaned +weanimix +weaning +wedge +wedged +week +weekly +weeks +weighed +weight +weighted +weights +well-differentiated +well-nourished +west +western +wet +wettedness +wheat +wheezing +white +white-eye +white-spotting +whites +whole +whorls +width +wiener +wiktor +wild +wild-type +wilted +wine +winter +wistar +with +withdrawal +wogonin +wollastonite +women +word +work +workload +workshop +wrinkled +wrist +x +x-linked +xanthan +xanthine +xbai +xenopus +xylazine +xylenes +xylitol +xylose +y +year +years +yeast +yeast-like +yeasts +yellow +yellowing +yield +yields +yogurt +yohimbine +yoked +yolk +yorkshire +young +younger +yttrium +z100 +zafirlukast +zearalenone +zeatin +zeaxanthin +zebrafish +zebu +zeolite +zeranol +zeste +zeta +zofenopril +zolpidem +zomepirac +zooplankton +zopiclone +zoster +zucker +zygapophysial +zymodeme +zymodemes +zymosan diff --git a/Library/WordData/SingTermFreq.dat b/Library/WordData/SingTermFreq.dat new file mode 100644 index 0000000000000000000000000000000000000000..7bfe96517c1152b05170805c4e52bd3209f69e96 --- /dev/null +++ b/Library/WordData/SingTermFreq.dat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:906f908223043eb24e43f331a545997e7e75d316db012be6a1ad0637ad433056 +size 33465611 diff --git a/Library/WordData/cshset_wrdset3.ad b/Library/WordData/cshset_wrdset3.ad new file mode 100644 index 0000000000000000000000000000000000000000..f1da2f212f113b1f6e6a21fecc70ecd0801cce20 Binary files /dev/null and b/Library/WordData/cshset_wrdset3.ad differ diff --git a/Library/WordData/cshset_wrdset3.ct b/Library/WordData/cshset_wrdset3.ct new file mode 100644 index 0000000000000000000000000000000000000000..7150c4b9075896f97c662a226f0f21cb54142e9d Binary files /dev/null and b/Library/WordData/cshset_wrdset3.ct differ diff --git a/Library/WordData/cshset_wrdset3.ha b/Library/WordData/cshset_wrdset3.ha new file mode 100644 index 0000000000000000000000000000000000000000..4cfff99ba394670ce2d552800e1107abb941f840 --- /dev/null +++ b/Library/WordData/cshset_wrdset3.ha @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6da053e4472714dbf2e5239c6eee31e2e6685266d8d0d874c3f623919f4fcf62 +size 4194312 diff --git a/Library/WordData/cshset_wrdset3.nm b/Library/WordData/cshset_wrdset3.nm new file mode 100644 index 0000000000000000000000000000000000000000..8436a5ae04ee7b360f6dddd1eae5cf61af72b93c --- /dev/null +++ b/Library/WordData/cshset_wrdset3.nm @@ -0,0 +1 @@ +94718 524287 918071 diff --git a/Library/WordData/cshset_wrdset3.str b/Library/WordData/cshset_wrdset3.str new file mode 100644 index 0000000000000000000000000000000000000000..61d861c3ca7d7056630810843f44137e9d75a1e9 Binary files /dev/null and b/Library/WordData/cshset_wrdset3.str differ diff --git a/Library/WordData/hshset_Lf1chSf.ad b/Library/WordData/hshset_Lf1chSf.ad new file mode 100644 index 0000000000000000000000000000000000000000..2b9f49207089c4ce1da3595672da71ed4ead5b21 Binary files /dev/null and b/Library/WordData/hshset_Lf1chSf.ad differ diff --git a/Library/WordData/hshset_Lf1chSf.ha b/Library/WordData/hshset_Lf1chSf.ha new file mode 100644 index 0000000000000000000000000000000000000000..144439d0abfc00bb4e2052206ea10f622a43b4dc Binary files /dev/null and b/Library/WordData/hshset_Lf1chSf.ha differ diff --git a/Library/WordData/hshset_Lf1chSf.nm b/Library/WordData/hshset_Lf1chSf.nm new file mode 100644 index 0000000000000000000000000000000000000000..8d63e1e12bab4b8ab3114f1771151ad9e1959490 --- /dev/null +++ b/Library/WordData/hshset_Lf1chSf.nm @@ -0,0 +1 @@ +4991 32767 53117 diff --git a/Library/WordData/hshset_Lf1chSf.str b/Library/WordData/hshset_Lf1chSf.str new file mode 100644 index 0000000000000000000000000000000000000000..563618194ac59e7cd004638d9e3d26d48223b98b Binary files /dev/null and b/Library/WordData/hshset_Lf1chSf.str differ diff --git a/Library/WordData/hshset_stop.ad b/Library/WordData/hshset_stop.ad new file mode 100644 index 0000000000000000000000000000000000000000..23e83bae9c1c34c9cc6b8085e9e4c051c597c583 Binary files /dev/null and b/Library/WordData/hshset_stop.ad differ diff --git a/Library/WordData/hshset_stop.ha b/Library/WordData/hshset_stop.ha new file mode 100644 index 0000000000000000000000000000000000000000..f756a26a125f0aead4e0bc1592c1d4d411b475aa Binary files /dev/null and b/Library/WordData/hshset_stop.ha differ diff --git a/Library/WordData/hshset_stop.nm b/Library/WordData/hshset_stop.nm new file mode 100644 index 0000000000000000000000000000000000000000..9b4ca1e54901b1930ab49f9dc1afc044f759a7f9 --- /dev/null +++ b/Library/WordData/hshset_stop.nm @@ -0,0 +1 @@ +313 2047 2183 diff --git a/Library/WordData/hshset_stop.str b/Library/WordData/hshset_stop.str new file mode 100644 index 0000000000000000000000000000000000000000..4590ea4859be3f6c5774f141d6173ddc861902ad Binary files /dev/null and b/Library/WordData/hshset_stop.str differ diff --git a/Library/WordData/stop b/Library/WordData/stop new file mode 100644 index 0000000000000000000000000000000000000000..e9e4e60c1afe3068dad0b6796b75a8e3043569f1 --- /dev/null +++ b/Library/WordData/stop @@ -0,0 +1,313 @@ +a +about +above +across +after +afterwards +again +against +al +all +almost +alone +along +already +also +although +always +am +among +amongst +an +analyze +and +another +any +anyhow +anyone +anything +anywhere +applicable +apply +are +around +as +assume +at +be +became +because +become +becomes +becoming +been +before +beforehand +being +below +beside +besides +between +beyond +both +but +by +came +cannot +cc +cm +come +compare +could +de +dealing +department +depend +did +discover +dl +do +does +during +each +ec +ed +effected +eg +either +else +elsewhere +enough +et +etc +ever +every +everyone +everything +everywhere +except +find +for +found +from +further +get +give +go +gov +had +has +have +he +hence +her +here +hereafter +hereby +herein +hereupon +hers +herself +him +himself +his +how +however +hr +ie +if +ii +iii +in +inc +incl +indeed +into +investigate +is +it +its +itself +j +jour +journal +just +kg +last +latter +latterly +lb +ld +letter +like +ltd +made +make +many +may +me +meanwhile +mg +might +ml +mm +mo +more +moreover +most +mostly +mr +much +must +my +myself +namely +neither +never +nevertheless +next +no +nobody +noone +nor +not +nothing +now +nowhere +of +off +often +on +only +onto +or +other +others +otherwise +our +ours +ourselves +out +over +own +oz +per +perhaps +pm +precede +presently +previously +pt +rather +regarding +relate +said +same +seem +seemed +seeming +seems +seriously +several +she +should +show +showed +shown +since +so +some +somehow +someone +something +sometime +sometimes +somewhere +still +studied +sub +such +take +tell +th +than +that +the +their +them +themselves +then +thence +there +thereafter +thereby +therefore +therein +thereupon +these +they +this +thorough +those +though +through +throughout +thru +thus +to +together +too +toward +towards +try +type +ug +under +unless +until +up +upon +us +used +using +various +very +via +was +we +were +what +whatever +when +whence +whenever +where +whereafter +whereas +whereby +wherein +whereupon +wherever +whether +which +while +whither +who +whoever +whom +whose +why +will +with +within +without +wk +would +wt +yet +you +your +yours +yourself +yourselves +yr diff --git a/Library/libops.a b/Library/libops.a new file mode 100644 index 0000000000000000000000000000000000000000..0d0c2807922740d406a3a82a091a00785fc8d31d --- /dev/null +++ b/Library/libops.a @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49739bb3e02004359c47b44bfb62f581d2c9e850f5548589d56a1392ef9df6a0 +size 2374460 diff --git a/Library/runn.C b/Library/runn.C new file mode 100644 index 0000000000000000000000000000000000000000..d3d3c89fcc2cd80bb003d738f50eb67e3940be3d --- /dev/null +++ b/Library/runn.C @@ -0,0 +1,216 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "runn.h" +using namespace std; +namespace iret { + +int mark(int pflag, long ct, int ivl, const char *what){ +if(pflag&&((ct%ivl)==0)){cout << what << " count=" << ct << endl; + return(1);} +else return(0); +} + +int get_qflag(){ + int pflag=1; + ifstream fin("quiet.flag",ios::in); + if(fin.is_open()){ + fin >> pflag; + fin.close(); + fin.clear(); + } + return(pflag); +} + +int get_pathw(char *nam,const char *pfl,const char *pex,const char *ch){ + char cnam[256]; + + strcpy(cnam,"path_"); + strcat(cnam,pfl); + strcat(cnam,"_"); + strcat(cnam,pex); + strcat(cnam,"."); + strcat(cnam,ch); + ifstream fin(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path_"); + strcat(cnam,pfl); + strcat(cnam,"_"); + strcat(cnam,pex); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path_"); + strcat(cnam,pfl); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + fin.clear(); + strcpy(cnam,"path"); + fin.open(cnam,ios::in); + if(!fin.is_open()){ + cout << "Path file for type " << pfl + << " does not exist!" << endl; + exit(1); + } + } + } + } + + fin.getline(nam,256); + fin.close(); + strcat(nam,pfl); + strcat(nam,"_"); + strcat(nam,pex); + strcat(nam,"."); + strcat(nam,ch); + return(1); +} + +char *add_num(const char *ptr,long n,char *buf){ + char cnam[100]; + long_str(cnam,n); + strcpy(buf,ptr); + strcat(buf,cnam); + return(buf); +} + +long gseed(int x, char **v, const char *c){ + long seed; + + seed=clnga(x,v,c,"seed for random number generator"); + srandom((unsigned int)seed); + return seed; +} + +long zrand(long p){ + return(((long)random())%p); +} + +void shuffle(long n,long *idx){ + long i,j,k; + for(i=0;i0;i--){ + k=zrand(i+1); + j=idx[i]; + idx[i]=idx[k]; + idx[k]=j; + } +} + +long clnga(int x, char **v, const char *c, const char *name){ + int i,flag=1; + long num; + + for(i=1;i> num; + if(oss.fail()){ + cout << "Enter " << name << ":" << endl; + cin >> num; + } + } + if(flag==1){ + cout << "Enter " << name << ":" << endl; + cin >> num; + cin.get(); + } + return(num); +} + +long rnd(double p) +{ +return((long)floor(p+.5)); +} + +double cdbla(int x, char **v, const char *c, const char *name){ + int i,flag=1; + double num; + + for(i=1;i> num; + if(oss.fail()){ + cout << "Enter " << name << ":" << endl; + cin >> num; + } + } + if(flag==1){ + cout << "Enter " << name << ":" << endl; + cin >> num; + cin.get(); + } + return(num); +} + +char *cstra(int x, char **v, const char *c, const char *name){ + int i; + char cnam[max_str]; + + for(i=1;i> n; +} + +//Function to convert first two char of string to an +//integer. Should be an ASCII null terminated string +int trac(const char *str){ + if(!(*str))return(0); + else { + return((int)(*(str+1))+128*((int)(*str))); + } +} + +} diff --git a/Library/runn.h b/Library/runn.h new file mode 100644 index 0000000000000000000000000000000000000000..94dfd53a6c022e0c850b4db8f4e244975f47933f --- /dev/null +++ b/Library/runn.h @@ -0,0 +1,392 @@ +#ifndef RUNN_H +#define RUNN_H + +#include +#include +#include +#include +#include +using namespace std; +namespace iret { + +const int word_cnt = 5000; //Maximum number of words in a document. +const int word_len = 1500; //Maximum word length. +const long max_str=1500; //Maximum string length. + +int get_pathw(char *cn,const char *dfl,const char *dex,const char *a); + //Reads the path from a file "path_(*dfl)" and constructs the + //file name from as "(*dfl)_(*dex).(*a)". Cats path and file + //name and returns the full info in cn. +char *add_num(const char *ptr,long n,char *buf); //converts long to ascii + //and cats to end of string and returns pointer to new string + //that results. Does not change input string. The new string is + //held in buffer space and this is overwritten at each call. + +int get_qflag(); + //This function gets the value of the print flag pflag that is + //used to control output. +int mark(int,long,int,const char*); + //This function is used to print out information that indicates + //how a function is progressing. It is dependent on the value of + //pflag. +long gseed(int,char**,const char*); + //This function is called to allow the input of a seed value for + //the random number generator. It must be called in main or the + //arguments of main must be passed down to it if it is to allow + //command line entry. Otherwise the first argument may be set to + //zero and it may be used to enter the seed at run time from the + //console. +long clnga(int,char**,const char*,const char*); + //Allows a long to be entered from the console at run time if the + //first argument is set to zero. If the first two arguments are + //the arguments of main, then it allows command line entry with + //the flag that is the third argument and with a statement about + //the input that is the fourth argument. +double cdbla(int,char**,const char*,const char*); +char *cstra(int,char**,const char*,const char*); +long zrand(long); + //Produces a random long integer that is in the range [0,argument). + //Machinery of the random number generator. +void shuffle(long n,long *idx); //Randomly shuffles an array of longs. +void dshuffle(long n,long *idx); //Randomly shuffles an array of longs. + //Improved version suggested by Don Comeau +long rnd(double); + //Rounds off a double and returns the integer that results. + + //Reads in a string including white space and ends the string + //just before the character a. +inline int get_string(char *cnam,ifstream &ifile,char a){ + char *pch = cnam; + long j=1; + + start: + if((*(pch++)=ifile.get())!=EOF){ + if(*(pch-1)==a){pch--;goto start;} + while(((*(pch++)=ifile.get())!=a)&&(j +void sSort(const long ix, X *idx){ + long k, j, ir, i; + X rra; + + if(ix<=1)return; + + k=(ix>>1); + ir=ix-1; + for(;;) { + if(k>0) { + rra=idx[--k]; + } + else { + rra=idx[ir]; + idx[ir] = idx[0]; + if(--ir ==0) { + idx[0]=rra; + return; + } + } + i=k; + j=((k+1)<<1)-1; + while(j<=ir) { + if(j +void sRort(const long ix, X *idx){ + long k, j, ir, i; + X rra; + + if(ix<=1)return; + + k=(ix>>1); + ir=ix-1; + for(;;) { + if(k>0) { + rra=idx[--k]; + } + else { + rra=idx[ir]; + idx[ir] = idx[0]; + if(--ir ==0) { + idx[0]=rra; + return; + } + } + i=k; + j=((k+1)<<1)-1; + while(j<=ir) { + if(jidx[j+1])) ++j; + if(rra>idx[j]) { + idx[i]=idx[j]; + j +=(i=j)+1; + } + else j=ir+1; + } + idx[i]=rra; + } +} + +template +void hSort(const long n, X *ra, Y *rb) { + long k, j, ir, i; + X rra; + Y rrb; + + if(n<=1)return; + + k=(n>>1); + ir=n-1; + for(;;) { + if(k>0) { + rra=ra[--k]; + rrb=rb[k]; + } + else { + rra=ra[ir]; + rrb=rb[ir]; + ra[ir] = ra[0]; + rb[ir] = rb[0]; + if(--ir ==0) { + ra[0]=rra; + rb[0]=rrb; + return; + } + } + i=k; + j=((k+1)<<1)-1; + while(j<=ir) { + if(j +void hSort(const long n, X *ra, Y *rb, Z *rc) { + long k, j, ir, i; + X rra; + Y rrb; + Z rrc; + + if(n<=1)return; + + k=(n>>1); + ir=n-1; + for(;;) { + if(k>0) { + rra=ra[--k]; + rrb=rb[k]; + rrc=rc[k]; + } + else { + rra=ra[ir]; + rrb=rb[ir]; + rrc=rc[ir]; + ra[ir] = ra[0]; + rb[ir] = rb[0]; + rc[ir] = rc[0]; + if(--ir ==0) { + ra[0]=rra; + rb[0]=rrb; + rc[0]=rrc; + return; + } + } + i=k; + j=((k+1)<<1)-1; + while(j<=ir) { + if(j +void hRort(const long n, X *ra, Y *rb) { + long k, j, ir, i; + X rra; + Y rrb; + + if(n<=1)return; + + k=(n>>1); + ir=n-1; + for(;;) { + if(k>0) { + rra=ra[--k]; + rrb=rb[k]; + } + else { + rra=ra[ir]; + rrb=rb[ir]; + ra[ir] = ra[0]; + rb[ir] = rb[0]; + if(--ir ==0) { + ra[0]=rra; + rb[0]=rrb; + return; + } + } + i=k; + j=((k+1)<<1)-1; + while(j<=ir) { + if(j ra[j+1]) ++j; + if(rra>ra[j]) { + ra[i]=ra[j]; + rb[i]=rb[j]; + j +=(i=j)+1; + } + else j=ir+1; + } + ra[i]=rra; + rb[i]=rrb; + } +} + +template +void hRort(const long n, X *ra, Y *rb, Z *rc) { + long k, j, ir, i; + X rra; + Y rrb; + Z rrc; + + if(n<=1)return; + + k=(n>>1); + ir=n-1; + for(;;) { + if(k>0) { + rra=ra[--k]; + rrb=rb[k]; + rrc=rc[k]; + } + else { + rra=ra[ir]; + rrb=rb[ir]; + rrc=rc[ir]; + ra[ir] = ra[0]; + rb[ir] = rb[0]; + rc[ir] = rc[0]; + if(--ir ==0) { + ra[0]=rra; + rb[0]=rrb; + rc[0]=rrc; + return; + } + } + i=k; + j=((k+1)<<1)-1; + while(j<=ir) { + if(j ra[j+1]) ++j; + if(rra>ra[j]) { + ra[i]=ra[j]; + rb[i]=rb[j]; + rc[i]=rc[j]; + j +=(i=j)+1; + } + else j=ir+1; + } + ra[i]=rra; + rb[i]=rrb; + rc[i]=rrc; + } +} + + +//Function to convert a long to a null terminated string. +void long_str(char *cnam,long n); + +//Function to convert a string with null termination +//to a long. +void str_long(char *cnam,long &n); + +//Function to convert first two char of string to an +//integer. Should be an ASCII null terminated string +int trac(const char *str); + +template +void xshuffle(Y n,Z *idx){ //Randomly shuffles an array of longs. + Y i,k; + Z u; + for(i=n-1;i>0;i--){ + k=(Y)zrand((long)i+1); + u=idx[i]; + idx[i]=idx[k]; + idx[k]=u; + } +} + +template +void dxhuffle(long n,Z *idx){ //Randomly shuffles an array type Z*. + long i,k; + Z xx; + for(i=n-1;i>0;i--){ + k=zrand(i+1); + xx=idx[i]; + idx[i]=idx[k]; + idx[k]=xx; + } +} + +} +#endif diff --git a/Library/runn.o b/Library/runn.o new file mode 100644 index 0000000000000000000000000000000000000000..f53d893e4b5b784cbb7e498744217be02df3be0b Binary files /dev/null and b/Library/runn.o differ diff --git a/Makefile b/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..32b0a2ebf4e9ca06c3d90ddb1c3b5054ffb6b1db --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +TARGET=CRFPP +JAVAC=javac +JAVA=java +JAR=jar +CXX=c++ +INCLUDE=/usr/local/jdk/include + +PACKAGE=org/chasen/crfpp + +LIBS=-lcrfpp -lpthread +INC=-I$(INCLUDE) -I$(INCLUDE)/linux + +all: + $(CXX) -O3 -c -fpic $(TARGET)_wrap.cxx $(INC) + $(CXX) -shared $(TARGET)_wrap.o -o lib$(TARGET).so $(LIBS) + $(JAVAC) $(PACKAGE)/*.java + $(JAVAC) test.java + $(JAR) cfv $(TARGET).jar $(PACKAGE)/*.class + +test: + env LD_LIBRARY_PATH=. $(JAVA) test + +clean: + rm -fr *.jar *.o *.so *.class $(PACKAGE)/*.class + +cleanall: + rm -fr $(TARGET).java *.cxx diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..51bd4984e354431d1952a6274e0d3c27f62cd934 --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# GNorm2 +*** +GNorm2 is a gene name recognition and normalization tool with optimized functions and customizable configuration to the user preferences. The GNorm2 integrates multiple deep learning-based methods and achieves state-of-the-art performance. GNorm2 is freely available to download for stand-alone usage. [Download GNorm2 here](https://www.ncbi.nlm.nih.gov/CBBresearch/Lu/Demo/tmTools/download/GNorm2/GNorm2.tar.gz) + +## Content +- [Dependency package](#package) +- [Introduction of folders](#intro) +- [Running GNorm2](#pipeline) + +## Dependency package + +The codes have been tested using Python3.8/3.9 on CentOS and uses the following main dependencies on a CPU and GPU: +- [TensorFlow 2.3.0](https://www.tensorflow.org/) +- [Transformer 4.18.0](https://huggingface.co/docs/transformers/installation) +- [stanza 1.4.0](stanfordnlp.github.io/stanza/) + +To install all dependencies automatically using the command: + + $ pip install -r requirements.txt + + +## Introduction of folders + + +- src_python + - GeneNER: the codes for gene recognition + - SpeAss: the codes for species assignment +- src_Java + - GNormPluslib : the codes for gene normalization and species recogntion +- GeneNER_SpeAss_run.py: the script for runing pipeline +- GNormPlus.jar: the upgraded GNormPlus tools for gene normalization +- gnorm_trained_models:pre-trianed models and trained NER/SA models + - bioformer-cased-v1.0: the original bioformer model + - BiomedNLP-PubMedBERT-base-uncased-abstract: the original pubmedbert model + - geneNER + - GeneNER-Bioformer/PubmedBERT-Allset.h5: the Gene NER models trained by all datasets + - GeneNER-Bioformer/PubmedBERT-Trainset.h5: the Gene NER models trained by the training set only + - SpeAss + - SpeAss-Bioformer/PubmedBERT-SG-Allset.h5: the Species Assignment models trained by all datasets + - SpeAss-Bioformer/PubmedBERT-SG-Trainset.h5: the Species Assignment models trained by the trianing set only + - stanza + - downloaded stanza library for offline usage +- vocab: label files for the machine learning models of GeneNER and SpeAss +- Dictionary: The dictionary folder contains all required files for gene normalization +- CRF: CRF++ library (called by GNormPlus.sh) +- Library: Ab3P library +- tmp/tmp_GNR/tmp_SA/tmp_SR folders: temp folder +- input/output folders: input and output folders. BioC (abstract or full text) and PubTator (abstract only) formats are both avaliable. +- GNorm2.sh: the script to run GNorm2 +- setup.GN.txt/setup.SR.txt/setup.txt the setup files for GNorm2. + +## Running GNorm2 + +Please firstly download [GNorm2](https://www.ncbi.nlm.nih.gov/CBBresearch/Lu/Demo/tmTools/download/GNorm2/GNorm2.tar.gz) to your local. +Below are the well-trained models (i.e., PubmedBERT/Bioformer) for Gene NER and Species Assignment. +Models for Gene NER: +- gnorm_trained_models/geneNER/GeneNER-PubmedBERT.h5 +- gnorm_trained_models/geneNER/GeneNER-Bioformer.h5 +Models for Species Assignment: +- gnorm_trained_models/SpeAss/SpeAss-PubmedBERT.h5 +- gnorm_trained_models/SpeAss/SpeAss-Bioformer.h5 + +The parameters of the input/output folders: + +- INPUT, default="input" +- OUTPUT, default="output" + +[BioC-XML](bioc.sourceforge.net) or [PubTator](https://www.ncbi.nlm.nih.gov/CBBresearch/Lu/Demo/tmTools/Format.html) formats are both avaliabel to GNorm2. + +1. Run GNorm2 + +Run Example: + + $ ./GNorm2.sh input output + +## Acknowledgments +This research was supported by the Intramural Research Program of the National Library of Medicine (NLM), National Institutes of Health. \ No newline at end of file diff --git a/bin/GNormPluslib/BioCDoc.class b/bin/GNormPluslib/BioCDoc.class new file mode 100644 index 0000000000000000000000000000000000000000..cb001dc9cfa9006815f7a90ef727c9b81057fe2e Binary files /dev/null and b/bin/GNormPluslib/BioCDoc.class differ diff --git a/bin/GNormPluslib/GN.class b/bin/GNormPluslib/GN.class new file mode 100644 index 0000000000000000000000000000000000000000..91bbd8444568e07bd483b1d889f0e88754c29a09 Binary files /dev/null and b/bin/GNormPluslib/GN.class differ diff --git a/bin/GNormPluslib/GNR.class b/bin/GNormPluslib/GNR.class new file mode 100644 index 0000000000000000000000000000000000000000..c502267c5e98f97537fb13e8914380613a16f1bc Binary files /dev/null and b/bin/GNormPluslib/GNR.class differ diff --git a/bin/GNormPluslib/GNormPlus.class b/bin/GNormPluslib/GNormPlus.class new file mode 100644 index 0000000000000000000000000000000000000000..88ebc6c980a229ea9acfc7191026db67ea50de86 Binary files /dev/null and b/bin/GNormPluslib/GNormPlus.class differ diff --git a/bin/GNormPluslib/PrefixTree.class b/bin/GNormPluslib/PrefixTree.class new file mode 100644 index 0000000000000000000000000000000000000000..23499a14119dec116f7957c1dbb2269d8cba8fd3 Binary files /dev/null and b/bin/GNormPluslib/PrefixTree.class differ diff --git a/bin/GNormPluslib/SR.class b/bin/GNormPluslib/SR.class new file mode 100644 index 0000000000000000000000000000000000000000..0d33f2b08726bd1055dd6691479dd473d7756335 Binary files /dev/null and b/bin/GNormPluslib/SR.class differ diff --git a/bin/GNormPluslib/SimConcept.class b/bin/GNormPluslib/SimConcept.class new file mode 100644 index 0000000000000000000000000000000000000000..be7ae0496d61755a4c0ef98b18538e7b5568f1dc Binary files /dev/null and b/bin/GNormPluslib/SimConcept.class differ diff --git a/bin/GNormPluslib/Tree.class b/bin/GNormPluslib/Tree.class new file mode 100644 index 0000000000000000000000000000000000000000..7122d6f4f8dc529c9836b4ead2683049210fdb3f Binary files /dev/null and b/bin/GNormPluslib/Tree.class differ diff --git a/bin/GNormPluslib/TreeNode.class b/bin/GNormPluslib/TreeNode.class new file mode 100644 index 0000000000000000000000000000000000000000..428284df5c8272adf8bb18f0fae714852cfebeb1 Binary files /dev/null and b/bin/GNormPluslib/TreeNode.class differ diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/LICENSE.md b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/LICENSE.md new file mode 100644 index 0000000000000000000000000000000000000000..248f1229710edb1cab24f4bbe97452da73a15741 --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/LICENSE.md @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8542b3a65414366ae3228e8f1658e538ec95f9b8855599c9c6e36751d592be66 +size 1072 diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/README.md b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ce0c63cd47052ed5f9fa224e436ec66d12360766 --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/README.md @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e352cf5351c9d0d86c3ad1b3df4ac96c520f1405c3e890a596984fd624af9c37 +size 1387 diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/config.json b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/config.json new file mode 100644 index 0000000000000000000000000000000000000000..5101ccadab61d25e0d2559a2b8571cf0b877d6bf --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/config.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43d7ad7e689ba9f702239036d0991a442ddc40ab3d43b9ce8943d05b61001085 +size 337 diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/flax_model.msgpack b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/flax_model.msgpack new file mode 100644 index 0000000000000000000000000000000000000000..c27f31093cb7091b0fb2d38823939bccba000f8d --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/flax_model.msgpack @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2048c0dca92fe54cf2bec6c36972511ca04e546060307098139b19221dd4e93f +size 437936109 diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/pytorch_model.bin b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/pytorch_model.bin new file mode 100644 index 0000000000000000000000000000000000000000..c78cf062c403d5a15a7bcd03165d1b8f9ffb84ea --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/pytorch_model.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2067177867a2345ac5c05dc398ce9c5ba06e49a87cabe21de138eef2b02201f +size 440472042 diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/version_vocab/vocab1.txt b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/version_vocab/vocab1.txt new file mode 100644 index 0000000000000000000000000000000000000000..3003962c8ccb573394c76ba6f54f787421be83db --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/version_vocab/vocab1.txt @@ -0,0 +1,28895 @@ +[PAD] +[UNK] +[CLS] +[SEP] +[MASK] +! +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ +¡ +¢ +£ +¤ +Â¥ +¦ +§ +¨ +© +ª +« +¬ +® +¯ +° +± +² +³ +´ +µ +¶ +· +¸ +¹ +º +» +¼ +½ +¾ +¿ +× +ß +æ +ð +÷ +ø +þ +Ä‘ +ħ +ı +ĸ +Å‚ +Å‹ +Å“ +Æ… +ƈ +Æ +Æ’ +Æ™ +Æ› +Æž +Æ­ +Æ´ +ƶ +Æ¿ +Ç€ +Ç +Ç‚ +Ç +È£ +È¥ +ȵ +ȶ +ȼ +É +É‘ +É’ +É“ +É” +É• +É– +É™ +Éš +É› +É +É¡ +É£ +ɤ +É¥ +ɨ +É© +ɪ +ɬ +É­ +É® +ɯ +ɲ +ɳ +ɵ +É· +ɸ +ɹ +É» +ɾ +É¿ +Ê€ +Ê +Ê‚ +ʃ +Ê… +ʈ +ʉ +ÊŠ +Ê‹ +ÊŒ +ÊŽ +Ê +Ê‘ +Ê’ +Ê” +Ê• +ʘ +Ê +ÊŸ +ʦ +ʧ +Ê° +ʱ +ʲ +Ê· +ʹ +ʺ +ʼ +ʾ +Ë +Ë‚ +˃ +Ë„ +ˆ +ˇ +ˉ +Ë +Ë‘ +Ë– +˘ +Ë™ +Ëš +Ëœ +Ë +Ëž +ËŸ +Ë  +ˤ +˪ +Ë­ +Ë® +Ë´ +ͳ +Í» +΀ +Î +΂ +΃ +΄ +Î +α +β +γ +δ +ε +ζ +η +θ +ι +κ +λ +μ +ν +ξ +ο +Ï€ +Ï +Ï‚ +σ +Ï„ +Ï… +φ +χ +ψ +ω +Ï +Ï‘ +Ï’ +Ï• +Ï– +Ï +Ï« +Ï­ +Ï° +ϱ +ϲ +ϵ +Ï» +ϼ +а +б +в +г +д +е +ж +з +и +к +л +м +н +о +п +Ñ€ +Ñ +Ñ‚ +у +Ñ„ +Ñ… +ц +ч +ш +щ +ÑŒ +Ñ +ÑŽ +Ñ +Ñ” +Ñ• +Ñ– +ј +Ñ› +ѱ +ѳ +ѵ +Ò‘ +Ò› +Ò +Ò¡ +Ò« +Ò¯ +Ò± +Ò³ +Ò» +Ó +Ó• +Ó™ +Ó© +Ó½ +Ô +Ô‘ +Õš +Ö¾ +× +×™ +×¥ +ר +ש +׳ +×´ +ØŒ +ا +Ø© +ت +Ø­ +Ø® +د +ر +ز +Ø´ +Ø· +ع +Ù€ +Ù +Ù„ +Ù… +Ùˆ +Ù  +Ù¡ +Ù¢ +Ù¤ +Ùª +Ù­ +Û¥ +ßš +ß +ࣈ +क +च +ण +फ +र +ल +ा +० +ภ+ข +ง +ต +ท +น +บ +พ +ฟ +ภ +ย +ร +ล +ว +ศ +ห +อ +ะ +า +฿ +๠+ใ +༌ +ဠ+á„€ +á„ +á„‚ +ᄃ +á„„ +á„… +ᄆ +ᄇ +ᄉ +á„‹ +á„Œ +á„Ž +á„ +á„ +á„‘ +á„’ +á…Ÿ +á…¡ +á…¢ +á…£ +á…¥ +á…¦ +á…§ +á…¨ +á…© +á…ª +á…¬ +á…­ +á…® +á…¯ +á…° +á…± +á…² +á…³ +á…´ +á…µ +ᆨ +ᆩ +ᆪ +ᆫ +ᆭ +ᆯ +ᆲ +ᆷ +ᆸ +ᆺ +ᆻ +ᆼ +ᆾ +ᇀ +ᇂ +ᇞ +᛫ +á´‚ +á´… +á´‹ +á´ +á´ +á´ +á´“ +á´¨ +á´ª +á´³ +á´¼ +áµ’ +áµ— +áµ +ᵧ +ᵪ +ᵯ +áµ¹ +ᶲ +á¾½ +᾿ +῾ +‑ +‒ +— +― +‖ +‘ +’ +‚ +‛ +“ +†+„ +‟ +† +‡ +• +‥ +… +‧ +‰ +‱ +′ +″ +‴ +‹ +› +※ +‾ +‿ +â +⃠+â„ +⎠+â“ +â— +â° +â± +â´ +âµ +ⶠ+â· +⸠+â¹ +⺠+â» +â½ +â¾ +â¿ +â‚€ +â‚ +â‚‚ +₃ +â‚„ +â‚… +₆ +₇ +₈ +₉ +â‚‹ +â‚Œ +â‚ +â‚“ +â‚£ +₤ +₦ +â‚© +€ +₱ +₵ +₹ +₺ +â„‚ +℃ +â„… +ℇ +â„‹ +â„ +â„ +â„‘ +â„’ +â„“ +â„• +â„– +â„— +â„™ +â„› +â„œ +â„ +â„ž +â„  +â„¢ +ℤ +℧ +ℬ +â„° +ℱ +ℳ +â„´ +ℵ +ℽ +â…… +â…“ +â…” +â…— +â…™ +â…š +â…› +â…œ +â…° +â…± +â…² +â…³ +â…´ +â…µ +â…¶ +â…· +â…¸ +â…¹ +â…º +â…» +↠+↑ +→ +↓ +↔ +↕ +↗ +↘ +↙ +↠+↦ +↷ +↼ +⇀ +⇄ +⇆ +⇋ +⇌ +⇠+⇑ +⇒ +⇓ +⇔ +⇠+⇨ +∀ +∂ +∅ +∆ +∇ +∈ +∊ +∋ +∎ +∠+∠+∑ +− +∓ +∕ +∖ +∗ +∘ +∙ +√ +∛ +∠+∞ +∟ +∠ +∡ +∢ +∣ +∥ +∧ +∨ +∩ +∪ +∫ +∴ +∶ +∷ +∸ +∼ +∽ +∾ +≂ +≃ +≅ +≈ +≊ +≌ +≠+≠+≠+≑ +≒ +≔ +≙ +≡ +≣ +≤ +≥ +≦ +≧ +≨ +≪ +≫ +≲ +≳ +≺ +≻ +≽ +≿ +⊂ +⊃ +⊆ +⊕ +⊖ +⊗ +⊘ +⊙ +⊞ +⊟ +⊠ +⊣ +⊤ +⊥ +⊿ +â‹„ +â‹… +⋆ +â‹Š +⋘ +â‹™ +â‹œ +â‹ +â‹® +⋯ +⌀ +⌈ +⌉ +⌊ +⌋ +⌜ +⌠+⌢ +⌣ +â´ +âµ +⺠+⎕ +⎼ +⣠+â‘  +â‘¡ +â‘¢ +â‘£ +⑤ +â‘¥ +⑦ +⑧ +⑨ +â‘© +â‘´ +⑵ +⑶ +â“’ +â“ +â“¡ +─ +│ +├ +┤ +┬ +â”´ +â• +â•‘ +╪ +╳ +â–ˆ +â–‘ +â–’ +â–“ +â–  +â–¡ +â–ª +â–« +â–¬ +â–¯ +â–² +â–³ +â–´ +â–µ +â–¶ +â–¸ +â–¹ +â–º +â–¼ +â–½ +â–¾ +â–¿ +â—† +â—‡ +â—Š +â—‹ +â— +â—¦ +â—» +â—½ +★ +☆ +☉ +☠+☓ +☺ +♀ +♂ +♢ +♦ +♪ +â™­ +♯ +✓ +✕ +✜ +✧ +✴ +✶ +âž +âž” +âž +➢ +➤ +⟂ +⟦ +⟧ +⟨ +⟩ +⟵ +⟶ +⦠+⦵ +⧧ +⧸ +⧹ +⨉ +⨪ +⨯ +â©’ +⩼ +⩽ +⩾ +â©¿ +⪅ +⪆ +⪕ +⪖ +⪠+⪡ +⪢ +⫽ +⬄ +⬜ +⬡ +⬢ +⬰ +⬽ +ⱪ +⸱ +â¿¿ +〠+。 +〈 +〉 +《 +》 +「 +〠+〠+】 +〓 +〔 +〕 +〖 +〗 +〜 +〠+〟 +ã‚¢ +ã‚« +ヒ +メ +リ +レ +・ +ã…£ +ㆠ+㎂ +㎠+㎖ +㎛ +㎠+㎟ +㎡ +㎶ +ã’ +丸 +å‚ +囊 +大 +å°„ +æ–¹ +æ°” +汤 +注 +消 +液 +清 +潜 +瘀 +益 +祛 +ç²’ +è‚ +肾 +胶 +芪 +è¡¥ +颗 +饮 +骨 +꞉ +꞊ +ꞌ +êžµ +ff +ï¬ +fl +ffi +ffl +ſt +ï´¾ +ï´¿ +︰ +ï¹’ +ï¹› +ï¹¢ +ï¹£ +﹤ +ï¹¥ +﹩ +$ +ï¼… +& +' +( +) +* ++ +, +ï¼ +. +: +ï¼› +< +ï¼ +> +? +ï¼» +ï¼½ +ï¼¾ +_ +c +i +ï½ +ï½ +ï½– +ï½› +| +ï½ +~ +、 +ï½¥ +ï½± +ï½µ +ï¾€ +モ +ï¿— +ï¿¡ +ï¿¢ +ï¿¥ +₩ + +ð‘ +ðŸ +ð« +ð´ +ð¸ +𑃠+ð‘ +ð‘‘ +ð‘’ +ð‘“ +ð‘– +ð‘› +𑜠+ð‘Ÿ +ð‘¡ +ð‘¥ +ð’† +ð’™ +ð’ž +ð’Ÿ +ð’¦ +ð’© +ð’ª +ð’« +ð’® +ð’¯ +ð“Ÿ +ð“£ +𔇠+ð” +𔹠+ð•Š +𕜠+ð–± +𘗠+𛂠+𛆠+𛼠+𛽠+𜀠+𜃠+𜅠+𜇠+𜋠+𜌠+𜒠+𜖠+𜗠+ð +##y +##q +##e +##0 +##5 +##3 +##8 +##a +##g +##p +##c +##t +##4 +##6 +##7 +##2 +##h +##d +##i +##n +##o +##s +##r +##w +##u +##k +##b +##f +##l +##m +##z +##v +##1 +##9 +##â‹® +##° +##x +##j +##≈ +##₃ +##∙ +##λ +##â» +##μ +##ø +##∼ +##→ +##δ +##× +##â„¢ +##∕ +##≫ +##β +##± +##â‚‚ +##₆ +##⩽ +##€ +##® +##∓ +##α +##Ñ +##γ +##£ +##≡ +##⋯ +##Ï€ +##â• +##⋆ +##Ï +##µ +##σ +##â‚… +##â‚„ +##Ëš +##á…´ +##ᄇ +##á…¡ +##ᆼ +##á„‹ +##á…² +##á„Œ +##á…± +##â‚‹ +##ï¬ +##´ +##₇ +##ε +##ß +##+ +##η +##© +##б +##³ +##е +##ı +##â–¡ +##∗ +##∶ +##â„ +##− +##Ï• +##⊂ +##Ë™ +##º +##∆ +##↓ +##κ +##∞ +##⺠+##₈ +##fl +##ι +##⸠+##∷ +##â‹… +##² +##â° +##æ +##↔ +##â‚ +##ζ +##Ï„ +##÷ +##ï¼ +##∘ +##¹ +##â· +##ⶠ+##χ +##ω +##Ï’ +##â„ +##ˆ +##Ñ„ +##о +##↑ +##⩾ +##φ +##¬ +##ϵ +##Ï… +##₉ +##θ +##ψ +##─ +##├ +##≪ +##Å‚ +##♂ +##â„“ +##âž” +##â…± +##â´ +##≳ +##ν +##~ +##√ +##≲ +##< +##к +##â¹ +##⊃ +##н +##∠+##â‚€ +##âµ +##¯ +##↠+##ff +##΄ +##а +##É™ +##â—¦ +##≃ +##≅ +##Å“ +##É› +##⧹ +##⺠+##â…° +##É‘ +##ο +##⇒ +##♀ +##Ë‚ +##â—‹ +##â–´ +##> +##⊗ +##Ñ€ +##в +##ж +##℃ +##∈ +##∧ +##⊙ +##¢ +##м +##á…­ +##á…µ +##ᆫ +##á…¦ +##∑ +##у +##з +##л +##Ñ– +##≦ +##≧ +##Ë® +##≒ +##ï¹¥ +##≊ +##¼ +##â–³ +##á„… +##á…© +##á…¥ +##ᆨ +##Ä‘ +##⊥ +##Ñ‚ +##â…³ +##˃ +##Æ’ +##ξ +##│ +##¾ +##â…² +##ð +##ϲ +##â“’ +##⣠+##â”´ +##∥ +##â–ª +##⧧ +##𛽠+##âž +##É£ +##∇ +##ш +##ᶲ +##и +##г +##♦ +##∫ +##∩ +##½ +##ſt +##⇋ +##â…· +##Ëœ +##⧸ +##¨ +##⨯ +##∣ +##ª +##∨ +##ĸ +##â— +##â–¬ +##Â¥ +##â…´ +##⇑ +##⇓ +##⇆ +##⬢ +##∠+##É• +##â„… +##Ñ… +##⇌ +##Ë +##∪ +##⊕ +##Ç€ +##Ë– +##É’ +##⬜ +##ᆯ +##ᆸ +##д +##ð‘ +##⇀ +##Ë +##≠+##þ +##↷ +##ɹ +##ʃ +##Æž +##⟶ +##⇄ +##┤ +##ц +##Ñ +##ßš +##¸ +##п +##∴ +##⇔ +##â„– +##ʱ +##↦ +##ͳ +##⪅ +##â–µ +##⇠+##Éš +##ᆺ +##É +##ɪ +##â‘¡ +##Ò¡ +##⊠ +##∂ +##ꞌ +##≠+##ˇ +##â–’ +##ÑŽ +##☓ +##∖ +##ˉ +##┬ +##⎼ +##â‚“ +##Ï‚ +##〓 +##¦ +##áµ’ +##⋘ +##â± +##ᆷ +##á…³ +##â…“ +##㎠+##â–  +##♯ +##΀ +##≿ +##Ò¯ +##ᄉ +##Ï­ +##Ëž +##ɸ +##∅ +##⪢ +##↠+##á´‚ +##𛆠+##áµ +##Ë„ +##ᵧ +##á…ª +##á„’ +##á„€ +##á…§ +##ᄃ +##∊ +##á…Ÿ +##¤ +##☉ +##Ê° +##â“¡ +##ᄆ +##Ï +##ר +##× +##ש +##×™ +##| +##â–“ +##ч +##ÑŒ +##á„‘ +##ᆩ +##á„‚ +##Ë‘ +##⊖ +##⦠+##â„‘ +##ℇ +##â…º +##â‹œ +##᾿ +##á…¢ +##ï¿¥ +##â•‘ +##Ñ” +##â‚ +##á…® +##ʼ +##Ò› +##Ò« +##ฟ +##น +##ð’¯ +##⊟ +##฿ +##É” +##Ê +##â‹™ +##ÊŒ +##á…¬ +##â…¶ +##⪡ +##Ï° +##ᆾ +##⊘ +##Ù€ +##ᇞ +##â–¸ +##✕ +##â‹„ +##ℤ +##ã…£ +##ffi +##↼ +##อ +##ง +##áµ— +##â…¸ +##É– +##ffl +##ÊŠ +##â¿¿ +##╳ +##ï¹¢ +##Î +##â–¿ +##Ë +##Ë­ +##≺ +##â‚£ +##Ï– +##↕ +##⬰ +##á„ +##⬡ +##⪆ +##↘ +##á…° +##₵ +##า +##ใ +##ต +##บ +##⊿ +##ð’ž +##â„’ +##ɳ +##ѱ +##Ù„ +##Æ› +##ϱ +##⨉ +##ð‘– +##ð‘“ +##ð‘’ +##ð‘Ÿ +##ð‘› +##ð‘¡ +##𑜠+##ว +##â‹ +##â‚Œ +##á„ +##â„ +##Å‹ +##ᆻ +##ภ+##∽ +##Ñ• +##Ó +##Ù¢ +##á¾½ +##ħ +##⬽ +##É¡ +##ㆠ+##ï¼¾ +##É© +##ᇂ +##℧ +##â…» +##Ç +##É· +##Í» +##⌀ +##ð‘ +##ѵ +##ɤ +##㎛ +##˘ +##Ê’ +##꞊ +##ा +##क +##𜀠+##á´ +##â…µ +##ï¿¢ +##ï¾€ +##モ +##ℱ +##á´¼ +##ï½± +##ʲ +##ј +##د +##Ù… +##Ø© +##â™­ +##á´‹ +##΃ +##₺ +##â„— +##꞉ +##ʹ +##á´ +##ز +##ع +##ر +##Ùˆ +##ᆭ +##↗ +##﹤ +##á…¨ +##Æ´ +##ð‘‘ +##メ +##リ +##ã‚« +##≽ +##≣ +##ʾ +##á„Ž +##á…¯ +##Î +##⊆ +##Æ™ +##Ê‚ +##â„• +##Ø´ +##ا +##Ù +##⟂ +##≠+##ᆲ +##ᆪ +##ʉ +##ï½µ +##â„  +##ï½ +##Æ­ +##ल +##⊣ +##ˤ +##á„„ +##Ò» +##∀ +##á…£ +##â–‘ +##ɾ +##∟ +##êžµ +##≔ +##Ù¡ +##ت +##✓ +##ʘ +##â–¼ +##É® +##i +##ï½– +##Ê +##Ù  +##≑ +##₦ +##ヒ +##Ç‚ +##𜃠+##â„ž +##⌢ +##Ï‘ +##ß +##ɵ +##â©¿ +##È¥ +##ⱪ +##â…” +##ȼ +##レ +##â¿ +##Ë´ +##ð’† +##♪ +##☆ +##⨪ +##ð“£ +##â–ˆ +##Ù¤ +##â©’ +##ɬ +##ƈ +##á´ +##⌣ +##𜅠+##Ê· +##â‘¢ +##≤ +##Ñ› +##∠ +##Ñ +##ѳ +##ï½ +##ℳ +##â—Š +##र +##ण +##ðŸ +##∎ +##⇠+##ÊŽ +##☺ +##⟵ +##â„œ +##㎖ +##Ë  +##๠+##ล +##ะ +##ข +##ภ +##พ +##ย +##ร +##ท +##ศ +##ʺ +##â…¹ +##⫽ +##â‘  +##∋ +##Û¥ +##â„‚ +##≻ +##á´ª +##Ç +##á„ +##΂ +##È£ +##𜋠+##É“ +##ɯ +##á´“ +##Ó© +##â‘© +##ℵ +##â‚© +##★ +##𛼠+##ᇀ +##â‘£ +##ti +th +##er +##on +##en +##es +##ed +##in +the +##al +in +an +##or +of +##at +##an +##ro +##tion +and +##as +##it +##ic +##ar +##is +##ent +##ec +##re +##el +##ing +to +##ation +##ul +##et +##ol +##om +##ac +##ur +##os +##ith +##us +##ve +##id +##ati +with +##ly +##le +con +st +##th +##ere +##ter +##ig +pro +for +re +##ts +##uc +##od +##il +##em +as +##if +was +##ated +##un +##ess +##am +##ce +##im +##tr +##ow +ex +is +res +##um +##oc +were +##op +##ut +##tic +##ity +##ir +##ion +on +##ents +ac +com +##ate +that +##ab +##ot +##og +al +be +##ys +ch +##ud +##ev +##ag +##ell +by +##ad +##ain +##ap +##rom +wh +##ical +##ect +##ant +or +pr +##ers +##ib +su +##pl +##ine +##ment +pati +##ase +##iv +##ep +im +##tin +tr +##ff +dis +at +##igh +ad +us +we +##tiv +inc +this +##ph +comp +patients +##ence +are +##qu +sp +en +from +##ure +cell +stud +##tive +##iz +##ay +##ign +##ial +sh +un +##ific +ne +ind +##te +met +##ies +##ch +##ations +per +##fer +##per +##ress +rec +##ous +##ort +##ip +##orm +##ans +ass +##ens +ph +eff +##ear +##evel +##ore +resul +##rou +##ge +##ons +##oun +cl +##ia +##ely +gen +##est +ap +##act +##ting +sign +##bs +##enti +inf +##ular +##ary +##ition +##yp +dif +##oth +##olog +par +bet +##erm +high +pre +inter +##ese +rel +##ased +can +##cl +cont +tre +##ver +not +pl +results +ha +##ors +co +de +##ding +imp +##yl +these +meth +ev +study +##ym +resp +car +exp +##ich +pos +##roup +##ist +me +##st +##der +differ +str +##enc +trans +##ance +##ose +incre +##ative +di +group +signific +##ath +am +##een +##duc +anal +##ection +sur +##ied +significant +cells +reg +mod +##and +##ast +##ong +##ual +det +af +rep +spec +pres +##iti +cons +activ +all +method +which +##ween +##able +have +##age +between +sc +inv +show +##vi +##rol +mic +##all +##ory +##00 +##oci +ab +int +##end +##ide +after +ar +##ression +##oll +##ound +cor +##ater +treat +##atin +he +##ros +than +no +##ach +##ved +##usion +##ug +compar +##ects +tw +##ally +##ari +##ected +##tein +##one +se +##alu +##yst +##ther +level +anti +##ight +##yn +##ates +##unc +med +app +ag +##ever +##ases +##ech +##cr +associ +##ost +##ive +treatment +##ak +##ective +##our +using +##form +it +##tim +le +##ility +bl +##ome +but +##ox +has +been +protein +##entr +two +##unction +des +dur +##ted +##na +control +analys +##ulation +el +ob +##ood +##ized +bi +##ating +##ard +##evelop +##ue +more +low +dec +develop +hy +may +##mun +##ang +##anc +both +##osis +##dition +##so +mon +sub +clin +##ree +ca +year +ser +##action +dise + +dat +fl +their +red +##ass +##yt +##hib +##cess +also +tim +dep +##gg +##pt +##ill +##ob +##acter +##ri +##ures +syst +used +concl +##ub +##cer +##uced +during +##ectiv +there +id +##ined +##ological +##erap +had +##agn +##iss +function +##ism +fact +meas +dr +##uld +system +respons +##ogen +man +##ew +vari +gl +clinical +obs +data +em +##br +##out +suc +incl +##gen +##ond +heal +##ution +##atic +es +how +methods +out +associated +##pp +under +sim +##urr +present +form +##plic +##ack +analysis +sugg +sam +over +acc +##aph +##etic +##ium +one +model +conclusion +includ +ris +foll +health +typ +##uct +##ult +increased +produc +use +##inding +activity +compared +significantly +pol +##ays +disease +non +conc +up +syn +##ained +inhib +expression +levels +ins +obser +##gr +##ven +other +end +found +##ace +##ole +##ization +follow +time +##ici +qu +##entif +##ild +oc +##eth +##ite +##ential +perform +##itive +immun +20 +##ogr +##und +risk +fr +exper +##tig +##ane +dem +evalu +gr +determ +cr +##ants +pot +##ail +different +studies +effect +br +hum +identif +effects +showed +##ments +indic +##ile +its +based +exam +##atory +##ish +appro +##tal +prov +##row +##estig +therap +investig +char +partic +concentr +##oid +##als +however +tum +sm +path +ma +report +min +sel +##mon +##ery +##ities +most +##ences +##adi +specific + +infl +##ectively +diagn +##onstr +##ma +assess +##ple +contr +rem +##esis +##ency +ep +when +##ination +our +years +##av +subs +##idence +##etr +##tern +def +op +mul +supp +##ormal +acid +age +##ren +into +decre +##ability +only +##ange +well +higher +intr +##ograph +##tical +##oph +three + +##erg +##ork +cancer +##iqu +##ently +test +##ions +##ited +peri +##ology +##ber +##inal +pred +gener +mal +human +##echan +##ept +induced +##ature +##arg +##ement +such +##af +mol +new +##ible +impro +observed +character +import +num +sec +struct +mechan +##til +##ord +groups +##ix +##ik +patient +##ov +##ugh +##rel +fir +sens +demonstr +child +##rop +occ +col +##res +ox +chang +loc +##tid +##ron +##gh +rate +##aining +blood +kn +##lex +cases +##ute +post +related +##use +surg +process +##cop +##ark +tiss +micro +##ok +##ured +term +rat +who +##tit +fe +first +##view +##oma +fur +suggest +valu +aff +##uction +gene +response +mem +disc +addition +##amm +##echn +##ural +cal +po +##rough +neu +##ough +##dro +type +##ten +##osph +inj +those +grow +##och +development +##osed +##own +techn +##round +##ior +among +sol +##ful +respectively +##its +##ulated +condition +conf +##ines +mean +care +cd +##vention +##ental +molec +recept +##ucle + +##ital +##les +month +drug +factors +del +through +mg +##ains +##arly +pop +total +hyp +ps +ol +##omen +changes +il +##fore +increase +prim +cyt +bas +##ize +correl +role +invol +00 +potential +##di +##ivid +obj +##endent +prop +long +prob +experim +##ould +phys +##ational +##asc +##tained +plas +subj +##xim +fre +normal +gre +##crib +##urs +finding +my +##earch +medi +mus +important +##ived +stim +back +adm +##eng +lower +main +##vers +predic +##roph +##omy +could +simil +##led +mechanism + +##over +##istic +##ha +ii +##ex +##ek +within +sym +hist +##ds +##cin +performed +##gan +infection +so +##air +where +##eter +##ody +sequ +number +##ene +comb +frequ +##osp +lik +extr +sever +hyper +therapy +95 +review +##ms +conclusions +prog +##ption +##ps +outc +less +coll +##ider +while +multi +##ade +flu +##cle +mm +cap +each +##ether +children +requ +antib +hydro +bec + +treated +reported +##iver +lim +including +##val +similar +##ages +period +poss +vir +growth +tumor +do +fib +some +complex +aim +##orph +ext +##ores +##ock +women +##vious +##omes +positive +##arge +radi +pur +describ +pat +reve +##ne +200 +13 +dna +findings +##ric +##otic +cy +chem +factor +##ptom +prom +did +without +##ival +ret +30 +inhibit +##pha +week +mo +cardi +##ividual +mut +work +##ples +prot +##ground +tem +er +case +##zym +four +##iel +abs +##tivity +mice +they +##ily +individual +##ues +consider +dir +background +25 +##istr +##abol +tissue +calc +18 +days +approach +pe +av +##ascular +##ativ +surf +##ness +months +previous +vit +##ise +need +curr +##ale +##otyp +isol +##oper +phosph +identified +common +sing +measure +##ically +reveal +##ty +hem +maj +##ake +##iter +sev +major +vis +##oh +##ross +beha +synth +techniqu +##equ +organ +nucle +design +caus +##fl +##are +presence +research +##plet +behavi +analy +second +provid +mark +##ality +differences +##ocyt +##med +##ified +further +##uss +surv +mater +vol +symptom +reduced +##atal +small +16 +metabol +24 +obtained +##ced +binding +hosp +class +serum +dose +##ning +influ +##plications +rats +##atis +##crip +cult +mat +##par +initi +evidence +##ymph +due +single +early +##ography +##ice +und +sk +day +lip +expl +inform +admin +##acy +about +species +##ety +##lish +##ung +##ties +enzym +##ft +decreased +sl +##ately +conditions +05 +receptor +##itis +bre +primary +alth +##ension +lymph +50 +although +os +subjects +##hip +##esting +##ogn +qual +diagnosis +enh +lab +ele +measured +##ites +concentration +##old +##ink +ml +rati +particip +##trib +##int +arter +##ins +ci +##ressed +proteins +studied +neg +##roscop +concentrations +fem +population +##ectr +##oles +##las +pers +##ither +##ests +resist +improve +100 +alpha +mr +lif +rece +hep +should +beta +##ication +range +##ateg +brain +pattern +genes +developed +investigated +##ials +##ych +objective +samples +##ength +##gf +plasma +line +press +lead +set +phen +membr +if +ec +following +##erv +interaction +revealed +##vir +##emia +##erc +##amic +aut +##aging +reaction +demonstrated +##arget +17 +der +discuss +analyz +coun +dependent +target +##plant +anim +surgery +ang +prol +##ening +##onal +vs +several +chron +surface +##eptid +##ulin +est +fam +relations +##hy +inflamm +##tan +##por +##osure +oper +##ind +gluc +##ield +##aneous +large +proper +molecular +hospital +stand +##roduc +elect +kg +adv +##ick +les +here +examined +##asing +complet +##cent +##oss +survival +appear +weight +prof +functional +chrom +ul +effective +hear +##ensity +evaluated +requir +information +liver +unders +proced +values +quan +deg +again +##tered +##az +prac +local +201 +phase +estim +polym +stress +##cs +electr +##tis +##ax +determined +region +##tions +val +standard +diff +ir +neur +##ire +bone +param +relationship +nec +whether +rates +01 +determine +acute +##ause +chronic +mass +body +free +cle +##arm +pain +sch +sus +diab +enhanc +water +occurr +either +equ +before +pul +life +##ving +intervention +bacter +will +001 +characteristic +pressure +conduc +##onic +gu +##omic +included +greater +ur +quality +##ian +same +various +##yr +##ivers +##icient +reduction +pathw +activation +structure +##uth +provide +injur +dim +##sp +thus +##viron +support +against +many +##plication +##ator +##ulations +manag +hel +ro +ratio +##ocytes +##orb +contrib +ren +shown +##lement +cir +multiple +vitro +nov +##ification +##iven +signal +##tain +exposure +##amin +symptoms +known +gly +current +##atively +direct +##operative +sep +medical +dom +##ules +purp +psych +prec +exc +nan +whereas +vi +negative +genetic +production +because +distrib +carb +##andom +##eters +##ission +ach +fail +flow +formation +21 +fac +##eu +sal +environ +##rome +detected +##amine +adj +random +compound +##ostic +##ellular +rele +40 +strong +##gram +##ensive +##tric +##ateral +##uted +recom +##ists +##ometr +possible +pub +transcrip +mort +##itivity +##ude +association +loss +part +nm +##up +##emic +pap +any +##cept +reduc +compon +##ae +##ct +ms +##icity +change +repres +##ocy +##ynamic +##nal +controls +membrane +success +order +##eration +confir +sex +involved +muc +weeks +cent +##otherap +six +performance +muscle +responses +avail +general +size +##atus +mechanisms +##tif +difference +oxid +##gn +commun +mortality +particular +lo +virus +##ablish +temper +##ient +properties +tox +hypoth +indep +five +establish +strateg +assessed +cycl +models +experi +lung +statis +consist +##ann +resid +##uk +synd +differenti +##elial +##istration +state +increasing +overall +##atures +behavior +##ision +carcin +purpose +identify +men +000 +##ochem +22 +sin +old +60 +##ward +novel +management +##olution +contin +cm +regul +##aw +heart +##aps +##ised +super +diet +poly +presented +being +analyzed +proble +amin +##inant +scre +rap +mac +##ologic +##eral +neuro +magn +ct +surgical +link +##estion +contrast +##eutic +##app +area +like +self +imaging +##opath +death +phot +foc +##ording +intra +frequency +viv +environment +ov +##acc +eth +##iciency +##iving +evaluate +volum +allow +##reg +##itor +active +dys +outcomes +##ie +circ +preval +##dr +##active +result +recent +therefore +##otherapy +parameters +severe +outcome +##eric +centr +peptid +stage +value +vivo +very +isolated +##elet +add +##ographic +tra +distribution +##ergy +short +indicate +technique +decrease +##ust +mit +enzyme +##oses +resistance +##odies +##etes +enc +##verage +##lor +detection +participants +morph +nit +index +sw +injury +experimental +renal +optim +##tinal +##orts +systems +male +hom +induc +23 +administration +block +site +cross +previously +##ides +inhibition +stimul +accur +sensitivity +vers +diseases +##icular +ve +##ogenesis +dev +characteristics +##ended +healthy +##osition +##ably +left +tested +syndrome +##tex +##amp +described +prepar +exhib +gas +assay +therapeutic +pregn +rapid +##ocial +bene +##ule +att +highly +##asis +considered +animals +##rh +##tegr +glucose +##ancy +##iat +##ull +##oplas +artic +fat +mediated +investigate +maxim +rh +benef +fil +correlation +incidence +##inc +followed +atten +available +containing +199 +##ours +##eding +family +##iological +##ns +lesions +cere +sequence +then +##tically +##de +status +##ode +saf +##ylation +tub +##ances +better +##ices +##ogenic +types +kin +sample +da +##ids +##ouse +##ters +improved +##ially +##of +prolif +##red +hiv +relative +##roscopy +##inary +caused +##olic +##opt +impact +28 +##ops +##ount +derived +##ner +individuals +##ocard +energy +breast +##ulf +##ually +##ands +surve +nor +required +##itation +her +effic +##ces +via +inflammatory +##otype +##verse +insulin +cause +pharm +te +release +solution +##els +integr +temperature +##iev +cardiac +field +##plied +hypert +##ygen +pc +##ey +##acellular +adh +secre +percent +net +amino +record +##terior +bel +ultr +35 +sites +ability +dist +poor +spect +mrna +##omp +expressed +influence +approxim +combination +assessment +produced +analyses +conducted +physical +prevalence +light +##arc +##eline +program +##therm +##ves +received +comparis +indicated +practi +##itu +useful +length +liter +know +focus +volume +##roc +##line +##oy +complications +##ectomy +them +given +elev +content +refer +##tial +skin +diabetes +##pr +tak +##tine +##monary +##ressive +##ling +##pec +monitor +abn +evaluation +sour +metast +visual +##ortion +##romb +##ibility +drugs +26 +ver +density +larg +features +##cence +adult +recover +average +independent +##ols +likely +even +correlated +heter +efficacy +scale +ill +valid +according +hc +immune +##ysis +synthesis +tumors +cat +continu +quantit +lig +dam +impair +mar +separ +compounds +diagnostic +acet +hr +##abil +##enz +injection +abnormal +applied +##ones +play +question +characterized +coh +often +apopt +orig +##uble +recogn +##izing +thir +ventr +good +demonstrate +initial +cop +off +##vent +oral +##resp +##order +##go +ic +cre +introduc +chall +vascular +##cep +##mit +social +recurr +activities +medic +oste +central +transcription +angi +transfer +fraction +##orders +##ators +##tanding +##oung +might +young +##vement +spectr +27 +##medi +least +paper +mix +45 +made +##mic +##orption +failure +tissues +glyc +pa +##otox +predict +pd +util +##ored +measures +##tle +cellular +##ising +carr +##ecting +underw +enhanced +represent +cs +##enced +32 +measurements +receptors +##rees +disorders +score +transplant +biological +nat +female +aden +areas +##thermore +furthermore +experiments +cri +procedure +##ledge +##yro +food +##ask +##ta +stimulation +asp +understanding +cur +epid +techniques +subsequ +literature +times +regulation +successful +knowledge +##ales +##art +90 +discussed +emerg +moder +strains +rna +diss +adul +80 +minim +regression +31 +observ +##ables +##work +combined +regions +degrees +36 +processes +##rob +position +repe +dynamic +##tib +##omal +approximately +##lic +tests +since +fin +ed +oxygen +few +underwent +baseline +arr +patterns +29 +pathway +##ocyte +median +would +culture +##uture +##bers +##igr +events +##rogen +step +affected +##ustr +bm +proposed +##olar +48 +artery +air +prior +thromb +nurs +progn +smok +occurred +pulmonary +resulted +ey +right +collected +confirmed +limited +antibodies +fluores +##ont +biom +coron +ess +##iotic +suggested +##rosp +educ +##opro +antibody +interactions +pcr +##omas +##eness +##erve +antigen +neurons +cogn +##da +##ier +##ochemical +achiev +epith +##ytic +section +ax +##ower +sensitive +methyl +electro +mid +key +33 +criter +constr +##lying +hydrox +agg +##iatric +##otor +horm +##till +suggests +##ru +complete +pharmac +labor +network +comparison +practice +versus +##ler +lack +auth +gam +refl +materials +serv +inhibited +carcinoma +##utr +suggesting +increases +alter +recomm +structures +endoth +application +established +setting +trials +70 +seen +guid +additional +exerc +chemical +##ke +place +hal +vacc +history +down +invas +isch +catal +altern +periph +cer +##ovascular +controlled +##urn +37 +malign +screening +coronary +relev +across +alc +iii +provides +chain +lay +accum +##10 +examination +strain +corr +transp +##ave +mir +duration +adults +scores +displ +electron +##ious +disorder +bir +action +prost +promo +##ploy +depend +mouse +espec +plat +iv +substr +especially +hand +secondary +##onding +future +##ining +##istered +##inetic +mel +training +capac +##ogene +seg +75 +##acts +corresp +selected +eight +proliferation +consum +##rosis +##terol +sil +defined +##nf +rad +##oscop +##oxid +##ethyl +##fusion +##emb +##last +agents +sum +##bral +sle +##ii +alcoh +##iratory +##pa +inhibitor +lat +colon +peak +##grad +detect +polymer +plac +34 +##utes +bar +##ondr +et +02 +kid +recently +help +toward +article +still +##set +ultras +##aff +##ture +desp +##me +basis +kidne +side +##ld +ref +go +ant +despite +##orbid +cours +components +##ying +damage +glut +lit +head +##estinal +lipid +leuk +molecules +chlor +describe +structural +##agon +suff +postoperative +clear +bil +phosphor +critical +improvement +apoptosis +##bry +prosp +mes +fold +hip +peripheral +diffic +##eph +cost +##ibr +graf +##tre +adap +criteria +distin +##ets +metabolic +##agen +fer +dop +kinase +ion +necess +chann +##ancre +real +##isting +##yroid +signaling +exercise +##ochondr +chromos +populations +calcium +don +peptide +bio +infected +provided +daily +##iting +depression +doc +alone +nerve +differentiation +##ectives +aged +task +strategies +##odes +load +prevent +trial +sem +##occ +great +affect +ra +series +functions +##ergic +does +therm +rang +na +od +##esth +interval +ampl +fet +activated +consistent +facil +point +situ +##entially +embry +concer +sn +##anol +essential +perce +##pre +testing +42 +eng +##iversity +retrosp +cou +frag +sod +##enting +elevated +moreover +##ints +##50 +acids +38 +employ +resulting +cognitive +importance +reduce +plant +community +hours +##ems +top +pancre +prote +absence +onset +mitochondr +cryst +glob +marked +pregnancy +simple +##ove +myocard +medium +rare +##ather +products +linear +implant +convention +degree +##otid +##umin +survey +##ptake +questionna +remains +achieved +log +##omer +transport +las +lines +access +reli +sci +particularly +migr +seven +infections +##bo +material +##oint +microm +natural +##ulate +capacity +transform +sulf +##oids +toler +lear +##function +metabolism +##ca +pig +cytok +##trans +##arding +##ument +diagnosed +##ophil +##ople +##olesterol +fract +power +##ef +##uter +extract +procedures +older +problems +##etry +##ayed +##pri +states +open +markers +##ivery +transl +transm +require +##ogl +fluid +dig +doses +appropri +##dom +quantitative +##arb +delivery +ear +bacterial +##oster +##12 +exposed +examine +label +underst +nutr +upon +##arr +recovery +wor +##ics +conventional +highest +magnetic +uptake +carbon +tog +stable +progression +##utaneous +biops +undergo +variables +reproduc +together +clus +pathways +##put +##ortic +experience +proportion +induction +##ched +cardiovascular +course +calculated +stro +rest +##thr +##imens +experiment +stem +statistically +sequences +administered +##icians +strength +gamma +maximum +cycle +##nas +irr +##ogenous +origin +##atitis +consequ +pair +##uff +##se +act +##isms +component +kidney +##itional +adverse +estimated +iss +##encing +respond +whole +host +nuclear +regarding +summ +people +alcohol +ge +##brid +cohort +polymorph +##icial +##eti +respiratory +resistant +internal +bro +##oz +antagon +pp +65 +wall +linked +##ession +carried +tempor +public +##gl +much +198 +prefer +lact +objectives +ventricular +include +safety +inflammation +##inity +43 +little +needed +03 +##idine +39 +mutations +domain +##anced +wid +inhibitors +variation +##titution +mak +##osa +##istry +mamm +sleep +##rolog +environmental +##ank +hypertension +special +severity +best +modified +##other +fas +terms +birth +##anning +dimension +systemic +laboratory +##rix +distinct +specificity +protoc +##hydro +exhibited +##pling +hb +animal +ped +##acr +along +motor +subsequent +##activity +bp +taken +##ered +var +ster +relatively +endothelial +stroke +##roscopic +ng +identification +pt +authors +const +recorded +problem +fix +home +pm +cholesterol +alg +##ceptib +monitoring +44 +countr +evolution +##esized +chemotherapy +##encies +appar +selective +conn +radiation +microb +indicating +##ense +cys +mt +##cler +having +55 +##oding +##bp +atp +susceptib +bal +randomized +##ulating +##uring +spati +his +dysfunction +star +##ea +##ococc +##sh +acqu +late +yield +amount +macroph +degrad +reson +spe +wide +incor +appropriate +hypothesis +##inated +limit +##atives +traum +restric +mc +##eff +relevant +confidence +liqu +##io +able +moderate +##que +thick +source +physiological +measurement +chromat +bacteria +bound +remov +recomb +##onomic +platelet +##dl +excl +##otypes +interventions +##utive +causes +microscopy +treatments +##mediate +designed +tom +composition +underlying +##ame +ht +hs +sd +##oral +arterial +double +corresponding +matrix +72 +intracellular +adoles +##fact +mainly +grade +efficiency +##kn +compare +accuracy +approaches +41 +hybrid +males +stre +implement +hepat +quantif +intensity +gran +occur +soci +ven +substan +alk +contex +attention +prevention +cp +continuous +means +##rin +contribute +##urb +search +cos +46 +##itude +cerebral +females +##ights +strategy +##oxy +##uded +antibiotic +diabetic +mental +trig +##fs +##ressing +education +wild +difficult +famil +myocardial +alternative +anterior +developing +later +necessary +repair +gastric +terminal +##hood +world +##ometry +selection +cho +reach +though +##oprotein +adjus +##uration +detail +half +secretion +reviewed +shif +arg +memory +ter +frequently +tnf +chin +national +##amide +##neum +extent +99 +images +susp +promot +##anes +##ending +sodium +predicted +shows +chol +opp +##yth +##ique +infants +##ams +04 +stability +stimulated +##ariate +shap +##enty +directly +cd4 +52 +students +regard +repl +##oglob +bur +forms +challeng +genome +intake +transition +##rine +color +imm +appears +tool +##activ +##ished +##ometric +##ges +##illary +gel +persist +third +toxicity +##ool +adren +full +epithelial +incorpor +inh +larger +leading +facilit +47 +lesion +err +interfer +pi +hepatic +instr +isolates +generation +revers +plasm +hormone +##orn +mil +she +rs +view +resolution +coli +prospective +diam +last +##cc +processing +##yg +multiv +tetr +deriv +led +##iety +iso +reports +bo +transplantation +##izes +viral +atr +ta +generated +must +##ady +applications +##orbidity +neurop +67 +cand +##11 +##ee +eu +##eal +involvement +liquid +americ +56 +questionnaire +inhibitory +datab +regulated +metal +aimed +vas +##ils +eryth +##tively +fluorescence +simult +##plicated +placebo +##icle +pneum +mri +allel +above +strongly +##orrh +enzymes +simultaneous +ever +complexes +accumulation +prepared +learning +reactions +54 +rather +##ench +##ectiveness +adhes +##etric +analog +remained +##ened +##ering +enter +variety +lys +alb +##enic +##obacter +##ings +ca2 +gast +context +64 +##ope +investigation +effectiveness +urinary +advanced +eas +unc +sperm +candid +smoking +categ +exist +##lu +anx +mutation +tb +conj +clinically +unique +comm +49 +resonance +spinal +satis +reconstr +rab +yet +statistical +oxidative +unit +myel +princ +reference +##tile +53 +plants +##uv +percentage +nerv +dm +haem +##ector +##venous +stages +nine +substrate +reas +incub +hp +cath +##ively +profil +malignant +vess +disp +##tially +##ecutive +soft +##ga +finally +rt +ss +optimal +grad +lateral +kinetic +##olip +pyr +cortex +mechanical +##ars +bond +resection +subun +ns +specif +##land +removal +emb +agent +partial +systematic +lum +read +##ots +laser +publish +layer +##artic +specimens +responsible +pb +longer +dimensional +maternal +ann +introduction +85 +profile +transmission +significance +extre +##man +supplement +##oxide +##ella +##arily +white +##la +paras +unkn +##opathy +services +iron +squ +fatty +unknown +cultures +efficient +recurrence +##orting +certain +ten +mild +interest +asth +collagen +call +spont +image +mob +cas +##lation +trad +fish +##irus +induce +##ired +dog +clos +spontaneous +produce +51 +contact +57 +pass +highl +now +way +mitochondrial +##iology +58 +##aces +retrospective +affinity +##otide +##ectal +proj +##tral +##estern +consumption +product +62 +##aine +auto +commonly +##acch +assays +spatial +neural +infer +advant +invasive +fetal +fluor +interpre +##onucle +published +weak +##inations +rot +ure +##zed +replac +trend +##ula +##onia +##hold +majority +antic +63 +##ident +neon +ray +aw +predom +interview +numer +##otrop +rou +center +fav +olig +currently +germ +obes +global +ble +cytotox +##tation +nature +dynamics +cerv +extracellular +##erative +##astic +##ients +##den +intern +medicine +fed +tri +mutant +regulatory +infusion +formed +nanop +temporal +obesity +event +##elling +operation +subst +irradi +divid +implications +##dominal +aer +hemat +constit +fit +sexual +basal +potentially +extern +prostate +differential +coeff +96 +##itr +slow +occurs +upper +vitamin +aggreg +anat +##pled +specifically +countries +force +##ieve +intestinal +asym +59 +pg +66 +reactive +##ohist +##for +melan +ste +##phal +constant +near +agre +dil +marker +##o2 +68 +attrib +receiving +##itable +rr +points +staining +chromatography +neurolog +biopsy +histological +##arin +thyroid +cu +confirm +##ify +relation +##itary +segment +norm +prolong +algor +micros +manner +##erved +reducing +algorith +profession +##lyc +recommend +solid +immunohist +western +sa +anesth +gender +ves +tend +electroph +den +##alian +##obic +posterior +successfully +##most +involving +generally +aims +attenu +expected +become +gastro +morbidity +twenty +##aged +fram +broad +completed +cultured +organic +base +toxic +agon +##ectin +degradation +acetyl +ech +located +73 +assist +molecule +past +pse +dietary +##itone +adip +sr +core +avoid +resour +another +frequent +##ocal +intravenous +##tration +cad +odds +mixed +barri +cervical +prognosis +tract +relationships +rib +tel +purified +##ocl +external +matched +anxiety +aortic +##ytes +##osin +radical +widely +##cers +cb +##less +members +##ching +benefit +thres +oh +ds +abnormalities +abdominal +humans +cf +##tility +dl +joint +orth +benz +##onin +pseud +theory +##eta +neuronal +tomography +ifn +##hyth +recru +conclude +0001 +undergoing +predictive +##uls +absorption +ads +igg +attem +disch +person +promoter +##ories +eye +living +78 +##ema +adjusted +divided +thor +wave +##osing +manif +assemb +##sis +##ared +map +prognostic +hydroxy +flex +rabb +##odynamic +leg +retin +slight +##gens +cc +conform +space +##ields +almost +pathogenesis +consecutive +determination +particles +fo +comparable +interf +##oring +altered +vary +##eletal +far +subc +61 +peptides +##ontal +associations +##elium +residues +contribution +##lasts +defin +graft +##otion +diameter +optical +##to +##enge +complement +##uts +remain +around +inser +##olytic +##53 +##arian +variable +oxide +gh +##ections +##adder +account +elder +rob +aspects +sed +alterations +76 +throughout +feed +du +classification +74 +chromosome +accurate +##he +##ls +##aryn +##onch +channel +soil +##alk +69 +accept +rev +superior +##aring +##crim +phosphorylation +nanopartic +##elines +respect +usually +document +impaired +pancreatic +##olved +ga +hypox +##ounts +protocol +antioxid +gal +ligand +exch +##ico +promising +recip +##ogenetic +hydrogen +elements +pk +##esia +heterogene +leads +concept +recombinant +##16 +##ologies +lymphocytes +behavioral +recognition +convers +thickness +98 +migration +ful +phenotype +challenge +nas +gest +86 +allows +sources +roles +##aves +spl +discover +myc +83 +discrim +every +vaccine +lap +wound +fung +emph +urine +plus +##osyn +82 +behaviour +77 +##osite +##tering +92 +##rot +ana +tumour +ratios +proxim +elderly +##immun +vel +asthma +making +units +84 +impairment +uv +guidelines +ow +ultrasound +deficiency +ty +plays +elim +school +##isc +hipp +som +##dle +##itud +88 +cortical +71 +obstr +fast +membranes +requires +rapidly +infarc +cord +occurrence +##ats +root +pac +phosphate +extraction +##ori +repeated +bronch +basic +adequ +polar +synthesized +cereb +por +sph +##ention +spectroscopy +##uary +profiles +appeared +mode +##osine +nf +pen +spectrum +numbers +macrophages +cis +biochemical +fragment +93 +##ermal +multivariate +##erex +gp +neut +pla +computed +epidem +##ectivity +device +##lo +epis +md +inn +abund +traditional +##reh +97 +decision +needs +##iation +##13 +polymerase +extrem +explore +##ocamp +##isation +marrow +occl +potent +hepatitis +until +enrol +##ophys +87 +heat +europ +pal +79 +cv +offer +pathological +##acchar +##apping +safe +signs +##imen +subt +compl +94 +phenomen +##flu +signals +manifest +##gramm +illness +variability +##icles +predominant +programs +##used +cav +nod +nucleus +##ral +##pati +descrip +physicians +##ring +tc +##inate +depart +employed +compreh +poll +observations +completely +assign +aud +nh +endoscop +biomark +nursing +final +excess +oxidation +eyes +indicates +trauma +89 +agreement +##oration +##ucid +media +experienced +deep +veloc +clinic +excell +probably +costs +donor +construc +##rophy +inst +##phen +recommended +##bal +polic +make +pediatric +##clerosis +##let +divers +bu +##truct +##aptic +hippocamp +technology +neph +amb +recurrent +europe +pet +orient +spectrom +fibrob +##rs +bmi +occup +genomic +preoperative +estimate +compr +h2 +arch +assum +##azole +middle +morphology +targets +understand +polyp +protection +perception +##ologous +##erexp +##osynth +minutes +##ompan +##orter +fully +organization +div +##ialysis +apparent +find +operative +hg +metastasis +exce +susceptibility +##allel +what +##ulatory +stabil +accompan +tolerance +presentation +protective +onc +dogs +families +dental +endogenous +conver +noted +fusion +pan +##ylated +##thritis +analysed +np +towards +feas +location +university +earl +##ortun +adhesion +enti +##eds +carri +turn +overexp +coord +##tract +emotion +morphological +minor +motion +blot +pretre +contained +defic +excellent +##olds +##20 +providing +##teen +##ework +##eling +close +preparation +##way +##osomal +jap +##by +computer +issues +neutral +lapa +##osal +fa +rich +81 +distal +randomly +neoplas +##ervation +cytoplas +domains +##ester +volun +transf +afric +actin +defects +##ember +ischemia +bleeding +##tp +##erence +##group +reconstruction +##oked +framework +sectional +movement +##ercul +progress +ros +##iaz +independ +prolonged +csf +unl +##ged +american +##osterone +nons +##oline +stimuli +elucid +ovarian +lc +haz +##ives +microgram +extensive +thym +##cents +intact +benefits +##ancies +ben +none +caro +prem +ethanol +developmental +existing +intermediate +camp +##iform +fund +ather +##ict +milk +distance +##ocar +##ata +neck +##itively +theore +programm +delayed +deliver +satisf +necrosis +venous +##eli +##bl +##18 +aug +word +ischemic +oil +enhance +fif +##fa +whose +schiz +band +database +seems +az +sat +adolescents +feeding +##apse +emergency +##ician +##olysis +injuries +parallel +below +##ophag +typical +cruc +logistic +smaller +##asia +##ibly +choice +suitable +immunos +address +except +soluble +immuno +practic +##atment +##thers +synthetic +infarction +##ione +element +possibility +##aline +##imer +nam +mn +cancers +medication +##14 +transient +fracture +nervous +routine +bilateral +put +##estions +au +lang +accel +har +nanoparticles +##itoneal +showing +labeled +targeted +exchange +##itals +regen +correct +##ochemistry +curve +la +princip +##ream +service +reliable +##organ +##thal +hazard +maximal +##eg +serious +mill +hund +diffusion +clon +hundred +added +propose +growing +##esh +preven +ker +attach +##phosph +varied +demographic +observation +sequencing +3d +colum +##ococcus +##ophage +working +bladder +lv +##anth +gradi +fm +##cles +tun +egf +pv +##lycer +regional +cytokines +congen +cox +venti +gain +igf +perme +##gans +500 +mp +##opic +coupled +precurs +uns +lps +nurses +##ump +channels +vag +concluded +cyp +others +##ra +genotype +radio +comparing +##oglobin +primarily +hf +##igen +autom +cortic +break +oct +##iral +##oxyl +91 +pf +smo +dele +uter +ions +achieve +##ocation +markedly +dc +parents +skill +##taining +##thern +psychological +relax +##tenance +interv +fibrosis +ak +ip +run +fall +ens +trigg +zn +institution +therapies +maintenance +ring +antigens +thre +##anial +minimal +neutroph +tgf +phyl +amounts +conjug +additionally +##actic +nucleotide +##rophic +tubercul +epile +recognized +##idal +commerc +subject +native +blind +dors +cut +ranged +shift +197 +##aria +jan +tryp +##care +##rich +##osomes +progressive +diversity +##jection +metastatic +##leuk +##usc +proximal +##angl +classified +japan +industr +##inking +##stream +knee +bran +angle +infil +subgroup +injected +##ycin +retinal +##urg +tit +##ivalent +##15 +benign +periods +mh +##rocytes +thermal +port +maintained +bov +uncle +smooth +hospitals +t2 +antagonist +international +asc +electronic +seiz +3h +shape +antioxidant +solutions +eti +deficient +irradiation +musc +node +threshold +##genic +complication +##cal +subtyp +partially +invers +##tingu +communication +fiber +##itus +longitud +replacement +behaviors +contain +##urine +substantial +earlier +##orage +caps +failed +probe +never +##ament +occurring +monocl +algorithm +catheter +##erent +##ested +variations +unclear +kda +##ili +localized +spectra +##entical +##cher +reverse +##urys +scanning +describes +microg +vac +delta +implementation +perceived +tools +closely +exhibit +velocity +dex +subunit +##ophren +ru +nitrogen +tl +##atib +extended +sufficient +latter +subsequently +devices +cn +intervals +depth +shock +arm +##ias +hla +##ogens +united +enrich +distingu +metabolites +gc +neonatal +regular +enrolled +qualit +hydroly +interesting +schizophren +seem +influenced +prediction +hydroph +chinese +##letion +##apl +analyze +sensory +separation +tm +independently +##we +fab +##hythm +localization +hd +pathology +##mitted +adjust +ig +spin +identical +focused +estimates +beg +hemorrh +disturb +excre +##argeting +counter +##itiz +rise +opportun +healthcare +matter +amyl +surge +##17 +atrial +##ophageal +obtain +##tics +bul +represents +acquired +entire +positively +intensive +##avage +##aries +lam +vein +##uit +##ches +dominant +##rous +##ises +marg +##ontin +clearly +targeting +skeletal +emp +decreases +##try +p2 +incubation +bis +detailed +suppression +extracted +persons +height +invasion +derivatives +inactiv +comprehensive +cam +interleuk +##rium +thi +##yle +degen +largely +verte +##eck +hab +initiation +discharge +illustr +cytos +cover +perfusion +magnitude +sampling +extracts +encoding +contraction +##tious +fibers +direction +monoclonal +sten +##back +##ozyg +atom +pros +competi +enhancement +records +correlations +improving +january +##intestinal +derm +##elf +promote +seas +risks +psychiatric +fixed +presenting +childhood +crystall +aa +department +crystal +pneumonia +gastrointestinal +error +##19 +##irect +slightly +sinus +##ocrine +thirty +spectrometry +artif +moth +variants +##eptide +gab +thorac +challenges +pregnant +equal +measuring +emission +suppress +egg +beneficial +south +##east +hcv +fractures +done +allowed +interleukin +storage +cytokine +gland +circum +##anine +##ellar +300 +dependence +inclusion +tyros +ane +reason +characterization +producing +dispers +neurological +##aft +crucial +plan +##ohy +##ements +silic +face +refr +##ways +06 +##oside +##read +##opa +perc +numerous +goal +effectively +noise +surfaces +reh +##olec +longitudinal +expressing +adequate +workers +ethyl +opi +predictors +balance +healing +##factory +glutam +contrac +understood +explain +cluster +##oman +##ocarcin +vessels +nk +##elled +##atid +diverse +indirect +presents +250 +##queous +modification +muscles +limb +chick +tex +example +remaining +##athy +meta +parent +newly +possess +##beta +py +highlight +date +##oa +ldl +died +stimulus +allele +lob +##ike +lipoprotein +wors +##isa +ranging +exer +airway +vegf +substit +supported +theoretical +nitr +practices +aneurys +questions +aqueous +arth +tail +wr +##rotein +p53 +##acer +ast +neither +nmr +rhe +##rec +histopath +reper +dos +pel +strept +tuberculosis +kill +bc +##enchym +elic +summar +##otomy +metastases +hex +##itted +max +accompanied +coefficient +validated +aspir +##bc +obese +##ichia +albumin +networks +saline +decline +displayed +sustained +bovine +transduc +whom +##acin +hour +##icin +##isions +##ovirus +recommendations +kinetics +##rog +cd8 +suppressed +organisms +gold +##uting +leukemia +dy +corne +gm +##ensions +##alpha +admission +##a1 +transcriptional +ple +##oin +determining +granul +micrograms +##certain +polymorphism +##ades +immunore +ts +simultaneously +economic +##kin +amplitude +##ires +vector +##transfer +pulse +introduced +once +robust +persistent +##rief +##atase +residual +transcript +explored +dopamine +organs +##ologists +assigned +contains +##dehy +μm +aging +discussion +##part +##dm +particle +systolic +taking +spread +teach +##lim +##ners +mmp +##itory +controlling +consequences +mothers +##ifications +atheros +younger +arteries +##ipl +swit +##patient +considerable +##anding +conversion +coupling +##cribed +phenyl +consisted +frequencies +termin +lymphoma +acceler +mutants +mv +diast +engine +##ows +valve +##sin +##ycl +##itant +congenital +##ilateral +output +appearance +mis +thought +tes +##operatively +##okinetic +substrates +integrated +affecting +impl +investigations +directed +chest +120 +antimic +defect +salt +capable +green +gir +hm +##illin +vul +poorly +antimicrob +personal +fill +colorectal +ket +##rose +possibly +speed +##ulum +ni +langu +resources +##ina +##be +pool +delay +limitations +##ectious +##ensin +##fr +volunte +##ton +##enes +return +axis +facilitate +mammalian +replication +thin +ethn +functioning +mand +depending +reflect +favor +##oglyc +documented +##eless +##omycin +##udes +##otypic +attemp +##urally +count +clar +dehydro +kapp +pretreatment +reproductive +nad +emotional +125 +wt +##ush +called +##np +##mediately +##xt +2000 +##ocardi +volt +clearance +persp +demonstrates +pharmacological +antibiotics +elisa +black +##ban +##osens +##oe +microbial +##uvant +##ecal +lar +graph +rehabil +electrical +circulating +escher +##enia +immediately +mineral +dual +##uctive +autoimmun +fibr +t1 +bow +escherichia +bat +amp +separate +fresh +lh +ib +influenz +agonist +##wide +sections +move +##oplast +pack +recording +cod +07 +rod +##bor +##oved +cd3 +##bar +rein +radiotherapy +hair +150 +affects +explained +efforts +characterize +nasal +retention +##illus +##unding +##oic +rp +validity +reliability +original +gangl +substance +varying +##plasia +sarc +##iciently +hypoxia +expans +infectious +placed +transformation +ck +m2 +phospholip +inoc +fluorescent +dend +fractions +creatin +cul +lowest +satisfaction +##get +buff +hpv +initially +##otropic +adsorption +staff +settings +distr +conserved +modulation +implantation +carotid +methodology +##exp +brief +##oidal +charge +simulations +proph +##upp +insuff +##iveness +removed +fu +pairs +##ocomp +induces +attit +ground +adop +seed +react +##anged +plate +##izations +feature +##cephal +gradient +##avy +probability +simulation +reactivity +hcc +schizophrenia +scat +##oblast +glomer +concern +gon +##ads +availability +##gs +serve +08 +repeat +##avel +cytoch +mim +gi +qualitative +retro +##oresis +##treated +reached +identifying +ulcer +arthritis +estrogen +infr +peroxid +puls +burden +junction +upreg +cyst +##osity +##acet +hybridization +coc +tyrosine +subjected +##ophosph +##axis +##itin +murine +minimum +vaccination +occlusion +##ze +mature +knock +duct +disability +jun +dp +cyclic +##b1 +mixture +words +plastic +glycop +restricted +suic +yeast +receive +##uria +cdna +##electr +comput +coding +echocardi +centers +casp +concerning +fragments +##aphyl +adherence +##ocytic +equivalent +planning +deaths +language +decl +rank +##cap +##insic +unf +proved +##aper +spr +400 +lt +zinc +nearly +rehabilitation +eb +compart +lep +##ostasis +column +##hg +advances +changed +actions +temperatures +regulate +users +hearing +heavy +isolation +tax +barrier +##acl +##atically +advantages +similarly +sf +deletion +gap +biomarkers +attenuated +##acent +pathogen +includes +##entia +##omet +##sa +2010 +display +physician +policy +urban +woman +pelv +##opo +european +assessing +practical +steps +cytotoxic +concom +pure +embryos +admitted +catalytic +belong +fibrin +ce +summary +involves +tp +##pass +##ware +antimicrobial +skills +##usive +##usal +##accharide +parameter +biosynth +dip +rating +gaba +thereby +methylation +collection +##forms +ligands +walk +express +##25 +epithelium +stay +constructed +##dehyde +phenomenon +issue +cycles +##illance +stenosis +viability +tube +modeling +rar +manip +draw +bile +pathophys +composite +scientif +phases +scan +fibroblasts +cartil +##co +infant +concomitant +prevented +##err +##wh +##isp +prophyl +released +ages +leaf +##anded +sensor +fixation +medial +bias +##olin +treating +accoun +endoscopic +discre +nodes +##wise +##oscopy +trim +standardized +sera +variance +composed +##itol +monitored +austr +evoked +depressive +untreated +femoral +symptomatic +dementia +mb +shorter +absol +surveillance +##nt +bin +##time +pharmacokinetic +antis +ba +##ilities +implicated +##ohydr +surviv +p3 +transpor +##omers +##40 +sulfate +advantage +stere +##issions +dry +##onas +reporting +immediate +saliv +fields +##ash +supr +deposition +##aemia +consisting +segments +retrospectively +overexpression +sple +glycos +polymorphisms +variant +trunc +mi +distributed +forming +nico +si +melanoma +gli +##ache +analges +##path +##acial +##transferase +viruses +dissoci +attributed +bowel +instrument +db +blocked +rheum +##iologic +suspected +##inning +##idin +foot +inters +cg +iod +improvements +μg +give +glutath +remark +##iance +dorsal +china +utilization +generate +room +driven +north +spectral +##chron +deform +flav +differentiated +sti +metall +pitu +gover +##teine +comparative +sets +zone +excretion +experiences +sir +##oon +dimin +##ril +##abilities +lens +tasks +adjacent +expansion +assisted +aggregation +own +nitric +aid +assembly +depends +mell +volunteers +ing +nt +locus +rabbit +asymm +overl +applic +##ensus +pigs +stat +progen +interface +dram +multid +scientific +ld +relevance +##23 +##mentation +##pler +increasingly +sedim +##otr +dehydrogen +fol +negatively +libr +##ogram +undert +##pan +predominantly +influenza +##omical +##angi +rout +##geal +limits +rural +anesthesia +adenocarcin +09 +##ilib +restriction +separated +glutathione +apoptotic +referred +became +breath +socio +##term +pu +parad +operating +traits +glutamate +contamin +next +clusters +##ilibrium +hard +take +elevation +embryonic +##plc +##des +tg +nc +biof +susceptible +immob +sv +nuclei +extremely +donors +forty +drinking +##ury +tur +compet +detectable +##mp +candidate +commercial +pic +pituitary +##ulus +immunity +evaluating +##lets +synaptic +interpretation +insertion +laparoscopic +bor +mmol +aids +autoimmune +miss +check +errors +steroid +substitution +##ks +tumours +cx +##eting +2d +cum +cytotoxicity +prosth +extension +wa +quant +recruited +waste +electrophoresis +cataly +loading +potentials +facial +recipients +prelim +osc +curves +##ips +valuable +diastolic +acetate +bypass +##acting +nr +putative +##gar +relaxation +recovered +easily +cytochrome +##water +##57 +ub +sho +anomal +absolute +pil +episodes +expect +##aryngeal +multic +mucosa +analytical +bind +proton +bd +angiot +cry +professional +threat +tob +counts +obstruction +gram +african +decreasing +xen +pathogens +vessel +twice +glycoprotein +calculations +transgenic +abuse +subcutaneous +##agulation +lymphocyte +adrenal +house +veh +hdl +always +continued +##ging +feedback +##ocytosis +grown +##hs +articles +##ruption +##atif +causing +uncertain +maintain +mostly +##hydr +ect +encoun +##urance +mellitus +hence +##bre +##era +##oints +bac +regulating +synthase +biology +angiotensin +reasons +2009 +preparations +cavity +cartilage +spleen +##acco +december +chains +pron +emphas +acad +adaptation +define +film +##veolar +##yte +live +incorporation +##tor +##aken +integration +art +ju +interviews +co2 +##ensis +fing +mitochondria +##abs +typically +##ptomatic +deficits +nutrition +fewer +clinicians +distinguish +correspond +reduces +penetr +cla +estr +considering +heterogeneity +greatly +utility +regimen +##isition +##rup +solvent +track +phylogenetic +1000 +2012 +angiography +gs +layers +reperfusion +##onate +categories +emerging +##fp +##igible +preliminary +cond +ester +quin +existence +indices +##ayer +predictor +scal +aure +##opol +reviews +residents +##atig +fever +excit +##ifying +adjustment +smokers +hydr +tobacco +copper +hypothal +adjuvant +cold +acquisition +##60 +decomp +##ematic +correction +blue +##igm +viol +communities +sept +pert +##oxin +epileps +list +strom +retic +##1a +oscill +##mental +fatig +buil +veget +##gi +compens +utilized +quantum +supplementation +extra +precursor +bearing +injections +##etal +orb +fabric +interferon +##dp +##alities +adenosine +##phenyl +maturation +cytoplasmic +sup +definition +mer +immunosupp +align +caspase +cns +##gal +plasmid +displac +software +items +contents +identi +hypothesized +voltage +##assium +clim +unus +focal +##fe +2011 +pall +##draw +cleavage +nonc +inferior +rc +outs +##vascular +project +orientation +##amous +e2 +withdraw +dehydrogenase +##amental +##ley +serot +toxin +carbohydr +potassium +true +asymptomatic +classical +arom +mening +loci +intrinsic +motiv +beam +conduct +##ophen +aureus +nutritional +ventilation +insight +ace +##adiol +jud +eosin +immunohistochemistry +##omat +stratif +##yc +influences +park +distress +gall +tib +yielded +teeth +hsp +loop +##ready +dialysis +##mark +##atidyl +already +config +perf +##weight +chloride +##amination +##ears +aggressive +genotypes +mucosal +requirements +unch +requiring +interc +mach +##70 +##uments +##dna +yo +##chem +regeneration +pyl +cutaneous +auditory +mobility +array +##min +##idase +bcl +exogenous +##ister +pump +fc +scales +##ilization +ln +classes +##22 +##oden +adaptive +dihydro +aort +predicting +input +amyloid +motif +validation +coch +2008 +amph +2013 +mapping +##ux +##ylate +differed +##enchymal +##choline +transfusion +bey +ah +staphyl +options +epilepsy +estimation +##uch +enzymatic +##phrine +evident +beyond +precip +gave +participation +relapse +neurot +pent +##ipp +steady +educational +carcinomas +trends +mu +rabbits +sched +dh +brom +sul +##ette +##rovers +inner +hemorrhage +##oyl +herein +bip +insights +arab +phyt +##30 +protocols +##olecular +lipids +inhal +##ief +##ulative +##eses +examinations +reversed +##iness +##zyme +cirrh +barriers +substances +abstract +scaff +eg +##oplasty +movements +remission +undertaken +fundamental +hz +permeability +secret +interact +002 +##max +remod +corneal +careful +lamin +rig +##fluores +salmon +worldwide +formal +mmhg +society +hemoglobin +pn +argin +vide +##ospor +parts +discovery +intram +trop +immunoglob +shr +seek +controvers +immunohistochemical +thoracic +medications +##areness +superf +macrophage +stent +overc +fatigue +correlate +hemodynamic +phosphatase +ocular +embol +##opathic +precise +##azol +##iction +##urated +positions +##edic +##rounding +electrode +fals +2014 +lactate +regardless +2005 +uterine +vesicles +careg +cation +inducing +heterogeneous +acting +principal +author +starting +glass +anth +practition +determin +ammon +delivered +implants +enab +frontal +##adily +epidemiological +deb +heparin +member +uniform +aberr +indicators +dt +simulated +mor +epit +awareness +cham +thal +allergic +thrombosis +war +offers +films +##ritic +comparisons +##umab +consensus +##ought +##emat +micr +pathogenic +inhibits +##point +bodies +surrounding +nar +squamous +biopsies +##mod +##aints +empir +prep +subunits +truncated +schem +cultiv +##ensities +2007 +science +##arch +rational +lacking +hplc +##ime +homeostasis +concurr +peg +##ibration +p4 +parental +fetus +environments +##tead +osteop +hapl +feasibility +itself +pelvic +rupt +substantially +traumatic +gestation +residue +spine +professionals +mast +annual +labeling +similarity +creatinine +providers +2006 +technical +leaves +##nel +amplification +subjective +##avi +attack +cardiomy +hbv +etiology +##elihood +allowing +govern +testosterone +detecting +promoting +polys +##arrh +consistently +manifestations +##heimer +intrac +##tisol +combinations +abundance +alz +##aden +c3 +attr +sought +virt +opioid +sizes +mono +##ota +weighted +quad +retri +##aceu +ram +operated +capillary +implemented +disapp +malaria +lp +modifications +##adian +##azine +hippocampus +##anti +dimethyl +##ionic +fasting +clones +##inson +instead +sepsis +uncom +gestational +concerns +artificial +placement +##mc +esophageal +##ounced +o2 +##alc +##onuclear +initiated +team +fd +stom +resting +proven +supporting +##graph +photo +guided +##eded +hydroxyl +hypertensive +coverage +transcripts +version +alzheimer +005 +identity +ones +2015 +##epine +##oxic +gut +income +dimensions +occupational +##osome +##k1 +nanos +outer +prevalent +percutaneous +depletion +likelihood +translation +anaesth +##ectors +land +preventing +hydrolysis +interestingly +circulation +rb +born +guide +chond +promin +peritoneal +compression +compliance +##otides +diffuse +##apped +fifty +eeg +##lin +option +challenging +colle +sympath +##ulties +supports +symm +equilibrium +idi +biofil +adenocarcinoma +accom +namely +contributes +##ypt +##icients +seizures +ubiqu +ras +digital +attitudes +antagonists +abundant +coefficients +##down +cann +leak +respondents +##opausal +virul +microscopic +researchers +insp +##oming +consists +created +aneurysm +raised +om +ot +extens +##itect +pronounced +deviation +atyp +ho +##ietic +lost +evolutionary +bot +quantification +recruit +unusual +##uron +hippocampal +##bi +nonin +arrest +false +##uity +##essions +girls +##otoxin +structured +yields +pren +speech +beginning +##ophilic +leuc +ips +ent +databases +tt +##load +lumbar +anatomical +ile +limiting +bic +biosynthesis +##uous +absent +collab +inactivation +cig +atpase +##ocys +triglycer +isot +ablation +eps +indications +doppler +resolved +vaginal +##ued +instit +##entricular +difficulties +tooth +reading +abol +##eps +parasite +uses +whe +fungal +plaque +rheumat +##astom +##ry +exists +gd +##lip +##ameth +japanese +ball +##nia +standards +participated +##ba +auc +phenotypes +constitu +homogene +survivors +ald +exact +efflu +atherosclerosis +trip +°c +##mented +##orous +##ilic +##90 +subset +rv +##going +fore +osm +changing +##titis +complicated +malignancy +quantified +cortisol +wk +mess +##27 +##ibular +perspective +brid +##ana +postn +tlr +rarely +unchanged +##80 +screened +complexity +chi +gn +galact +unilateral +stimulating +leth +flux +##lastic +##assay +fist +wash +egfr +##pread +cumulative +coated +##ss +interference +bed +ath +##iasis +northern +li +alleles +grafts +##ozygous +wides +vehicle +potenti +##onography +selectivity +habit +widespread +ank +ways +monol +##uscular +##rocyte +vic +diarrh +refract +vertebr +start +intes +portion +german +absorb +dich +favorable +##ilized +situation +decisions +mother +hormones +representative +elimination +entry +ask +##omonas +##iae +hospitalization +attachment +##inea +visits +resource +finger +feasible +##anted +neigh +decades +2004 +optimized +carriers +kb +arginine +##acranial +synerg +actual +hydrophobic +enriched +##opoietic +dosage +inhibiting +perman +discontin +##ni +princi +conserv +##tures +conflic +academic +##ocortic +parkinson +sound +retriev +faster +psychos +##enter +fine +crp +experimentally +degeneration +sud +pylori +semi +technologies +ongoing +discrimination +questionnaires +mann +##urity +flap +construct +makes +##uctase +platelets +obst +narrow +probes +disruption +hors +protease +excision +represented +principles +maintaining +##ded +copd +##unt +ultim +spher +volumes +##uctu +involve +spermat +dn +diets +##ifer +alkaline +dro +tension +phosphatidyl +preterm +##ws +adolescent +fluctu +##ulose +infiltration +greatest +infrared +##eptive +excluded +forces +elicited +vital +##ocular +cystic +2016 +incubated +embryo +scans +onto +exception +##odil +cigar +see +teaching +##elin +##osyl +partners +trained +##ote +depos +prospectively +##ardi +edema +computational +##dep +timing +locations +consequently +##p1 +observational +##mt +##ascul +vulner +drain +phag +distributions +##esterone +emerged +##chemical +vaccines +eating +adipose +efficiently +plane +pts +histologic +accurately +cytometry +equation +sham +##fold +lith +solub +consequence +rotation +##oxygen +##opes +prescrip +##vents +progesterone +attempt +precision +diagnoses +closure +serotonin +##romy +optic +microscop +translocation +univers +akt +determinants +contamination +hor +oxidase +reversible +categor +##agul +phenotypic +##vas +rejection +atm +intraoperative +##holds +cyan +gonad +performing +responsive +preferred +indicator +cloned +larv +##28 +gy +visible +alveolar +elucidate +law +metabolite +subtypes +agonists +##atile +modern +generalized +carrier +warr +##ometer +microc +explan +linkage +##yster +splic +supply +downreg +dissection +ly +genus +rf +colony +assessments +obvious +diffr +anastom +library +synchron +##bb +combining +readily +text +closed +demonstrating +effort +postm +##eed +##ometrial +##oded +reductions +##zing +morphine +##rene +needle +dark +ionic +##itic +##amycin +##ders +bulk +##21 +superoxide +description +##26 +acceptable +regimens +confer +aver +##aster +outside +million +nin +stiff +mom +##tice +carboxyl +hol +sequential +reflex +tab +sclerosis +km +consideration +representing +mos +former +panel +##rotic +ans +accep +encour +hyd +##ah +##ani +##rd +antit +##itting +uk +just +selectively +studying +##enol +chromosomal +trach +architect +quantify +complementary +postnatal +inher +##iph +modes +occas +outpatient +vision +downstream +incorporated +chromosomes +##24 +##ocr +##ocellular +follows +atypical +aqu +estradiol +fibrill +mhc +##agland +##inf +##matic +deter +reveals +surgeons +##itization +##born +##avelength +dd +2003 +##quin +couns +braz +improves +ensure +##2a +filtration +expressions +##ograft +immunoglobulin +addressed +##ieved +disappear +ls +ze +square +##tes +perfor +s1 +corrected +diverg +##related +dox +race +dye +suffering +##day +neutrophils +##°c +prominent +largest +shared +encephal +boys +refractory +##erin +##lam +tag +immunological +conformation +epidermal +route +sb +ger +##mia +##ato +glycer +datas +stronger +##odef +scattering +suicide +sessions +stop +##ret +bonds +ke +##rown +intestine +reinfor +##infl +enable +sediment +priv +ige +sheep +powerful +subcl +examples +embed +##estive +premature +angiogenesis +recruitment +##carb +##atible +homologous +stained +nos +##ison +##iar +##theless +produces +nevertheless +wet +extend +negl +##ocon +withdrawal +respective +mycobacter +enhancing +correlates +bab +repeti +guinea +##tors +2002 +##break +drop +immunofluores +##osyst +rectal +pes +considerably +operations +somatic +microarr +carbohydrate +anemia +##enari +offsp +youth +proliferative +endocrine +immunodef +##au +modulate +antico +tolerated +resemb +003 +organism +intersti +passive +##cine +secreted +nurse +echocardiography +sou +##uly +##ophyl +##vel +object +intracranial +integrity +corticoster +##anned +prostagland +##omorph +harv +##29 +dendritic +portal +qt +histopathological +##amus +dic +proportional +presum +pharmaceu +uc +tor +dw +encoded +tn +gla +vertical +oa +deterior +obstructive +shaped +##electric +formulation +viable +screen +comorbid +##iary +um +differentially +##omotor +##ticular +##ou +diminished +motility +nps +tf +##aving +blast +wind +postoperatively +radiograph +consult +dyst +##oor +commit +easy +noc +preference +wavelength +offspring +##ectom +outbreak +kd +##opl +transduction +fatal +fertil +southern +##ophila +engineering +nmol +##romes +blockade +sixty +##ivariate +dissociation +kappa +##65 +incom +neutrophil +instability +##platin +enl +exhibits +bes +##nea +june +cov +bands +cirrhosis +remodeling +activator +##ided +##adic +chromatin +terti +2001 +situations +reag +##arp +##iplinary +##iol +lungs +##ada +##embr +electroc +accounted +infiltr +platform +rice +sympathetic +buffer +aorta +brazil +depr +##isph +responded +ham +##angement +pkc +worse +scenari +competitive +preventive +emphasis +meaning +pathologic +walking +hepatocytes +transformed +neuros +##otes +permanent +ars +tree +nutrient +cocaine +derivative +##ococcal +##encephal +transfected +##ephal +##ordance +##omeric +tertiary +lac +##orbent +promoted +osteopor +hypers +##ulates +radiological +inos +##xy +dissem +country +histor +inside +managed +centre +roots +##inflamm +protect +shell +cisplatin +width +overview +obl +comprom +doub +##avirus +deficit +mirnas +formula +hl +igm +psychosocial +spor +shear +personality +qol +surfact +##empor +keratin +monocytes +trp +destr +duoden +canal +reductase +##usively +incomplet +automated +participate +prenatal +comprised +elastic +anaer +modalities +apparently +coordination +online +nonline +programme +propag +##ora +gastr +sca +##mg +focusing +glands +acidic +##flow +implanted +tach +chor +overweight +malform +acts +##2o +ft +##pro +metals +season +##alling +##ograms +stimulate +##arged +##yd +excitation +##asone +##acerb +##atum +somat +contributed +harm +exacerb +##uits +subgroups +##times +##rane +atoms +border +##atibility +##off +glomerular +larvae +visit +web +leptin +wat +topical +aromatic +numerical +incident +sen +depressed +arrhythm +##phthal +discovered +##plicit +satisfactory +##ert +mutagen +normally +excessive +##actin +endometrial +fgf +blocking +redox +applying +ecological +dermat +genetically +intrav +cytoplasm +decade +##acycl +diffraction +td +merc +lr +##oxacin +immunization +mesenchymal +pressures +chamber +pathophysiology +nonlinear +minute +manu +abolished +pow +pilot +biliary +horiz +##osus +intraper +pregnancies +lobe +vacu +adapted +item +mobile +urea +yr +##athyroid +gsh +##clc +##ubation +retained +##eptides +replic +##ulmonary +empirical +nd +accepted +sea +atrophy +##inter +math +carrying +patch +quick +importantly +veter +industry +ventral +fruit +span +idiopathic +manufact +innov +##ancer +isolate +evid +rearr +180 +encountered +lifest +cysteine +pancreas +highlights +paired +vascul +tight +nicotine +trich +dyn +candidates +recombination +subtype +secretory +##anal +overcome +##ai +endomet +burn +##affected +templ +interstitial +##ica +practitioners +##phosphate +oocytes +atomic +capture +contributing +potency +assumption +##ortions +biomass +prolifer +critically +optimization +##ropl +endothelium +surveys +staphylococcus +ideal +industrial +##adequ +loaded +##orec +hos +##oustic +binds +lev +inadequ +##asic +apical +##agnetic +hams +started +1990 +##rod +##ardia +cultural +##akes +radiographic +110 +stromal +rheumatoid +##oli +##iration +drainage +iga +tended +alt +stret +stomach +elong +scar +activating +unaffected +mitral +##uncture +enables +##roz +responsiveness +##ero +nano +create +##odon +##cn +pep +serial +difficulty +histamine +microt +let +contral +psa +differentiate +hypertrophy +catech +##inating +manual +lute +category +##ians +adjusting +##osan +inducible +##osures +euk +sib +mood +##ools +glauc +##ocin +spp +perceptions +concurrent +nerves +salmonella +adduc +sugar +fear +trait +regulates +attempts +radial +statistics +alteration +hu +clarify +video +immunodeficiency +processed +snps +##vasive +retard +##oar +isoforms +microbi +modulated +protected +ethnic +eukary +##vis +student +conformational +predisp +coating +##rox +t3 +unexp +biomarker +ki +##rt +##nat +amel +pge +latency +demand +sds +utilizing +dimer +perm +##rile +tendon +traff +posts +continue +immunoreactivity +march +foods +lin +malignancies +##isciplinary +filter +mediate +substituted +icu +newborn +contralateral +predictions +##ometh +cattle +weekly +perturb +exon +##oderm +##opyr +algorithms +acuity +seizure +aerobic +sensing +hemisph +synergistic +hypot +##agic +##avail +rupture +adp +pin +##ci +rrna +cats +##plex +city +##cepts +stiffness +blocks +600 +axial +bipolar +intell +quar +opposite +##lings +histology +believed +##arcoma +microorgan +neuron +##fort +eligible +displacement +learn +asked +##entis +##iable +##ropathy +night +rhythm +antidep +##tructure +registered +digestion +scheme +turnover +unlike +beh +unrelated +ppm +prophylaxis +bf +mab +fourth +guidance +##cious +systematically +virulence +constants +##hd +disturbances +anthrop +glucocortic +caud +##gia +bmd +sun +tau +wheat +##49 +fs +exclusively +optimum +signalling +##orp +austral +neurom +tand +mononuclear +ging +ti +exposures +soy +##asty +medull +xyl +mum +casc +atmosph +coagulation +##lands +prescribed +facilities +tap +sap +compartment +chemistry +activate +1999 +cows +gradually +fasc +##43 +descriptive +jour +explo +tendency +immunofluorescence +flexible +esophag +peric +##elves +##nis +je +microgl +citr +adrenergic +mammary +hematopoietic +##elve +##ees +##ulder +rn +##opsis +twelve +reflected +fitness +androgen +transporter +##mitt +declined +static +##sych +kore +fig +regulator +goals +##economic +bay +peroxidase +climate +disrup +examining +salivary +ef +##umor +##pecific +##56 +tandem +antidepress +tetra +hepatocellular +##osen +uncommon +covered +neuropsych +opening +##eres +##lem +severely +oes +opportunities +expanded +bt +accelerated +impacts +sulph +porcine +africa +equally +antiv +mixtures +shoulder +embedded +answ +driving +fibrillation +##bil +headache +##iking +##pes +##iod +serine +conv +sudden +autophag +discusses +claim +helpful +distinc +autologous +ecg +irre +##odialysis +eosinophil +division +inverse +##apt +##enopausal +controversial +##ynaptic +marine +lifestyle +upd +returned +registration +##aments +##ptic +lineage +##inosa +sucrose +##chlor +##uation +##embrane +supplemented +##ception +##glyc +dros +electric +concepts +frame +saturation +##aint +syndromes +rated +dramatically +institute +ventricle +too +partly +chosen +superficial +##amethasone +genomes +adhd +july +##accharides +##ques +indication +##ariable +building +share +cvd +neurode +configuration +##ectable +circular +ophthal +##opolys +##imetry +##erge +neurodegen +gyn +vectors +birds +##idium +bif +ventil +financ +offered +bud +##gone +shifts +tac +property +restored +tip +c57 +conven +homology +usefulness +investigating +usual +##tidine +transferred +contributions +surpr +quite +196 +instruments +electrodes +chloro +##aste +lethal +modality +paradigm +epigen +aml +acr +suppressor +mov +alkal +construction +deoxy +plasticity +pit +swelling +attached +null +irradiated +tubular +chemok +undergone +distant +genotyp +##inflammatory +becomes +thems +pref +electrophys +box +##icking +themselves +familial +lifetime +##37 +opportunity +##vs +##ocor +##astatin +innate +polypeptide +enanti +mask +##aceae +histone +psori +conduction +subm +##estim +##ocated +weights +sometimes +perin +muscular +requirement +conservative +analogue +raw +fell +ide +leukocyte +##ala +1998 +mda +session +vin +004 +strand +besides +silica +crc +brach +zero +vo +##omatous +round +physiology +rhin +effector +##rim +placental +papill +visc +purification +##omb +strict +eggs +lm +##uate +phe +perioperative +hyperplasia +socioeconomic +college +epidemic +clamp +bol +pca +pooled +forward +##ping +linking +a1 +selen +recordings +sense +##rought +connected +extensively +amplified +drosophila +sick +injured +##aemic +hier +electrochemical +lowering +ia +urg +lup +stored +rub +registry +contaminated +##otoxicity +april +anatomy +homogeneous +hot +insufficient +##grade +##ploid +retina +competition +##ostatic +anion +##3a +##tives +neonates +mf +referral +orally +nodules +unlab +reporter +tens +iq +##viral +fibroblast +anaerobic +kidneys +eh +remarkable +ligament +biofilm +##idity +aspect +lag +##esium +preserved +a2 +deal +cure +hierarch +harb +breathing +hormonal +microtub +gives +son +margin +peaks +aerug +precursors +homolog +##oplasmic +2017 +alkyl +##gt +arteri +favour +##ocyan +microscope +farm +cysts +currents +placent +##ochrom +domes +catalyzed +traj +analogues +adapt +cess +##oradi +cef +##olone +dispar +polymers +##openia +##ologist +defense +encaps +aeruginosa +promotes +##activation +univariate +rect +vaccin +assumed +myeloid +neurotrans +mediators +english +hall +nacl +pore +silver +applicable +triggered +thrombin +schools +epidemiology +interp +naive +snp +luc +acyl +swe +##orecept +##ucted +kit +cement +waves +branch +functionally +architecture +naturally +##cp +expon +nond +cessation +##otal +surgeon +recall +anis +##antic +cues +gait +para +##cape +##ethylene +randomised +electroly +ckd +staging +osteoporosis +mirna +unexpected +sustain +pay +fos +##keletal +upregulated +##istar +append +ankle +abscess +purposes +##odal +bonding +microarray +examines +t4 +prostaglandin +fungi +chicken +tric +spontaneously +phosphorylated +took +throughput +periodontal +meal +circumfer +coval +served +κb +wistar +nitrate +##ipine +cin +##keys +hospitalized +exclusion +gross +comprising +follicular +140 +testicular +searched +##ylamide +crystals +insurance +gb +##hion +focuses +inadequate +domestic +equations +molar +graphene +glaucoma +##oprop +##eleton +illustrate +quantitatively +bs +kind +##io2 +##jun +scr +pharmaceutical +fox +##itized +##inase +dense +olfactory +##iciencies +##ulsion +clean +locally +mathematic +cro +indeed +emergence +mw +prescription +van +rough +verified +maps +tcr +intim +erythrocytes +ranges +inactive +caregivers +##aminergic +geometry +equip +chel +##elles +ala +nl +pseudomonas +specimen +cerebellar +elucidated +lymphoid +cmv +preservation +nmda +surprising +anomalies +##irc +intense +profound +##omics +entit +##ional +dexamethasone +##etized +acetylcholine +ultrasonography +##ague +##gu +1997 +incomplete +approved +##clerotic +##rozen +achieving +separately +analyzing +intermitt +fashion +kinases +resin +##enin +r2 +enhances +dosing +##acterial +##ino +##oprot +##oxygenase +seeking +##ober +mammals +##oblasts +anch +hearts +edge +acoustic +##35 +vasodil +aspart +aspirin +details +reflux +anc +histologically +mrnas +##ming +##ergies +##ighting +##esize +violence +dilution +epigenetic +ultimately +capability +meeting +juven +coinc +accumulated +ic50 +bund +ptsd +catechol +##cale +thresholds +fri +why +vp +gtp +p450 +neoplastic +##vant +expert +partner +ecosyst +##olarization +oligonucle +coping +tris +colonic +macro +capt +agric +communic +##otub +##ofib +parasites +##antib +front +balloon +antitumor +relaps +decay +p38 +invent +crude +##ellite +##opulmonary +jus +##idae +pancreatitis +frozen +clone +rnas +completion +sar +trace +neo +hind +agricult +pneumoniae +calculation +micror +sacr +##inergic +##aking +enough +enrichment +matching +##inescence +connectivity +vap +##anium +additive +##roplasty +fertility +policies +unst +evol +##±0 +crop +circadian +polarization +d1 +ureter +steroids +##oides +restoration +mscs +conscious +##lot +methanol +transfection +helix +##ivation +fsh +1995 +h2o2 +afford +hous +supernat +hyster +bioavail +##arum +conditioned +microorganisms +pollution +cohorts +nitro +statin +conjugated +labelled +##mal +blotting +##ger +vertebral +c57bl +upstream +mechanistic +130 +generating +progenitor +private +14c +##atonin +alignment +##oscopic +stratified +##atch +september +moderately +relief +##ographical +noninvasive +continuously +anticancer +clinics +threatening +formulations +##thromb +colitis +fistula +hydrog +verbal +alle +reticulum +tk +tone +translational +breeding +persistence +look +promotion +##oric +##f1 +##ionine +##iton +transmembrane +otherwise +principle +##ophore +##ped +glial +viscer +asian +che +bronchial +station +nsclc +##va +##tism +septic +scoring +october +conservation +crypt +##ubicin +scaven +c2 +employing +anatomic +sand +mapk +chemicals +adopted +##afts +neurologic +##3k +##utable +##rontal +ineff +d2 +mex +##key +herpes +opin +ont +seventy +mandibular +##orted +##adren +cigarette +behavioural +dent +ionization +minimally +calibration +copy +##axel +1996 +informed +##ulator +##t3 +medline +australia +palli +usage +interpreted +laborator +market +routin +##requ +cool +canine +##ulos +transmitted +renin +administr +pubmed +##onom +##rex +phenomena +lasting +l1 +ejection +aspiration +subp +resc +outl +endemic +popular +horizontal +catar +river +warm +charged +axons +stabilization +attractive +surfactant +herb +##otoxic +kappab +ecm +##olate +influencing +ganglion +discrep +ratings +alanine +cyclo +##obut +flat +df +##urgical +##olym +photon +simpl +tracking +perox +discrete +##amines +inpatient +trypt +cytosolic +##34 +arising +##mut +orbital +reaching +picture +##factor +antiviral +yl +neuropath +sig +recons +immature +entr +coa +rg +apply +##asm +melatonin +manipulation +sent +epiderm +tibial +mouth +antif +fp +asymmetric +sirna +tet +victim +neurob +dispersion +meet +antibacterial +insufficiency +enabled +penic +lupus +provision +moment +##ounding +##elect +notably +##pert +chd +1h +neuropathy +va +accompl +ole +reserv +##hl +devi +causal +inoculated +adsorb +meat +hypothalamic +##opos +cyclin +pip +##puts +observe +lipopolys +efflux +designated +##igation +##mm +105 +nb +ccr +##esare +suspension +laboratories +##graphy +multivariable +friend +lesser +amelior +pestic +##ffe +triple +ebv +gro +tsh +distric +episode +aph +objects +fn +raman +select +oriented +##ostatin +magnesium +rd +gyr +##osel +##ogenes +##tia +user +modest +definitive +evaluations +recipient +osteoar +normalized +##orative +erk +immunoreactive +##organic +##unk +rule +latent +##osarcoma +palliative +assayed +iu +cellulose +anticip +india +financial +imped +radicals +oxidized +sequenced +##letes +inversely +giving +cab +synov +scler +representation +revision +diarrhea +nal +hh +thyro +sg +photosynth +pleural +novo +pseudo +desc +##esarean +underl +##patients +incons +##arct +reproducibility +astrocytes +diaph +attributable +criterion +dysplasia +densities +guan +attenuation +forest +##aturated +granules +##asts +##tra +peroxidation +pari +aggregates +gst +adding +owing +##recip +##cy +##rag +nation +##met +hsv +directions +##ayers +erg +extreme +calculate +standing +lamb +covari +incision +##epith +haemat +grafting +uncertainty +##t1 +intermedi +micron +arise +##f2 +##yrin +cfu +releasing +gad +monkeys +##icul +##ecs +intermittent +recognize +validate +plasmin +fetuses +powder +##ito +compatible +destruction +establishment +migraine +##iatal +transplanted +leukocytes +neoplasms +becoming +disturbance +foreign +code +immobilized +deprivation +g1 +##static +avoidance +lumen +consistency +##ards +16s +grav +rac +cranial +##terase +nucleotides +hypoxic +hemodialysis +articular +dcs +##agement +sac +postpart +pigment +caffe +inserted +mathematical +striking +autonomic +incid +perinatal +conductance +converted +evolved +anesthetic +##tructural +contrary +unable +##enteric +fragmentation +cholec +kr +exert +postpartum +fecal +analgesia +##avir +arach +ambient +candida +##aly +##urable +##p3 +##thral +deterioration +vibr +##otherapeutic +kerat +condens +aneurysms +upregulation +abilities +transitions +discl +losses +massive +##oblastoma +suffered +prove +universal +ethical +remarkably +mas +160 +conjunction +amn +replaced +joints +bacillus +proce +##ogeneic +quantity +apprec +crani +shed +echo +##n1 +marginal +##ensitivity +conditioning +seasonal +switch +sampled +erythrocyte +dial +believe +athletes +c1 +abnormality +##uretic +##uck +constitute +##edical +alumin +cooper +##aryng +ome +##no +hosts +arc +parti +##g2 +##ova +##points +arabid +sharp +fdg +inver +##panic +penetration +alcoholic +multim +modify +trem +##67 +pharmacokinetics +##uric +csa +tbi +##but +inventory +din +radiographs +ligation +##enth +conceptual +correctly +lib +arabidopsis +cochle +drawn +lectin +spi +inorganic +##romycin +myocardium +##virus +historical +ded +microp +running +##oemb +dysp +lysine +thorough +##imb +cognition +describing +belonging +preclin +##usp +til +held +specialized +usa +striat +spectroscopic +##itors +knockdown +stra +flexion +masses +peer +autoantib +##olid +##omerase +filled +coil +expend +##zation +cannab +##anger +hif +immunob +mediating +polyc +proportions +wnt +ambulatory +catalyst +##uz +tyr +##bilical +##urnal +##floxacin +##plastic +avi +reward +equipment +##iliary +aspartate +developments +##antom +fibrinogen +##c1 +unstable +ingestion +tam +##essive +elective +##r1 +sy +gained +sarcoma +glu +##imus +glycine +preclinical +segreg +disulf +etc +mini +peroxide +splen +unp +##itated +##ares +envel +conversely +job +##luor +forced +facilitated +ovary +nephr +brown +phospholipid +eighty +##ifug +expendit +##gene +##qol +contractile +ih +giant +hbs +##pin +##ostomy +autophagy +cros +##olum +trigger +similarities +autops +swed +##p2 +vestib +interacting +##sk +lithium +##rospinal +1994 +resusc +neighb +scin +contacts +111 +##lipid +reproducible +takes +##ellum +eleven +heme +1a +fel +commercially +subsets +terminus +##entan +inoculation +vc +clustering +august +attempted +bott +contractions +trypsin +courses +slower +106 +fluids +name +visualization +essentially +sial +ai +mdr +colonization +visceral +soils +##enstr +##ozoa +aware +##after +800 +testis +aberrant +hypotheses +capsule +acth +##bumin +incontin +##itability +fibres +radiol +##ibilities +noradren +prophylactic +introduce +##iefs +cholinergic +immunosuppressive +balb +sole +batter +bioavailability +poorer +inconsist +##ectomized +phosphorus +##atation +125i +rings +unlabelled +bh +constructs +receiver +resol +slope +institutions +carry +knockout +overlap +fair +lipopolysaccharide +cerebrospinal +methodological +asd +postmenopausal +facult +fluctuations +gnrh +reflects +immunosorbent +glycogen +advanc +doctors +450 +##rupt +##imetric +##48 +##uding +##ecan +leakage +##aldehyde +chim +smoke +routinely +varies +pulses +institutional +autosomal +precipitation +##95 +revascular +transverse +1β +##ogenicity +##acing +subpop +##irable +##illi +jejun +h1 +irrevers +beliefs +chromatographic +moiety +##hn +explicit +anten +defective +##oxif +modulating +##ony +##oblastic +##pc +##odium +tachyc +thr +phantom +establishing +atherosclerotic +ethylene +cauc +liposomes +##epinephrine +photoc +vl +template +chit +limitation +summarize +##ilon +insect +oncology +distances +##38 +bw +agar +fermentation +exploration +##onduc +wastewater +canada +umbilical +encodes +kinds +##inance +droplet +cephal +homogen +gv +##odg +energies +##etamine +responding +norepinephrine +promise +dramatic +entity +spot +allevi +deplet +##bean +responders +##angements +eliminated +transforming +integrin +##benz +cosm +##hed +missing +daw +dut +genital +porous +disl +explanation +pad +slices +attending +arb +moving +intention +##nd +##regular +quanti +warranted +ccl +machine +nav +juvenile +pup +distinguished +gt +mention +los +ea +##eled +highlighted +deline +glycerol +surgically +parietal +phage +meg +##rolif +##lit +##psych +##75 +##utin +relatives +reproduction +##tified +caucas +intraperitoneal +##ronectin +##opia +corn +slowly +pth +irregular +wil +blockers +geographic +evidenced +##oprecip +fluoride +##omegal +##ura +seeds +2a +coex +caries +wounds +partition +dg +reflecting +resident +preferentially +determinant +interpret +yell +apart +averaged +ipsilateral +cascade +myosin +##ulsive +gfp +periodic +asper +west +electrocardi +biomedical +ammonium +monocyte +anaesthesia +##atosis +##idazole +allergy +regarded +attend +##ius +##allow +drink +apo +prone +##39 +##ygd +##entists +ses +##ocompatibility +caroten +ectopic +006 +cataract +##thood +##ble +prolactin +nig +maxillary +scaffolds +minimize +##osidase +##orubicin +analgesic +corp +pollut +dopaminergic +pci +plex +submitted +leu +adulthood +obtaining +endometri +##flur +isoform +##itig +##atr +##rowth +neuroprot +tick +aryl +##ilar +manage +psoriasis +scaffold +regulators +hydrocarb +##izumab +allogeneic +propr +wear +lymphatic +trna +##acil +amygd +##ylic +allo +cardiomyopathy +##oconstr +drive +##environ +poli +optimize +counseling +##ococci +apparatus +##vem +ibd +##ida +keep +##rof +affective +augmented +##ophan +##omyc +101 +mitogen +ganglia +schedule +titers +catenin +catalys +osteoc +prefrontal +toc +folding +extremity +comorbidities +codon +saliva +cot +mimic +tin +##eces +##45 +multidisciplinary +##amer +1980 +prescrib +proc +consumed +household +respiration +ulcers +poison +dsm +##oreg +mesh +cadh +plans +glycol +trap +cycling +iodine +estimating +##ele +sensors +termed +survived +mycobacterium +flexibility +##oir +named +effusion +accordingly +##epithelial +carcinogenesis +century +prompt +##inder +integral +finite +ascorb +starch +striatum +##ishman +##ensitive +preferences +silencing +##psychotic +##acrylamide +##onomy +##uled +parathyroid +participating +yellow +naf +##roid +endoscopy +leaders +eukaryotic +d3 +repetitive +piv +prosthesis +incontinence +transc +homozygous +cyp2 +hypothalamus +automatic +mrsa +osteoarthritis +volunt +mk +##cm +lid +##opress +polymerization +chiral +damaged +sensitization +triglyceride +##nk +irresp +##apine +veins +intraocular +weakness +vom +lowered +##pi +surprisingly +##rogens +heating +dismut +fabricated +rose +##ocept +virtual +coherence +104 +stranded +emissions +fus +solubility +neurodegenerative +confined +constraints +continues +##onyl +adjunc +connection +follicles +circumst +demands +cust +microenviron +played +government +primers +mosqu +##inates +gingival +trimester +cac +##uvate +##enyl +disad +##63 +probable +circuit +thereafter +facility +delt +streptococcus +hba1 +biologically +permit +glioma +##oplastic +denat +card +##uing +iop +physiologic +confocal +detach +##aver +vulnerable +perh +rationale +gol +##otrophic +intens +macular +lengths +##mium +1992 +##uli +##unctiv +fruct +1993 +disadvant +ammonia +##ectic +mism +desired +splicing +terr +copies +influx +##iffer +##opus +electrophysiological +##ubin +acceptance +arthroplasty +swim +microbiota +typh +##aid +angles +duodenal +cip +flavon +aller +##ola +infarct +nick +##yclic +##affin +##acyl +cardiopulmonary +bolus +mcf +##42 +ko +123 +switching +adrenocept +bacterium +corticosteroids +classic +##iosis +fev +aeros +flight +dioxide +##99 +stabilized +catalase +structurally +antipsychotic +flank +profiling +cyclase +108 +complaints +##ecyl +shunt +proinflammatory +sulfur +themes +eventually +allograft +##hep +ll +consent +nucleic +pod +##01 +trab +novem +wean +centres +immunotherapy +anastomosis +##ivity +paed +genetics +east +irrespective +uro +perhaps +chemot +winter +legal +rif +antigenic +##arboxyl +dod +america +presumably +##imp +##echanical +metric +pollen +##pyr +103 +fertilization +c4 +propagation +diaz +##psia +november +anthr +undet +seemed +horses +microvascular +cochrane +sprague +nac +assembled +dawley +reservoir +##mitter +##55 +percept +##brain +sized +tachycardia +fourier +gynec +mercury +window +mind +##aker +microl +filling +brady +##omial +engagement +boundary +epitopes +perfused +metalloprotein +leishman +##olet +today +get +helical +thrombocyt +bb +excitatory +stain +hcg +acup +plaques +hyperp +planned +detector +mosquito +##abine +bacteri +waters +trunk +##inting +slud +##arium +remote +##diagn +senes +placenta +helic +hydrochlor +reversal +hodg +##osites +102 +multil +incorporating +##uclear +ninety +##odegrad +accounting +apoe +ethnicity +##o4 +axonal +nephropathy +dismutase +papillary +phenolic +progressively +angina +anticoagul +colonies +persisted +cd34 +##asi +abc +ubiquitin +ppar +##a2 +hazards +roc +committe +sag +zones +##ettes +007 +considerations +kh +fulf +##ophyll +straight +modif +##dd +crystalline +triglycerides +organizations +internet +motivation +pretreated +germany +inherited +binary +nanom +##glycer +scored +cadherin +##icillin +m1 +epitope +productivity +febr +accessible +salv +tai +dest +autism +##hypert +##otropin +splenic +arrays +quadr +zebr +hodgkin +##ielding +dair +epidural +instruction +##ince +mitotic +spherical +aβ +judg +##yroidism +medias +##enzyme +inhalation +plates +gray +hba1c +##abolic +wm +adhesive +f1 +vomiting +##adj +vocal +##ozo +subd +symmetry +hi +psychiat +##ografts +biologic +microv +clinicopath +transferase +multicenter +blocker +spent +filament +views +##retro +fifteen +hygi +##amph +earth +##iac +tradition +chitosan +repeats +papers +fibronectin +prostatic +caffeine +##olding +##irubin +spir +immunized +microd +antiretro +render +february +compan +bull +perspectives +rhiz +admissions +limbs +lb +septal +rely +serological +dissolved +tryptophan +suture +##opter +##arial +hyal +prevents +abl +##roliferative +##monic +acs +organized +positivity +tro +paral +messeng +##itten +challenged +briefly +elongation +wood +fate +cdc +asperg +inapp +ka +ago +carefully +rhod +overlapping +engineered +##lyl +advance +menstr +intended +arachid +##lementing +##omod +idea +islet +malformations +nonspecific +prl +analogs +##itudes +walls +##mission +immunost +##borns +addressing +hyperglyc +pulp +##ropri +experts +eastern +tol +##ortive +pulsed +phon +1991 +isoth +prednis +nadph +008 +san +individually +coordinated +excited +mitig +turb +scenarios +tea +summer +dairy +cris +curative +viscosity +cough +omega +collectively +cadmium +arms +tong +tpa +titr +##flurane +##pe +big +##ochemically +hered +##tron +curric +retrieval +sludge +lineages +defining +differs +accid +twin +stream +##obs +circumference +personnel +thymus +motifs +remove +##x2 +split +ie +spind +vasopress +cerebellum +##icans +ff +##otroph +inappropri +conflict +##tir +endoplasmic +mesenteric +immunoblot +p1 +impairments +designs +##onazole +vt +##parts +analyse +extrap +intravenously +oz +pdgf +##ply +constituents +newborns +gem +reasonable +bioactive +##lements +resorption +depleted +emg +ophthalm +fh +exhibiting +programmes +thromboemb +dermal +##inge +##rogenic +aor +cyclospor +cholecyst +methionine +hierarchical +##entary +lands +autopsy +haplotype +##icidal +indian +links +myeloma +faculty +##amil +g2 +intermediates +naph +expectations +##eria +##66 +gels +ice +australian +vig +dynam +##ardial +fused +##onym +mpa +categorized +trees +nitros +accounts +rigid +##arse +glucagon +ultravi +nutrients +ultraviolet +resected +mentioned +mang +pals +kept +conductivity +##bow +matric +##ucl +ment +##exin +dust +explor +gaps +resuscitation +familiar +bases +doxorubicin +##fluor +gf +spite +antifung +##fish +##obarb +ribosomal +spring +calif +##edema +revascularization +heterozygous +dead +cerevis +semic +killed +quantities +arsenic +chr +disappeared +inherent +manifestation +counterparts +polyacrylamide +synovial +relating +spermatozoa +immunocyt +notch +cea +hypoglyc +compartments +nemat +lives +monolayer +handling +interviewed +##thy +pec +cationic +##b2 +lactam +vast +trabec +xanth +immunoprecip +bmp +descending +##hal +cerevisiae +intubation +chemically +stresses +infertility +falls +##obacteria +antiretroviral +pmol +isotope +connective +anesthetized +##amel +strongest +sacch +fractional +contract +hypersensitivity +foci +##glutin +occasion +stationary +meaningful +cit +lucifer +lean +##osides +electrostatic +publications +suggestive +icd +killing +predicts +publ +theories +##iers +lign +solar +##obac +laryngeal +##epam +empt +endotoxin +##aved +thermodynamic +cub +pge2 +built +##idic +131 +fmri +mixing +##mv +preserv +##erated +differing +competence +collaboration +discharged +concentrated +pah +dv +planar +grain +voluntary +##hepatic +vestibular +tot +##eption +plasminogen +circumstances +##amb +stone +branches +titanium +promoters +copolym +oxal +rain +mating +kary +summarizes +glucocorticoid +##eries +leucine +saturated +disulfide +island +inputs +pw +enabling +began +synaps +chlam +##aching +##odontic +##enal +converg +tracheal +feel +##stem +107 +shortening +irreversible +nause +hydroxylase +##cein +reacted +mot +##fil +##88 +ultrastructural +decomposition +##47 +hemisphere +kl +##59 +coast +eros +##ographically +symb +junctions +##ife +plasmids +myelin +build +##ocycl +tof +##ophosphate +causative +##ented +##amino +nanotub +gyrus +centered +bdnf +lambda +pacing +shifted +demonstration +illustrated +lf +seal +##tracted +sexes +sexually +province +nausea +aeti +employment +ae +th1 +americans +##ift +polymorphic +annot +hypotherm +provider +##iding +nom +computerized +passage +rhyth +soc +sah +eigh +macrom +imper +californ +##ously +teleph +cyl +##itance +centrifug +##onit +larval +facilitates +scinti +##izer +cm2 +datasets +##oate +##onv +innovative +##agglutin +cations +##endocrine +dermatitis +biotin +##feeding +foss +##tium +##x1 +##acycline +neuropsychological +silicon +##ifferenti +109 +page +thymidine +perceptual +##olateral +applicability +##obenz +bath +managing +paediatric +endovascular +##orh +gelatin +stimulates +projection +colour +##flav +transporters +exten +retardation +retrograde +##amily +embase +dihydroxy +actively +suffer +dib +hispanic +antidepressant +connections +modelling +arrhythmias +##ocking +abortion +clonal +##32 +mapped +dissolution +sufficiently +##azone +butyl +gradients +proteolytic +##opr +microsph +orders +albicans +volatile +retinopathy +chip +mediator +executive +nic +1beta +crosso +precon +rbc +envelope +geometric +converting +##ience +pi3k +vo2 +reinforc +endpoint +batch +written +ww +minority +ri +aldosterone +fibre +prp +allergen +deletions +elast +bup +diaphrag +oscillations +calcification +##phasic +hernia +preoperatively +##68 +mucin +agricultural +##dh +##tigm +##wan +##asal +relate +maln +phil +reciproc +carp +efficac +vill +surveyed +scc +moun +bsa +##romagnetic +supportive +##olipid +calor +topic +radius +##gic +hereditary +characterised +percentages +##sc +habits +subcellular +cytology +bones +meningitis +behind +##o3 +dataset +amygdala +burst +hypotension +osmotic +atl +esters +##unting +##econd +serves +termination +##ritin +oocyte +consuming +lic +rho +diagnose +virtually +comorbidity +acl +antihypert +haemorrh +solvents +asymmetry +##oler +firing +cytogenetic +lived +unlik +##oac +cutoff +ami +participant +grass +##ido +methoxy +##entric +##idone +guideline +attacks +porph +antifungal +##44 +##mcs +quickly +unlikely +sports +continuing +restr +##traction +flag +choline +hemorrhagic +##fc +matrices +players +electrophore +propensity +als +degenerative +indicative +fifth +##ipr +imbal +##amidal +rules +consultation +neuromuscular +##erate +ber +faecal +epileptic +##ineal +##onectin +brains +glucuron +seconds +underestim +enamel +##rug +mcp +ordered +fv +##oxicity +extin +lattice +phospholipids +micromol +soybean +clinician +extrac +lew +axon +renew +sacrific +retr +##utrition +accomplished +intellig +cloning +boy +adenoma +aquatic +##rotomy +ldh +modifying +cerebro +autoantibodies +trypan +pock +tropical +fibrous +aux +t2dm +##ontrol +confirming +cleft +b1 +##afish +##berg +puber +luminal +##inical +french +beta1 +citrate +microw +##odic +zebrafish +##ocaine +##version +microenvironment +sedation +dysreg +biodegrad +th2 +ngf +endocard +adequately +contempor +indometh +rip +exceeded +hela +##arynx +cone +trif +##33 +dominated +bridge +epsilon +##fo +follicle +fulfill +##h2 +tongue +radioimmun +µm +publication +##while +kcal +##eties +reconstructed +verify +sharing +conjugate +bax +skull +asthmatic +demographics +indomethacin +##opre +telephone +phospholipase +pell +district +##ondyl +apt +displays +semen +vesicle +tio2 +clock +succin +oligos +revised +reagents +crf +dichlor +##cd +fire +enlarg +crossover +sporadic +adenovirus +glutamine +spik +thous +deposits +priming +intensities +##asome +screw +impedance +##tification +opinion +##ersion +115 +office +grades +match +dilatation +intron +curv +osa +infused +##tructures +her2 +ew +##obulin +mumol +embolization +atmospheric +##opyran +##alin +nicotin +behaviours +creating +adenomas +hydrophilic +##atinum +bayes +sput +perp +##omyel +exha +investigators +apolip +##plantation +##oms +falc +thiol +anova +electrolyte +segmental +##tituted +retrieved +absorbed +activates +calves +nodal +amine +##ovir +expand +##ois +committee +fourteen +vaccinated +troph +preceding +##inform +isomer +deox +scope +confound +scaling +##xa +immigr +multiplex +inappropriate +##onn +sigma +foundation +##ohex +imag +vasoconstr +covering +inactivated +stepwise +apnea +mediates +ends +apolipoprotein +exploratory +augmentation +definite +crohn +pyruvate +departments +posit +##romyces +##rost +superv +weakly +bv +messenger +filaments +primer +morning +ineffective +sequel +debate +ecl +palsy +neuroendocrine +painful +divergence +palm +1988 +perforation +##ophosphamide +cck +aq +p21 +oxygenation +faces +accommod +cooling +monthly +##oglycan +curc +geographical +islets +golgi +##atics +1989 +ling +corpus +amput +luciferase +polycl +##m1 +##abd +inhaled +neighbor +constitutive +ord +tumorigen +oxyt +multif +interfere +graded +downregulation +whil +recessive +temporary +burs +asia +confirms +actually +##oal +epine +folate +##role +alp +singlet +concerned +traffic +epic +arrangement +whilst +hands +locomotor +##anolol +mobilization +##urgery +hamster +livers +tors +compact +away +gather +blinded +paclit +prosthetic +adsorbed +antihypertensive +exerted +breastfeeding +stimulatory +degraded +n2 +##inted +##istrib +paclitaxel +##ulas +pathophysiological +habitat +possibilities +acceptor +discriminate +lipase +schw +ctl +quench +transcribed +terminals +eliminate +selenium +##omed +vanc +expenditure +urgent +nanoparticle +cochlear +bn +surrog +monotherapy +reflection +derive +adiponectin +cpg +angioplasty +##etrical +fum +mun +##uge +bench +##d1 +tubes +substitu +salts +cast +##uloskeletal +immunocomp +typing +sphing +rum +##otom +lysis +extending +radioactivity +genotyping +regurg +heavi +137 +##plicate +segmentation +deformation +penicillin +learned +duplex +sug +maize +relig +##afil +bilirubin +sbp +initiate +mutagenesis +polyethylene +lymphomas +atopic +##aromyces +projections +reagent +somewh +embolism +##vation +physic +brainstem +natri +confounding +##yel +##osper +elicit +cyclophosphamide +microsat +expiratory +entered +nonp +nif +percenti +accordance +reliably +strengths +bus +abd +##asp +dan +cesarean +journal +ether +gent +##ificant +musculoskeletal +acin +##orbol +diameters +##uterine +chemokine +##itating +taiwan +afferent +conjunctiv +ferritin +h3 +emphasize +waist +king +mec +capabilities +mds +unex +chance +##ofol +##orac +claims +##ompass +sided +epidemiologic +transpl +helper +##esophageal +priority +##inos +vasopressin +regime +differently +##oreceptor +deviations +allocated +128 +nail +encompass +bim +noct +mutated +##incter +vulnerability +mtt +immobilization +##anin +sixteen +##mann +c5 +synapses +##ka +ubiquit +striatal +interfering +lavage +rodent +intramuscular +stents +##otopic +lactic +##ading +##k2 +spike +sensitized +pivotal +##oprotective +##alanine +breakdown +loads +monomer +##ilis +##ona +##36 +platinum +##ethanol +propranolol +deposited +inconsistent +##ignificant +nitrite +##titude +009 +adolescence +##aplan +129 +balanced +battery +immunosuppression +erythemat +seropos +noradrenaline +##ulators +##aterials +inositol +taxa +##ete +catheters +uterus +##ussian +hmg +soon +esophagus +ultrasonic +240 +##odend +negligible +outbreaks +clot +proteinuria +##ipped +tracer +rm +##aminase +thrombus +##otechn +##77 +unres +sut +pathologies +thrombocytopenia +originally +##agr +cytosol +morbid +fluoro +kaplan +latin +µg +agreed +confirmation +summarized +granule +microglia +##osum +tear +varic +forear +mtdna +sector +##odi +electrophoretic +plot +dendr +polyclonal +iran +exponential +##artan +icp +california +##ushing +##ney +stratification +exec +somewhat +experiencing +successive +antip +totally +benzene +##traum +dehydr +taste +dried +grouped +##aced +medicare +operational +h2o +##coplas +vertebrate +warf +veterans +dissemination +duc +occip +doped +2b +##ophysical +rcts +chart +##gluc +positron +plexus +##etine +apc +argue +thirteen +##urium +diver +aerosol +dpp +extinc +##lutin +##opropyl +disabilities +antisense +##astric +avian +biosens +purs +##nes +immunomod +avoided +births +humoral +##lipidemia +##zymes +##000 +propofol +femur +heterozyg +##illa +menstrual +urolog +##ods +specialist +syr +particulate +unfav +spindle +diagnosing +downregulated +multidrug +##oney +##46 +safely +hop +ee +hrqol +116 +canadian +antioxidants +endometriosis +prescribing +##urons +fabrication +##hex +traditionally +118 +chronically +mg2 +##ersonal +vitre +##ocyst +refractive +vw +assistance +detrim +scd +nir +##keleton +##place +stack +vapor +harvested +##ittal +schist +dft +positioning +nct +fitting +register +gradual +peroxis +facilitating +##oti +acupuncture +##emporal +sacc +conducting +wider +phospho +lysosomal +medicinal +cerebrovascular +jnk +indirectly +differentiating +##enem +immunoassay +gps +invari +chlamyd +cosmetic +agglutin +ok +rodents +##estr +gallbl +c6 +aggression +hold +altering +##31 +periodon +hyperglycemia +spatially +dysph +immunostaining +##urin +epinephrine +raise +##electro +cow +custom +contemporary +italy +attributes +chap +##opathology +hope +caudal +##idol +viewed +inequ +interventional +zeal +##onium +##timal +attitude +come +board +killer +nocic +sor +travel +##ozyme +discontinuation +fructose +135 +##oxidase +carbox +hole +crt +##anic +borne +multis +table +keratinocytes +pma +sheet +phi +synthet +##glycerol +preec +lactation +beads +conjugates +bring +union +physi +qp +meier +##utely +##nary +interd +intrap +notion +clients +korean +##bone +genera +restore +##odiaz +paf +biod +deformity +fungus +pyrid +##imaging +##ofacial +##amma +disrupted +##thrombin +routes +##acaine +##yx +somatostatin +zealand +##vastatin +medicines +##orated +chickens +mirr +covalent +normot +racial +sediments +acceleration +wrist +falcip +neutrop +hap +##bred +mtor +1b +moist +deterg +fb +hygiene +hypog +deploy +##oea +126 +neuroprotective +dq +spots +originating +bromide +glycosylation +depolarization +semantic +unn +unexpl +pollutants +county +##xr +ingr +lymphaden +stones +intercellular +pmn +voc +fen +edta +##ita +e1 +chemotherapeutic +##formin +2018 +senescence +##odem +amongst +granular +fitted +entrop +neutralizing +##ecific +exerts +##urea +cuff +##onitrile +angiogenic +implementing +b2 +margins +##rexate +##rio +morphologic +dentin +codes +piper +proteases +cgmp +##aran +train +accident +neoplasia +interacts +sphincter +brought +inversion +endpoints +timely +##ylase +1987 +##fall +##oxane +scenario +military +suicidal +##olecules +##ustion +desirable +floor +iqr +##atectomy +##atite +addiction +digestive +worm +rearrangement +##erum +designing +polysaccharide +aminotransferase +ultra +stretch +falciparum +dextr +##inesterase +creatine +convenient +incremental +hn +hcl +overload +trache +##osamine +intrauterine +revealing +##pation +erad +112 +compromised +##adm +##98 +diffus +##rophot +solely +prepare +simply +couples +poisoning +functionalized +presentations +gallbladder +calf +asa +src +hydrogel +ran +yielding +assumptions +flaps +psychosis +mag +extinction +##ishing +aberrations +acetic +ik +linearly +ingred +neuroblast +##onuclease +##arinic +##bir +postin +kil +visualized +functionality +proof +##ropo +##urations +hes +desorption +pbs +kv +##growth +oce +drivers +pharmacy +fractionation +endoc +nickel +judged +sheath +hepatocyte +intracere +repress +patency +harmful +lock +rotational +##opher +efficacious +##lv +##mo +grading +bank +transcriptase +carbonyl +curriculum +arachidonic +proline +neoplasm +biomechanical +compensation +dot +catheterization +cxcr +sav +caucasian +corticosteroid +disseminated +##ortical +magnet +contribut +origins +appl +toxins +recurrences +initiating +france +tubules +##otrexate +mtx +forearm +##omethyl +polymeric +##hyd +tailored +unid +hydrochloride +nn +entirely +monte +washing +1α +##ationally +plots +bioinform +sequelae +β1 +##ecess +overexpressed +echocardiographic +trajector +benzodiaz +metformin +iliac +diagnostics +organizational +haplotypes +##umb +angular +trajectories +incomp +transpar +physicochemical +methan +modeled +tat +stock +polypeptides +york +dens +##grav +tubulin +comfort +1985 +##opharyngeal +##gd +creation +anter +enhancer +nich +rescue +histopathology +pfs +subf +oligonucleotide +possesses +methotrexate +vancomycin +##elia +##iate +bayesian +insensitive +bilayer +serotype +manifested +titer +##atric +dodecyl +spanish +covariates +deleter +##iab +##isely +intrath +smad +geometr +lake +diphenyl +histopathologic +##agia +plur +##wards +170 +proximity +##iently +beds +postsynaptic +lactobac +cue +paraffin +deleterious +145 +radiolab +##ipping +##ldl +microsomal +generic +amide +insects +ceramic +die +distinctive +specified +identifies +coexist +##orin +ics +icam +parenteral +funding +radioimmuno +freezing +##iesis +ascending +airways +tx +saccharomyces +spreading +heterologous +##otent +selectin +electros +kinematic +encode +ivf +aga +##amen +fruits +counting +warfarin +##2b +meanwhile +hbsag +bundle +exons +bios +gains +spectrophot +enlargement +pacem +circuits +disordered +aki +excluding +rays +postulated +curcumin +##aterally +eradication +m3 +avoiding +endothelin +detrimental +supplements +hct +ascites +##yrene +prev +broader +plateau +cobal +##je +deng +buc +##amed +##ican +discom +amplitudes +forens +definitions +weigh +pars +expensive +instances +microwave +dilated +imply +##meth +collaborative +cytoskeleton +pdt +benzyl +microspheres +permits +homes +pesticides +elab +salvage +##istribution +##ipt +##otropy +schwann +paid +voice +adducts +regurgitation +delays +##kinin +tons +consolid +felt +phenol +##oracic +realistic +contexts +tablets +##ibrill +intakes +discipl +occasionally +##oreal +supernatant +misc +erythropo +hypertherm +##58 +##flex +catalysts +implies +stroma +abdomen +documentation +disparities +advers +plasmodium +lipoproteins +insectic +trade +carboxy +ischaemic +laparotomy +##brids +regularly +recycl +equival +microsomes +pas +venom +cbf +alternatives +advice +carbam +radioactive +excised +114 +develops +bcr +photosynthetic +era +corresponded +robotic +oval +dengue +euth +gag +pgf +interactive +gfr +##vac +fuc +##atalytic +aur +##rep +vip +happ +girl +concordance +isomers +zno +energe +interm +pai +works +helps +assembl +nude +sciences +##ya +adoption +odor +tv +##oneph +1986 +borderline +carlo +microtubule +accumulate +lamina +axillary +metallic +##inin +##yrate +adipocytes +subtil +freed +##ocysteine +##infected +epidermis +ecosystem +topics +accessory +inability +##ofen +##umental +sna +quer +fev1 +arous +117 +##osensory +allerg +ductal +corticosterone +##chol +glycoproteins +intrad +##head +remed +selecting +backbone +##rolimus +antiserum +posttrans +dha +allocation +rock +##n2 +natriuretic +##agg +captured +pka +cadaver +##itabine +aspergillus +discomfort +sagittal +mets +http +failures +infusions +cholangi +crossl +synthesize +style +nap +interpl +##odyn +rej +constric +swine +probiotic +vm +pcs +stoch +##li +ances +projects +##oxifen +##pd +infrequ +msc +opt +##inyl +illnesses +2h +mca +normalization +glycemic +ascertain +trafficking +residence +amylase +entities +depended +len +sputum +decompression +##oking +therapeutics +doctor +bid +constitutes +##ivacaine +##imes +subtle +##tiles +##rist +chemo +gw +##nam +ix +subclinical +format +unnecess +myocytes +metaph +expanding +deduced +suspic +amorph +anticoagulation +ageing +brca +malnutrition +aggregate +postural +representations +micelles +resultant +cleaved +chimeric +ja +relies +eighteen +elbow +pharmacologic +cooperative +phagocytosis +##78 +a5 +##omyelitis +spain +##ua +vibration +precisely +orthop +subtilis +exploring +fluorescein +bottom +forensic +mabs +sociodem +psychotic +regenerative +security +choices +physically +willing +##ichi +outflow +124 +filters +calmod +cup +phorbol +ash +350 +##ximab +bill +synthetase +##aind +##eptidase +##atization +reserve +docking +##ativity +simulate +programmed +oxytocin +jaw +attended +##cell +paradox +##respons +mci +utilize +chondrocytes +allelic +detachment +rcc +periodontitis +##olol +polarity +parenchym +encapsulated +##adh +##ocysts +sedentary +histidine +teams +existed +##iest +parasitic +hydration +neuroimaging +urethral +analytes +progenitors +uncover +module +gated +iter +##inery +stool +polarized +210 +anions +necessarily +removing +##quine +quasi +##anz +semiconduc +ign +properly +pcos +patches +calmodulin +##ky +bcg +hyperch +tomato +sociodemographic +escape +hyperactivity +##acrylate +competing +bruc +substitutions +##ullary +##ulsions +bms +##edge +thickening +##thetic +sides +rl +polyps +oss +lymphocytic +##eremia +icc +hysterectomy +1alpha +underlie +trib +incorporate +afl +##eptic +monkey +crow +monolayers +1st +hv +nox +mosa +dextran +##oni +consumers +ulcerative +lidocaine +13c +geriatric +tocopher +##ulae +suspicion +oligodend +##abular +granulocyte +tumorigenesis +surviving +##eted +macroscopic +velocities +chf +solitary +title +isopro +190 +##noid +nocturnal +##eced +trail +##ietin +intran +##ordant +angiographic +bk +##itonin +rising +employees +igfbp +##rofloxacin +hepg2 +narr +##69 +##omere +boundaries +anticoagulant +ovari +bub +conditional +normotensive +##41 +##iated +disk +observer +malt +##vive +gg +duplication +cured +##trin +proliferating +encephalopathy +##inement +##elle +necessity +alive +pde +dependently +polyphen +italian +##graduate +scintigraphy +spray +dilation +hypothermia +biphasic +electromy +##iles +##onical +##cetin +pocket +adenine +preferential +microsatellite +tunnel +pon +##aa +terat +bact +cultivation +spondyl +transferrin +micrornas +adrenoceptor +##andial +stochastic +composites +emphasized +hrs +unfortun +qpcr +pyramidal +diethyl +modulates +vibrational +##irection +hybrids +outpatients +hat +##ball +##ophilus +anthropometric +stressed +imbalance +disappearance +intravascular +overt +victims +explores +muscarinic +contraceptive +##tise +theoretically +amniotic +attain +shapes +columns +tightly +##yz +cabg +##uan +performances +##mus +promp +satisfied +configurations +##anese +##hr +eosinophils +sto +cha +##lyca +detox +analogous +specialists +que +##ussis +swallow +interplay +ache +##akers +ethics +caution +##acrine +engaged +breaks +cass +##oactive +surrogate +tlr4 +rsv +##borne +##iii +##ievement +##urt +maze +f2 +stake +##amicin +teachers +instrumental +tuning +##asting +necrotic +labelling +##aign +enlarged +vasculature +##c2 +##62 +##treatment +occipital +babies +immunoprecipitation +113 +hpa +deficiencies +700 +whereby +integrating +##iguous +spaces +korea +neuroblastoma +##inositol +119 +ut +presumed +122 +rms +lenses +survive +##iders +illustrates +agency +thio +modulus +reactor +morphologically +tolerability +road +##ifier +scann +polyn +ease +##glut +conflicting +##lampsia +cooperation +##73 +microbiological +freedom +##onine +epo +##du +feb +dispersed +subpopulations +cryop +erk1 +##enoid +hypoglycemia +dislocation +palmit +vib +##kary +stat3 +##oke +observers +##alent +generates +hematoma +preeclampsia +aspar +achievement +nonh +nafld +campaign +drought +npy +compensatory +##arter +frail +alph +neurotransmitter +interpersonal +electrons +tamoxifen +##achlor +##osex +uric +synapt +gvhd +##omyces +erythematosus +pater +percentile +capill +intellect +weaning +vertebrates +glp +integrate +potentiation +##idym +procedural +cardiomyocytes +##umination +parenchyma +segregation +appra +chaper +nanow +ich +intoler +freeze +unnecessary +##jug +##quis +coordinate +amorphous +loops +siblings +rearrangements +corresponds +evolving +##itate +emt +ppi +adherent +intersp +disab +generations +rigorous +##ulins +##enoic +##ena +bright +mdd +transplants +atax +wire +##opathies +##eliac +##ourse +sma +##o1 +sox +##izable +ozone +##yric +##ece +##insulin +pyrim +##ocortical +reass +lncr +##osom +##band +##ml +twins +sulphate +surround +##arbonate +neovascular +##ectory +##obacterium +obstac +septum +mich +##list +attentional +methane +casein +pertussis +dyes +cxcl +indexes +##orax +##4a +##oidosis +landscape +mad +simplified +025 +bag +herbal +trajectory +##atology +scalp +scavenging +endurance +##ophilia +biosynthetic +radioimmunoassay +reciprocal +archae +nalox +hypertrophic +preceded +##imide +basement +smear +cw +perfect +oxidant +##icip +brachial +fly +formalin +qualitatively +favourable +uve +chapter +vegetables +approximation +rpe +technological +menisc +dimers +worsening +isop +midw +medullary +bending +##h1 +sj +scheduled +quantitation +acidosis +##igenous +pahs +psychometric +bonded +epididym +investigates +oxy +fuel +##ulent +sigm +sparing +intramolecular +extremities +galactose +##obi +quenching +##79 +operator +##ritis +incis +comprises +germination +##ystic +cyclooxygenase +##obarbital +talk +##itter +circulatory +jak +collateral +grew +exceeding +aluminum +fingerpr +libraries +stressors +hsp70 +statins +##ortem +triggers +##test +mosaic +introducing +##igenic +weaker +replace +haemoglobin +##ji +3p +juice +##d2 +##worm +suppressing +gonadotropin +roll +##ewise +amen +resolve +encouraging +uncontrol +newer +malformation +unfortunately +##otemporal +hsa +bony +tolerant +signature +proteomic +##okinase +##dis +##gestive +advoc +133 +answer +##agonal +addresses +##cg +##iterp +realized +antin +##0000 +highlighting +missed +contaminants +##51 +characterizing +lg +perturbation +hypercholesterol +crisis +toxicities +##onymous +cll +mechanics +obstetric +metrics +camera +sterile +##ander +##zz +##oselective +##ifferentiated +##tivities +invest +trust +atrop +vent +medulla +appropriately +jo +municip +hydroxyp +pears +ssc +dielectric +##rotid +naloxone +abrog +protecting +##ouracil +danger +##iline +waiting +nadh +cryopres +brush +insol +curvature +anisotropy +##otyping +ca1 +hern +joh +##orate +oils +vd +##arach +treg +accidents +cd44 +ky +clustered +##admill +ecc +##operoxidase +npc +neighborhood +palate +bad +consumer +sorption +##uran +treadmill +dedic +neuropathic +ftir +##ynchron +indigenous +political +patent +interfaces +chemokines +lept +von +##nm +##urc +heterod +thalass +unw +##marks +stores +arterio +theta +##amn +fid +5p +discrepancy +methodologies +alters +reinforcement +mediastinal +enteric +ubiquitous +colloidal +imid +cigarettes +england +##imension +##inities +retinoic +excitability +155 +homogeneity +workplace +ketamine +repression +##orable +vacuum +labour +formulated +clostr +determines +swimming +responsibility +vte +ascorbic +##72 +##grp +seedlings +nu +hypothyroidism +transcriptome +dystrophy +desens +condensation +##ositis +##andibular +hypothesize +discrimin +ahr +biofilms +##hol +arrhythmia +unev +brazilian +catalysis +mismatch +phenylalanine +methylene +##opy +illumin +ica +##oxia +distinguishing +nested +problematic +transit +##relin +##ughter +accompanying +orthodontic +##empl +engage +##orex +##therap +cd11 +compositions +ecosystems +parasit +clinicopathological +mandatory +##traumatic +xenopus +emo +s100 +laminin +##nitine +gentamicin +pha +allergens +radion +pem +verap +##osexual +##umps +##omavirus +##ends +silicone +conformations +##ictor +tolu +121 +cong +##icious +microflu +gastroenter +agree +desm +caregiver +##functional +horn +impression +microtubules +##ieties +verapamil +mrs +isometric +tetrahydro +##ophenyl +stopped +prototype +intellectual +droplets +##iled +exercises +drying +offic +adc +##tigma +dependency +machinery +suggestions +nanotubes +dedicated +legis +hematological +capacities +##1b +proteasome +discussions +progressed +divergent +ciprofloxacin +pearson +testes +lewis +retain +##epsin +scientists +antenatal +calls +##adjuvant +conce +mail +amputation +leadership +metalloproteinase +##ophylline +combine +scarce +centrifugation +reform +##genesis +anticipated +##ez +homocysteine +nodule +##odex +127 +astroc +sustainable +administrative +orn +managers +contractility +elemental +postpr +encourage +trav +##oxetine +seminal +regulations +entropy +rhinitis +transported +trabecular +ks +illumination +sorting +reoper +transiently +radiography +fda +##100 +pools +histories +electroencephal +aetiology +thaw +potentiated +perip +transgene +suspensions +antipl +suppressive +kir +valves +##anus +void +cpp +epi +vf +mesoth +efficiencies +flanking +ej +avp +packed +tuber +lysozyme +opposed +antidepressants +mexico +##aches +nont +calibr +##nar +hypo +laparoscopy +abeta +leaving +bicarbonate +spiral +##onephritis +arousal +##hi +simplex +updated +##emed +condom +puncture +radiologic +##amol +##ranean +ischaemia +attained +htlv +translated +microns +##quinone +##acheal +##acetic +plain +presynaptic +grating +##ialdehyde +hir +##m2 +##vix +suited +nether +prey +thymic +##iella +thalamus +periv +closer +supine +coagul +prere +federal +constitutively +ovulation +##ania +##develop +coded +titration +collecting +glomerul +##ogeny +broth +veterinary +master +anomaly +##itamin +ova +necro +contextual +dyspnea +evap +##esthetic +plurip +orbit +##ills +neutropenia +islands +rights +132 +colonoscopy +sugars +abstin +collect +interfacial +reperto +ghrelin +##omnia +##ocrit +opioids +analytic +helicobacter +eds +cannabis +canonical +packing +nanocomp +220 +practitioner +nephrectomy +imprin +pyro +compromise +congestive +purity +adenylate +ward +##ymethyl +##uinal +p16 +sonography +138 +sweden +ileum +##clim +rfl +effluent +##iber +splice +conve +clo +utr +measurable +stigma +undetectable +##rolase +##osoma +discharg +triaz +##ionate +aes +netherlands +dropp +h⋯ +thirds +commitment +stoichi +pbmc +c18 +dominance +aligned +pose +rid +elution +worksh +cylind +##zes +radionucl +mip +parametric +propyl +modules +obviously +##quar +antisera +breed +dysregulation +pom +qs +esi +possessed +strip +metap +extrav +portions +neuroc +mediter +##bach +slice +tonic +webs +lamp +schemes +manganese +immunologic +trigem +acutely +torque +enos +cobalt +approximate +146 +atmosphere +##bd +osteotomy +typhim +serotypes +satellite +cholecystectomy +##diagnosed +artifacts +soph +sweet +pups +leukemic +arbitr +##acs +suspended +wake +##itre +vasculitis +inexp +els +laryng +typhimurium +neoadjuvant +##irectional +expertise +moisture +amphetamine +protects +periphery +grafted +rdna +inheritance +huv +intelligence +anionic +oxo +sevent +mutual +overexpressing +hoc +##olation +undes +expectancy +##ucleotide +smart +habitats +##itum +enroll +assuming +accr +##120 +heavily +cel +shortened +nigr +detergent +sensation +emotions +##cales +mucus +cyclosporine +febrile +osteogenic +encephalitis +gov +sedimentation +hematologic +ultimate +##tillation +adam +##itish +hemodynamics +hit +hydrocarbons +confounders +approval +originated +osteoclast +cml +flash +phthal +cornea +exud +genotyped +contraind +covalently +symmetric +##mi +virolog +##54 +##oderma +##aric +assignment +triggering +immunoblotting +ensemb +moieties +orf +##inator +oncogene +cytomegal +##del +##ris +conception +medicaid +paralysis +parox +spirit +branching +organelles +orthopa +##enn +collapse +cholest +subop +serving +##ker +reticul +cil +sad +mineralization +phosphatidylinositol +biased +volumetric +manufactur +dbp +##infection +alternate +initiative +cultivars +crest +solving +preserving +pelvis +meningi +tensile +vinyl +accessibility +##ostr +##opril +transloc +indoor +skeleton +pacemaker +##bound +ws +globally +##olys +interne +figures +##iff +1984 +inhab +charges +1970 +whites +##ulture +zo +diseased +##ught +kingdom +rnase +144 +##oreceptors +internalization +raises +atropine +valv +##imensional +##urate +##roch +##ocryst +##rops +##52 +anaemia +microrna +##tide +consciousness +pacific +scf +spores +##omorphic +manufacturing +frog +cpr +##opause +thrombotic +postprandial +bbb +calp +acetonitrile +stenting +##cephalus +latest +nodular +coherent +tetracycline +hospitalizations +18f +chl +households +afp +affinities +deaf +cities +##iomy +vitreous +##ortal +oest +transmit +informative +tocopherol +chlorophyll +donation +likewise +infancy +potato +submuc +##oste +##oted +exclusive +taxonomic +seventeen +##optic +daytime +pcp +dal +supernatants +nucleoside +raising +capillaries +resten +explaining +irrigation +surgeries +##nps +vwf +agencies +increment +tang +conjugation +##neal +##olism +##azolium +##ilum +##ama +hemolytic +##uling +##uns +coat +transducer +osteoblasts +autoradi +vitr +secreting +##yles +triphosphate +##omotion +branched +##nals +##oplasm +comprise +begin +copolymer +##entanyl +infiltrating +vox +##oplasts +proteomics +sparse +diabetics +hinder +foam +cage +lutein +infras +sacrificed +##orporeal +cervix +acquire +tidal +distortion +trapping +vena +oligonucleotides +rotavirus +thinking +recommendation +radiology +nose +inexpensive +##atinib +package +mandible +measles +##imil +deeper +##birth +pir +##ochlor +progeny +triplet +career +vr +note +##eles +##hips +cryp +silent +##olith +contour +quercetin +##±1 +carbohydrates +##amid +pcb +dith +motone +specialty +##ophores +journals +hrv +##produc +##atelet +overd +##idi +##fulness +b6 +sciatic +exacerbation +insoluble +unm +outline +plantar +subcutaneously +lactobacillus +##ubs +pcl +postmortem +nev +mep +undersc +farms +##adium +disposition +monomers +pharmacists +##terenol +impacted +combines +##itoneally +cd40 +mediterranean +pix +neuroph +repeatedly +sheets +nlr +##ammon +cytomegalovirus +outlined +depolar +unin +crown +arteriovenous +##atil +hgf +##bles +rhythms +innervation +neurotrophic +eq +endocarditis +unsaturated +maldi +anorex +monocyt +phosphodies +humidity +##peritoneal +pand +##g1 +telomerase +##assays +##olk +cyp3a +glucocorticoids +proteinase +##organization +##athers +ovaries +##plicity +unfavorable +melting +bpd +came +seropositive +liv +##r2 +anp +benzo +##room +##acetate +##aceous +mhz +elegans +a549 +##requency +inverted +sarcoidosis +exclude +cd45 +ibs +ou +wb +##nic +##ogroup +prostheses +148 +dealing +cing +independence +osteosarcoma +primates +##hythmic +initiatives +##ectomies +periton +collective +amines +neurones +replicated +##ithromycin +undergoes +##uspid +overestim +instance +carboxylic +pak +flavonoids +audi +disturbed +pharmacodynamic +oblig +3a +snr +##imeter +distinction +holl +fibrils +khz +pneumococcal +catabol +searches +trigeminal +suboptimal +cathepsin +este +dopa +broadly +alloy +monophosphate +nifed +insomnia +texture +firm +nh2 +viii +penetrating +##enses +enk +mammography +cotton +gamb +kle +dutch +synchronous +litter +proteolysis +autonom +##l1 +parenchymal +competent +multin +salic +seques +3t3 +uncontrolled +determinations +kcl +##enders +steel +individualized +##inis +##oprost +stabilizing +endometrium +015 +exploited +##ogether +caring +fentanyl +plaus +nifedipine +tomographic +##oxication +##calc +timp +nsa +haemorrhage +##uminal +freshwater +##dynamic +altogether +gar +british +physiologically +alternatively +##64 +neutron +automatically +isoproterenol +malond +mps +accelerate +uniformly +##inoid +##roline +##orations +stretching +sensitiz +keto +implicit +trh +wing +##onder +keeping +compares +www +##izers +tow +tar +helped +discriminant +ry +arises +##85 +##erine +##quartile +controversy +phosphatidylcholine +discontinued +aba +cpt +intoxication +digit +cet +bifurc +baby +eat +coastal +ducts +audit +subarach +fk +##aul +notable +undifferentiated +##omide +transpos +nih +interquartile +explains +##trial +elusive +marital +bnp +disadvantages +troponin +parotid +somatosensory +bfgf +bod +ton +charts +mannose +suppresses +##etite +##riting +primed +attenuate +radiologists +protr +##pray +ecs +hept +touch +hydrogels +##inally +versatile +dispersal +superfamily +housing +intraperitoneally +leishmania +1d +multip +139 +bactericidal +leukaemia +##tebr +welf +flor +##ocele +tym +associate +robustness +redund +preserve +crops +cultivated +indole +posttraumatic +sew +peritonitis +bg +##amate +sport +##omatosis +extends +ventilatory +whit +virulent +characters +corrob +searching +fibro +linker +restenosis +##vern +fisher +discrepancies +esteem +midline +residential +bioinformatics +groundwater +supplementary +welfare +sit +globulin +qtl +##absorption +tibia +parenting +hemangi +declines +malondialdehyde +continuum +nationwide +flies +tablet +##71 +positioned +##ropyl +quarter +rheumatic +##axial +adjunct +ptx +reactivation +prolongation +lumin +freely +ppv +ocean +proposes +emulsion +cutting +nanocryst +##py +##urf +resili +implying +134 +vegetation +replicate +hyperthermia +iodide +hamsters +spanning +uninfected +flows +guanine +pyridine +inpatients +instrumentation +##uliar +##tt +##lated +oestr +jump +tips +altitude +topological +peculiar +prerequis +cag +toll +##ket +incen +nhl +kj +moral +menopausal +cgrp +esrd +dysphagia +amd +ataxia +oesophageal +##iliated +myofib +choroidal +alf +##ypsin +##actone +psi +posture +fluorouracil +impuls +erosion +durations +remn +##itch +infective +notic +##rect +permitted +offering +classify +psychiatry +##ticals +offset +stap +displaying +reality +methylated +##ondii +swedish +friends +methicillin +tremor +tracts +##oto +##ographs +references +plc +psychopathology +earliest +99m +delivering +##otri +documents +deleted +##cope +dichro +narc +##cycl +##best +231 +elevations +##icl +religious +microal +bap +##ishes +carc +pouch +cellul +subarachnoid +##oalveolar +emptying +diaphragm +disin +dots +##dc +012 +gaussian +prescriptions +s2 +##apatite +osse +##oter +poul +relapsed +histocompatibility +mib +occasions +atrium +dbs +cytoskeletal +diploid +inspiratory +buccal +##oglycans +1982 +inguinal +eyel +fg +continuity +##itivities +##aicin +##cl2 +precondition +destro +monocytogenes +##atrol +homogenates +leiomy +beef +string +readmission +prostatectomy +neurotoxicity +displaced +maca +odont +escal +photosens +naphth +osteoblast +adduct +##amins +afm +bulb +sentin +acceptability +lifes +ampk +grand +99mt +##osm +calculating +strictly +nrf2 +parv +tilt +pax +telomere +cavern +electromagnetic +multifactor +update +iris +##acute +carnitine +##using +ocd +cava +dehydration +anomalous +recoveries +##inous +smears +denti +discharges +epr +obstetr +orthopaedic +uncon +##ications +##iop +##ofrequency +uncomplicated +bpa +everyday +##ned +pores +morphogenesis +superc +##unctional +gastrin +cd25 +##veratrol +glioblastoma +reconstituted +pyrene +leave +opportunistic +adopt +repetition +menopause +thromboembolism +cirrhotic +rflp +##idia +grap +microcirc +carcinogenic +pun +136 +168 +##night +microin +threonine +##opoiesis +##orrhea +capital +stably +nhs +##itan +##istine +incorrect +endocytosis +bioc +checklist +directional +music +##esus +##therapy +##electron +tele +puberty +##xine +##imentin +pter +myo +cytological +##elastic +salinity +tal +paste +##eterm +##ford +##aginal +capsaicin +enterobacter +civ +cdk +rifamp +horse +pathogenicity +tears +preinc +##son +zyg +nid +##97 +alternating +##ulse +turkey +cave +kc +intermolecular +monomeric +proteome +rnai +apex +client +spacer +scl +duodenum +microfluidic +vimentin +hox +##ipar +##anyl +radiofrequency +zym +legs +cds +feelings +rectum +scattered +nsaids +electrospray +attracted +##icted +symptomatology +opac +squares +tert +refined +dressing +substitute +extracorporeal +metac +##hedral +operate +dipole +##romic +solve +ureteral +neighboring +norms +hdac +accumulating +anaesthetic +##oreact +1983 +recycling +maximize +papillomavirus +cd14 +5h +hen +##trials +unexpectedly +beats +retest +pesticide +seq +diarrhoea +clarified +resveratrol +##orphin +enrollment +outgrowth +knees +##forward +ny +##idden +##anch +concentrate +orange +wi +catecholamine +tagged +inferred +rim +adversely +##aded +fec +spectrometer +##izz +lod +##aryl +nanostructures +supers +acclim +teg +##acterium +descriptions +neurophys +##uistic +presch +justif +thigh +##uates +agarose +triang +hus +explanations +stated +ors +##rophin +repertoire +aven +erythroid +choose +recognizing +##udin +resis +aggrav +##othorax +mechanically +playing +gases +##opharm +congr +vagal +##zer +3rd +mms +sert +scot +stereot +##iring +##holders +tent +2nd +##bf +lactose +chitin +##estib +chromium +concurrently +neuropeptide +fundus +antiplatelet +epa +hamper +immunogenicity +##enone +outd +cpb +decarboxyl +intral +subclass +adaptations +##cor +clinicaltrials +signatures +iib +##azolam +desire +##orylation +quantifying +##leting +delir +niche +platforms +medically +oncogenic +ritu +##fen +viewing +##oxon +ileal +ninet +##erents +suitability +noticed +153 +belief +##dv +spastic +harmonic +faced +insignificant +probabilities +broil +nineteen +aps +##omegaly +##ei +maturity +##uber +permeation +gsk +scanner +twofold +175 +arranged +sickle +##imid +##ju +sorb +mirror +tubule +overs +alginate +nicotinic +gbm +neurodevelop +erbb +nv +hyperth +engr +prime +biotechn +stern +interl +linearity +##ectile +##isal +vegetable +hrt +##entic +##61 +molars +##atable +beams +lister +absorp +ears +##cnac +purch +sla +900 +clade +globin +fairly +convergence +sophistic +disclosed +longev +##oxib +freshly +99mtc +penile +aesthetic +rhesus +mari +nosoc +supplied +##esi +##orum +rituximab +emphasizes +clostridium +unexplained +cofactor +terres +zeta +defibrill +registr +conference +143 +friendly +starvation +carcass +bundles +gpi +consti +aaa +visually +mur +perturbations +belongs +##ago +##know +anaphyl +pict +##md +rhabd +##hp +passed +minimizing +parap +annually +silico +transfusions +sentinel +abr +trifluor +emergent +mcs +aiming +dmso +ultrason +##iax +##ham +latex +##uish +lich +calcitonin +abstinence +coal +locomotion +tetram +han +pcv +cavities +actu +##athyroidism +188 +dentate +sensitivities +dissip +mimicking +spear +blunt +##gin +##eas +##yll +preschool +dendrites +##vef +hrp +semin +xrd +endo +ltp +pericardial +lox +orthopedic +specificities +episodic +gcs +eph +##ault +lacks +uniqu +longevity +bridging +dfs +grains +frames +probing +clonidine +consolidation +polysaccharides +##ocarb +deuter +##epr +chlamydia +142 +##oluminescence +seaw +regimes +##erver +r1 +guar +lambs +figure +choles +chimer +l2 +transitional +burns +##cranial +alpha1 +nosocomial +vii +##ocarcinoma +stabilize +galactosidase +edi +##itt +pull +screws +easier +##orial +##timulation +##acylglycerol +dropped +untrans +makers +gondii +##bu +nanofib +dichroism +##uronic +intolerance +nematode +##iatr +##cil +senior +diazepam +ideas +ensuring +slc +decid +primitive +##icked +constrained +ups +prolapse +neutralization +resilience +provinc +fluxes +unless +addi +stakeholders +##entified +orthog +haloper +emerge +germline +theophylline +vldl +vasoconstriction +recre +org +crystallization +paternal +predisposition +luteal +##rofen +isra +yolk +primate +##ogaster +anneal +quartile +hsct +##agglutinin +##atoxin +##house +optimizing +ophthalmic +bradykinin +seasons +literacy +forebrain +dispens +pam +exceed +##ulous +absorbance +lists +##ervated +coff +adenocarcinomas +multifactorial +coronal +disrupt +programming +##trate +016 +inference +hydrocarbon +wc +##tebral +facilitation +peers +shoot +extrinsic +stressful +microbes +holds +prevail +genomics +165 +carbonate +navigation +parity +morphometric +##rp +entering +haloperidol +##roportion +feces +##erating +lacked +haemodynamic +equine +residency +loos +##isson +##formed +deprived +prednisolone +goats +##terone +gangli +filtering +game +gliomas +##otocin +defer +##duction +partitioning +psycho +##atally +schizophrenic +emphys +esr +adiposity +shortly +141 +013 +##etts +##ocic +##iley +evaluates +feet +bacteremia +photosynthesis +##lp +diurnal +collision +hsc +hypothetic +immunomodulatory +##idth +sphere +glutamic +occult +rop +pedicle +dap +barr +chemoradi +prednisone +ulnar +acknow +unequ +##abain +##ipa +##pine +glycosylated +obsc +spiritual +dying +gdm +gabaergic +predisposing +regards +subscales +myx +meals +delirium +arf +gaz +autonomy +##acetyl +occupied +suv +gathered +xenograft +gln +splitting +jug +convert +##ospital +bph +acetylation +##uent +lies +##ck +chloroplast +##ocol +##02 +cock +isoelectric +substituents +##con +iia +cingulate +facile +boost +psychotherapy +iat +##olipids +ouabain +##yrib +handed +##aliana +ciliary +bilaterally +##tains +nanoscale +oligosaccharides +punc +fossa +thaliana +subcortical +##observer +convenience +olds +eug +strips +scn +aneu +therapists +ascer +catch +hips +014 +eosinophilic +facing +neurof +sitting +pfc +##width +anorexia +lobes +firstly +considers +bisphosph +thalamic +##cholinesterase +##ken +poultry +##uccess +##riage +vitamins +laws +adjustments +beta2 +repro +pauc +linole +biocompatibility +prompted +files +sounds +ecology +##iaceae +##oxal +carries +mbp +excreted +mining +sister +rapamycin +360 +320 +varieties +vesicular +trimethyl +##ersed +##ipramine +149 +undergraduate +##v1 +n1 +glucan +retur +biochemistry +##agl +wavelengths +##quilibrium +consequent +##ropr +##uccessful +harvesting +nonr +intercal +lot +gastrectomy +honey +letter +##usted +158 +011 +shifting +foxp3 +notice +##wt +wine +hfd +solved +phone +versions +dynamical +taurine +syph +disproportion +corpor +neurogenesis +seb +##×10 +swallowing +peaked +win +presently +unsuccessful +##ifies +olive +piglets +trophic +thrombolysis +vulgar +ug +1981 +divertic +##efined +unpr +##usions +018 +##ognitive +##atized +##si +ribonucle +##amides +rom +worked +appearing +##amphetamine +interdisciplinary +diagr +pten +writing +benchmark +savings +degrading +b3 +solute +dosages +psychology +nasopharyngeal +mutagenic +supram +equil +oligomers +ncs +constipation +##vitamin +##lycaemia +##1r +##odermal +resembling +fim +##oproliferative +aneuploid +places +th17 +230 +brachy +##param +turned +concomitantly +algae +vulgaris +saving +predominance +homozyg +dere +gonadal +##gran +exempl +##obia +karyotype +intrahepatic +normative +encapsulation +##illing +moved +##icide +293 +granulosa +##157 +chemotactic +comment +mycoplas +switched +doping +##hydrop +stric +cruz +pitch +doing +1r +biases +crs +hematocrit +ingredients +constituent +##eld +metam +imposs +thousand +subpopulation +orch +##anous +##otoxins +topology +##cens +mexican +comprehension +chym +##istinguish +##imal +ihc +stems +crossing +##zo +bioassay +commission +2c +colocal +##inol +##ronate +poisson +belonged +1c +pineal +aided +##iling +streptoz +standardization +fi +octa +##ki +histi +##istering +advancement +##ried +##e1 +gastritis +oedema +##udine +mpt +subl +plasmon +explants +eus +##icate +transd +tinn +immunocytochemistry +jaund +crack +gate +speaking +erectile +transcranial +readers +ancient +##wich +sulfide +voltamm +incon +preced +ink +interrup +precl +acetone +nociceptive +appendic +##iana +encounter +##imotor +alcohols +##ano +alert +kt +decarboxylase +hydrocephalus +calorimetry +##exual +ticks +spearman +melanogaster +patterning +recognised +hollow +glandular +##ara +couple +ch3 +combat +father +##plicating +147 +toluene +carotene +280 +b12 +interruption +supplemental +lasted +anastomotic +extensor +assume +chicks +grip +jur +imposed +liquids +messages +terrestrial +pm2 +tinnitus +##okes +statistic +aldehyde +antagonism +quies +latencies +reoperation +inward +##eratin +grey +vh +detoxification +clav +drawing +sq +##unted +hepatectomy +foster +possessing +anap +message +##istinguishable +statement +##aminidase +annexin +sepha +ingested +##nac +incidences +bronchi +##tii +##atism +vmax +ruptured +polyuns +ctx +inbred +##87 +##ario +cca +warming +reconstructions +##ocytoma +autonomous +retroperitoneal +phagocytic +μmol +catalyzes +manipulated +subspec +estrogens +sepharose +ali +erythromycin +##ng +smallest +wit +mitosis +topography +017 +bevac +sophisticated +afferents +lactamase +eic +homa +forsk +gravity +uncou +gins +h4 +prokary +solids +restraint +tried +bevacizumab +##kes +tms +##itoneum +esc +holding +##ulo +choosing +poses +ebp +assimil +arabin +invertebr +##onergic +gbs +terminated +gemc +152 +radiolabeled +##aca +crash +hyperal +grid +comparatively +bronchoalveolar +msm +helping +nephrot +histochemical +##enicol +154 +setup +rash +gamm +##oresist +##abr +pandemic +mev +cred +secretions +instructions +beet +mpo +steatosis +tsp +enkephal +##opid +arbitrary +cps +eae +##imetic +attendance +lad +panic +nucleation +japonic +atcc +erythropoietin +uroth +indistinguishable +noneth +looking +thiaz +intent +matern +epithelia +##hem +ptc +##entral +intras +transportation +ecd +gating +capsules +##2o3 +##rov +##po +nonetheless +##globulin +ampicillin +coffee +favored +debrid +teen +transparent +##96 +qrs +aggregated +fractionated +distraction +basolateral +lvef +intracerebral +hypop +plausible +##udi +catecholamines +hetero +immunocomprom +polyunsaturated +gemcitabine +planes +autoimmunity +multidimensional +cyclodex +valence +localize +cores +interested +desensitization +##ainees +diluted +hydroxyapatite +010 +infrastructure +asbest +sensorimotor +contig +speciation +destabil +##i2 +debr +paw +quit +chief +das +driver +lever +sandwich +strands +lignin +thymocytes +afforded +tacrolimus +neuropsychiatric +multimodal +swiss +##aris +mimics +##com +##vertebral +##icile +fibrotic +deliveries +destructive +standardised +prothrombin +lymphoblastic +##ogrel +##acers +dyslipidemia +narrative +##ropol +##gus +##force +cited +##ammonium +dvt +projected +##ophthal +adr +##aec +##arate +shrink +##tisone +px +##othiaz +flowering +##endicular +hyperinsulin +caudate +cotrans +cbt +ltd +bmt +multifunctional +forskolin +utero +eif +beat +pss +chew +serotonergic +equipped +chemotaxis +antinocic +cytometric +neurosci +biosensor +antagonistic +##ublic +##olinium +##imab +##osphere +inducer +barley +cholera +steep +vigorous +mesop +klebs +neurogenic +advancing +bari +myof +##itinib +constituted +folic +##here +##oge +overnight +##opent +arthroscopic +cocc +atri +inspection +##ovol +schedules +aed +hypothetical +cleaning +synchronization +fails +capsular +lex +uveitis +cope +ejac +fathers +##94 +coatings +neglect +perpendicular +personalized +intrathecal +telem +##acted +hydrolys +polych +156 +alkaloids +flo +nonm +vegetative +lifespan +hydrodynamic +embryogenesis +modulator +##enedi +amyloidosis +##itates +prerequisite +interconn +monos +silk +##tention +vasodilation +prion +##elioma +h7 +##astin +wbc +erp +nigra +collections +dentists +buffered +multifocal +192 +etiological +modulators +##imburs +devoid +upr +ewes +##acia +bupivacaine +eukaryotes +roughness +otitis +##elity +##iximab +haart +pcbs +##edicine +aun +costly +##emoral +covers +##ocyanate +eliminating +thyroxine +operon +##oxazole +hepatoma +v1 +shedding +24h +electrocardiogram +book +neighbour +republic +friction +wol +##oliosis +advantageous +occupation +##enium +vicinity +microglial +270 +tu +digestib +##oventricular +blacks +hydrophob +pyrrol +##5a +##olor +predictable +##odom +echin +##oves +repeatability +oat +##estin +kpa +##ij +reimburs +##ecu +recon +semiconductor +##vert +flora +intrig +ferric +coma +##oxins +discs +tunel +celiac +##inescent +maneu +impossible +##inone +streptozotocin +##ulinum +tunn +secrete +going +pictures +analyte +##angu +##ardiac +cytokeratin +twist +mutational +dissociated +worker +sic +folds +trapped +apob +surrounded +##ael +alleviate +phosphodiesterase +inspired +straw +##adine +layered +bz +meiotic +c3h +nh4 +neovascularization +gfap +wavegu +campyl +ets +resections +pcna +till +damp +visualize +licens +##agas +repaired +immersion +##uzumab +##oplasma +pointed +t2d +##onomically +##entful +##apeptide +counselling +advis +reconstructive +restrictions +dwelling +originate +##eresis +mist +##aenoic +##fraction +syphilis +allografts +syncy +sts +imt +tuned +chambers +uneventful +store +herbiv +hens +evolve +##etent +palp +homo +klebsiella +adjunctive +immunocompromised +difficile +sativ +##algia +##olia +edges +nationally +coum +tricuspid +modular +sequentially +redistribution +ovid +epstein +micropartic +##trypt +##osteric +neb +sigmoid +unidentified +labile +protons +receptive +price +##azepine +msec +huge +env +drg +workload +antiproliferative +augment +reconstitution +pufa +instant +##1a1 +pertin +##eit +tensor +##class +pharyngeal +cec +trainees +stic +replacing +surfactants +##mer +cts +formaldehyde +restorations +##phenol +unpreced +nanor +oblique +isotherm +##idis +##drug +mosquitoes +exacerbations +clopid +scid +contrad +voxel +ehr +2r +ua +ec50 +hk +cnt +saw +stz +apoa +manus +nep +harvest +guiding +filamentous +unprecedented +outper +ascertained +purkin +udp +elucidation +sixth +aper +##ineral +amphoter +clopidogrel +supervision +##opolym +frameworks +synthes +activators +analyzer +intraepithelial +##bt +purkinje +qds +microbiome +biophysical +elsew +pim +chrys +gle +campylobacter +compressive +elsewhere +##wa +##ethanolamine +purine +ending +companies +productive +interneurons +effectors +integrative +pbmcs +preex +immunohistochemically +##ira +##ilton +##emide +frailty +encouraged +anticonv +osmol +warning +dissected +straightforward +peroxisome +##oct +##astically +filtered +glomerulonephritis +##adone +thyrot +elastase +##nem +cxcr4 +##oscope +isoflurane +underestimated +hunting +##rogl +cruzi +ribosome +occlusal +##iabetic +coenzyme +feeling +succinate +torsion +subacute +legislation +##oneg +strategic +uvb +##itants +atlantic +spong +ventilated +mug +infrequent +leukotri +##issive +infan +mesang +eta +vehicles +a3 +##oprote +##level +hydroxylation +orthogonal +jaundice +thy +biodiversity +151 +listed +bariatric +bos +##ycle +mif +##ylyl +gib +conjunctival +wheel +ulceration +depress +260 +##agues +nonsm +shut +trachea +pharmacology +oligomer +pole +##had +##91 +##iva +luminescence +ensemble +conting +mao +moments +imaged +resemble +danish +hbe +adhesions +spirom +hydroxide +rick +resum +deph +opinions +collagenase +plga +dss +intriguing +##562 +##amphenicol +##rical +flexor +neurodegeneration +##graphic +synt +##loxacin +manuscrip +pneumon +hamilton +trimeth +gata +##etaxel +confusion +emphysema +ao +##tizing +microvess +##pg +##tilled +confirmatory +dlb +##azepam +##epile +ascorbate +erythema +trout +penicill +iol +##osecond +h1n1 +flood +##uresis +arrival +tunable +reorganization +##tl +docetaxel +porphyrin +wedge +norway +cyp2c +cohes +consecu +appetite +safer +iterative +pover +computation +occluded +##emp +abiotic +hyperpar +bioreact +asn +polyd +##opsin +##ason +serous +immunoglobulins +ye +##tructured +poverty +ontario +gum +##plo +ara +μl +opens +jugular +##bing +157 +tha +diode +ccs +genotoxic +immunogenic +brca1 +methadone +mant +scatter +fvi +ionizing +smc +ventilator +dx +mannitol +microarrays +##emias +ku +exchang +devast +rostral +pher +benzodiazepine +bread +##bg +compensate +falling +cuc +mcl +mm2 +##asth +emitting +willingness +ovx +qrt +consecutively +abrupt +metabolized +l3 +sickness +iiia +oxalate +unre +igg1 +unfolding +ellip +transformations +atrioventricular +ceramide +ended +ferment +ards +substantia +##his +reasoning +ribose +mgl +photocatalytic +exit +conferred +##ko +albeit +glycolysis +lbp +##thrombotic +##arith +scoliosis +750 +##itely +reaches +rbcs +pigmented +hypn +myrist +##yridine +fidelity +oroph +##obiotic +##atheter +tka +inotropic +tracing +mastectomy +##bens +utilizes +anhydr +lie +acted +coming +approached +ori +worth +slides +##juana +granulomatous +##atility +guarant +reinforced +harboring +reticular +married +reflectance +granulocytes +paralleled +apl +##rosy +vasoactive +pertinent +##b3 +eluted +corros +##uce +##faction +macroc +shig +retarded +motivated +macromolecules +philos +digested +1500 +tactile +##olymph +paroxys +export +energetic +##otherm +defence +##obutyric +crim +caesarean +portable +biogenesis +install +177 +unr +antagonized +editing +fes +phenyle +weather +richness +uniquely +##ellate +heroin +healed +##urition +metron +ancestral +sutures +##hc +##glucose +bear +1979 +isotopic +thromboembolic +spikes +hemolysis +neglected +cz +##aturation +verification +ascribed +infiltrate +phle +pill +##airs +coordinates +##omogene +pluripotent +hidden +bromo +colleagues +overlo +accumbens +mct +destroy +##df +acetabular +denaturation +migratory +agriculture +phenylephrine +revolution +workshop +restrictive +investment +denervation +glucopyran +acetylcholinesterase +##idus +midazolam +centrom +polymorphonuclear +pag +incidental +sln +appoint +begins +lytic +##ifers +abrogated +temporally +advent +gauge +chloramphenicol +constriction +authentic +chemilum +conflu +retinol +convergent +rct +spore +intract +hypercholesterolemia +inclusions +aav +cct +infest +implication +dol +ovariectomized +neurite +cta +sct +##ankton +begun +prostaglandins +damaging +##olated +helices +tends +##odeoxy +debridement +cyclohex +vibrio +elasticity +motions +pairing +epiph +tender +etop +blindness +acne +35s +arsen +topois +oxides +##estock +tann +debris +narrowing +##well +outlines +doubling +spiked +mitogenic +pherom +microstructure +thromboxane +livestock +appendicitis +p27 +##onad +deformities +logarith +##icine +relates +harmon +empty +##life +asbestos +supramolecular +##achol +coexistence +##oem +disaster +cd2 +enteral +pea +labels +notes +mmps +wky +hallmark +##odia +oscillatory +census +ordering +##rna +glycosamin +##oviruses +supra +##icially +lessons +irs +##ozapine +sonographic +suck +##aminophen +disparity +caco +ais +graz +biol +answered +analgesics +pie +##odeox +##ubated +174 +no2 +etoposide +breeds +detr +yag +anticonvuls +anisotropic +averaging +valvular +liposome +##att +enthal +anger +euthan +consultations +marijuana +tonsill +anthrac +cruciate +washout +lysosomes +toxicological +glcnac +infectivity +gaze +declining +auxin +necrotizing +wiley +amphotericin +syring +##align +paradig +business +stemi +discer +disciplines +159 +bradyc +coexp +nonf +nanowires +compulsive +intravitre +interven +lec +##thi +awake +contrasting +205 +technically +implantable +paradigms +halluc +virgin +oscillation +o157 +##tian +hev +eru +intranasal +##yne +chir +computing +binge +checked +fx +##april +explicitly +visu +radionuclide +##noea +chorionic +dies +drops +leprosy +hazardous +thalassemia +mics +bite +roughly +controll +##arring +hung +bit +orientations +hek +##inesia +serocon +transposition +##oselectivity +consor +sialic +k562 +epig +##olus +##ovsk +##pic +explos +##ulph +##apopt +antidi +lining +compatibility +##b4 +comes +enorm +019 +spss +remodelling +herpesvirus +scs +##aked +xenografts +multilevel +missense +cdnas +pc12 +untranslated +remainder +mitigate +operatively +slit +jet +aromatase +##opeptidase +abscesses +renewal +bomb +##yelination +metropol +fluctuation +catabolism +chondro +porosity +rods +##uoden +insem +spatiotemporal +mismat +b7 +thousands +##dehydes +##±2 +##igibility +intractable +methyltransferase +esterase +interpreting +##sulf +##through +influenzae +opiate +fe3 +templates +preconditioning +srs +plug +thp +repressor +neurodevelopmental +hns +ipv +mek +##uprofen +##odipine +thail +subscale +##tegration +ampa +fingers +spermatogenesis +opened +culturally +devastating +##arone +fulfilled +devised +governing +epist +drb1 +##ocks +drift +caloric +photographs +thailand +##76 +obliter +antipsychotics +whitney +paucity +gmp +##isters +##retin +kinematics +##uridine +sibling +invariant +##qi +craniofacial +##oxan +pct +catast +innovation +biodegradable +##orphine +ameliorated +rew +##nish +midbrain +##optera +hms +sewage +pra +stereotactic +##arby +occasional +carbachol +confers +clozapine +rendered +pms +amphiph +##minth +naphthal +injecting +##ivocal +unal +dermis +##iens +relapses +##light +182 +assemblies +basin +##yb +pathogenetic +row +ud +nephritis +##gesia +##heal +atresia +linguistic +ordinary +semiqu +no3 +acetaminophen +photoreceptor +divalent +hyperparathyroidism +alcoholism +reproduce +stratum +185 +linoleic +##aned +##othane +chloroform +reti +ureth +##3b +##ocyanin +genotypic +trisomy +think +adrenaline +dams +initio +##enib +endors +disclosure +compensated +rabies +##clusive +reu +ams +mesangial +shot +##orus +##oplasia +lu +##arrhythmic +##74 +pharmacotherapy +crosslink +cylindrical +elongated +boron +##erals +pressor +tregs +##tail +deployment +warrant +ibuprofen +creates +bare +owners +##osulf +serov +eyelid +electrically +##aventricular +alkali +transfers +packaging +strikingly +hydrolase +delineate +##net +scanned +annotation +nip +##rophosph +philosoph +masked +captopril +botulinum +##entions +##afluor +nach +pq +supposed +tcp +solubilized +bird +cephalospor +authorities +organisation +cyanide +distorted +quater +mount +fvc +memories +washed +fad +fistulas +thoroughly +nanomaterials +inflamed +resembles +goat +##phase +relapsing +assurance +ria +antiepile +brachytherapy +flower +societies +unaltered +maxill +cms +heads +eligibility +insert +ventricul +acknowled +discriminating +council +enantiomers +abstr +mj +invited +halothane +argued +##utation +preventable +polyst +superimp +bridges +robot +p65 +pda +reader +##2c +myopia +##orphic +225 +popl +dipl +capsid +##kal +sertoli +egfp +cytologic +##mu +crh +##istan +contraception +crossed +randomization +##phos +micronucle +##obium +##ilin +junctional +##lofen +162 +impairs +dimeric +vor +aggress +##93 +doll +bla +gaining +##sd +##atre +ultrastructure +xi +judgments +nitroph +factorial +ral +minus +enkephalin +##roma +##ronch +annealing +##eller +splenectomy +xl +178 +##onge +##recogn +transduced +checkpoint +priorities +empower +##olase +leishmaniasis +triton +positional +##oris +arrested +listeria +gadolinium +adipocyte +##kinase +crystallographic +##oned +neurole +eruption +prur +breaking +lethality +creb +##omeres +##peridone +shrinkage +##elic +mmc +microf +##plas +puer +anatom +lipophilic +hemostasis +4th +nonun +digoxin +##thermal +tether +##eastern +rhabdomy +siv +eluting +##osomiasis +dtpa +seawater +##bur +nigeria +mediation +##ogluc +fluc +introduces +immortal +##f4 +neurocognitive +acidification +hydrophobicity +streptomyces +bioactivity +##orth +inhomogene +sarcomas +paramagnetic +spacing +immunocytochemical +comprehens +drinkers +##oinos +pyrimidine +astrocyt +##ospasm +hampered +photonic +saph +you +atg +jejunum +photodynamic +statements +ventricles +occlusive +homologue +ornith +specification +chord +listen +residing +districts +simulating +32p +##trated +dialys +##iculus +him +lun +worms +subsp +ternary +denitr +cd13 +lati +tetanus +bandwidth +prodrug +organis +educators +situated +melanomas +genis +symmetrical +##onates +preparing +fna +pulsatile +bifurcation +ranked +##legia +objectively +cubic +oxygenase +refinement +##akary +cream +degrade +territory +##ingly +execution +syncope +zoon +hairpin +intima +g6 +##ispens +hyaluron +historically +1978 +diastere +adequacy +numerically +soleus +anxi +##mitters +##roscopically +vdr +##olars +paroxysmal +shares +proceeds +chloroquine +environmentally +oesophag +##ometrically +lying +etiologies +doubled +164 +bilayers +cpap +parp +drastically +reactiv +fluoxetine +##lasia +##ini +groove +allosteric +lentiv +l5 +nct0 +etiologic +dysm +permeable +##nc +polycystic +##iant +##ineural +heated +banding +abnorm +melanin +osteoclasts +ffa +trin +neurotransmission +cadaveric +holes +backgrounds +farmers +calibrated +strengthening +push +dilem +ems +lamellar +radiosens +##ami +impulse +166 +##idene +reproduced +whee +##yryl +195 +tio +monoph +##oplatin +reared +oestrogen +superiority +nondiabetic +coarse +immigrants +twitch +placing +evaporation +manipulations +##entanil +##ocutaneous +hydroper +streptococci +flowers +##ocyclic +##eprazole +burnout +indispens +evening +##uro +##aterial +##yrid +repressed +cmr +sett +bean +evac +additives +reviewing +outdoor +##methyl +reflexes +aminoglyc +quadru +mycoplasma +cloud +connecting +choroid +paracrine +##onation +canals +scap +pedig +answers +iatrogenic +##ocent +michael +substanti +shallow +engraft +probabil +autoreg +ferm +shaping +fis +##idinium +imrt +participates +hundreds +adri +sga +infertile +infantile +cycloh +spheres +concan +monoxide +5th +herd +endonuclease +doi +##lysis +amenable +valpro +amphib +0005 +glomeruli +264 +mimicked +symp +synapse +pest +##aturity +multist +##apoptotic +nmd +trough +cftr +##olab +##allic +reviewers +probabilistic +expectation +visited +uncertainties +heterozygosity +muller +##asin +anthropogenic +e3 +##phi +plei +##ropin +##kb +sp1 +completing +dsc +elementary +hydrolyzed +dephosph +counterpart +mortem +ppd +167 +##orphyrin +##atine +colch +judgment +transgen +tnfalpha +cron +po2 +##ofuran +1975 +pyrophosph +titres +androst +equivalents +metalloproteinases +dimeth +clotting +myofibrob +migrate +ideation +aza +##fection +##berry +nz +interrupted +pbl +cnv +spa +cic +proposal +confron +polystyrene +phosphoryl +##timulated +dinit +##omatis +incorporates +interests +csp +clinicopathologic +scene +steric +##lys +imperative +nanoc +failing +committed +exciting +lpa +oleic +mediastin +workforce +dwi +submucosal +##yron +##rals +axes +secure +hed +##alis +##onegative +concre +##atergic +seeded +gallst +##anat +##yseal +igg4 +phylogeny +mounted +obstacles +tendons +maintains +rigidity +simvastatin +##azosin +said +carbap +dividing +descriptors +##book +suppl +stacking +g3 +witness +geometries +##187 +##opreval +sponge +##86 +pleth +##ja +marginally +asparag +justified +diphosphate +synchronized +##anide +lond +ameliorate +eclam +syngene +smoked +##ishment +mts +trophoblast +##urethral +monoamine +conductive +seropreval +abnormally +mobil +dish +##ximide +methylp +ch2 +hook +metropolitan +cyclodextrin +ecmo +song +reprogramm +##oretin +worst +genistein +wards +kar +handle +hypoplasia +acros +##icides +marketing +granuloma +mycobacterial +##ima +163 +unmet +arose +herds +raf +reacting +motivational +##omatic +strengthen +##hu +##arenal +##adec +barb +restoring +occupancy +blastocyst +##avalin +quadric +patellar +anchored +tcm +##vian +glutamyl +lect +traction +inacc +climatic +##ocystis +##azo +##transferases +##lab +##inic +##ympath +subdivid +speeds +sterol +bleomycin +o3 +oligo +sevo +biomaterials +deals +i2 +##aulic +drawback +6j +pharmaceuticals +scavenger +megakary +thematic +bib +disag +chlorine +acinar +fove +sinusoidal +syngeneic +##orem +##p4 +gerd +neurotoxic +readings +##entistry +##ximal +swabs +phenotyp +172 +##x10 +h⋯o +eradic +169 +##acea +feat +premenopausal +cd16 +violent +disabled +abstracts +introns +topoisomerase +survivin +unrespons +acetyltransferase +chaperone +carboplatin +forests +minerals +correspondence +retroviral +dispersive +osteomyelitis +##oly +hhv +glycosyl +unpred +rhamn +empirically +subtraction +hong +nyst +bioch +stricture +adrenoceptors +accred +##esp +synergistically +larynx +disposal +thc +vacuoles +vasodilator +mildly +nest +quadrup +catalyze +addic +ei +glutamatergic +proteoglycan +intimal +demanding +##imilar +perfluor +myeloperoxidase +intravitreal +eclampsia +bead +5d +concanavalin +retrovirus +##ospecific +##oxylin +viet +deacet +trachomatis +specially +dangerous +imatinib +mth +acp +##arians +physics +icr +cyclosporin +##terolateral +##inus +lym +##burg +androgens +dithi +neurotransmitters +212 +resembled +monoc +ortholog +##sr +gpa +manually +infect +adds +dentistry +oryz +##uitr +perivascular +reuptake +lem +##tryptamine +covariance +xanthine +##otonic +##inia +ken +adver +##amers +butyrate +steroidal +nanocrystals +##onasal +photoelectron +rectus +corrosion +cardiology +rhythmic +methacrylate +##l2 +##ocene +epicardial +glycans +##ovalent +chemopre +##cys +limbic +decided +consul +peptic +##anthine +instillation +##oflav +nis +suspicious +##uctal +176 +brdu +elucidating +cavernous +constraint +civil +161 +nephrotic +wearing +brack +##thesis +intercourse +orthotopic +blo +fragile +niger +pgf2 +quiescent +msp +lpl +contradict +perceive +lasers +funded +lactating +appraisal +##athic +supervised +cryo +uti +pertaining +pcd +precipitated +dab +birthweight +evaluable +counted +##anthin +copolymers +pph +preincubation +scarring +referrals +registries +##agger +integrins +retraction +alpha2 +bedside +motile +breakthrough +##operiod +##ymic +ionophore +##kd +##ocalcin +chemoat +glia +polycyclic +yeasts +imagery +pean +dissatis +homeostatic +##uses +thoracotomy +bradycardia +xenobiotic +##imine +bivariate +antiepileptic +informal +london +pubertal +deemed +eia +saphen +barium +underp +##c3 +tachy +bun +##400 +analysing +amy +dict +indispensable +024 +longest +##nv +fertile +preh +snail +triti +pei +microcirculation +intracl +sevoflurane +##ocap +028 +2d3 +moss +reserved +extrusion +metronidazole +folded +bcs +engaging +ranking +colchicine +irritation +dereg +hardness +biodegradation +##iteal +preexisting +bon +urothelial +cancerous +guanosine +jejunal +heparan +albino +##cus +186 +##atars +##ava +##etron +adl +183 +##ifera +hsp90 +contributor +256 +morphogenetic +##orectal +chondroitin +sv40 +##odys +cddp +cytosine +##urred +##thra +arrangements +nematodes +##endoth +artifact +flour +asph +brass +practically +##lofenac +electrocardiographic +resonant +uf +appreciable +##ogue +amoxic +intentions +reimbursement +motoneurons +weighing +lacz +paran +portug +prison +denmark +##orrhiz +rotating +lichen +1960 +##ieu +##82 +germinal +rescued +mtb +intimate +microparticles +complaint +substituent +mont +vpa +wax +##odynam +serologic +atra +lysates +refers +doubt +k1 +intraventricular +##idate +##ip1 +cryopreservation +mucinous +gambling +enormous +graduate +antiarrhythmic +gastroc +autoradiography +##t2 +macrol +##otin +dysk +seroprevalence +##ithiasis +##ancing +suction +atrophic +propionate +021 +alex +sequestration +moll +vb +hyperalgesia +neurosurgical +subfamily +prism +unrecogn +interior +secondly +fitc +alarm +181 +023 +acanth +carn +pyel +gpcr +anchor +##otracheal +insertions +engraftment +examin +infiltrates +reconstruct +mucous +autocrine +lncrnas +burd +bovis +insult +triage +ppb +##tc +metaplasia +slowing +photoperiod +biop +pairwise +sof +222 +##iters +##ado +unsu +kain +rankl +tnm +203 +leach +morphologies +outward +superconduc +municipal +ugt +##μm +pis +try +##olded +pectin +pathologists +arterioles +fmd +carcinogen +##ugg +mutans +sleepiness +enfor +commonest +gluten +carpal +027 +hyperlipidemia +gpr +deer +antim +dhea +macromolecular +industries +unamb +tcdd +pixel +##articular +mole +dsa +interobserver +inoculum +fmol +tlr2 +oestradiol +##89 +xr +##ytoin +p2x +inconclusive +##apsed +persists +##romatic +overlooked +4d +##abdominal +traps +mm3 +formulas +204 +centrally +depths +##idation +pla2 +israel +##oplankton +cortices +lor +luteinizing +expense +##itidis +flavonoid +complexation +unpredict +##thoracic +lipoxygenase +##brand +bursts +tmj +##igo +exosomes +bam +##arine +chori +aldehydes +exactly +dystonia +h5 +thyroidectomy +printed +warrants +azo +tad +##opeptide +subdivided +##olis +headaches +speculate +vietnam +202 +burk +##gut +mcc +ctc +##uated +pneumothorax +helminth +hydraulic +foetal +transcatheter +billion +lectins +biocomp +attenuates +##ympathetic +zirc +diuretic +trichlor +dba +unambiguous +administering +retaining +##125 +translate +ancest +transmitter +singleton +tic +airborne +glycan +suggestion +##mas +elite +methamphetamine +minimized +##84 +gleason +##icated +principally +vn +remnant +odd +fasted +epoxy +unsatis +##ille +##ellosis +##word +strokes +thro +needles +hyperthyroidism +ivig +rubber +ovalbumin +ator +foraging +qualified +noncoding +lose +fun +##enh +oscc +##omn +sinuses +thrombolytic +synergy +encounters +codons +##tons +imprinted +##adel +serogroup +##brt +##ticism +succe +pz +glucosidase +ultrafil +attract +unt +dysfunctional +rumen +##rosine +urtic +osteoporotic +inequalities +##rein +171 +hyperv +skew +gpx +interacted +regressions +cbct +enterococcus +173 +passing +transection +nowad +nonster +halogen +etching +diversification +criminal +mite +##asant +indol +visco +nowadays +##epines +blunted +##uitry +migrating +unem +gastroesophageal +escc +liposomal +##ifiers +teacher +vertebrae +##mr +##acillin +bold +cannabinoid +advertis +##icit +accidental +##entin +morbidities +amplic +incidents +exertion +educated +##enzymes +##field +efferent +denture +##prof +dre +reasonably +leaflet +conflicts +##acies +##gamma +proceed +quadriceps +pathologically +##eve +malays +thermo +##oxamine +osteocalcin +rotator +competency +##avirin +lax +##iensis +##atech +atlas +disequilibrium +paths +exceptional +##eximide +quart +colorimetric +acrylic +##ecoxib +exocytosis +ptp +##ofil +neurophysiological +bever +closing +volunteer +salient +psycin +steadily +psycinfo +ossification +plastid +##uman +phenanth +arguments +mcr +foramen +company +rfa +yog +1976 +##regn +neonate +psoriatic +##robenz +##utions +pta +cycloheximide +abor +##ostat +concordant +pointing +unified +ovine +isopropyl +##elected +gdp +##icc +cd20 +norw +hatching +threefold +cres +myogenic +##olones +cancell +predator +greenhouse +##like +206 +chewing +wells +quaternary +tank +inqu +##ilance +1977 +algal +##etra +ecz +finland +##opamine +socially +hardware +dar +hepatotoxicity +payment +osseous +ready +incompletely +membranous +fishes +gun +hscs +fort +immunocompetent +pigmentation +adriamycin +leader +tremend +##ethylation +cascades +polyphenols +msh +ridge +##oprotection +atorvastatin +encompassing +diclofenac +neurofib +panc +questioned +blank +022 +emphasizing +##osurgery +tags +waveform +##92 +exacerbated +026 +##ydig +sephad +diaphragmatic +##onomical +staged +oxidizing +enucle +##bia +classifications +faecalis +l4 +sephadex +graphical +##etary +duty +biphenyl +exhaustion +fluoroquin +##aki +##itories +intraclass +pellets +##argin +##omycosis +mans +##cing +amoxicillin +gynecologic +uncovered +##oca +opn +bark +fiss +##omandibular +uremic +nuclease +nearby +reductive +exploit +sas +wilc +ribavirin +##ticle +snap +combinator +svr +##gc +staphylococcal +heritability +primord +representatives +aminobutyric +dnase +##alg +stature +compartmental +cbd +gill +eosinophilia +chemoattract +invasiveness +turk +fibros +##oencephal +publicly +##vd +mong +mra +##holder +apple +trypanosoma +##olysin +leaching +saudi +overproduc +##electronic +cronbach +clues +calcified +therapist +got +bout +kall +scars +##ql +condyl +fusarium +attainment +cassette +quinone +dext +184 +evidences +aliph +leydig +saphenous +vice +msi +absorpti +187 +multicent +decompens +pepsin +kong +condensed +mesoporous +##odopa +kits +markov +reversibly +##afenib +leptosp +##alline +mush +agglutination +isopren +##othing +phenobarbital +homeless +nts +##fly +bubble +interpretations +##oinositi +##arity +observing +lymphadenopathy +##awa +##etization +laun +nag +societal +separating +detectors +##astig +mountain +braf +libitum +cd28 +aeg +risky +constantly +letters +pumps +##plicates +recap +interrel +transaminase +##opathological +##antit +assemble +kp +reabsorption +affiliated +mycobacteria +histomorph +operators +##axin +zoster +cfs +kel +##epid +cpa +kat +##acrimal +perovsk +classifier +proliferator +probnp +cmc +culturing +economically +sarcoplas +arres +counties +disinfection +serr +expenditures +pcc +5000 +infliximab +##oco +lobectomy +binocular +##formation +hcmv +beverages +##ulline +associates +##otrypsin +haematological +deoxyrib +purely +cheese +ban +elastin +##ogenin +backward +egcg +psychiatr +hsd +thermally +disrupting +##alo +dural +nervosa +fermented +bacilli +calpain +anesthetics +sers +##occl +etoh +208 +eccentric +ornithine +hyperg +psychomotor +ribosomes +sacral +035 +latit +dysfunctions +sectors +##oped +pericard +entail +edition +tetrah +##iparous +constitution +anticoagulants +216 +##oresp +##itives +hindlim +ruled +discussing +dorm +holistic +gastrocnem +aliphatic +emitted +recreational +compute +antih +wille +pls +##aneurys +endocrin +##ofemoral +manuscript +##ellae +sharply +chemiluminescence +weal +##idomide +voiding +ultrasonographic +obsessive +##appab +##ronchial +##eptin +hmgb1 +lakes +shaft +ketone +ambiguous +tas +genesis +##fin +clay +wel +lesioned +##mn +vincr +consortium +simplicity +coral +absorptiometry +bacteriophage +##osterol +mesothelioma +damages +voltammetry +gout +##yelin +exagger +p300 +3000 +seriously +ankyl +gynaec +chop +followup +carbamazepine +urgently +certified +##imethyl +lingual +carboxylate +masking +thior +saharan +330 +recognizes +kap +##anda +contaminant +##agens +##rows +dnas +outlet +##oreflex +impulsivity +withdrawn +b16 +colloid +inev +producers +##ubstituted +tca +spo +##anum +worsened +##yline +bloodstream +##tigo +##adap +thoughts +immunophen +punct +annular +##aggreg +contracep +inhabitants +rifampicin +provinces +tuberculous +fluconazole +##ocus +correlating +##arboxylic +defines +osteogenesis +digestibility +commens +insecticide +##ecia +##anil +##endym +spectrometric +##aired +academ +abdom +##edullary +runs +wilcoxon +fascia +lengthening +801 +##oo +heightened +combinatorial +whenever +anxious +ssp +graves +dti +deprot +poland +provoked +posttreatment +##ynch +combustion +abi +ada +levodopa +endotracheal +electrolytes +modifiable +maximally +galectin +distinctly +hexagonal +0002 +throat +cid +lanth +multicentre +zol +outputs +ocul +proxy +lub +##rb +extravas +pediatr +parasympathetic +##acetamol +vv +ortho +intu +##oviral +partnership +contraceptives +xylose +pect +stains +fibrinolytic +hither +gastrocnemius +rins +willebrand +vincristine +encl +238 +categorical +wise +179 +214 +loh +gil +styles +resolving +semiquantit +sustainability +##adish +franc +governed +shortage +eut +##wi +##adesh +##analysis +hitherto +circuitry +versa +##ults +##oxidation +##asion +genders +unemploy +pollutant +isotropic +209 +necrops +cryptospor +leis +loosening +fellows +##ocyanine +bidirectional +associative +arthrop +##artum +unmod +stations +##ald +antimicrobials +hexane +seronegative +practicing +##uretics +meiosis +##osting +adopting +texas +nephrotoxicity +pine +restorative +pale +##tz +193 +tetrachlor +redundant +sustaining +furos +coincided +landmarks +dece +##tistic +tryptic +##ussion +##oconjug +vals +biotrans +ontology +##agglutination +##iodarone +generator +nash +vitrectomy +neuroscience +hypon +handic +oncological +glycolytic +hypertonic +dimerization +identifiable +exceeds +physiotherapy +regenerated +##onide +manufacturers +devoted +ligase +virological +rumin +artem +photochemical +##whel +hps +attraction +##west +##actam +psp +##trained +pheochrom +relatedness +feline +grp +benzodiazepines +complained +schistosomiasis +sio2 +##osyltransferase +hnscc +russ +carotenoids +lymphadenectomy +ultraf +generalization +##aro +click +splenocytes +##yal +spasm +chelating +nearest +##ariae +##side +rainfall +sst +##ateness +clp +nong +hypercap +anaplastic +##f3 +furosemide +microch +tlc +diamond +##obenzene +chose +intervertebral +airflow +proliferate +pupil +##une +eventual +phonological +##osperm +fle +synucle +permeabil +favorably +predispose +discordant +tma +caucasians +noradrenergic +reacts +drinks +##trac +herniation +official +overwhel +mmse +leisure +citiz +##kg +##ophor +metastas +horser +##ophthalm +pige +referring +prepro +streams +returning +##so4 +wait +och +concrete +heifers +microfil +diuretics +coexisting +##ume +esbl +carriage +toxoplasma +circumferential +raph +transthoracic +##odynamically +spines +##bra +homologues +vulv +compressed +rag +bifid +overdose +##osc +cleared +##aut +heterosexual +##otecan +nicotinamide +colonized +##erh +##ref +cyclization +internalized +beck +closest +233 +magnetization +broken +implicate +sarcoplasmic +compete +##pregn +facet +simulator +##83 +geometrical +p2y +horseradish +pmma +batteries +harbor +serology +##ophytes +##obacterial +huvecs +##umann +carcinogens +impregn +preferable +complementation +dcm +##omon +1990s +aperture +cardior +215 +paracetamol +empathy +concentric +outstanding +itp +transdermal +##eri +gard +dosimetry +intramedullary +myristate +regenerating +207 +contrasts +##oplasmosis +forec +myopathy +refuge +g4 +femt +attribute +hypotensive +barc +bq +nations +disadvantage +annotated +achieves +imidazole +navig +gingivalis +crosslinking +t1d +noncom +diol +##fas +##una +223 +urethra +##ofer +hindered +htt +resonances +fluoroscopy +cim +enum +hyaluronic +##oxycycl +phenytoin +realize +##erae +##urized +mptp +sleeping +epididymal +persistently +cdi +synuclein +##ostom +##alcoh +discipline +osmolality +linkages +contacted +toxicology +derivatization +harbour +##ometers +tubal +graduates +footpr +john +ost +##lt +##lyp +biomolecules +tram +##ubertal +toe +opposing +hbc +##iferous +intratum +natal +##oprol +tnfα +blots +cooking +clades +cep +receipt +diversion +##ophene +antral +antithrombin +request +reprogramming +awa +##ohem +cyn +gastroenteritis +glycosides +##ikrein +##101 +1200 +performs +increments +bell +17beta +##annab +221 +anesthesi +scrap +##took +skilled +stoichiometry +##ubercul +##bp1 +tunneling +locked +unsatisfactory +a23 +fic +css +dynamically +aberration +viscoelastic +308 +amplify +isoflav +antithrombotic +##urus +shelf +bronchoscopy +expresses +obstetrics +entrap +lncrna +adoptive +benth +snake +probiotics +agitation +n2o +slopes +wires +##adenosine +comprehensively +##avian +h3k +vire +migrated +myocarditis +211 +housed +hyperpolar +inr +unrecognized +pigments +bronchodil +##130 +##eb +340 +cd11b +##oeba +nitropr +hydatid +pvp +paradoxical +##ap1 +##othyron +##anter +nhe +##etrically +##aka +##entation +daughter +550 +correcting +##romatosis +mars +undertook +mitomycin +##pm +synthesizing +ces +nitropruss +cu2 +##encephalic +diminish +tables +##d6 +varicella +bronchitis +##len +lexical +palmitate +aborig +durable +##ochrome +muss +remediation +microscopically +nsaid +rsd +##iceal +dizz +asympt +10th +meetings +peanut +conduit +illicit +pparg +##ploys +chimpan +amiodarone +lycop +ligaments +losartan +ruth +rearing +nonsteroidal +ambly +qd +glutar +borrel +pva +kernel +remember +approaching +stir +shrimp +amaz +assesses +##odine +windows +broiler +sulfon +nitroprusside +centi +obscure +##avers +##ounder +##ogle +burning +constructing +##oride +qualities +leukotriene +slowed +polluted +ril +fret +institutes +194 +hbeag +cart +southeast +polysomn +dmd +##olide +vcam +hematoxylin +artificially +v2 +##implantation +##essional +prospects +ttp +alop +evans +stainless +seldom +uh +nanocomposite +phleb +terminology +##ott +##acyclin +##ibrate +##orthy +189 +inert +ccr5 +stenoses +##imolar +##okine +euro +##atases +hydrothermal +hardly +isr +##users +priori +wales +transs +##ystem +lux +buck +infecting +lhrh +##gest +290 +##etom +rendering +tape +##cortisone +##hai +autoantibody +1974 +##onary +enterobacteriaceae +029 +admix +##yelinating +glas +communicate +functionalization +rater +metaphase +yrs +phages +sweat +##dg +photod +relational +##erged +centred +requested +orific +tack +191 +unip +anastomoses +debil +226 +032 +hierarchy +diph +alleviated +ivc +ricketts +nitrous +nh3 +##anting +pheromone +autum +gan +##ologr +##timulatory +##ern +macaques +##ingual +economical +oncogenes +ca3 +emulsions +keratinocyte +a1c +extrahepatic +infin +membered +dissipation +ez +glycation +phytochemical +h2s +certif +##tigmine +thumb +##enafil +mentally +##icals +distilled +beij +electrop +discern +economy +nets +020 +pitfall +belg +anticonvulsant +##ensives +##agers +##ultural +##istin +##ounted +discriminative +##±3 +carol +draining +accommodate +unmodified +competencies +##itrate +employs +pyridyl +bioreactor +degran +momentum +d4 +argen +unusually +starts +roman +metabolically +lastly +##cv +effusions +fossil +##ecd +##ectants +advocated +rounds +contradictory +carers +microelectro +continuation +##bank +##itative +schiff +dissimilar +##han +looked +optimally +delineated +cime +zr +shad +metab +assimilation +##lich +meq +rgd +palladium +solv +preca +basilar +squared +microdialysis +glucuronide +lis +meningiomas +muscul +apr +nonsignificant +drives +psychiatrists +##vinyl +cones +chair +trehal +fuller +##plate +myd +##accum +nanocomposites +prohib +debated +incisors +unpredictable +stance +milieu +##trig +##uel +##ein +##erally +vad +ercp +antioxidative +capacitance +urod +##vic +subclavian +micronutr +unresolved +##omedial +optically +congruent +##apsular +cardiomyocyte +##olymer +##ifl +casual +disagre +##nb +astrocyte +##lass +cimetidine +seat +longitudinally +justify +##s1 +nanotube +sclc +cmax +ggt +##ylaxis +hur +phosphoinositi +upright +psc +reservoirs +stellate +castration +bcc +glc +sarcop +aflatoxin +adhere +1980s +confinement +##onent +##fully +##osylation +##rednis +workup +##usate +upa +concludes +weighed +##ulence +eczema +nasc +incentives +iner +##rotal +218 +turning +modulatory +abut +doxycycl +##yly +mdct +pick +hospice +putamen +justice +##aban +deteriorated +oligosaccharide +ltc +cognate +biocompatible +##adecan +grazing +##oxygenation +seroconversion +fatality +##ynucle +deceased +sprou +freund +staphylococci +eo +##olem +file +antimal +##years +##uin +printing +##oprim +disabling +cbs +##days +spons +hydrocortisone +confid +##kii +interch +anode +crystallography +##ellulose +ltr +wealth +went +anxiolytic +xx +merely +grouping +inhibin +misuse +fundament +calcine +##orel +##ceptive +##buminuria +hypercalc +irrele +iaa +##orhabd +positives +immobil +inflation +##usor +want +astigm +systemically +hemip +dav +unwanted +predators +descent +appropriateness +##tervention +dms +sterilization +trou +##utter +sars +clamping +demyelination +2s +hon +photons +proteoglycans +phasic +cooh +uridine +glutaraldehyde +4a +sliding +036 +mns +enterocol +antenna +##pv +nonsmok +timed +scaled +epc +workflow +taq +dollars +litterm +piece +denatured +045 +##guan +gtpase +pleiotropic +chow +prevailing +wanted +xylan +profoundly +##tory +thinning +shoots +alcoholics +exhal +enj +calcineurin +triad +fits +##600 +deployed +##ispers +##oons +games +310 +plasmonic +ccl4 +analyzes +fuzz +mutually +yearly +##oidy +##ieving +##omyosin +2n +aneurysmal +doxycycline +##angiogenic +##othyronine +heterochrom +names +crispr +metatars +mglur +hpr +adsorbent +##parametric +cholester +nebul +298 +ctr +varices +anaphylaxis +rfs +atherogenic +##gtt +temperate +locking +epidemics +epitheli +deafness +legion +4h +popularity +dizziness +##itz +fragmented +unfolded +protonated +##osystem +hyperplastic +lon +##ilyl +exchanger +abo +pst +##opancre +wav +##reek +254 +enantiomer +chloroplasts +haemophilus +oligodendrocytes +##muir +floral +avers +hydroxytryptamine +communicating +complexed +pieces +##ophenol +obstacle +instantaneous +##μg +alve +crosses +##fast +benefici +troch +esthetic +344 +methylprednis +xa +recanal +blastocysts +cystatin +waveguide +tamp +##aba +noxious +235 +##otomies +##apillary +langmuir +opg +jejuni +##ysts +authority +lyase +pharmacist +exaggerated +maternity +tympan +flame +langerh +aj +##oreactive +upward +a23187 +##othermal +dinucleotide +quadratic +relaxed +coils +observable +pds +##phig +ingredient +##azem +icsi +hemispheric +hemispheres +antine +pbp +chemoradiotherapy +##oxides +tyrosinase +parac +bps +##elective +victimization +communications +##drs +iddm +colp +##ecrosis +##angeal +cd10 +##iformis +##esters +allyl +switzer +burdens +acidity +chymotrypsin +adrenocortical +mastitis +villages +wherein +locate +exped +entrapment +derivation +mst +callosum +c8 +##rem +tremendous +haemolytic +snow +stopping +##xime +langerhans +centros +pemphig +budget +t7 +psd +##ocardial +qtc +oropharyngeal +##coagul +catabolic +switzerland +antinociceptive +diagram +reflective +cyp3a4 +rejected +facts +quadrant +β2 +psychotropic +pna +##itazone +irrelevant +persisting +cfa +polyamine +mastic +##iro +cyanobacteria +zn2 +fusions +transactivation +cathode +qi +astigmatism +##trum +pruritus +##osse +granulomas +##imers +stigm +meningioma +std +046 +##oresistance +031 +perineal +spectrophotometric +verm +##orr +ligated +familiarity +efs +##foot +anabolic +miscar +s6 +nab +ssi +zik +responds +electromyography +##pharm +computationally +undesirable +viz +##ysm +##rett +conservatively +listening +exposing +##adjusted +prokaryotic +sdf +##at1 +##arf +florida +hypocal +histones +mz +dihydrop +aunps +##erus +campaigns +prostacyclin +##ethal +threats +ctla +concentrates +clad +ecules +exponentially +zona +pond +methylprednisolone +junior +turns +##r3 +immigrant +circle +hirs +evolutionarily +cilia +##assemb +copyr +vasospasm +imported +corneas +gonadotroph +hill +endorphin +##antigen +##entgen +sirt1 +##accept +readiness +dxa +passages +##tina +bacteriological +probed +##hou +micelle +pco2 +alloys +2019 +##h4 +##isco +##acid +##81 +theme +neuroprotection +brings +curing +dht +actuarial +meso +irel +neiss +##olization +##board +037 +alkaloid +311 +homologs +##gow +nominal +fasl +manure +beijing +police +##iciting +refraction +trast +##dine +myoglobin +copyright +spirometry +##rodesis +valine +##03 +bmscs +ireland +prematurity +temporomandibular +lvh +insecticides +nystag +myotub +dysplastic +matches +establishes +retinoblastoma +##enet +emuls +humeral +e6 +machines +slide +##tists +agglutinin +antid +corrections +cm3 +discriminated +herm +aptamer +homod +chondrocyte +autumn +##tiazem +375 +keratitis +##esthesia +rw +unic +ipf +quartz +optics +releases +fumig +traces +tee +ch4 +##serine +213 +asians +electrosp +aspartic +##beta1 +frank +demyelinating +hemostatic +applies +comments +##opharmaceu +034 +olanz +##ao +discoveries +dorsolateral +alongside +##breeding +posed +defl +sao +##hydryl +##ropic +ancestry +separations +gang +behave +cages +segmented +acinet +cholestasis +merits +multilayer +carcinoid +agnps +monod +##ocations +nanofibers +##arctic +carotenoid +##ureth +distension +##oglobulin +##ront +##bryonic +enal +vow +ministry +neuropeptides +listeners +saa +stringent +metabolomics +038 +trastuzumab +olanzapine +≥1 +destin +zeol +hav +unlabeled +##child +cholerae +1973 +mmr +palatal +tumoral +fuzzy +##dy +##issible +fibrinolysis +##imidazole +distract +##ouses +bibli +kyn +##transp +homogenate +mch +acquiring +activin +synch +##uccin +speck +##biased +dibut +congestion +alopecia +bee +trimethoprim +relieve +dlbcl +##haem +dilute +rhodamine +##havi +subn +unil +obt +wildlife +gonorrh +rubella +cina +##obronchial +hypoxemia +##phosphatidyl +##biotic +spending +modal +##x3 +ceft +noticeable +explanatory +tcs +haemodialysis +myasth +guest +##vin +potently +aas +ferro +033 +reads +screens +diltiazem +ruthenium +asynchron +tort +##otherapies +zoonotic +protozo +hybridized +plating +hco3 +bland +dermatology +simpler +grounded +acinetobacter +citrus +pace +inequality +intraoperatively +##ymm +##arcomas +glasgow +ppp +mcm +cyano +logic +cardioresp +neurochemical +urokinase +stalk +##oprolol +melanocytes +malate +photoluminescence +##my +specialties +dk +tmd +unresectable +translocations +insec +wavelet +##umber +048 +risperidone +cardiorespiratory +sinusitis +pvn +pumping +convinc +predation +##ugr +organelle +solvation +cystectomy +##ipenem +subma +chemoattractant +##can +ddt +calorie +exhaus +##prop +##omorphine +flatten +vertigo +congeners +roentgen +##osteal +4000 +anonymous +exploiting +kan +apd +sentence +##angitis +##imeric +hypoglycemic +pbc +ell +transparency +dpph +extravasation +terminally +ipa +tace +dnp +##etomidine +argument +gabaa +loose +unbiased +232 +pacap +vz +norweg +##atia +tpo +icg +arthroscopy +aca +organizing +insemination +##imumab +marks +formyl +saturable +exchanges +##illed +developmentally +hematuria +asphyx +responder +xer +implied +##isen +enthalpy +neoin +aband +##ila +appreciated +tmp +presump +##abl +bioge +biotic +hyperint +cystein +##eto +fluency +bent +probands +lymphoproliferative +##renorphine +photosensitiz +orex +valley +lov +amil +224 +quadrupole +##cnts +isothi +avenues +##olaryng +##omyelin +hemic +permissive +connect +intracereb +ripening +crust +termini +reside +##repres +membership +hyperpolarization +quoti +aluminium +##oproteins +isozymes +coincident +nystagmus +##ermined +stimulant +omeprazole +fcr +superimposed +turkish +sre +rises +##openic +maxilla +anf +lipolysis +corrects +##etitive +vo2max +##osts +hindlimb +##chemic +unresponsive +##indole +chyl +nanoshe +photocatal +subspecies +sativa +undiagnosed +shrna +asymptotic +cau +endarter +dibenz +contributors +##ho +argon +##wood +nw +basophil +seeding +420 +subtotal +slaughter +unstimulated +unselected +cochlea +tia +callus +s3 +##gers +##insically +##ocere +phosphates +graphite +poster +apa +octan +pursuit +##atide +##ithin +habitu +estrus +granulation +wasting +unsp +diary +influential +sz +##inoids +cx43 +inflow +exocrine +hypok +tp53 +complemented +habitual +athle +speakers +##diagnosis +##ospinal +carrag +##flora +verb +benzoyl +##iplatin +immunod +pharmacologically +sows +naphthalene +aboriginal +azide +aerial +microbiology +uva +decide +aphasia +hub +carbapenem +phthalate +prod +iodo +intrag +recurred +compelling +phac +xps +biceps +streptococcal +pao2 +gavage +detrusor +fasci +enalapril +regi +nonsmokers +intraluminal +pmns +##ollagen +barrel +elicits +detects +##oposterior +mate +1950 +pseudoaneurys +##eor +orph +##kat +fried +weighting +propos +pps +manager +eliciting +cannula +##tert +neurobiological +enjoy +powered +camer +##anar +buds +047 +photoreceptors +pipeline +##iry +childbirth +##imentary +##orbital +finnish +pgp +##adiaz +butanol +##iiod +capsul +autistic +##oacetic +650 +conspic +innovations +sulfated +dissatisfaction +manipulate +interrelations +xy +octre +downward +reapp +carrageen +nitrog +##othione +mimetic +reef +blend +##car +anaerob +mansoni +truly +ignored +parturition +##acral +chemosens +strictures +polyvinyl +fischer +traced +osteoblastic +at1 +realization +amiloride +msa +curved +solutes +escalation +comet +##abetic +##phone +cryopreserved +dialysate +uniformity +##mar +extraord +##urface +attempting +##obiliary +destroyed +##lycerid +##oglut +underscore +triiod +haploid +durability +pdms +caregiving +overcoming +infrequently +c7 +kallikrein +tetrap +biotransformation +stimulator +lysate +scarc +thrombi +antich +contrasted +femtosecond +tolerate +epoxide +getting +tracers +glucosamine +commentary +hologr +peptidase +##opterin +bronchiol +porphyr +myocl +contracture +lacrimal +densit +ccc +##ophyte +walled +sentences +dub +##mph +##ismus +citric +mx +cinahl +kras +estrous +antiinflammatory +embedding +##annel +nascent +contiguous +huvec +barrett +ambig +oxaliplatin +##admin +phyto +equivalence +virions +039 +gwas +≥2 +compliant +accumulates +##reen +dobut +##king +tuberc +##odynia +odn +academy +tz +##d4 +365 +actinomyc +seventh +urological +parkinsonism +##itical +cylinder +hydrated +laev +bleaching +hatch +inducers +baumann +##roventricular +micellar +##6a +microinjection +vascularization +accomplish +##osseous +217 +monolith +imperf +##western +anca +g0 +maxillofacial +unadjusted +divisions +meniscus +unaccept +waveforms +niddm +extant +integrates +manufacturer +ops +##tices +rtms +sab +zip +rls +exo +##entioned +##gly +ultrac +pegylated +thorax +##rum +formerly +sulfhydryl +yb +##ozoites +norwegian +239 +dobutamine +fibromy +iugr +kines +hay +stressor +pparγ +##urge +opa +semiquantitative +##eping +cch +palpable +##mb +pfge +universities +intracerebroventricular +locoreg +infarcts +stereotyp +moderated +laying +argues +submaximal +tig +sati +apomorphine +geor +ppt +gob +fission +tps +homogenous +pentobarbital +e7 +dnmt +genotoxicity +accelerating +metagen +##elt +reposition +chile +ultrafiltration +story +radon +##osylated +sphingomyelin +aseptic +bridged +tracheostomy +raphe +5a +submandibular +hispan +mcg +popliteal +imping +mainst +##isy +equilibr +##orespons +pellet +##unts +cultivar +unload +##erts +##biosis +nil +anchoring +ideally +localisation +dichotom +##feri +amphiphilic +micromolar +advised +thicknesses +##encephalon +hypogonad +##ronic +azath +##olstein +candidiasis +fviii +lmp +csc +##izability +accommodation +nonresp +mace +storm +##opar +##aks +microbe +npv +c16 +faeces +hydroxybut +ptca +hematopoiesis +chlorhex +##ype +paramount +##lorinated +380 +deeply +##illes +cq +##ighter +s1p +t0 +##igan +thermost +cnts +##ildenafil +##alcoholic +thf +opto +mantle +directors +imprinting +herbs +275 +##uis +responsibilities +mn2 +topographic +bees +wisc +3b +radiolig +nitroso +epidermidis +carib +immunologically +nnos +##gp +marriage +ptb +hypoglycaemia +gay +oxidored +propria +sink +chromophore +##ynyl +incompatible +azathiop +solubilization +rarity +neuroh +7th +neisseria +crime +localised +rebound +fon +irf +mailed +hcm +seedling +brit +pml +oscillator +heterodimer +neutr +biotechnology +gase +neurovascular +naming +tga +transesophageal +tubul +flick +reactors +photoin +reinforcing +perovskite +chlorhexidine +wish +oncologic +extracting +injectable +fecund +neurology +polyposis +gef +royal +initiates +retire +zw +favoring +demethyl +##oniaz +iranian +patterned +kyph +continence +##quinoline +##azoline +phosphorylase +bangl +##ths +achievable +dor +vagina +urgency +infestation +##reless +370 +##ouns +immunofluorescent +aneuploidy +periodically +deae +bangladesh +abortions +transmural +prazosin +##okines +oldest +anatomically +subdural +pathophysiologic +buffalo +midwives +hypertrig +##anone +manipulating +##eliness +biodistribution +millions +smd +intrinsically +480 +mites +hypoc +##inflammation +cem +aspergill +cushing +transients +contracted +##bec +digest +pitfalls +sildenafil +electrochem +hnf +uranium +colored +##i1 +adn +notew +counteract +electromyographic +piezo +instrumented +spiking +humor +pgs +##oton +sos +logical +##okinin +inferences +acetylated +avoids +##iet +spliced +identities +##oflavin +biochemically +nadp +inductive +supplies +debilitating +biomechan +tertile +bmc +nitroglycer +##methylation +maneuver +##pb +drawbacks +preg +homosexual +cholangitis +sider +##torh +thiored +228 +estrogenic +compromising +ed50 +presumptive +kcn +evacuation +convex +prrs +##ultured +fractal +defensive +indeterm +cadavers +photosystem +crush +isoniaz +##oduoden +sonic +##osi +annulus +azathioprine +baumannii +knowing +scru +denaturing +butter +diat +lymphangi +burgd +##κb +ict +ependym +seemingly +##uronium +balf +unbound +adapting +cba +##azin +phenotypically +controller +adenylyl +##omib +sorafenib +hypophys +lyme +##operfusion +radiologist +wrong +licensed +transvers +vsmc +clip +baroreflex +niv +tpp +runoff +abduction +burgdor +##ellin +heterocyclic +hydrolytic +repolarization +caen +##ogastric +prag +merit +gj +phosphatases +corners +ptd +pgi2 +##etus +manufactured +intensified +metabolizing +claimed +hypercalcemia +##omening +unheal +wireless +uncoupling +##centr +##endothelial +pach +##h2o +noteworthy +holstein +mof +google +##ucine +dichloro +cryptic +##orptive +potentiate +##yer +unco +ags +penal +relied +vsmcs +leucocyte +investigator +##professional +poc +beneath +sulcus +##bw +interconnected +nrs +pleomorphic +oligomeric +bacl +globular +burgdorferi +jak2 +##orhabditis +pns +transurethral +naa +calcifications +sulfoxide +n3 +degranulation +##ervical +court +heterozygotes +##db +##access +245 +hypertriglycerid +boots +characterisation +##adol +##rology +lett +meter +##cysteine +3beta +nci +mbl +shortest +##folate +isomerization +pyrophosphate +precipitate +progressing +tumorigenic +so2 +b3lyp +##aea +fetoprotein +##transplantation +tailed +##bear +purpura +trehalose +mission +##trid +dihedral +swab +##omethane +hcs +00001 +##trex +dac +utilisation +##ennial +##ostosis +budding +buprenorphine +lpr +##otap +glycated +ale +amend +occlusions +ki67 +geographically +spasticity +your +sexuality +underpinning +incisor +reinforce +chronological +##ran +##immune +phantoms +##1a2 +##arth +rivers +thanks +demonstrable +##etries +##sm +adjuv +hyponatre +berg +thyroiditis +agn +guarantee +singular +proto +commiss +##uma +mlc +biv +gaseous +vascularized +myelodys +##urities +classifying +connexin +visiting +ahi +rhoa +vivax +polyt +##af1 +fak +##idines +tan +042 +dystrophin +inefficient +##180 +phenomenological +recapit +roi +palmitoyl +##cription +pld +appeal +219 +convey +isoniazid +dysregulated +facets +assignments +svm +anteroposterior +##odin +transposon +##amyl +pgc +allop +washington +##ovi +rheological +##cel +club +embolic +##arabine +website +ay +k2 +halo +homing +##orient +collim +##rogenesis +serovar +ryan +consume +delineation +##ivirus +necropsy +##rosthetic +##ospermia +##burn +fabricate +euc +grounds +permitting +player +enzymatically +sax +ish +novelty +ssr +##iper +tut +instructed +village +##arche +unexplored +styrene +##balanced +##q11 +artemis +discontinuous +histopathologically +resins +symbiotic +peep +##ondral +categorization +transv +##urrent +043 +##children +anaesthetized +stillbirth +streptomycin +postp +afterwards +isothermal +##00000000 +valgus +sjogr +##bv +##n3 +genbank +ryr +##ectoris +nonex +234 +leucocytes +externally +abundances +##atids +pept +joining +nyha +##yled +achilles +pvr +neuraminidase +grape +urticaria +##ourished +certainly +##ometabolic +##ematous +microglobulin +taught +aversive +multicellular +##293 +##romegal +##osable +involunt +##activated +cd56 +##esin +albuminuria +contraindications +relieved +eliminates +##lc +architectures +certification +nicu +keyword +mpp +##ffer +transcriptionally +orifice +invading +cannulation +v3 +synchro +heritable +negoti +chat +esophagitis +##ensory +hgh +broadband +hydroxymethyl +ensures +tenderness +ncr +calcane +endodontic +sps +##ca1 +phosphatidylserine +sjogren +6th +cd19 +api +acetaldehyde +visibility +241 +shh +stomatal +octreotide +dephosphorylation +prick +hospitalisation +auxiliary +##igenin +rit +incar +innerv +neuromod +affordable +nanorods +hun +immunosuppress +thai +forth +##ochondral +perfusate +##tri +stn +acclimation +vitell +avr +##ocortex +scrutin +bats +##onol +midgut +bottlen +mmt +sensorineural +heel +telemedicine +aggressiveness +##radi +isoenzyme +incap +##being +glucoside +5s +coul +aii +##ternal +classroom +##oting +immunoassays +microorganism +directing +morphometry +urease +diphther +myoblasts +##opolymer +trpv1 +rotations +postulate +##acyt +news +locoregional +breakfast +sulfonyl +frustr +049 +progresses +mesoderm +##osclerosis +##hom +valued +ppargamma +cyto +##ollen +fibril +##ells +##actyl +epcs +##elong +calculi +prepubertal +proceeded +hernias +invertebrates +pakistan +##map +tetramethyl +bacul +immortalized +wellbeing +tdcs +biosensors +omp +xp +##amoeba +taxonomy +hispanics +vene +bpm +##onins +pectoris +hedge +##owed +deuterium +decel +subdiv +ip3 +fimbr +##d3 +nitrophenyl +thall +slip +sant +maxima +##zomib +##othi +229 +##hog +deaminase +cb1 +ambul +miniature +conventionally +imipenem +interferes +##verted +magnitudes +##tress +triterp +fts +##omplex +conclusive +wd +##avicular +adhered +clarithromycin +polyg +##ucting +lactis +rage +##porter +1966 +##fluorescence +laevis +##pot +##osh +molecularly +rectang +ihd +vasoconstrictor +##ivudine +mcd +kilob +ancestor +quantitated +polychlorinated +dates +whey +3β +2m +phosphoinositide +amni +pheochromocytoma +golden +approx +##fts +dosed +exf +say +##orylated +ebs +minnes +##amido +predefined +##cc1 +penetrate +spondylitis +reliance +terp +anoxic +jew +adrenalectomy +##reatment +acrylamide +##azide +tbars +##lock +titre +##othec +offenders +sunlight +##position +practiced +rectif +iap +synchrotron +##itil +huntington +entrance +modelled +therapeutically +##apore +microsurgical +overwhelming +##itably +myocyte +##kl +ricin +arctic +dsp +##937 +beating +biotinylated +p50 +##endazole +tst +penis +##electroly +default +jurkat +20th +interrog +irrig +dipyrid +antiphosph +##coprotein +panels +migrants +cardio +ploidy +##kinetic +##erson +s100a +cryptosporidium +lactofer +replicates +framing +myelinated +lysophosph +phosphatidylethanolamine +caenorhabditis +fap +##isk +glycaemic +##rote +retirement +##apto +sons +orches +sclerosing +ssa +citizens +equivocal +041 +crystallin +amoe +compiled +isotonic +##delta +progestin +##lessness +editor +acromegal +radiosurgery +bdi +og +accessed +##retion +minnesota +money +bca +depicted +fingerprint +mindfulness +rug +restrict +##mics +borders +carolina +displacements +heavier +mdm2 +gss +deterministic +lubric +extensions +athletic +dentition +##tiveness +beneficiaries +nephron +hypnotic +caf +myb +promptly +##orphism +dmf +bulky +modifies +confluent +##osities +##itrite +ogtt +epithelioid +vzv +mmf +tones +controllable +##olinergic +avium +fibrillary +glucone +##ographies +drastic +anteced +pdi +overlying +degenerate +fibromyalgia +viremia +qa +fragility +##ophytic +mta +##occlusion +cour +ceftr +236 +negativity +sectioned +mdma +defenses +flavor +laminar +mainstay +facilitators +mine +##2r +urodynamic +ner +forel +nadir +##cryst +clath +17a +sedative +compass +##missions +bioassays +fluorine +ginseng +tampon +ccd +stump +mthfr +ui +universally +gynecological +indexed +nf1 +entang +serially +248 +agend +ceftriax +urs +endarterectomy +pleu +hypothermic +administer +fluidity +riboflavin +interspecific +thioredoxin +extubation +##onecrosis +enhancers +igh +herbicide +town +draft +floating +acknowledged +##alasin +kre +f3 +matr +nonrandom +amalg +##acholine +originates +immersed +gm1 +mehg +eigen +replacements +carboxylase +##ifferentiation +##ystitis +youths +endocardial +##ostigmine +cycload +nim +lactone +##opram +corroborated +egr +##fv +supervis +##romed +##odomain +arte +enterica +##3t3 +antidiabetic +##behavi +sid +mbc +impurities +adenoviral +##oproph +indeterminate +perone +strugg +landf +pear +unavail +lyophil +pant +##arius +refine +syringe +##oning +##rice +##italopram +cory +hapt +pthr +antimalarial +##arded +amh +##welling +ngs +adventi +##tite +usp +##afted +325 +rps +perpetr +caspases +appreciation +genu +strab +hypermethylation +##idian +juxt +##s2 +kup +carbonic +tracked +kiss +meteor +intratumoral +accreditation +##antes +trying +preload +perforated +party +blasts +quartiles +fractured +disinf +singapore +antitr +ductus +nonhuman +dioxin +cholecystitis +repairs +door +lifelong +aro +swollen +modifier +proceeding +hba +mos2 +ceftriaxone +humerus +offs +mutagenicity +mediastinum +potencies +willi +ht1a +latino +estimations +diffusivity +##atial +condyle +##tilb +##oronary +fcs +elaborate +abbre +weaknesses +b4 +cus +proprio +##ureter +##anserin +craving +preparative +transfused +cecal +##n4 +##individual +##tigens +saccades +kyoto +racemic +cholecystokinin +sorted +buffers +cach +impr +metacarp +balancing +##±4 +phylogenetically +johns +interphase +scleral +inception +##stalk +markets +isoenzymes +dsdna +sgc +p75 +##aploid +otolaryng +asthmatics +landmark +exceptions +undetermined +tos +readmissions +##ohep +nanotechn +macron +##baric +explant +prehospital +demethylation +sulfameth +##ih +quadruplex +##acoustic +unprot +exercised +hydroxyvitamin +abbrevi +##jd +seeks +encephalomyelitis +duplicate +protonation +##iors +glasses +victor +##bos +synchrony +243 +coadmin +fra +shigella +##ocalization +tcc +neurofil +aforem +metallothione +atria +liability +aforementioned +angio +030 +odc +kenya +microflora +mdr1 +coales +anoph +##agal +duck +heights +maltreatment +marm +cholangiocarcinoma +##antigens +##oporphyrin +##ethane +044 +amyotrophic +##entilation +retinoid +1972 +pwv +oncologists +mend +##ypti +##ocentesis +colomb +mvd +hedgehog +##win +##ostal +hyaluronan +hallucinations +cdh +appendix +nanog +131i +lacun +rbp +##rowing +4b +orthostatic +gus +beverage +227 +##apical +gynecology +cholinesterase +homozygotes +##odyst +yers +15n +##126 +incarcer +fbs +rer +##ylv +telev +concerted +##adaptive +powders +hyponatremia +zh +cords +interindividual +shunting +vigilance +audio +astrogl +ferrous +242 +tall +brucella +hib +thiamine +exceptionally +1ra +viscous +symbion +flare +##oplegia +proficiency +keratocon +##enoids +##the +stear +ringer +unhealthy +##orbed +incidentally +hots +##aters +quail +gp120 +##arterial +byst +alkylation +gdnf +ionized +##alkyl +##onscious +##apsules +##nu +##erule +##anolic +cholesteryl +nitroglycerin +rolling +##aginous +petrole +pnp +##cement +humic +hyperoxia +pga +fluctuating +tfs +coiled +##ovulatory +rainbow +##iaa +spermine +exploitation +meniscal +##standing +emerges +tsa +log10 +innervated +inactivating +microalbuminuria +attenuating +bootstr +spectrophotometry +broadening +flush +##burgh +##duced +accelerates +##men +archaea +##renic +partnerships +##oremed +fecundity +##ospatial +levo +nucleophilic +lrp +##506 +cinnam +luminance +alfa +subgen +lacc +adjuvants +252 +ici +pread +seropositivity +##bearing +fron +nonl +hyperbaric +cardiogenic +cmt +##iclovir +cardioprotective +##hard +##critical +osas +inactivity +bottle +azithromycin +transcriptomic +scleroderma +nomen +advocate +hourly +stokes +##opathogenic +incisions +errone +cyp2d6 +carboxymethyl +clarity +astrocytic +neocortex +bacteroides +adenomatous +cci +recanalization +disks +densely +##olipin +lfa +nanowire +dexmed +methacholine +tetramer +petroleum +asymmetrical +fibrillar +##eight +inaccurate +exhaled +1970s +##othermic +fe3o4 +clind +ketones +runners +pcm +magnification +vacuolar +dipolar +antarctic +cine +synonymous +hydroxyproline +prevalences +pragmatic +hysteresis +triangular +glur +shortcom +languages +crosstalk +syntheses +polyneu +shortcomings +assault +##ecies +rheumatology +##arietal +acetylgluc +elaborated +bend +dcis +mesenchym +mechanistically +##exy +replicating +hcy +thicker +temporarily +dyskinesia +dexmedetomidine +chb +intraves +shuttle +viewpoint +privacy +sarcopenia +decis +postex +tgfβ +##oblastomas +eur +imipramine +##reshold +cytolytic +cargo +≥3 +##cb +ictal +##igel +stoichiometric +##ongru +lncap +cd1 +multifacet +sns +thiols +misdiagnosed +antiphospholipid +trus +furn +255 +##ecium +fulm +mitigation +benzoate +##116 +rnfl +u937 +acceptors +11c +anchorage +bisphosphonates +involuntary +rx +overproduction +ryanodine +chagas +absorbing +specialization +##azid +calv +multiplicity +##riers +##etting +breakage +shielding +formulate +questionable +##outs +clindamycin +edible +pione +##agle +metamorph +advancements +##trexone +nsp +actinomycin +ipr +crowns +implicating +dentine +recalc +demineral +celecoxib +##ytoplasmic +singly +quotient +soccer +mold +internally +radioiod +multifaceted +isth +operates +electronics +oocysts +##epi +##ohyd +externalizing +comfortable +russian +nymph +epilept +##architect +sce +##erea +aedes +nms +dehis +jointly +syncytial +infinite +endos +isozyme +##osmotic +covariate +isomerase +manufacture +##esartan +259 +##onated +casting +brand +schistosoma +fumigatus +bifunctional +##fused +littermates +0003 +photolysis +crab +ohda +##ifolia +strengthened +darkness +michaelis +imperfect +polyaden +rech +##inately +aerosols +##eland +mushroom +##cessing +pressing +vagus +snails +##h3 +##nts +265 +multiplication +gamet +##astigotes +iri +inductively +##ivial +##iptyline +condylar +plp +gig +##rotoxin +columbia +ncc +shel +intervening +nomencl +pend +borte +##reported +parall +tricyclic +cbp +suspect +meningococcal +peptidoglycan +tetrod +##fu +##acological +c1q +##aval +incongru +phagocytes +hac +emergencies +denitrification +bortezomib +##lational +neuroleptic +peroxyn +endings +interdep +cst +diacylglycerol +simian +enth +biob +1s +transvaginal +fourfold +blockage +retains +lactoferrin +nem +neuropathological +neuroinflammation +dyslex +dsrna +triiodothyronine +##oagulation +##icus +coordinating +hbo +nut +##itidine +underweight +baclofen +chances +preparedness +##ealth +phal +telomeric +concussion +##junctiv +##eno +##atography +gor +juveniles +polish +neurosurgery +deacetylase +accessions +##port +##erves +flocc +cognitively +bronchiolitis +deactivation +exudate +periodicals +multitude +fenes +metoprolol +edent +fixing +##rad +reassess +cd133 +renders +pdc +duplicated +##adate +##odone +251 +liz +##ituric +##hydroxy +##akia +pork +claud +f4 +##apheresis +##inesis +nucleosome +spt +denv +flip +accessing +epididymis +rgo +dce +tj +cbz +##tinib +senile +quiet +##etermined +fulminant +ovip +ultrafast +nonalcoholic +narcotic +dating +##adecyl +266 +nmdar +misle +vibrations +usability +##capes +melt +neurobehavi +startle +tetrodotoxin +save +monocytic +villous +237 +gratings +hemangioma +disparate +perturbed +discourse +partum +specify +rooms +formate +dentist +scopus +##ancerous +nanosheets +sis +allergies +polyamines +##lm +researches +hca +characterizes +transducers +vocabular +emit +predominated +##meter +facs +iud +biomaterial +qsar +relying +aspergillosis +encompasses +##menting +unrel +##oremediation +lithotr +capturing +6m +suite +cort +curricula +##alog +cvs +naoh +dilemma +315 +shocks +sublethal +transist +crass +laid +##graphs +cacl +##opharynx +grows +hydron +laterally +underlies +anesthesiologists +carrageenan +##opically +chlorinated +enantioselective +segregated +arthrodesis +depolarizing +scotland +charco +shunts +##transplant +##1p +vortex +arteriography +thawing +polyelectroly +##inum +conspicuous +jh +sight +rcbf +booster +triacylglycerol +immunoreg +rhodopsin +##orrhizal +toxoplasmosis +lamivudine +##ivir +speculated +##romazine +projecting +argentina +dma +indones +lmwh +##avidin +spaced +pedigree +farming +bubbles +cancellous +convulsions +belt +##edoch +endocytic +cyp1a1 +##ophyt +excurs +denervated +weaned +phr +monitors +adamts +##uer +wakefulness +##rosterone +circums +pediatricians +pdl +myasthenia +lind +spill +wheezing +columnar +glucuronidase +territories +##arrhythm +nanomolar +causality +##oven +colectomy +hemorrhages +ghz +##5b +inbreeding +##ellites +##ectant +suckling +neuroanat +infra +##omponent +absc +vasodilatation +##tins +pav +##omel +milder +myotubes +##alic +##butamol +wg +soldi +torr +aegypti +cscs +affords +##ht +hypercapnia +tamponade +nonadh +supras +vign +##encl +##space +physico +zirconia +pthrp +intentional +kev +pediatrics +##lete +valproate +syll +thawed +##thio +##quat +paa +inflammasome +##lymph +irritable +ther +calving +##edral +bimodal +pneumonitis +##eic +##olon +globe +sms +allodynia +fura +##opeptides +##ogloss +##uters +ipc +inulin +genit +equator +msv +thoracoscopic +##rolateral +246 +rrs +conceived +reentr +##yletic +unprotected +dione +##oty +qaly +##ocs +##sil +stands +salbutamol +##pregnant +peroxynitrite +amazon +nbs +hydroxyethyl +hemophilia +myopic +microvessels +street +initiator +obligate +television +##idosis +counsel +##oide +##axanthin +##eme +overestimated +nord +249 +##ectivities +thyrotropin +recovering +qtls +earthqu +internalizing +##onus +##liptin +bottleneck +trapez +mvc +040 +cld +plasmacyt +2500 +tung +diamin +evoke +nucleolar +fundamentally +repeating +transformants +caribbean +##wl +wastes +##equencing +arthro +cd38 +dystrophic +vg +invariably +caveolin +##itizing +charcoal +unravel +delaying +sock +244 +formats +pyrolysis +emin +psii +bpy +cpm +hek293 +captive +shells +schoolchildren +cardiometabolic +##7a +tars +empowerment +##agenic +extrapolation +itrac +amik +equity +295 +query +eicos +tetrazolium +##qs +##â»Â¹ +##coming +##body +canopy +##har +tympanic +insults +diesel +pteryg +vertically +intradermal +appreci +spheroids +ddp +##cephaly +18s +duplications +preoptic +##arbox +247 +kupffer +mercapt +##enclamide +irin +hch +##onsin +cpe +recirc +tata +emboli +protozoan +heterotopic +certainty +##epsia +253 +##anate +pretest +##utres +thermophilic +440 +abstraction +telomeres +vegfr +##onders +adenosyl +intragastric +cycloaddition +spm +##orescence +mercapto +alumina +tentatively +advocacy +gk +pnd +##vhd +stays +temperament +compress +##amili +bullying +unfavour +habituation +##retinal +emr +##ocholine +substitutes +retail +confidential +##iso +paraventricular +scopol +wal +conspecific +completeness +antihist +characterise +catastrophic +excip +deoxyribonucle +ceftazid +glib +orbitals +lipof +##atur +transcutaneous +##che +precautions +kinin +minimization +formic +dyspepsia +##eptor +itraconazole +ramp +bisphosphate +parag +phenols +peru +odontogenic +profit +fluorodeoxy +##worth +tpn +reversibility +hil +extras +infiltrated +##tring +nes +senescent +autogenous +erps +naltrexone +##344 +##fi +capd +radioligand +contours +affairs +altman +##enolol +dehiscence +synovi +loud +rs10 +assumes +fms +amikacin +irinotecan +smcs +cephalosporins +conferring +insula +mismatched +oxidoreductase +concert +##ysteroid +restricting +redundancy +##ionyl +sorbitol +dislocations +##ryl +##lers +cereal +##lingual +bart +##roke +igt +queens +nipple +buffering +scalable +##oneu +permanently +chaotic +ganglioside +##iaxial +oxygenated +compositional +inclusive +hypothyroid +internationally +farnes +thinner +gulf +crystallinity +##hb +placentas +cartrid +wisconsin +##famide +##oprophylaxis +wheelch +recalled +alkylating +activations +electroporation +bival +cob +bras +lrr +convincing +ld50 +antifer +intensively +dpi +##nn +athlete +##obutyl +cystitis +haemorrhagic +hilar +##reach +ceftazidime +splanch +exhaustive +1971 +myelopathy +vitil +##tiform +##atri +massage +##a3 +administrators +cpc +##rey +polyureth +autophagic +pgr +divide +glue +rts +vta +deposit +##ibrils +fork +##ll +##ycholic +defibrillator +orfs +threatened +leukemias +appointment +ira +merist +isc +cape +myr +cytostatic +videos +agen +cohen +northeast +dash +informatics +malaysia +governance +kainate +adnex +bears +dihydroxyvitamin +capping +replicative +uracil +bcva +villi +ats +cyclopent +rsa +proposals +goblet +papilla +##amole +bulls +##oethylene +castrated +illumina +oint +oesophagus +##athin +spouses +trains +pdac +spider +lowers +ownership +##l3 +decont +craniotomy +disproportionately +2p +mph +crowding +##osarcomas +##cedural +pvc +chelation +##itism +invertebrate +##fm +ipt +transferring +pge1 +scfv +olt +proteinases +##ums +hscr +pae +isotype +favors +rantes +268 +decidual +unfamili +immunology +atopy +typed +##econds +tie +lift +glut4 +smr +ille +diphosph +##olamine +##angiect +humid +hyperinsulinemia +biochar +cervic +##factorily +##romal +atenolol +attrition +##aciens +converts +faith +morris +vaccinia +ethoxy +nq +##junction +moves +dispersions +fertilized +periventricular +parat +reca +nonsurgical +257 +borrelia +nonpregnant +##scat +##gener +modestly +customized +scopolamine +##kc +cheap +issued +electrophysiologic +c12 +305 +bicycle +dwarf +isothiocyanate +sphingosine +estimator +discriminatory +choledoch +intergenic +dentures +ankylosing +##uristic +requests +aquap +dyads +##eav +isole +unaw +polyneuropathy +rds +278 +taxol +casts +anticipate +posttransplant +aminoglycoside +arabia +##americ +batches +adopts +##electroph +survivorship +##enedione +interprofessional +opc +taqman +corrective +accord +##aparin +waals +losing +##cast +cautious +##osynthesis +lan +micrometer +##factors +microliters +##rolithiasis +endosomes +knot +miscarriage +kaposi +258 +##olytica +nachr +macrop +arteriolar +anticholinergic +umb +staffing +marketed +sirnas +computations +renewed +mesenchyme +##enne +vagotomy +##ocratic +employee +linol +ethylenedi +speckle +##ifos +apgar +regenerate +rpl +spermidine +retinas +fent +##atechin +dipyridamole +egta +outreach +##onis +exacerbate +correspondingly +chalc +jack +lifting +##planned +nef +incentive +##achus +anthracene +framesh +stripping +##tip +##oxine +273 +410 +##ventive +gastrop +##enched +nonparametric +matured +fault +stm +saccade +##uronal +##asure +piezoelectric +amalgam +##ithm +esd +virion +buried +propagating +##opyranosyl +nomenclature +jas +bcl2 +noncon +proband +breakpoints +prices +miniat +285 +pectoral +microdiss +##eca +45ca +##gesterone +thiobarb +disruptive +macaque +coeliac +oligodendrocyte +cereus +cd31 +salicylate +##retic +intert +mucositis +synthesised +rewards +mma +carin +scant +definitely +colostr +aeds +##oping +aac +collisions +keywords +nlrp3 +kine +antiangiogenic +unfavourable +enucleation +football +##apent +myelodysplastic +##enzym +thickened +hyperrespons +fw +crashes +yersinia +glibenclamide +backscat +mrp +##anesulf +antineoplastic +obstructed +distinguishable +snack +focuss +##osaminidase +signed +vitiligo +htert +##her +288 +fertilizer +ubiquitination +submic +interim +complicating +inlet +acycl +deciding +##analy +##erry +301 +jia +putres +tbs +ancillary +eco +oxidants +##odystrophy +rca +subreg +goiter +bodily +forage +crystallized +delib +##osahex +##ulitis +ontogeny +chips +intracytoplasmic +dad +unint +extracranial +overgrowth +##fractionated +##arins +htr +##phae +epilep +adenoid +isolating +cole +##otency +unconscious +roch +##oeae +sprouting +endeav +ghrh +peroxisomal +263 +##rogenital +##09 +##rospor +##entrifug +bulim +nanotechnology +tir +acrosome +dapt +electroencephalogram +splanchnic +asparagine +asphyxia +acd +brs +nanostructured +gravis +##urinol +diphtheria +mania +bouts +holo +silenced +304 +302 +cavitation +##cam +manic +epilepticus +chic +sprint +parkinsonian +sternal +vertebra +glycosaminoglycans +exogenously +microbub +leaks +patella +isotherms +antisocial +reversing +dqb1 +##antine +propagated +##centration +rectangular +continent +comt +ventrolateral +corticotropin +misleading +ultrathin +maladaptive +scrotal +iiib +canis +hairy +phonon +heterochromatin +pbr +267 +##oconazole +≤0 +organisations +alignments +bioaccum +thalidomide +dz +immunosuppressed +salicylic +perchlor +army +streptavidin +awak +quarters +appearances +sesqu +satisfactorily +nonselective +inherently +##ochond +ferromagnetic +researcher +arithm +ql +predetermined +rhizosphere +pallid +degs +##jiang +optoelectronic +vulvar +posth +inquiry +nitrobenz +bde +h9 +qm +evs +arithmetic +dth +azt +##yrinth +biomechanics +anhydrase +tethered +dimethoxy +russia +##tida +officers +malfunction +microvessel +460 +amlodipine +##ofibrate +broilers +##odilution +ota +##tles +##anoid +apache +achr +fcm +polyphenol +spermatog +fingerprinting +##blas +hepc +classically +##rew +endosomal +##±5 +ginsen +coexpression +##lux +photovol +rio +proactive +steat +coculture +socs +reflections +t1dm +philosophy +##onella +##atp +fontan +lymphedema +##cet +paulo +hydroneph +vinc +##nl +bringing +shadow +rapd +##etit +cooled +##tonic +shield +520 +microvilli +nct00 +histochemistry +##vo +##agliptin +phc +##2s +papilloma +coliform +biomimetic +lepr +bism +##epo +esophagectomy +legionella +learners +ovariectomy +subsam +versatility +millis +acous +docosahex +contingent +colostrum +##iflor +anthocyan +##imidine +##ipsy +decisive +##orating +##etan +capita +disassemb +##week +chemopreventive +fpg +hydroxyd +normals +omn +chelator +instar +misoprost +##etium +subclasses +reoxygenation +##imeters +paced +##gamm +purple +distortions +avidin +profess +claudin +euthyroid +aliqu +shbg +synovitis +gonorrhoeae +switches +thyl +paco2 +##itim +glycoside +groin +antitrypsin +##aracter +276 +##rian +roux +thiobarbituric +misoprostol +amoeb +##ourinary +heteros +##oglitazone +ttx +logarithmic +cemented +palmitic +##nr +undern +##umenting +chen +##200 +sri +lc3 +enolase +intratr +menarche +administrated +smith +##lear +depolymer +macul +erythropoiesis +accompany +mineralized +fabp +commensal +cler +cytochalasin +unipolar +agenda +telangiect +binomial +sod1 +coagulopathy +pdr +ced +kw +stick +##ybden +myd88 +eralpha +lord +bystander +sinensis +modifiers +hiber +calm +##ptosis +flavin +provocation +fluorophore +desaturation +receives +mycophen +radix +immunoperoxidase +procollagen +thallium +fmlp +##anoic +sterols +262 +edu +gym +intracardiac +##tera +##grams +mounting +diis +crosslinked +##ymia +radiographically +ophthalmology +##isis +g6pd +##oba +arteritis +pioglitazone +postgraduate +hang +##apa +anopheles +evenly +hpc +urogenital +desulf +dextrose +##ortus +α1 +mtc +autograft +##ilia +peritoneum +hemipar +michigan +phent +arid +nkt +spleens +cooked +palpation +mcao +clathrin +ils +inclination +lecithin +astrocytoma +poliovirus +empiric +##elian +mares +ghana +##opoietin +##264 +amid +phytoplankton +gras +cse +vocabulary +genitourinary +phrenic +##obr +rhb +plotted +xyle +vocs +##jejun +ene +tough +monovalent +inspiration +##litazone +dj +##affinity +rotated +osmolar +fellow +lcs +aphid +enterococci +e4 +wallis +mpfc +nevi +documenting +postal +anterogr +tnt +radiologically +painless +swing +harbored +atypia +agenesis +baculovirus +satur +lvad +sulfamethoxazole +marsh +##riol +ffp +ema +greek +##igmentation +thyroglobulin +##fig +##ropylene +anoxia +pharmacies +cornerst +graphs +##ombic +hemi +femin +bmax +strabismus +naked +##itans +##formans +##obaric +tune +krus +vanadium +##icum +subth +topically +enterotoxin +fissure +acellular +##irm +##ohum +misclass +##agog +hallmarks +χ2 +professions +tendencies +entitled +##ecret +shoulders +##otrophs +##f5 +f0 +pret +##ui +maltose +##grass +transluminal +tails +supern +chorio +untrained +protamine +tolerable +##ofr +pseudoaneurysm +things +koh +nog +ltb4 +##plus +cofactors +neurotoxin +aic +##ermectin +dilutions +macros +glot +##oembryonic +fe2 +##ounds +cystine +fru +##epsy +hin +urate +clonogenic +synergism +sort +zwitter +muc1 +##iment +##othre +a4 +keratoplasty +avascular +necessitating +sip +rifampin +##lycaemic +achievements +pathologist +plethysm +wnv +monocular +reminis +virtue +##ocycline +##front +##tinine +spaw +accent +noncomp +lobular +widths +translocated +synech +southeastern +##orbable +acetylcysteine +zns +ppg +mustard +##triatal +coumarin +nucleosides +scholars +garlic +hyperuric +catalytically +soma +ruminal +citations +stories +lentiviral +##5y +272 +##akis +circumvent +nse +apps +fst +grossly +chlamydial +electrom +impressive +passively +unintended +myri +gangliosides +featuring +sbs +abduc +identifier +##azolin +ribonuclease +vagin +b5 +contracting +lifetimes +##legic +##ybdenum +impulsive +adaptor +##yramidal +symbol +pid +eicosan +ethi +##adiene +hybridoma +recruiting +##rier +##terna +harms +dura +reser +shang +tlrs +tce +intracoronary +matrigel +basket +arcuate +octyl +ethers +mpi +polymerases +czech +transwell +##osupp +protoplasts +##fected +intuss +secretin +##ylon +pyridin +pyre +resectable +##feld +312 +intracellularly +nonresponders +chaperones +##ovaginal +ikappab +yt +impingement +carcinoembryonic +japonica +wt1 +mastoid +taf +##gm +ecp +postsurgical +endocannab +helium +thermoreg +competitively +unidirectional +hts +desmin +##iden +hemagglutination +osteonecrosis +oculomotor +luminescent +io +taxon +infarcted +##umes +multinucle +tanz +erythro +capped +mobilized +whate +abundantly +inserts +390 +whatever +turbulence +myometrial +oligomerization +colliculus +myofibroblasts +##atrial +polysomnography +ild +glycosaminoglycan +ji +rac1 +averages +sarcolem +tell +postc +indo +lasik +unfamiliar +smoker +disrupts +remnants +##adin +bioinformatic +posttranslational +uganda +isi +transporting +postcon +isotopes +putrescine +aminopyr +cia +lia +genic +antrum +##energe +effluents +biotechnological +tween +sublingual +ctni +scaph +intuitive +acyclovir +neuroticism +abused +extraordinary +tier +##e2 +gist +ttr +recombin +harness +chemoradiation +cant +mlr +proves +metallothionein +##uloplasty +##acryl +chimeras +##evalu +aminopeptidase +ikk +cerc +ibm +functionalities +beer +icus +cpd +immobility +fluorodeoxyglucose +kinet +##rolactin +ctgf +anorectal +##cnt +additions +couplings +cloac +tle +neoformans +expands +hapten +hibern +teenagers +nests +endotox +asser +##extraction +brucei +##hibition +oligodeox +sirolimus +endorsed +levofloxacin +dul +intussus +taz +isoc +biogenic +conidia +opson +colors +methylphen +430 +##ett +exponent +hne +##exc +dus +precede +teratoma +##albumin +plt +calories +##urization +tailor +316 +electrophysiology +thromboplas +hypochlor +pce +tramadol +lav +illustrating +seminiferous +rye +summation +microcys +competit +fingerprints +inad +cardiotoxicity +proteobacteria +tuberculin +cili +greece +administrations +splenomegaly +sio +hypoperfusion +perist +galanin +palliation +peroneal +hydroxybutyrate +##androsterone +yang +r0 +reduct +nirs +mop +plank +##ectral +climbing +sensations +goes +##activator +prb +stocks +##ulectomy +tailoring +isoprenaline +##uese +hypertensives +##aterals +unplanned +stasis +hpt +electroencephalography +##uctured +srp +rud +alliance +radionuclides +orphan +nontoxic +bronchoconstr +deserves +heuristic +portuguese +underline +sorbent +compost +mdck +erosive +dum +##uren +endoscopically +fermi +nile +gonads +breakpoint +stau +abp +deciph +racem +insecurity +nighttime +incisional +impregnated +nfat +subsurface +manifests +analytically +aspirates +unavailable +hyperphosph +bred +stoma +261 +precedes +dmba +##roplas +lw +autoregulation +dlp +##vc +noisy +coagulase +##ectum +wetland +undefined +supplying +cd36 +multicomponent +mrc +shorten +cga +flask +##ospora +##unn +unacceptable +wp +##ogs +303 +hypersensitive +296 +varus +federation +##ohydro +spatio +worry +aggravated +chlorophenyl +vasomotor +sporulation +##atent +furan +pm10 +##pir +icv +gabap +cocktail +ond +470 +lca +488 +disagreement +tungst +occupying +synaptosomes +adrenocortic +##anglionic +afb1 +constituting +microinj +##apr +clearing +##orrected +utilised +thylak +neighbouring +nanod +polyploid +glenoid +stat1 +horizon +kal +satisfy +extrapolated +neurofibromatosis +benthic +anthracycline +incompatibility +ppa +ppc +sulfonate +cooperativity +intraoral +##edics +##ryst +equimolar +##overs +aquac +restores +##teat +hemagglutinin +enforcement +##perm +strata +avm +neighbourhood +lepid +##guanosine +oi +videotap +lateralis +ranitidine +controversies +indians +cd68 +dmn +hydride +##ocortin +bullous +spar +expose +flagellar +##idial +antiapoptotic +pufas +dag +npp +##ocereb +fats +##activities +intersection +mage +uncharacter +nonre +ctp +homic +appointments +lak +preformed +##otoler +blends +nscs +adjustable +normoxic +orexin +##ibrillar +##olium +b10 +##iliensis +cme +primordial +tritiated +amitr +##gravity +collaterals +witnessed +##avastatin +retinitis +c9 +races +alfal +youngest +sesquiterp +cataracts +archaeal +##inators +krebs +producer +aggl +##ocarpine +286 +tfp +##ups +gabapentin +ito +sway +ferroc +embryonal +##ibenz +narratives +tdp +##anteric +endogenously +##140 +minocycline +ntr +disconn +269 +##atran +endoscope +difluor +approximated +gallstones +protrusion +polyurethane +exciton +neurites +##olyticus +##rooms +6a +avidity +perforations +truth +remif +##ecretory +isos +periodicity +fastest +overlapped +vero +consultant +mock +hexa +semistr +sterility +clavul +server +277 +inhomogeneous +pons +femor +nsc +alfalfa +yoh +lycopene +creative +aap +xeno +##ophthalmitis +occurrences +steers +##tines +computers +revert +chi2 +guang +amelioration +visuospatial +depot +behcet +recommends +isoleucine +corneum +##ropion +ultracentrifug +##abp +##omalacia +##1c +##iances +##ectasis +dosimetric +cohesion +##imod +technetium +awakening +##amps +hydroxyphenyl +steroidogenesis +launched +fk506 +microem +linolenic +bost +perine +##kins +endang +dimorphism +maximizing +curett +prenatally +fluence +bromocr +semistructured +glute +nonsense +linc +##cha +clom +tourn +ocs +migrant +myelogenous +stabilizes +##asculature +hyperre +##omol +oxa +websites +540 +likert +##123 +neurobehavioral +amended +##uximab +giardia +defec +##etast +styl +##isole +nepal +ipl +##omimetic +chs +ivus +edentulous +cumulus +hyperresponsiveness +violet +##aya +##athion +infested +regressed +thalam +##acyclines +pef +cens +beings +parallels +##itations +ship +raters +posterolateral +infarctions +macrolide +vaginalis +entrapped +hypokal +b27 +##acental +revisions +bronchus +ethiopia +disadvantaged +ants +aqp +pink +##flower +turbidity +5ht +interchange +##kt +metic +##oglycer +fucose +indwelling +intoxic +tavi +292 +participatory +seated +musculature +subch +logarithm +amnesia +glucopyranosyl +oliv +occupations +##ylline +schwannoma +hepcidin +etan +landing +xylem +gat +peo +sgl +vats +molybdenum +unexposed +zeolite +drow +hyperglycemic +##aska +sonication +fenton +transepithelial +sublux +##izine +thromboplastin +##amellar +flocks +##ulsification +weakened +##ynes +taa +installed +clarification +remifentanil +drag +niches +pursued +cuticle +0004 +desicc +villus +spiroch +urology +subspecial +atherogenesis +osteopontin +lymphoblast +##eutical +##abilis +cotinine +pupils +malnourished +esterified +##arative +saved +kruskal +resistive +tensions +intravesical +##oquine +diverticulum +allopurinol +formally +calend +274 +payments +assemblages +scapular +haw +starved +##romedial +chc +dwell +##echoic +spars +conson +##osinus +vacuole +recession +knife +aom +catchment +tav +preimplantation +sales +occupy +foref +refrig +baical +wl +##yps +disposable +##ometrium +hart +conjunctivitis +##vised +digits +asking +deoxynucle +tobr +childbearing +##opathogenesis +jobs +companion +aeration +diterp +cements +##ulans +forceps +carcasses +hym +predictability +##tiana +gonadotrophin +tnp +loneliness +belgium +prs +intensification +iont +appendectomy +androstenedione +circumflex +fluoresc +flt3 +herbicides +sy5y +hypocalc +##rance +##ender +vitality +cotyled +undetected +ait +incubations +##rolactone +quinine +disintegr +mainstream +metach +lapse +harr +isov +longus +unemployment +reevalu +fluoroquinolones +ruminants +hyphae +mononucle +335 +sting +stall +validating +271 +haemophilia +defibrillation +protracted +neutralized +atrazine +guides +docosahexaenoic +watershed +cd5 +curettage +lq +puff +ketoconazole +##adhes +wheelchair +fistulae +##oxys +coronavirus +postpro +tod +northeastern +ubiquitously +##eptors +spas +nanometer +##testosterone +leaflets +##bed +necessitates +vastus +budes +299 +otc +##etector +resistances +fuels +pigeons +mtd +ctls +assembling +##thiaz +cpl +endophthalmitis +dominate +##operitoneum +cgy +##cls +##domains +quebec +tetras +detached +immunolab +print +invade +burned +##inarily +posttest +##ozoite +cholesteat +unpro +suddenly +##amilies +nights +##rogesterone +cheek +penta +diuresis +##low +extractable +invaded +inevitable +adt +agrob +intercon +reb +pharmacodynamics +rewarding +urch +999 +##ulant +basically +budesonide +pervasive +##ultures +cellularity +##ochromic +disintegration +phagocyt +dca +spc +spectro +berber +aggr +gingiv +coincidence +rpm +##benzene +thermodynamics +boston +echocardiogram +hyperemia +##interpre +amounted +erα +accelerometer +8th +rosig +pockets +smi +prrsv +spur +entorh +allied +sirt +retinoids +hpv16 +parsim +hydronephrosis +##olyl +condoms +##urant +##aphy +complicate +##relation +##ubic +ceased +reserves +##oconjugates +ssdna +merg +irid +##hydration +matters +hypertriglyceridemia +gills +oxldl +lesional +thiop +cellulase +hypoxanthine +intussusception +rgs +dissections +thymine +caught +myometrium +##hel +steroidogenic +lns +##ository +arthritic +##y1 +gapdh +pomc +rcs +erosions +rosiglitazone +taut +##nit +embr +promyel +bismuth +sorgh +trifluoromethyl +chondros +vat +congru +pasture +wetting +##elvic +stomatitis +uncondition +282 +aptt +c60 +hydroxych +lignoc +examiner +ambulance +premed +relay +##ointing +4s +##ospheres +mesial +foveal +chromaffin +nevus +sumo +osteoarth +parvum +bilingual +inactivate +coq +underestimation +appreciably +850 +##vales +##iptine +c5a +##epiandrosterone +guil +eoc +unsuitable +phb +##identate +##pora +gonadotrop +sealed +6h +accult +##adecanoyl +yes +decou +relieving +zea +##represented +ointment +legisl +triceps +ffr +pj +##ercept +adma +colistin +shade +landscapes +##iflex +##gae +inex +dissol +alga +grained +benefited +uneven +waking +##romas +##ulosic +conjunctiva +joined +384 +subretinal +hydrostatic +##onite +cytored +suvmax +##erian +depic +generalised +guard +thz +prospect +##imbine +ned +unpaired +##itarian +gsk3 +##ofovir +wort +apnoea +brightness +exemplified +penicillium +feeds +##with +excretory +striated +masseter +perfectly +##omac +mvpa +histogram +bronchopulmonary +intrathoracic +endop +multilocus +hyperglycaemia +hmw +##ounting +masticatory +pooling +apap +hydrogenation +houses +aetiological +detergents +estrone +fluoroscopic +filler +chlorp +##iptan +reclass +kim +spf +nonfatal +mammographic +classifiers +tegmental +tdi +dide +il6 +holter +photovolta +31p +immunisation +experimentation +phacoem +anticipation +propidium +enteritidis +bloc +automation +esterification +coryne +metamorphosis +unreliable +daf +gssg +trep +b19 +indium +phyll +entorhinal +nematic +runx2 +pilocarpine +instituted +afflic +asymmetries +lpo +helicase +restrained +mrd +aversion +gip +flowing +phentolamine +##acylglycer +employers +packages +genuine +thrombectomy +reex +wearable +maneuvers +bromocriptine +##ortin +arteriosus +hydrate +cefota +uncorrected +virologic +3m +##xs +stenotic +##plen +##operable +shs +432 +cytoprotective +##obox +mbs +ate +laccase +##urv +ovulatory +ntp +pco +stools +blm +psychophysical +elaboration +mpm +redes +masc +##arcin +stretched +cbl +345 +qc +##irs +executed +obliteration +lbw +vascularity +##atidic +trisphosphate +colic +purulent +accession +torsional +cgh +pso +impressions +marking +cimt +mbq +etanercept +rafts +oximetry +yohimbine +pristine +xenobiotics +analogy +zymosan +intraspecific +pyelonephritis +hepatobiliary +bisexual +12th +tobramycin +mud +palmar +leiomyoma +excitations +284 +soldiers +##inqu +##afe +nonne +eighth +underestimate +duk +3s +stroop +##bosacral +oviposition +polypropylene +ambiguity +oe +spectrin +tard +hyaline +endoderm +hematology +stacked +repositioning +preferably +##idases +paraquat +antipar +conserving +rns +alloc +##aclopr +reserpine +##bert +##ygb +ipscs +dup +sensitizing +latitude +obligatory +anthocyanins +patell +successively +279 +neuralgia +ergometer +anterograde +orr +boxes +lithotripsy +instruct +##omys +inadvert +pontine +privile +brucellosis +massachus +phacoemulsification +carbons +accepting +##angli +##opulation +##hand +dehydroepiandrosterone +##inae +complexities +catastroph +massachusetts +stereoselective +gallstone +underway +resistin +oac +##iliation +283 +mats +unim +anthocyanin +ewing +##ormone +loadings +##ixed +##zees +centromere +bites +chimpanzees +ctd +333 +cyp2e1 +nanocar +##ensor +mdp +hits +predisposed +rearranged +hamart +##urement +vaccinations +sacrifice +erroneous +centroid +foodborne +##pers +autofluorescence +brca2 +scenes +imprec +slurr +intercostal +##merc +methylphenidate +ambulation +triphosph +ccl2 +saponins +fps +unambiguously +ldlr +##azoles +educate +##k3 +##exia +doubly +cnp +hypoplastic +##145 +interdig +##dam +glucopyranoside +aniline +unreported +phs +satiety +bars +conformers +ensuing +ventromedial +epileptiform +insular +religion +angiograms +sdh +costimulatory +p24 +bisphosphonate +cvc +##gap +bak +quintile +tnbc +calcit +truncation +##alazine +periapical +colocalization +21st +dutp +proteus +passeng +treatable +needing +##endor +convales +intramuscularly +powers +##ostin +##yan +cah +intensely +femoris +peripherally +##ococcosis +neocortical +interfered +ladder +tcd +bicuc +mrl +##bian +regrowth +##robe +suturing +aip +elevate +mineralocortic +resides +##aluable +##entery +captures +##rological +deconv +decrement +refused +##rofacial +pads +chik +succeeded +l12 +meld +##utz +lumbosacral +sorghum +impacting +urethane +shanghai +ally +unple +behaved +aad +sealing +sox2 +consulted +r3 +actors +erb +catalysed +fronto +acromegaly +glabr +preclude +hydroperoxide +brassica +preventative +##uberculosis +meningeal +pixels +consangu +##otidyl +poag +precipitating +arsenite +##eke +##ivalence +ptv +##05 +organophosph +##ocaps +asm +desert +feedst +seaf +bathing +cefotaxime +equilibration +cdp +amphip +microalgae +fee +##obese +##plasm +diagonal +phototherapy +scholar +diverged +625 +checking +industrialized +##xin +fight +agro +294 +naprox +alleviating +bj +confident +myelination +fortified +discordance +towns +neighborhoods +512 +313 +unaware +##male +##mentum +ror +sta +##itize +staurospor +malabsorption +287 +##acetamide +tss +gluconeogenesis +##iffusion +vowel +cd15 +nomogram +bass +spectac +##alva +notification +##essel +courts +unpleasant +##aniline +mam +yoga +agrobacterium +claudication +##ogold +enox +desatur +squir +nonunion +gpcrs +opacity +##irradi +chlorpromazine +##aer +forelimb +judge +gravit +melanocytic +oophor +revis +deregulation +aster +##bon +financing +exams +premolars +syndromic +thrombocytopenic +admixture +fatalities +deformations +##igration +goss +photography +trnas +send +bronchiectasis +metatarsal +tuk +306 +bore +##anx +registers +##anciclovir +ssris +fusiform +elastography +##ohumeral +miu +aquaculture +##ograv +m4 +##oacetate +beta3 +##duoden +amphibian +diminishing +governments +##oglutarate +##opian +beetle +##oi +pneumophila +bicuculline +318 +nontrans +454 +##umatic +405 +phenoxy +297 +unins +##oken +intubated +ivs +##etence +atlant +papillae +##atiles +cdkn +289 +dissociative +metastable +husband +calling +disruptions +dsb +camb +perfring +parth +##ogel +recurring +phytohem +lighting +vinblas +milest +lined +##zn +interr +macroglobulin +##orientation +##oguan +insured +malocclusion +nothing +s4 +ssb +steam +fouling +##ralpha +##tigraphy +collar +oligodendrogl +diap +ration +fulfilling +micronucleus +##ymmetric +ert +circumc +wilms +contraindicated +promises +dithiothre +quenched +investigational +srt +centrifugal +triphenyl +hx +incubating +##actyly +mibg +chirality +cen +rrt +naproxen +##oria +##urans +hw +hyperlipid +hfs +adal +ultracentrifugation +musical +noninvas +##imol +intricate +##cellulose +hypogonadism +perennial +lateralization +polynomial +rads +##lr +##ruc +cardiover +triazole +paris +oxford +cachexia +3c +rear +tibialis +hscrp +dithiothreitol +281 +energetics +basophils +confused +hco +perpet +undertake +snoring +##127 +extractions +diagrams +frogs +gos +ofloxacin +hinge +dibutyryl +volatiles +##icola +hypercal +misdiagnosis +hemangiomas +purchase +disciplinary +##meas +sleeve +acetyls +gq +dissecting +f344 +dppc +postd +manometry +herni +estu +##gy +betaine +309 +micrographs +destabilization +sily +##06 +mpr +raft +bisphenol +immunoregulatory +aftern +unintention +##vt +unve +euthanized +laxity +##optysis +microstructural +repetitions +##105 +intestines +##roni +electroretin +organize +α2 +cas9 +constitutional +wga +cephalic +##tetr +extran +colocalized +immunochemical +##ropath +prolonging +##olecule +dialogue +corpora +cartilaginous +gct +submerged +isogenic +proliferated +carinii +erbb2 +calcitriol +stimulants +##worms +pollination +tribut +##odial +purpos +##crystalline +obvi +inte +expansions +angiogram +euthanasia +##ontally +duch +gloss +##onolactone +tagging +paranasal +reminiscent +keratoconus +antegr +alphab +hydroxylated +##yxin +concentrating +spans +accuracies +pemphigus +wss +raw264 +##ynchronization +##rimers +hete +##onto +nph +323 +adipogenesis +##co3 +arginase +triam +##jury +appliance +##hole +dressings +##ictal +colloids +advisory +avf +microsphere +##uities +##ofrontal +daltons +##urative +560 +underscores +hone +##athesis +rhd +##isations +lil +transglut +photocoagulation +breadth +enantiomeric +ablated +methox +supraventricular +decontamination +##asy +reticulocyte +h5n1 +dps +substantiated +tukey +biochem +enclosed +esp +apheresis +satisfying +vk +infinity +d5 +sulphur +sympos +neointimal +chromatid +thymocyte +tapping +repulsion +muco +invaluable +delphi +absolutely +silicate +355 +diminution +ergonomic +afternoon +smartphone +ropivacaine +tdt +valsalva +pests +##uries +dehp +##ophosphorylation +fullerene +normoxia +lewy +cucumber +aec +refolding +recalcitr +##urd +minorities +premalign +favoured +osseoin +architectural +microangi +brushing +gastrost +mayo +bsi +homeobox +vinblastine +##ophile +irreversibly +##tised +##iasm +neuroradi +gust +accountability +p70 +vp1 +##zolid +spouse +founder +tec +multiply +rape +rosette +gstm1 +provincial +syd +parane +pyogenes +cd86 +mumps +mig +guanidine +lentivirus +perfringens +abusers +435 +ppis +##holm +##ached +eac +retrotransp +unequal +gelation +##odality +arbor +motives +neurofilament +##idov +skf +pluripotency +serca +grasp +##ughters +derivatized +spermatids +##±6 +thaps +dmp +https +fors +hrql +invag +collagenous +##refring +##icon +vocational +reluct +3r +articulation +dimensionality +gallium +solubil +rhinosinus +rotary +##t4 +naphthyl +##spr +##tens +dihydroxyphenyl +assisting +bont +chondrogenic +##util +ceramics +unfractionated +governmental +birefring +307 +meteorological +trx +coarct +tadp +orofacial +##phalan +1969 +anterolateral +immigration +glassy +ers +tunis +precipitates +propylene +324 +removes +##olimus +dtc +multiform +##acetam +avenue +reint +##otetr +tonsillectomy +##atalysts +##iscal +##bm +impairing +carcinogenicity +##organized +preponder +convolution +variceal +workshops +earthquake +sunflower +updating +unity +cued +prematurely +epigastric +effected +pbdes +bags +anticipatory +dyspnoea +deriving +leachate +postures +mfs +chelate +pyloric +crustace +##ibi +antegrade +##carbonyl +diffusive +finished +neutrophilic +diminishes +tanzania +##utamide +incurred +sunitinib +metabotropic +##plasmic +precoci +cd95 +##hss +p0 +##ilol +##udinal +proving +ddd +cdr +simplify +phenotyping +operant +pyreth +gefitinib +labyrinth +ivermectin +oleate +cornerstone +irb +314 +reinst +hoped +iad +staurosporine +##glycine +aptamers +melphalan +t6 +insulator +##oub +byproduc +oviduct +ptr +##nut +sirs +aat +##onitor +pvl +##tilbene +expired +amides +##rocar +##ophilicity +weap +isokinetic +##ifn +nonobese +paradoxically +rhinosinusitis +ted +dls +proteas +##ilson +suicides +galnac +398 +dermatological +landfill +septicemia +citation +relaxations +conceal +thereof +disclose +psg +johnson +nonionic +confronted +1960s +##oserine +##pyruvate +carboxyp +thymoma +immunopos +##bling +328 +##me3 +nylon +##ventional +rpa +##4b +tbp +critic +pancreatectomy +voltages +##akic +ipd +mtr +338 +calendar +nestin +##aci +overuse +mycorrhizal +premise +cacl2 +firmly +##ilation +wrink +quinidine +anthel +17β +veterin +nucleoli +radiosensitivity +cuts +lk +endangered +hybridisation +attribution +##ogas +exhaust +##vular +##fb +dihydrotestosterone +dicty +typhi +perit +##occus +dock +##peri +##opard +pyros +ptt +mict +divor +spme +solit +##neumonia +sponges +jam +lir +mendelian +daughters +snf +transr +capec +guanylate +##ptics +polymerized +decompensated +enters +linezolid +##obal +##pps +hemolymph +cardioverter +interviewing +caa +salping +##oliation +##mscs +4e +bioaccumulation +##ohydrolase +##ecture +cyanobacterial +sternotomy +##imed +download +cannabinoids +##vp +assistant +##l4 +patern +etch +populated +bse +micronuclei +cytokinesis +subchondral +spinach +##omus +lmw +spotted +##bin +clinico +hypothesised +nulliparous +butyric +lobar +##obacillus +paroxetine +oryzae +cleave +neomycin +rutin +phenolics +egypt +##fd +336 +322 +##ophiles +pedestr +##ospores +aroma +##amptic +grief +##3c +##izyg +##kel +subfraction +colombia +pann +ctcs +noninvasively +##oda +hydroxysteroid +macula +##anthus +pht +326 +kyphosis +phytohemagglutinin +calb +sangu +##alact +assistants +photothermal +ffm +##ocally +malle +subsid +capecitabine +trkb +eradicate +victoria +proapoptotic +laminae +bsp +##road +##ometrics +12p +handicap +entom +##4002 +dhe +##adenoma +abstracted +##pervised +equatorial +pvs +fluorescently +worsen +percentiles +##aresis +circumscribed +continental +empy +mussels +thapsig +##yi +##occup +tritic +tcf +##uating +317 +improper +anecd +bursting +apatite +globus +skelet +labial +##atement +squirrel +broc +photop +sponsored +prk +nonlinearity +adalimumab +cetuximab +subtr +neurotensin +metallo +fumarate +quorum +mitogens +barely +conformal +grant +mesothelial +##din +6b +##imbic +bonfer +marc +misinterpre +##atentorial +numb +diox +##urational +intercept +panor +paraplegia +variances +looks +renewable +pgd +##160 +##ohepatitis +##adias +volv +microelectrode +##2p +reven +##ocerc +forehead +superconducting +cd40l +coryneb +apoc +cynomol +counteracted +dealt +widening +##vr +neuropathies +stan +##alp +ida +spiro +thuring +exotic +commenced +spared +##hyper +telec +##ocystein +everolimus +thapsigargin +tendin +abolish +rhabdomyosarcoma +##abric +fivefold +phobia +benzoic +nociception +##opexy +degenerated +lta +ym +indolent +hunger +quantitate +1968 +amitriptyline +inval +nonsyn +psychologists +endosperm +humanized +ascs +##cl3 +meanings +hairs +pws +hypotonic +jn +##omycetes +skewed +orthodon +hamm +##oprofen +osteopenia +aplastic +exome +leukopenia +zidov +neurotrophin +nicotiana +transrectal +pneumocystis +e2f +interferences +##eedback +handled +##ipes +resonator +multipl +lc50 +##fed +coadministration +anhydro +291 +walker +##peak +auricular +inoperable +mainland +oriental +##umer +prein +##ymb +ccp +therapeutical +##enzymatic +localities +hydroxybenz +draws +lysed +ecologically +myriad +##elen +mt1 +decoding +uncharacterized +##ymet +hypere +##otypical +hemin +hydroxyurea +##ucher +berberine +eud +##piper +examiners +peculiarities +microti +##estrus +##odeoxycholic +pepper +##asters +hash +autocor +repell +formalism +sids +denoted +##cyt +premalignant +ims +blade +scavengers +stx +meant +zidovudine +readout +mwcnts +lactobacilli +knew +tetradecanoyl +mated +trimer +dde +ucl +p5 +biomolecular +wilson +opposition +dendrimers +entries +1965 +electronically +##iliac +opaque +polyelectrolyte +##v2 +##ims +##openem +pex +organisational +itch +dipeptide +abutment +varicose +asi +dissect +preserves +intercalated +relaxant +advisable +gastroduoden +serologically +enhancements +342 +thermograv +texts +corroborate +##odular +agonistic +policym +reuse +coincides +provisional +enterpr +stepping +deflection +verruc +normalize +cardiov +entrain +polio +cyp2c19 +##oretinal +##rolases +##mates +##usen +really +harsh +duchenne +cd18 +ebola +gelatinase +##apentaenoic +antitum +relaxing +chx +fallopian +##opropane +advertising +entails +packaged +##c12 +pud +clipping +command +officinal +ft4 +frameshift +tour +sh2 +centuries +##uta +hccs +icf +drilling +##109 +gilts +##arming +topo +camkii +contag +nitrification +electroencephalographic +urge +bonferroni +##udied +##robacter +343 +deoxyuridine +nonoperative +piperacillin +##bands +trivial +##ucker +##oduodenectomy +##trich +##urban +planktonic +daun +##fetil +adipogenic +deferens +worn +explosive +tapered +voric +sialyl +intramural +cog +stereo +subjectively +spend +inertial +introg +photob +mpn +salience +mammal +agp +aspirate +##rozole +passes +hydroxydopamine +periplasmic +breasts +gis +eleph +timolol +##iones +alar +monooxygenase +pus +compaction +behaves +respects +aminoglycosides +xii +##q13 +demarc +specialised +##box +irradiance +premotor +kanamycin +gastrostomy +eminence +dech +provoke +hospitalised +faecium +##fh +aeromonas +tourniqu +##orters +cdk2 +flutter +teleost +cyp2c9 +dpat +microcapsules +fluorinated +luts +remitting +venules +tracks +fog +prebiotic +nonpolar +transplantations +pericardium +hyg +clefts +ptosis +demented +ept +##ariasis +hyperbil +##oplasmin +semis +insensitivity +stut +spoken +3t +protozoa +indonesia +##ophoresis +antinociception +progest +meropenem +returns +voriconazole +converge +louis +feno +cya +rbf +carved +bootstrap +interposition +dioxygenase +myositis +underm +depolarized +assure +pho +outperforms +reportedly +paraneoplastic +pyridoxal +methanolic +biofeedback +##onception +heard +lordosis +coarctation +patchy +sss +adrs +ahead +p63 +harris +papain +##isperse +##atalyst +steatohepatitis +adhesives +mica +enzymic +resembl +hads +cholesteatoma +opacities +##olumbar +lactamases +topographical +illuminated +onwards +pharyng +##ologically +nucleated +impede +daph +congo +neutropenic +ethanolic +425 +athymic +beetles +remind +perikary +protoporphyrin +cytochromes +amygdal +##ropical +pi3 +bronchoconstriction +hyperkal +ciliated +spirituality +plated +dpa +##yrrh +antigenicity +micronutrient +podocytes +mah +antagonize +feeder +puerto +microextraction +directive +532 +ileus +apcs +northwest +radiopharmaceu +elders +brow +perif +collagens +lecture +psm +photore +ntg +muscimol +##electrophoresis +dropout +modulations +oscillators +abbreviated +gramm +hamstring +pericarditis +pyrosequencing +js +caga +lanthanide +##orea +hai +triangle +phox +ecog +oab +##otyl +##yzed +flushing +transglutaminase +##oxime +abandoned +recombinants +antith +radiois +affiliation +##cross +##icularis +monolithic +uplc +##verbal +##170 +sfa +corticospinal +economics +haematopoietic +coincide +mary +intermed +acyltransferase +##amedullary +cards +rxr +alm +robustly +penetrance +reactants +terminate +crick +clc +pursue +##hemisph +cma +##obular +sectioning +npr +hostility +510 +radii +subthreshold +impulses +stabilities +pans +expenses +amplifier +amputations +undoub +##odiagn +##flies +##orelax +hva +minimizes +rk +##indin +superco +arisen +≥5 +shark +sanitation +##etallic +gloves +##galact +486 +jp +containment +interrater +##ovan +ly29 +##othiazide +dishes +hyposp +boc +##alesional +##ries +bitter +##obe +##oplanin +finds +anhydride +propri +discour +pgl +txb2 +macroscopically +congress +seeing +selenite +unsupervised +ias +jones +##odeoxyuridine +gtpases +shall +legitim +riva +attractiv +astrocytomas +chiropr +tachyarrhythm +interictal +expressive +##f6 +fabry +transmissible +sclerotherapy +municipalities +decorated +##held +ordinal +phenanthroline +amf +cmp +rooted +##otrig +univ +interrelated +nonb +cereals +translating +biologists +immunostained +nails +halide +pharynx +exercising +sero +microliter +##type +illusion +##pox +bioluminescence +heterotrophic +psychophys +flun +dcp +1800 +specifications +##ethylamine +succession +optimism +1p +decoc +cdt +silage +±0 +associating +microvasculature +metazo +kinetically +hydroxypropyl +framingham +minip +hemif +##aphic +chromatic +porcel +hmscs +punishment +impar +pallidus +vapour +troubles +emotionally +glaucomatous +bav +amr +laa +vntr +inconsistencies +aura +apposition +biphenyls +evar +##rocytic +inaccess +ppr +eos +nect +dph +n6 +##alignment +nanostructure +excellence +amblyopia +aglyc +##inavir +macronutr +tungsten +##abolism +dimorphic +kaw +euglyc +perfluoro +cyp1a2 +pumped +##aspinal +subluxation +490 +herbivores +6r +##uronate +##anediol +cecum +cran +hsp27 +angeles +calculus +periosteal +aha +uni +stimulations +cd80 +o1 +506 +stride +recess +catechin +##cf +paget +trophoblastic +ruptures +delinqu +##chard +erm +continually +textile +ablative +thuringiensis +vanadate +histograms +discol +laterality +aortas +mineralocorticoid +optimised +mers +fbp +##isd +##mers +seasonality +urologic +wetlands +undoubted +##980 +warts +osteolysis +logmar +lymphoblastoid +undertaking +turbulent +mullerian +##ulinic +enterocytes +tropomyosin +annotations +hypocalcemia +asexual +prun +magna +ido +378 +containers +pupillary +glycero +##ilicity +##loem +reconsider +secretase +dtt +flagella +transmitt +cook +standardize +##jo +##domain +angii +deciduous +cynomolgus +##hap +postis +780 +##eruleus +oncoprotein +procoagul +exchanged +tgfbeta +asynchronous +apn +taiwanese +gca +mycotoxins +sutured +alexith +genitalia +ifa +verteb +##encaps +britain +localizes +##holding +coi +mitigated +peroxisomes +fow +suffers +consultants +haptoglobin +localizing +traf +530 +lysosome +philipp +abb +southwest +pik +wellness +##wash +332 +antiferromagnetic +adiab +arrhythmic +summed +lump +pab +adhering +electrocardiography +clips +imidazol +immunoprecipitated +##wv +##olines +neuritis +sure +organochlor +agrees +##igenes +##enstrual +promyelocytic +##weigh +##emetic +ima +multipotent +pedunc +pugh +##cinated +dichloromethane +herp +ht2 +communicable +glabrata +bci +tsc +tumorigenicity +serosal +lamellae +sacro +##iosity +dmi +ecule +##osteron +##no3 +orienting +hemiparesis +gdf +notch1 +##emal +ross +tentative +zwitterionic +patellofemoral +dst +csd +##phia +lenti +uw +wool +sling +scanners +twisted +proct +shp +phosphoprotein +kcat +portugal +spark +roof +linkers +drained +##yclo +mycophenolate +gracil +hyperprolactin +podocyte +addictive +vep +distally +##uder +radiotr +intraductal +plantarum +informants +407 +##onitoring +vsd +uninsured +dbc +agr +attractiveness +dermatologists +##ontium +thoracolumbar +glomerulos +teamwork +haptic +fio2 +outperformed +##ivocally +unspecific +riton +metalloprote +bioavailable +sdb +ore +050 +elevating +indocyanine +ejaculation +wounding +##b6 +alu +##bachia +rgc +phloem +##104 +ferul +fluorophores +propionic +catfish +narrower +omitted +ensured +penins +diffusely +##rophied +refugees +##brom +precocious +ritonavir +microspor +burkitt +augmenting +iodinated +##maleimide +dormancy +vine +ncam +bvdv +books +mgmt +##yness +ili +happy +perir +dilemmas +bum +tams +permeabilized +enterocolitis +bragg +obstetrical +meconium +gossyp +##oprazole +recruits +symbolic +interferometer +dcc +319 +hamiltonian +brackets +##trauma +jewish +##ela +pneumatic +expiration +pulsatility +disproportionate +sscp +formulae +gynaecological +tep +vertex +pon1 +##silyl +zikv +rivarox +##cu +citalopram +coel +rams +coinfection +pallidum +xenon +6000 +ecori +cryptococcus +aorto +peel +reversion +tactic +hematomas +parvovirus +illegal +##grip +rivaroxaban +ptfe +transmitting +fears +proprioceptive +amenorrhea +aggrecan +##aortic +cmh2o +historic +founded +bombesin +metocl +estimators +##opramide +dorsiflex +trepon +cgp +lx +mapks +##hemispheric +adnexal +329 +1600 +vsv +naturalistic +##pping +cgs +binder +vhl +cleav +japonicum +multistep +flanked +baff +chase +systole +nitride +deformed +alike +empyema +teratogenic +extremes +aquaporin +llc +meters +prescribe +uvr +bcp +##alys +philadel +dispensing +glomerulosclerosis +snare +640 +potentiating +lpc +footprint +alend +histolytica +brands +retrieve +##ublish +formations +microgravity +wolbachia +coin +angiographically +decompensation +pyrazol +photosensitizer +anthelmin +antiemetic +hyperex +373 +pri +ellipso +##ungin +cgi +excimer +intercalation +temp +ssri +essay +immunodeficient +afterload +photophysical +pleura +urchin +mosm +paresis +pseudop +##encephaly +correlational +##terdam +purify +urbanization +dodec +titrated +327 +hepatocarcin +nfk +ingrowth +tlr9 +baboons +karyotypes +lifestyles +carvedilol +osteochondral +disulph +smad3 +imbalances +##jugated +constell +##tage +invasively +banks +postintervention +committees +ethidium +mpv +meningitidis +cdc42 +cephalosporin +##oparas +ree +mpc +neurologists +wmd +wines +##othal +##ophages +lipo +manifesting +handedness +stair +secondarily +potentiates +##ilane +##unate +psychoactive +scarcity +metoclopramide +##tris +eigenv +gingivitis +unloading +adduction +pfos +symposium +prokaryotes +involution +scab +jc +##q21 +2alpha +larva +mismatches +##trast +glycemia +##hemoglobin +fellowship +tenth +glyphos +philadelphia +##ublished +rgcs +isthmus +scintigraphic +osmolarity +theor +inserting +contraindication +bronchodilator +wasp +indica +southwestern +ganciclovir +niss +jumping +kern +sebaceous +premolar +anaesthe +##ucent +glyceraldehyde +ail +dabig +saccadic +mtbi +##elly +isl +720 +sulfo +p19 +##ansetron +icm +glyphosate +gallate +overestimation +gerb +plethora +##core +rigorously +resemblance +dabigatran +concise +whr +cardiologists +ionomer +630 +withdrawing +intelligent +##kyo +unequivocally +installation +tackle +radiative +lettuce +perforin +1g +##entious +epoch +toothbr +intrapartum +dans +plasmal +scatchard +burkholder +331 +##dt +regularity +plasmapheresis +omics +unbalanced +frontotemporal +321 +blu +tubing +##tier +refusal +multicentric +strontium +##ubular +omission +amplicon +s9 +crist +physiotherap +parasitism +recalcitrant +##agin +astr +pravastatin +coag +##ozin +ribozyme +millil +fep +myelosupp +ly294002 +asl +putida +##axine +spironolactone +##aeus +lactide +##onvulsive +vasculopathy +##furan +##evolution +resumption +polypharm +brev +updates +aqp4 +##±7 +hemopoietic +definitively +extrapyramidal +ducks +intimately +geniculate +lipogenesis +decomposed +##iser +declared +stagn +dism +proportionally +hoech +cannulated +oophorectomy +##aration +2k +uteri +procoagulant +underpin +transforms +cfr +deoxyribonucleic +##edrine +intraf +jm +ctnt +marmos +sls +acridine +postr +causation +fz +mtp +disasters +tmt +pericytes +##acylglycerols +surpass +##ertz +so4 +##ynchus +spinning +myoclonus +relaxin +bioequ +hans +##ophenone +##fract +retroviruses +avulsion +collapsed +dorsi +alendronate +##months +cars +hypoal +midwif +##olae +morbidly +disappointing +dermatologic +disassembly +enumeration +hig +idus +ondansetron +nls +##ycholate +glen +successes +valproic +researched +pharmacogenetic +511 +alkanes +director +cnvs +electrospun +multiforme +pcdd +clerks +monophasic +milling +##a4 +stew +##roblast +hypovol +pastoris +supercritical +electrophilic +ehrlich +litters +sba +hut +contingency +anodic +euros +stec +##bridge +lyophilized +##laf +hexokinase +pits +unpublished +##wr +##iasmatic +gathering +##stand +monophyletic +join +ectoderm +##terp +flaw +finishing +##rosthesis +##nh +mofs +##aud +psma +##wire +tokyo +acylation +351 +triamcin +dcr +##emoglobin +hypopnea +hyperventilation +##aglu +##idated +##waters +paraf +334 +##otrich +escs +hrct +multistage +bug +israeli +reforms +hoechst +5alpha +337 +melit +341 +ebna +spindles +##opolymers +##otyrosine +quinoline +austria +nitrox +hfp +phl +ninth +dcd +al2o3 +##icates +plr +prominently +amphibians +##chid +##obiology +pyrrole +##azolamide +immunogold +boiling +microsatellites +subfamilies +oak +##omyositis +augments +flattened +azido +narcol +c10 +jac +transfectants +##imited +photos +sensitis +ceus +regained +##oxifene +##efaciens +biologics +##ething +explosion +informing +##ocampal +noncompl +tdf +hiaa +igan +arachnoid +deregulated +nanocl +glycolipid +adeno +##afs +aus +##anoate +multinucleated +##oraph +approximations +ameliorating +something +motivations +hydrolysate +##tase +endobronchial +extents +pdf +acetylglucosamine +boar +l6 +txa2 +##perfusion +##ogranin +vesico +ppe +posttranscription +hypospadias +iκb +mitigating +diving +outweigh +##isic +carniv +##hipp +inat +penetrated +ests +perinuclear +nymphs +telangiectasia +##ferior +porcelain +travers +midwifery +unimp +##atemia +fauna +glut1 +cholangiopancre +##olo +amper +phosphoenol +##ayered +repulsive +award +chimerism +porphyrins +exudates +##parous +##iprazole +factory +##illar +amplicons +##nitros +meps +##ordinate +spermatocytes +dct +janus +recurs +flexural +phylogen +##roplasties +##ador +jer +dyslipid +intrarenal +buildings +ureteric +lend +##oplication +plexiform +1100 +multisp +etched +biopsied +headspace +sunsc +healthier +##roscope +##onous +##qc +##olac +paraph +cellulitis +deliberate +fluoroquinolone +storing +##othio +malarial +##osylcer +##7t +varicocele +maternally +##emes +interpolation +chemoprevention +bx +intergroup +ivm +galpha +bra +cdk4 +rhabdomyolysis +pedigrees +violations +transmittance +pgh +hydrops +foliar +mids +##uy +syrian +##tick +triamcinolone +quinolone +serp +wett +dio +lactams +citrulline +acculturation +arena +aspirated +chicago +660 +deoxyglucose +haematoma +reinn +mdi +simplest +412 +prf +scand +toronto +armed +exfoli +undoubtedly +##ascin +dinitroph +arthropod +##yelinated +dichotomous +endotoxemia +propanol +archival +nachrs +handgrip +contusion +ucb +vlbw +nigros +autoreactive +numeric +repairing +o6 +pmt +flt +circr +radiolabelled +pmp +complements +eot +##omatoid +noble +339 +##dlers +damping +mall +gingiva +##owa +anaphylactic +incorrectly +enteritis +neurosurge +phylum +pcps +##olinic +##imoto +immunodom +amniocentesis +caval +unintentional +visualizing +offices +microsp +panoramic +impurity +lda +p7 +thyrotoxic +gibbs +hnp +overr +≥50 +proposition +##othoracic +valent +funds +boards +##artite +pleasant +monozyg +densitometry +dme +##rotin +coerc +37°c +mcv +##almit +diastole +sweating +crus +irritability +##iced +immunol +##ogly +remissions +##tening +digitor +##itica +intratracheal +51cr +distractor +tdr +##omicroscopy +beside +5mg +overexpress +fishing +situational +mog +distinguishes +appendage +multiplexed +srebp +accelerator +##enesulf +dependencies +fragilis +monoclinic +confounded +dang +neurologically +invariance +stakeholder +mosaicism +tartrate +##metry +elapsed +##eptidyl +symbiosis +##hz +prolyl +laminectomy +consulting +crm +mgo +nucleosomes +autoc +##ethoxy +7a +adiabatic +vre +odors +succinyl +hyperhom +kilobase +##obenzyl +monomethyl +xylanase +##ibrin +removable +biting +overlaps +addicts +turp +multich +##aco +suppressors +reappear +deceleration +catalyzing +cauda +##5ac +dips +nj +##ager +appliances +scalar +desaturase +artemisinin +vec +##uloplasmin +perforator +kindling +364 +orchid +tetrahedral +enoxaparin +trac +corynebacterium +##attern +photovoltaic +electricity +diffusing +p15 +abca1 +oct4 +auc0 +ero +##qx +##ithi +19th +atpases +desiccation +##idinyl +mre +respondent +rehydration +conclusively +medulloblastoma +advocates +pme +biophys +infiltrative +stereois +settlement +dr4 +barth +gpc +mentors +spd +phenanthrene +##ablation +##craft +cryotherapy +≥10 +decarbox +scrapie +##trium +hyperuricemia +ata +mp2 +##empfer +##egm +orthologous +facultative +bom +precancerous +##cytidine +diamine +pao +repeatable +chimera +communicative +mnsod +preadip +milligr +figo +igg2a +n0 +bifidobacterium +evidently +##hf +dendrimer +leprae +digitorum +menten +saponin +mould +spawning +dpc +pentyl +##enk +chur +ensembles +neuroleptics +##osfamide +absor +##v6 +octahedral +##answ +pulmon +356 +opacification +##adders +##aglobulin +tourniquet +enema +ferred +forget +nonverbal +iva +352 +meticulous +abscisic +burkholderia +gii +influent +##pots +botan +348 +dihydrox +micrometast +digitized +rs22 +lips +pfo +igd +visitors +cd11c +lights +emf +##engine +ethm +chlorpyr +cisterna +##opyranoside +autoradiographic +perchlorate +synonym +##ercise +stereochemistry +##wall +dyslexia +excursion +tesla +autophosphorylation +##ipin +upar +resurf +sterilized +granulomatosis +µmol +eicosapentaenoic +##castle +##ecretion +structuring +##phys +bulbar +ketoac +sydney +mnc +extramedullary +rhu +tropism +hypophosph +clarifying +judgement +jord +puzz +diplopia +deoxynucleotidyl +lympho +##alogy +##6c +clothing +tph diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/version_vocab/vocab_ori.txt b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/version_vocab/vocab_ori.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d65c8495e044c70ce1a30e2ae8e2f0b3738dbae --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/version_vocab/vocab_ori.txt @@ -0,0 +1,28895 @@ +[PAD] +[UNK] +[CLS] +[SEP] +[MASK] +! +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ +¡ +¢ +£ +¤ +Â¥ +¦ +§ +¨ +© +ª +« +¬ +® +¯ +° +± +² +³ +´ +µ +¶ +· +¸ +¹ +º +» +¼ +½ +¾ +¿ +× +ß +æ +ð +÷ +ø +þ +Ä‘ +ħ +ı +ĸ +Å‚ +Å‹ +Å“ +Æ… +ƈ +Æ +Æ’ +Æ™ +Æ› +Æž +Æ­ +Æ´ +ƶ +Æ¿ +Ç€ +Ç +Ç‚ +Ç +È£ +È¥ +ȵ +ȶ +ȼ +É +É‘ +É’ +É“ +É” +É• +É– +É™ +Éš +É› +É +É¡ +É£ +ɤ +É¥ +ɨ +É© +ɪ +ɬ +É­ +É® +ɯ +ɲ +ɳ +ɵ +É· +ɸ +ɹ +É» +ɾ +É¿ +Ê€ +Ê +Ê‚ +ʃ +Ê… +ʈ +ʉ +ÊŠ +Ê‹ +ÊŒ +ÊŽ +Ê +Ê‘ +Ê’ +Ê” +Ê• +ʘ +Ê +ÊŸ +ʦ +ʧ +Ê° +ʱ +ʲ +Ê· +ʹ +ʺ +ʼ +ʾ +Ë +Ë‚ +˃ +Ë„ +ˆ +ˇ +ˉ +Ë +Ë‘ +Ë– +˘ +Ë™ +Ëš +Ëœ +Ë +Ëž +ËŸ +Ë  +ˤ +˪ +Ë­ +Ë® +Ë´ +ͳ +Í» +΀ +Î +΂ +΃ +΄ +Î +α +β +γ +δ +ε +ζ +η +θ +ι +κ +λ +μ +ν +ξ +ο +Ï€ +Ï +Ï‚ +σ +Ï„ +Ï… +φ +χ +ψ +ω +Ï +Ï‘ +Ï’ +Ï• +Ï– +Ï +Ï« +Ï­ +Ï° +ϱ +ϲ +ϵ +Ï» +ϼ +а +б +в +г +д +е +ж +з +и +к +л +м +н +о +п +Ñ€ +Ñ +Ñ‚ +у +Ñ„ +Ñ… +ц +ч +ш +щ +ÑŒ +Ñ +ÑŽ +Ñ +Ñ” +Ñ• +Ñ– +ј +Ñ› +ѱ +ѳ +ѵ +Ò‘ +Ò› +Ò +Ò¡ +Ò« +Ò¯ +Ò± +Ò³ +Ò» +Ó +Ó• +Ó™ +Ó© +Ó½ +Ô +Ô‘ +Õš +Ö¾ +× +×™ +×¥ +ר +ש +׳ +×´ +ØŒ +ا +Ø© +ت +Ø­ +Ø® +د +ر +ز +Ø´ +Ø· +ع +Ù€ +Ù +Ù„ +Ù… +Ùˆ +Ù  +Ù¡ +Ù¢ +Ù¤ +Ùª +Ù­ +Û¥ +ßš +ß +ࣈ +क +च +ण +फ +र +ल +ा +० +ภ+ข +ง +ต +ท +น +บ +พ +ฟ +ภ +ย +ร +ล +ว +ศ +ห +อ +ะ +า +฿ +๠+ใ +༌ +ဠ+á„€ +á„ +á„‚ +ᄃ +á„„ +á„… +ᄆ +ᄇ +ᄉ +á„‹ +á„Œ +á„Ž +á„ +á„ +á„‘ +á„’ +á…Ÿ +á…¡ +á…¢ +á…£ +á…¥ +á…¦ +á…§ +á…¨ +á…© +á…ª +á…¬ +á…­ +á…® +á…¯ +á…° +á…± +á…² +á…³ +á…´ +á…µ +ᆨ +ᆩ +ᆪ +ᆫ +ᆭ +ᆯ +ᆲ +ᆷ +ᆸ +ᆺ +ᆻ +ᆼ +ᆾ +ᇀ +ᇂ +ᇞ +᛫ +á´‚ +á´… +á´‹ +á´ +á´ +á´ +á´“ +á´¨ +á´ª +á´³ +á´¼ +áµ’ +áµ— +áµ +ᵧ +ᵪ +ᵯ +áµ¹ +ᶲ +á¾½ +᾿ +῾ +‑ +‒ +— +― +‖ +‘ +’ +‚ +‛ +“ +†+„ +‟ +† +‡ +• +‥ +… +‧ +‰ +‱ +′ +″ +‴ +‹ +› +※ +‾ +‿ +â +⃠+â„ +⎠+â“ +â— +â° +â± +â´ +âµ +ⶠ+â· +⸠+â¹ +⺠+â» +â½ +â¾ +â¿ +â‚€ +â‚ +â‚‚ +₃ +â‚„ +â‚… +₆ +₇ +₈ +₉ +â‚‹ +â‚Œ +â‚ +â‚“ +â‚£ +₤ +₦ +â‚© +€ +₱ +₵ +₹ +₺ +â„‚ +℃ +â„… +ℇ +â„‹ +â„ +â„ +â„‘ +â„’ +â„“ +â„• +â„– +â„— +â„™ +â„› +â„œ +â„ +â„ž +â„  +â„¢ +ℤ +℧ +ℬ +â„° +ℱ +ℳ +â„´ +ℵ +ℽ +â…… +â…“ +â…” +â…— +â…™ +â…š +â…› +â…œ +â…° +â…± +â…² +â…³ +â…´ +â…µ +â…¶ +â…· +â…¸ +â…¹ +â…º +â…» +↠+↑ +→ +↓ +↔ +↕ +↗ +↘ +↙ +↠+↦ +↷ +↼ +⇀ +⇄ +⇆ +⇋ +⇌ +⇠+⇑ +⇒ +⇓ +⇔ +⇠+⇨ +∀ +∂ +∅ +∆ +∇ +∈ +∊ +∋ +∎ +∠+∠+∑ +− +∓ +∕ +∖ +∗ +∘ +∙ +√ +∛ +∠+∞ +∟ +∠ +∡ +∢ +∣ +∥ +∧ +∨ +∩ +∪ +∫ +∴ +∶ +∷ +∸ +∼ +∽ +∾ +≂ +≃ +≅ +≈ +≊ +≌ +≠+≠+≠+≑ +≒ +≔ +≙ +≡ +≣ +≤ +≥ +≦ +≧ +≨ +≪ +≫ +≲ +≳ +≺ +≻ +≽ +≿ +⊂ +⊃ +⊆ +⊕ +⊖ +⊗ +⊘ +⊙ +⊞ +⊟ +⊠ +⊣ +⊤ +⊥ +⊿ +â‹„ +â‹… +⋆ +â‹Š +⋘ +â‹™ +â‹œ +â‹ +â‹® +⋯ +⌀ +⌈ +⌉ +⌊ +⌋ +⌜ +⌠+⌢ +⌣ +â´ +âµ +⺠+⎕ +⎼ +⣠+â‘  +â‘¡ +â‘¢ +â‘£ +⑤ +â‘¥ +⑦ +⑧ +⑨ +â‘© +â‘´ +⑵ +⑶ +â“’ +â“ +â“¡ +─ +│ +├ +┤ +┬ +â”´ +â• +â•‘ +╪ +╳ +â–ˆ +â–‘ +â–’ +â–“ +â–  +â–¡ +â–ª +â–« +â–¬ +â–¯ +â–² +â–³ +â–´ +â–µ +â–¶ +â–¸ +â–¹ +â–º +â–¼ +â–½ +â–¾ +â–¿ +â—† +â—‡ +â—Š +â—‹ +â— +â—¦ +â—» +â—½ +★ +☆ +☉ +☠+☓ +☺ +♀ +♂ +♢ +♦ +♪ +â™­ +♯ +✓ +✕ +✜ +✧ +✴ +✶ +âž +âž” +âž +➢ +➤ +⟂ +⟦ +⟧ +⟨ +⟩ +⟵ +⟶ +⦠+⦵ +⧧ +⧸ +⧹ +⨉ +⨪ +⨯ +â©’ +⩼ +⩽ +⩾ +â©¿ +⪅ +⪆ +⪕ +⪖ +⪠+⪡ +⪢ +⫽ +⬄ +⬜ +⬡ +⬢ +⬰ +⬽ +ⱪ +⸱ +â¿¿ +〠+。 +〈 +〉 +《 +》 +「 +〠+〠+】 +〓 +〔 +〕 +〖 +〗 +〜 +〠+〟 +ã‚¢ +ã‚« +ヒ +メ +リ +レ +・ +ã…£ +ㆠ+㎂ +㎠+㎖ +㎛ +㎠+㎟ +㎡ +㎶ +ã’ +丸 +å‚ +囊 +大 +å°„ +æ–¹ +æ°” +汤 +注 +消 +液 +清 +潜 +瘀 +益 +祛 +ç²’ +è‚ +肾 +胶 +芪 +è¡¥ +颗 +饮 +骨 +꞉ +꞊ +ꞌ +êžµ +ff +ï¬ +fl +ffi +ffl +ſt +ï´¾ +ï´¿ +︰ +ï¹’ +ï¹› +ï¹¢ +ï¹£ +﹤ +ï¹¥ +﹩ +$ +ï¼… +& +' +( +) +* ++ +, +ï¼ +. +: +ï¼› +< +ï¼ +> +? +ï¼» +ï¼½ +ï¼¾ +_ +c +i +ï½ +ï½ +ï½– +ï½› +| +ï½ +~ +、 +ï½¥ +ï½± +ï½µ +ï¾€ +モ +ï¿— +ï¿¡ +ï¿¢ +ï¿¥ +₩ + +ð‘ +ðŸ +ð« +ð´ +ð¸ +𑃠+ð‘ +ð‘‘ +ð‘’ +ð‘“ +ð‘– +ð‘› +𑜠+ð‘Ÿ +ð‘¡ +ð‘¥ +ð’† +ð’™ +ð’ž +ð’Ÿ +ð’¦ +ð’© +ð’ª +ð’« +ð’® +ð’¯ +ð“Ÿ +ð“£ +𔇠+ð” +𔹠+ð•Š +𕜠+ð–± +𘗠+𛂠+𛆠+𛼠+𛽠+𜀠+𜃠+𜅠+𜇠+𜋠+𜌠+𜒠+𜖠+𜗠+ð +##y +##q +##e +##0 +##5 +##3 +##8 +##a +##g +##p +##c +##t +##4 +##6 +##7 +##2 +##h +##d +##i +##n +##o +##s +##r +##w +##u +##k +##b +##f +##l +##m +##z +##v +##1 +##9 +##â‹® +##° +##x +##j +##≈ +##₃ +##∙ +##λ +##â» +##μ +##ø +##∼ +##→ +##δ +##× +##â„¢ +##∕ +##≫ +##β +##± +##â‚‚ +##₆ +##⩽ +##€ +##® +##∓ +##α +##Ñ +##γ +##£ +##≡ +##⋯ +##Ï€ +##â• +##⋆ +##Ï +##µ +##σ +##â‚… +##â‚„ +##Ëš +##á…´ +##ᄇ +##á…¡ +##ᆼ +##á„‹ +##á…² +##á„Œ +##á…± +##â‚‹ +##ï¬ +##´ +##₇ +##ε +##ß +##+ +##η +##© +##б +##³ +##е +##ı +##â–¡ +##∗ +##∶ +##â„ +##− +##Ï• +##⊂ +##Ë™ +##º +##∆ +##↓ +##κ +##∞ +##⺠+##₈ +##fl +##ι +##⸠+##∷ +##â‹… +##² +##â° +##æ +##↔ +##â‚ +##ζ +##Ï„ +##÷ +##ï¼ +##∘ +##¹ +##â· +##ⶠ+##χ +##ω +##Ï’ +##â„ +##ˆ +##Ñ„ +##о +##↑ +##⩾ +##φ +##¬ +##ϵ +##Ï… +##₉ +##θ +##ψ +##─ +##├ +##≪ +##Å‚ +##♂ +##â„“ +##âž” +##â…± +##â´ +##≳ +##ν +##~ +##√ +##≲ +##< +##к +##â¹ +##⊃ +##н +##∠+##â‚€ +##âµ +##¯ +##↠+##ff +##΄ +##а +##É™ +##â—¦ +##≃ +##≅ +##Å“ +##É› +##⧹ +##⺠+##â…° +##É‘ +##ο +##⇒ +##♀ +##Ë‚ +##â—‹ +##â–´ +##> +##⊗ +##Ñ€ +##в +##ж +##℃ +##∈ +##∧ +##⊙ +##¢ +##м +##á…­ +##á…µ +##ᆫ +##á…¦ +##∑ +##у +##з +##л +##Ñ– +##≦ +##≧ +##Ë® +##≒ +##ï¹¥ +##≊ +##¼ +##â–³ +##á„… +##á…© +##á…¥ +##ᆨ +##Ä‘ +##⊥ +##Ñ‚ +##â…³ +##˃ +##Æ’ +##ξ +##│ +##¾ +##â…² +##ð +##ϲ +##â“’ +##⣠+##â”´ +##∥ +##â–ª +##⧧ +##𛽠+##âž +##É£ +##∇ +##ш +##ᶲ +##и +##г +##♦ +##∫ +##∩ +##½ +##ſt +##⇋ +##â…· +##Ëœ +##⧸ +##¨ +##⨯ +##∣ +##ª +##∨ +##ĸ +##â— +##â–¬ +##Â¥ +##â…´ +##⇑ +##⇓ +##⇆ +##⬢ +##∠+##É• +##â„… +##Ñ… +##⇌ +##Ë +##∪ +##⊕ +##Ç€ +##Ë– +##É’ +##⬜ +##ᆯ +##ᆸ +##д +##ð‘ +##⇀ +##Ë +##≠+##þ +##↷ +##ɹ +##ʃ +##Æž +##⟶ +##⇄ +##┤ +##ц +##Ñ +##ßš +##¸ +##п +##∴ +##⇔ +##â„– +##ʱ +##↦ +##ͳ +##⪅ +##â–µ +##⇠+##Éš +##ᆺ +##É +##ɪ +##â‘¡ +##Ò¡ +##⊠ +##∂ +##ꞌ +##≠+##ˇ +##â–’ +##ÑŽ +##☓ +##∖ +##ˉ +##┬ +##⎼ +##â‚“ +##Ï‚ +##〓 +##¦ +##áµ’ +##⋘ +##â± +##ᆷ +##á…³ +##â…“ +##㎠+##â–  +##♯ +##΀ +##≿ +##Ò¯ +##ᄉ +##Ï­ +##Ëž +##ɸ +##∅ +##⪢ +##↠+##á´‚ +##𛆠+##áµ +##Ë„ +##ᵧ +##á…ª +##á„’ +##á„€ +##á…§ +##ᄃ +##∊ +##á…Ÿ +##¤ +##☉ +##Ê° +##â“¡ +##ᄆ +##Ï +##ר +##× +##ש +##×™ +##| +##â–“ +##ч +##ÑŒ +##á„‘ +##ᆩ +##á„‚ +##Ë‘ +##⊖ +##⦠+##â„‘ +##ℇ +##â…º +##â‹œ +##᾿ +##á…¢ +##ï¿¥ +##â•‘ +##Ñ” +##â‚ +##á…® +##ʼ +##Ò› +##Ò« +##ฟ +##น +##ð’¯ +##⊟ +##฿ +##É” +##Ê +##â‹™ +##ÊŒ +##á…¬ +##â…¶ +##⪡ +##Ï° +##ᆾ +##⊘ +##Ù€ +##ᇞ +##â–¸ +##✕ +##â‹„ +##ℤ +##ã…£ +##ffi +##↼ +##อ +##ง +##áµ— +##â…¸ +##É– +##ffl +##ÊŠ +##â¿¿ +##╳ +##ï¹¢ +##Î +##â–¿ +##Ë +##Ë­ +##≺ +##â‚£ +##Ï– +##↕ +##⬰ +##á„ +##⬡ +##⪆ +##↘ +##á…° +##₵ +##า +##ใ +##ต +##บ +##⊿ +##ð’ž +##â„’ +##ɳ +##ѱ +##Ù„ +##Æ› +##ϱ +##⨉ +##ð‘– +##ð‘“ +##ð‘’ +##ð‘Ÿ +##ð‘› +##ð‘¡ +##𑜠+##ว +##â‹ +##â‚Œ +##á„ +##â„ +##Å‹ +##ᆻ +##ภ+##∽ +##Ñ• +##Ó +##Ù¢ +##á¾½ +##ħ +##⬽ +##É¡ +##ㆠ+##ï¼¾ +##É© +##ᇂ +##℧ +##â…» +##Ç +##É· +##Í» +##⌀ +##ð‘ +##ѵ +##ɤ +##㎛ +##˘ +##Ê’ +##꞊ +##ा +##क +##𜀠+##á´ +##â…µ +##ï¿¢ +##ï¾€ +##モ +##ℱ +##á´¼ +##ï½± +##ʲ +##ј +##د +##Ù… +##Ø© +##â™­ +##á´‹ +##΃ +##₺ +##â„— +##꞉ +##ʹ +##á´ +##ز +##ع +##ر +##Ùˆ +##ᆭ +##↗ +##﹤ +##á…¨ +##Æ´ +##ð‘‘ +##メ +##リ +##ã‚« +##≽ +##≣ +##ʾ +##á„Ž +##á…¯ +##Î +##⊆ +##Æ™ +##Ê‚ +##â„• +##Ø´ +##ا +##Ù +##⟂ +##≠+##ᆲ +##ᆪ +##ʉ +##ï½µ +##â„  +##ï½ +##Æ­ +##ल +##⊣ +##ˤ +##á„„ +##Ò» +##∀ +##á…£ +##â–‘ +##ɾ +##∟ +##êžµ +##≔ +##Ù¡ +##ت +##✓ +##ʘ +##â–¼ +##É® +##i +##ï½– +##Ê +##Ù  +##≑ +##₦ +##ヒ +##Ç‚ +##𜃠+##â„ž +##⌢ +##Ï‘ +##ß +##ɵ +##â©¿ +##È¥ +##ⱪ +##â…” +##ȼ +##レ +##â¿ +##Ë´ +##ð’† +##♪ +##☆ +##⨪ +##ð“£ +##â–ˆ +##Ù¤ +##â©’ +##ɬ +##ƈ +##á´ +##⌣ +##𜅠+##Ê· +##â‘¢ +##≤ +##Ñ› +##∠ +##Ñ +##ѳ +##ï½ +##ℳ +##â—Š +##र +##ण +##ðŸ +##∎ +##⇠+##ÊŽ +##☺ +##⟵ +##â„œ +##㎖ +##Ë  +##๠+##ล +##ะ +##ข +##ภ +##พ +##ย +##ร +##ท +##ศ +##ʺ +##â…¹ +##⫽ +##â‘  +##∋ +##Û¥ +##â„‚ +##≻ +##á´ª +##Ç +##á„ +##΂ +##È£ +##𜋠+##É“ +##ɯ +##á´“ +##Ó© +##â‘© +##ℵ +##â‚© +##★ +##𛼠+##ᇀ +##â‘£ +##ti +th +##er +##on +##en +##es +##ed +##in +the +##al +in +an +##or +of +##at +##an +##ro +##tion +and +##as +##it +##ic +##ar +##is +##ent +##ec +##re +##el +##ing +to +##ation +##ul +##et +##ol +##om +##ac +##ur +##os +##ith +##us +##ve +##id +##ati +with +##ly +##le +con +st +##th +##ere +##ter +##ig +pro +for +re +##ts +##uc +##od +##il +##em +as +##if +was +##ated +##un +##ess +##am +##ce +##im +##tr +##ow +ex +is +res +##um +##oc +were +##op +##ut +##tic +##ity +##ir +##ion +on +##ents +ac +com +##ate +that +##ab +##ot +##og +al +be +##ys +ch +##ud +##ev +##ag +##ell +by +##ad +##ain +##ap +##rom +wh +##ical +##ect +##ant +or +pr +##ers +##ib +su +##pl +##ine +##ment +pati +##ase +##iv +##ep +im +##tin +tr +##ff +dis +at +##igh +ad +us +we +##tiv +inc +this +##ph +comp +patients +##ence +are +##qu +sp +en +from +##ure +cell +stud +##tive +##iz +##ay +##ign +##ial +sh +un +##ific +ne +ind +##te +met +##ies +##ch +##ations +per +##fer +##per +##ress +rec +##ous +##ort +##ip +##orm +##ans +ass +##ens +ph +eff +##ear +##evel +##ore +resul +##rou +##ge +##ons +##oun +cl +##ia +##ely +gen +##est +ap +##act +##ting +sign +##bs +##enti +inf +##ular +##ary +##ition +##yp +dif +##oth +##olog +par +bet +##erm +high +pre +inter +##ese +rel +##ased +can +##cl +cont +tre +##ver +not +pl +results +ha +##ors +co +de +##ding +imp +##yl +these +meth +ev +study +##ym +resp +car +exp +##ich +pos +##roup +##ist +me +##st +##der +differ +str +##enc +trans +##ance +##ose +incre +##ative +di +group +signific +##ath +am +##een +##duc +anal +##ection +sur +##ied +significant +cells +reg +mod +##and +##ast +##ong +##ual +det +af +rep +spec +pres +##iti +cons +activ +all +method +which +##ween +##able +have +##age +between +sc +inv +show +##vi +##rol +mic +##all +##ory +##00 +##oci +ab +int +##end +##ide +after +ar +##ression +##oll +##ound +cor +##ater +treat +##atin +he +##ros +than +no +##ach +##ved +##usion +##ug +compar +##ects +tw +##ally +##ari +##ected +##tein +##one +se +##alu +##yst +##ther +level +anti +##ight +##yn +##ates +##unc +med +app +ag +##ever +##ases +##ech +##cr +associ +##ost +##ive +treatment +##ak +##ective +##our +using +##form +it +##tim +le +##ility +bl +##ome +but +##ox +has +been +protein +##entr +two +##unction +des +dur +##ted +##na +control +analys +##ulation +el +ob +##ood +##ized +bi +##ating +##ard +##evelop +##ue +more +low +dec +develop +hy +may +##mun +##ang +##anc +both +##osis +##dition +##so +mon +sub +clin +##ree +ca +year +ser +##action +dise +10 +dat +fl +their +red +##ass +##yt +##hib +##cess +also +tim +dep +##gg +##pt +##ill +##ob +##acter +##ri +##ures +syst +used +concl +##ub +##cer +##uced +during +##ectiv +there +id +##ined +##ological +##erap +had +##agn +##iss +function +##ism +fact +meas +dr +##uld +system +respons +##ogen +man +##ew +vari +gl +clinical +obs +data +em +##br +##out +suc +incl +##gen +##ond +heal +##ution +##atic +es +how +methods +out +associated +##pp +under +sim +##urr +present +form +##plic +##ack +analysis +sugg +sam +over +acc +##aph +##etic +##ium +one +model +conclusion +includ +ris +foll +health +typ +##uct +##ult +increased +produc +use +##inding +activity +compared +significantly +pol +##ays +disease +non +conc +up +syn +##ained +inhib +expression +levels +ins +obser +##gr +##ven +other +end +found +##ace +##ole +##ization +follow +time +##ici +qu +##entif +##ild +oc +##eth +##ite +##ential +perform +##itive +immun +20 +##ogr +##und +risk +fr +exper +##tig +##ane +dem +evalu +gr +determ +cr +##ants +pot +##ail +different +studies +effect +br +hum +identif +effects +showed +##ments +indic +##ile +its +based +exam +##atory +##ish +appro +##tal +prov +##row +##estig +therap +investig +char +partic +concentr +##oid +##als +however +tum +sm +path +ma +report +min +sel +##mon +##ery +##ities +most +##ences +##adi +specific +12 +infl +##ectively +diagn +##onstr +##ma +assess +##ple +contr +rem +##esis +##ency +ep +when +##ination +our +years +##av +subs +##idence +##etr +##tern +def +op +mul +supp +##ormal +acid +age +##ren +into +decre +##ability +only +##ange +well +higher +intr +##ograph +##tical +##oph +three +19 +##erg +##ork +cancer +##iqu +##ently +test +##ions +##ited +peri +##ology +##ber +##inal +pred +gener +mal +human +##echan +##ept +induced +##ature +##arg +##ement +such +##af +mol +new +##ible +impro +observed +character +import +num +sec +struct +mechan +##til +##ord +groups +##ix +##ik +patient +##ov +##ugh +##rel +fir +sens +demonstr +child +##rop +occ +col +##res +ox +chang +loc +##tid +##ron +##gh +rate +##aining +blood +kn +##lex +cases +##ute +post +related +##use +surg +process +##cop +##ark +tiss +micro +##ok +##ured +term +rat +who +##tit +fe +first +##view +##oma +fur +suggest +valu +aff +##uction +gene +response +mem +disc +addition +##amm +##echn +##ural +cal +po +##rough +neu +##ough +##dro +type +##ten +##osph +inj +those +grow +##och +development +##osed +##own +techn +##round +##ior +among +sol +##ful +respectively +##its +##ulated +condition +conf +##ines +mean +care +cd +##vention +##ental +molec +recept +##ucle +15 +##ital +##les +month +drug +factors +del +through +mg +##ains +##arly +pop +total +hyp +ps +ol +##omen +changes +il +##fore +increase +prim +cyt +bas +##ize +correl +role +invol +00 +potential +##di +##ivid +obj +##endent +prop +long +prob +experim +##ould +phys +##ational +##asc +##tained +plas +subj +##xim +fre +normal +gre +##crib +##urs +finding +my +##earch +medi +mus +important +##ived +stim +back +adm +##eng +lower +main +##vers +predic +##roph +##omy +could +simil +##led +mechanism +11 +##over +##istic +##ha +ii +##ex +##ek +within +sym +hist +##ds +##cin +performed +##gan +infection +so +##air +where +##eter +##ody +sequ +number +##ene +comb +frequ +##osp +lik +extr +sever +hyper +therapy +95 +review +##ms +conclusions +prog +##ption +##ps +outc +less +coll +##ider +while +multi +##ade +flu +##cle +mm +cap +each +##ether +children +requ +antib +hydro +bec +14 +treated +reported +##iver +lim +including +##val +similar +##ages +period +poss +vir +growth +tumor +do +fib +some +complex +aim +##orph +ext +##ores +##ock +women +##vious +##omes +positive +##arge +radi +pur +describ +pat +reve +##ne +200 +13 +dna +findings +##ric +##otic +cy +chem +factor +##ptom +prom +did +without +##ival +ret +30 +inhibit +##pha +week +mo +cardi +##ividual +mut +work +##ples +prot +##ground +tem +er +case +##zym +four +##iel +abs +##tivity +mice +they +##ily +individual +##ues +consider +dir +background +25 +##istr +##abol +tissue +calc +18 +days +approach +pe +av +##ascular +##ativ +surf +##ness +months +previous +vit +##ise +need +curr +##ale +##otyp +isol +##oper +phosph +identified +common +sing +measure +##ically +reveal +##ty +hem +maj +##ake +##iter +sev +major +vis +##oh +##ross +beha +synth +techniqu +##equ +organ +nucle +design +caus +##fl +##are +presence +research +##plet +behavi +analy +second +provid +mark +##ality +differences +##ocyt +##med +##ified +further +##uss +surv +mater +vol +symptom +reduced +##atal +small +16 +metabol +24 +obtained +##ced +binding +hosp +class +serum +dose +##ning +influ +##plications +rats +##atis +##crip +cult +mat +##par +initi +evidence +##ymph +due +single +early +##ography +##ice +und +sk +day +lip +expl +inform +admin +##acy +about +species +##ety +##lish +##ung +##ties +enzym +##ft +decreased +sl +##ately +conditions +05 +receptor +##itis +bre +primary +alth +##ension +lymph +50 +although +os +subjects +##hip +##esting +##ogn +qual +diagnosis +enh +lab +ele +measured +##ites +concentration +##old +##ink +ml +rati +particip +##trib +##int +arter +##ins +ci +##ressed +proteins +studied +neg +##roscop +concentrations +fem +population +##ectr +##oles +##las +pers +##ither +##ests +resist +improve +100 +alpha +mr +lif +rece +hep +should +beta +##ication +range +##ateg +brain +pattern +genes +developed +investigated +##ials +##ych +objective +samples +##ength +##gf +plasma +line +press +lead +set +phen +membr +if +ec +following +##erv +interaction +revealed +##vir +##emia +##erc +##amic +aut +##aging +reaction +demonstrated +##arget +17 +der +discuss +analyz +coun +dependent +target +##plant +anim +surgery +ang +prol +##ening +##onal +vs +several +chron +surface +##eptid +##ulin +est +fam +relations +##hy +inflamm +##tan +##por +##osure +oper +##ind +gluc +##ield +##aneous +large +proper +molecular +hospital +stand +##roduc +elect +kg +adv +##ick +les +here +examined +##asing +complet +##cent +##oss +survival +appear +weight +prof +functional +chrom +ul +effective +hear +##ensity +evaluated +requir +information +liver +unders +proced +values +quan +deg +again +##tered +##az +prac +local +201 +phase +estim +polym +stress +##cs +electr +##tis +##ax +determined +region +##tions +val +standard +diff +ir +neur +##ire +bone +param +relationship +nec +whether +rates +01 +determine +acute +##ause +chronic +mass +body +free +cle +##arm +pain +sch +sus +diab +enhanc +water +occurr +either +equ +before +pul +life +##ving +intervention +bacter +will +001 +characteristic +pressure +conduc +##onic +gu +##omic +included +greater +ur +quality +##ian +same +various +##yr +##ivers +##icient +reduction +pathw +activation +structure +##uth +provide +injur +dim +##sp +thus +##viron +support +against +many +##plication +##ator +##ulations +manag +hel +ro +ratio +##ocytes +##orb +contrib +ren +shown +##lement +cir +multiple +vitro +nov +##ification +##iven +signal +##tain +exposure +##amin +symptoms +known +gly +current +##atively +direct +##operative +sep +medical +dom +##ules +purp +psych +prec +exc +nan +whereas +vi +negative +genetic +production +because +distrib +carb +##andom +##eters +##ission +ach +fail +flow +formation +21 +fac +##eu +sal +environ +##rome +detected +##amine +adj +random +compound +##ostic +##ellular +rele +40 +strong +##gram +##ensive +##tric +##ateral +##uted +recom +##ists +##ometr +possible +pub +transcrip +mort +##itivity +##ude +association +loss +part +nm +##up +##emic +pap +any +##cept +reduc +compon +##ae +##ct +ms +##icity +change +repres +##ocy +##ynamic +##nal +controls +membrane +success +order +##eration +confir +sex +involved +muc +weeks +cent +##otherap +six +performance +muscle +responses +avail +general +size +##atus +mechanisms +##tif +difference +oxid +##gn +commun +mortality +particular +lo +virus +##ablish +temper +##ient +properties +tox +hypoth +indep +five +establish +strateg +assessed +cycl +models +experi +lung +statis +consist +##ann +resid +##uk +synd +differenti +##elial +##istration +state +increasing +overall +##atures +behavior +##ision +carcin +purpose +identify +men +000 +##ochem +22 +sin +old +60 +##ward +novel +management +##olution +contin +cm +regul +##aw +heart +##aps +##ised +super +diet +poly +presented +being +analyzed +proble +amin +##inant +scre +rap +mac +##ologic +##eral +neuro +magn +ct +surgical +link +##estion +contrast +##eutic +##app +area +like +self +imaging +##opath +death +phot +foc +##ording +intra +frequency +viv +environment +ov +##acc +eth +##iciency +##iving +evaluate +volum +allow +##reg +##itor +active +dys +outcomes +##ie +circ +preval +##dr +##active +result +recent +therefore +##otherapy +parameters +severe +outcome +##eric +centr +peptid +stage +value +vivo +very +isolated +##elet +add +##ographic +tra +distribution +##ergy +short +indicate +technique +decrease +##ust +mit +enzyme +##oses +resistance +##odies +##etes +enc +##verage +##lor +detection +participants +morph +nit +index +sw +injury +experimental +renal +optim +##tinal +##orts +systems +male +hom +induc +23 +administration +block +site +cross +previously +##ides +inhibition +stimul +accur +sensitivity +vers +diseases +##icular +ve +##ogenesis +dev +characteristics +##ended +healthy +##osition +##ably +left +tested +syndrome +##tex +##amp +described +prepar +exhib +gas +assay +therapeutic +pregn +rapid +##ocial +bene +##ule +att +highly +##asis +considered +animals +##rh +##tegr +glucose +##ancy +##iat +##ull +##oplas +artic +fat +mediated +investigate +maxim +rh +benef +fil +correlation +incidence +##inc +followed +atten +available +containing +199 +##ours +##eding +family +##iological +##ns +lesions +cere +sequence +then +##tically +##de +status +##ode +saf +##ylation +tub +##ances +better +##ices +##ogenic +types +kin +sample +da +##ids +##ouse +##ters +improved +##ially +##of +prolif +##red +hiv +relative +##roscopy +##inary +caused +##olic +##opt +impact +28 +##ops +##ount +derived +##ner +individuals +##ocard +energy +breast +##ulf +##ually +##ands +surve +nor +required +##itation +her +effic +##ces +via +inflammatory +##otype +##verse +insulin +cause +pharm +te +release +solution +##els +integr +temperature +##iev +cardiac +field +##plied +hypert +##ygen +pc +##ey +##acellular +adh +secre +percent +net +amino +record +##terior +bel +ultr +35 +sites +ability +dist +poor +spect +mrna +##omp +expressed +influence +approxim +combination +assessment +produced +analyses +conducted +physical +prevalence +light +##arc +##eline +program +##therm +##ves +received +comparis +indicated +practi +##itu +useful +length +liter +know +focus +volume +##roc +##line +##oy +complications +##ectomy +them +given +elev +content +refer +##tial +skin +diabetes +##pr +tak +##tine +##monary +##ressive +##ling +##pec +monitor +abn +evaluation +sour +metast +visual +##ortion +##romb +##ibility +drugs +26 +ver +density +larg +features +##cence +adult +recover +average +independent +##ols +likely +even +correlated +heter +efficacy +scale +ill +valid +according +hc +immune +##ysis +synthesis +tumors +cat +continu +quantit +lig +dam +impair +mar +separ +compounds +diagnostic +acet +hr +##abil +##enz +injection +abnormal +applied +##ones +play +question +characterized +coh +often +apopt +orig +##uble +recogn +##izing +thir +ventr +good +demonstrate +initial +cop +off +##vent +oral +##resp +##order +##go +ic +cre +introduc +chall +vascular +##cep +##mit +social +recurr +activities +medic +oste +central +transcription +angi +transfer +fraction +##orders +##ators +##tanding +##oung +might +young +##vement +spectr +27 +##medi +least +paper +mix +45 +made +##mic +##orption +failure +tissues +glyc +pa +##otox +predict +pd +util +##ored +measures +##tle +cellular +##ising +carr +##ecting +underw +enhanced +represent +cs +##enced +32 +measurements +receptors +##rees +disorders +score +transplant +biological +nat +female +aden +areas +##thermore +furthermore +experiments +cri +procedure +##ledge +##yro +food +##ask +##ta +stimulation +asp +understanding +cur +epid +techniques +subsequ +literature +times +regulation +successful +knowledge +##ales +##art +90 +discussed +emerg +moder +strains +rna +diss +adul +80 +minim +regression +31 +observ +##ables +##work +combined +regions +degrees +36 +processes +##rob +position +repe +dynamic +##tib +##omal +approximately +##lic +tests +since +fin +ed +oxygen +few +underwent +baseline +arr +patterns +29 +pathway +##ocyte +median +would +culture +##uture +##bers +##igr +events +##rogen +step +affected +##ustr +bm +proposed +##olar +48 +artery +air +prior +thromb +nurs +progn +smok +occurred +pulmonary +resulted +ey +right +collected +confirmed +limited +antibodies +fluores +##ont +biom +coron +ess +##iotic +suggested +##rosp +educ +##opro +antibody +interactions +pcr +##omas +##eness +##erve +antigen +neurons +cogn +##da +##ier +##ochemical +achiev +epith +##ytic +section +ax +##ower +sensitive +methyl +electro +mid +key +33 +criter +constr +##lying +hydrox +agg +##iatric +##otor +horm +##till +suggests +##ru +complete +pharmac +labor +network +comparison +practice +versus +##ler +lack +auth +gam +refl +materials +serv +inhibited +carcinoma +##utr +suggesting +increases +alter +recomm +structures +endoth +application +established +setting +trials +70 +seen +guid +additional +exerc +chemical +##ke +place +hal +vacc +history +down +invas +isch +catal +altern +periph +cer +##ovascular +controlled +##urn +37 +malign +screening +coronary +relev +across +alc +iii +provides +chain +lay +accum +##10 +examination +strain +corr +transp +##ave +mir +duration +adults +scores +displ +electron +##ious +disorder +bir +action +prost +promo +##ploy +depend +mouse +espec +plat +iv +substr +especially +hand +secondary +##onding +future +##ining +##istered +##inetic +mel +training +capac +##ogene +seg +75 +##acts +corresp +selected +eight +proliferation +consum +##rosis +##terol +sil +defined +##nf +rad +##oscop +##oxid +##ethyl +##fusion +##emb +##last +agents +sum +##bral +sle +##ii +alcoh +##iratory +##pa +inhibitor +lat +colon +peak +##grad +detect +polymer +plac +34 +##utes +bar +##ondr +et +02 +kid +recently +help +toward +article +still +##set +ultras +##aff +##ture +desp +##me +basis +kidne +side +##ld +ref +go +ant +despite +##orbid +cours +components +##ying +damage +glut +lit +head +##estinal +lipid +leuk +molecules +chlor +describe +structural +##agon +suff +postoperative +clear +bil +phosphor +critical +improvement +apoptosis +##bry +prosp +mes +fold +hip +peripheral +diffic +##eph +cost +##ibr +graf +##tre +adap +criteria +distin +##ets +metabolic +##agen +fer +dop +kinase +ion +necess +chann +##ancre +real +##isting +##yroid +signaling +exercise +##ochondr +chromos +populations +calcium +don +peptide +bio +infected +provided +daily +##iting +depression +doc +alone +nerve +differentiation +##ectives +aged +task +strategies +##odes +load +prevent +trial +sem +##occ +great +affect +ra +series +functions +##ergic +does +therm +rang +na +od +##esth +interval +ampl +fet +activated +consistent +facil +point +situ +##entially +embry +concer +sn +##anol +essential +perce +##pre +testing +42 +eng +##iversity +retrosp +cou +frag +sod +##enting +elevated +moreover +##ints +##50 +acids +38 +employ +resulting +cognitive +importance +reduce +plant +community +hours +##ems +top +pancre +prote +absence +onset +mitochondr +cryst +glob +marked +pregnancy +simple +##ove +myocard +medium +rare +##ather +products +linear +implant +convention +degree +##otid +##umin +survey +##ptake +questionna +remains +achieved +log +##omer +transport +las +lines +access +reli +sci +particularly +migr +seven +infections +##bo +material +##oint +microm +natural +##ulate +capacity +transform +sulf +##oids +toler +lear +##function +metabolism +##ca +pig +cytok +##trans +##arding +##ument +diagnosed +##ophil +##ople +##olesterol +fract +power +##ef +##uter +extract +procedures +older +problems +##etry +##ayed +##pri +states +open +markers +##ivery +transl +transm +require +##ogl +fluid +dig +doses +appropri +##dom +quantitative +##arb +delivery +ear +bacterial +##oster +##12 +exposed +examine +label +underst +nutr +upon +##arr +recovery +wor +##ics +conventional +highest +magnetic +uptake +carbon +tog +stable +progression +##utaneous +biops +undergo +variables +reproduc +together +clus +pathways +##put +##ortic +experience +proportion +induction +##ched +cardiovascular +course +calculated +stro +rest +##thr +##imens +experiment +stem +statistically +sequences +administered +##icians +strength +gamma +maximum +cycle +##nas +irr +##ogenous +origin +##atitis +consequ +pair +##uff +##se +act +##isms +component +kidney +##itional +adverse +estimated +iss +##encing +respond +whole +host +nuclear +regarding +summ +people +alcohol +ge +##brid +cohort +polymorph +##icial +##eti +respiratory +resistant +internal +bro +##oz +antagon +pp +65 +wall +linked +##ession +carried +tempor +public +##gl +much +198 +prefer +lact +objectives +ventricular +include +safety +inflammation +##inity +43 +little +needed +03 +##idine +39 +mutations +domain +##anced +wid +inhibitors +variation +##titution +mak +##osa +##istry +mamm +sleep +##rolog +environmental +##ank +hypertension +special +severity +best +modified +##other +fas +terms +birth +##anning +dimension +systemic +laboratory +##rix +distinct +specificity +protoc +##hydro +exhibited +##pling +hb +animal +ped +##acr +along +motor +subsequent +##activity +bp +taken +##ered +var +ster +relatively +endothelial +stroke +##roscopic +ng +identification +pt +authors +const +recorded +problem +fix +home +pm +cholesterol +alg +##ceptib +monitoring +44 +countr +evolution +##esized +chemotherapy +##encies +appar +selective +conn +radiation +microb +indicating +##ense +cys +mt +##cler +having +55 +##oding +##bp +atp +susceptib +bal +randomized +##ulating +##uring +spati +his +dysfunction +star +##ea +##ococc +##sh +acqu +late +yield +amount +macroph +degrad +reson +spe +wide +incor +appropriate +hypothesis +##inated +limit +##atives +traum +restric +mc +##eff +relevant +confidence +liqu +##io +able +moderate +##que +thick +source +physiological +measurement +chromat +bacteria +bound +remov +recomb +##onomic +platelet +##dl +excl +##otypes +interventions +##utive +causes +microscopy +treatments +##mediate +designed +tom +composition +underlying +##ame +ht +hs +sd +##oral +arterial +double +corresponding +matrix +72 +intracellular +adoles +##fact +mainly +grade +efficiency +##kn +compare +accuracy +approaches +41 +hybrid +males +stre +implement +hepat +quantif +intensity +gran +occur +soci +ven +substan +alk +contex +attention +prevention +cp +continuous +means +##rin +contribute +##urb +search +cos +46 +##itude +cerebral +females +##ights +strategy +##oxy +##uded +antibiotic +diabetic +mental +trig +##fs +##ressing +education +wild +difficult +famil +myocardial +alternative +anterior +developing +later +necessary +repair +gastric +terminal +##hood +world +##ometry +selection +cho +reach +though +##oprotein +adjus +##uration +detail +half +secretion +reviewed +shif +arg +memory +ter +frequently +tnf +chin +national +##amide +##neum +extent +99 +images +susp +promot +##anes +##ending +sodium +predicted +shows +chol +opp +##yth +##ique +infants +##ams +04 +stability +stimulated +##ariate +shap +##enty +directly +cd4 +52 +students +regard +repl +##oglob +bur +forms +challeng +genome +intake +transition +##rine +color +imm +appears +tool +##activ +##ished +##ometric +##ges +##illary +gel +persist +third +toxicity +##ool +adren +full +epithelial +incorpor +inh +larger +leading +facilit +47 +lesion +err +interfer +pi +hepatic +instr +isolates +generation +revers +plasm +hormone +##orn +mil +she +rs +view +resolution +coli +prospective +diam +last +##cc +processing +##yg +multiv +tetr +deriv +led +##iety +iso +reports +bo +transplantation +##izes +viral +atr +ta +generated +must +##ady +applications +##orbidity +neurop +67 +cand +##11 +##ee +eu +##eal +involvement +liquid +americ +56 +questionnaire +inhibitory +datab +regulated +metal +aimed +vas +##ils +eryth +##tively +fluorescence +simult +##plicated +placebo +##icle +pneum +mri +allel +above +strongly +##orrh +enzymes +simultaneous +ever +complexes +accumulation +prepared +learning +reactions +54 +rather +##ench +##ectiveness +adhes +##etric +analog +remained +##ened +##ering +enter +variety +lys +alb +##enic +##obacter +##ings +ca2 +gast +context +64 +##ope +investigation +effectiveness +urinary +advanced +eas +unc +sperm +candid +smoking +categ +exist +##lu +anx +mutation +tb +conj +clinically +unique +comm +49 +resonance +spinal +satis +reconstr +rab +yet +statistical +oxidative +unit +myel +princ +reference +##tile +53 +plants +##uv +percentage +nerv +dm +haem +##ector +##venous +stages +nine +substrate +reas +incub +hp +cath +##ively +profil +malignant +vess +disp +##tially +##ecutive +soft +##ga +finally +rt +ss +optimal +grad +lateral +kinetic +##olip +pyr +cortex +mechanical +##ars +bond +resection +subun +ns +specif +##land +removal +emb +agent +partial +systematic +lum +read +##ots +laser +publish +layer +##artic +specimens +responsible +pb +longer +dimensional +maternal +ann +introduction +85 +profile +transmission +significance +extre +##man +supplement +##oxide +##ella +##arily +white +##la +paras +unkn +##opathy +services +iron +squ +fatty +unknown +cultures +efficient +recurrence +##orting +certain +ten +mild +interest +asth +collagen +call +spont +image +mob +cas +##lation +trad +fish +##irus +induce +##ired +dog +clos +spontaneous +produce +51 +contact +57 +pass +highl +now +way +mitochondrial +##iology +58 +##aces +retrospective +affinity +##otide +##ectal +proj +##tral +##estern +consumption +product +62 +##aine +auto +commonly +##acch +assays +spatial +neural +infer +advant +invasive +fetal +fluor +interpre +##onucle +published +weak +##inations +rot +ure +##zed +replac +trend +##ula +##onia +##hold +majority +antic +63 +##ident +neon +ray +aw +predom +interview +numer +##otrop +rou +center +fav +olig +currently +germ +obes +global +ble +cytotox +##tation +nature +dynamics +cerv +extracellular +##erative +##astic +##ients +##den +intern +medicine +fed +tri +mutant +regulatory +infusion +formed +nanop +temporal +obesity +event +##elling +operation +subst +irradi +divid +implications +##dominal +aer +hemat +constit +fit +sexual +basal +potentially +extern +prostate +differential +coeff +96 +##itr +slow +occurs +upper +vitamin +aggreg +anat +##pled +specifically +countries +force +##ieve +intestinal +asym +59 +pg +66 +reactive +##ohist +##for +melan +ste +##phal +constant +near +agre +dil +marker +##o2 +68 +attrib +receiving +##itable +rr +points +staining +chromatography +neurolog +biopsy +histological +##arin +thyroid +cu +confirm +##ify +relation +##itary +segment +norm +prolong +algor +micros +manner +##erved +reducing +algorith +profession +##lyc +recommend +solid +immunohist +western +sa +anesth +gender +ves +tend +electroph +den +##alian +##obic +posterior +successfully +##most +involving +generally +aims +attenu +expected +become +gastro +morbidity +twenty +##aged +fram +broad +completed +cultured +organic +base +toxic +agon +##ectin +degradation +acetyl +ech +located +73 +assist +molecule +past +pse +dietary +##itone +adip +sr +core +avoid +resour +another +frequent +##ocal +intravenous +##tration +cad +odds +mixed +barri +cervical +prognosis +tract +relationships +rib +tel +purified +##ocl +external +matched +anxiety +aortic +##ytes +##osin +radical +widely +##cers +cb +##less +members +##ching +benefit +thres +oh +ds +abnormalities +abdominal +humans +cf +##tility +dl +joint +orth +benz +##onin +pseud +theory +##eta +neuronal +tomography +ifn +##hyth +recru +conclude +0001 +undergoing +predictive +##uls +absorption +ads +igg +attem +disch +person +promoter +##ories +eye +living +78 +##ema +adjusted +divided +thor +wave +##osing +manif +assemb +##sis +##ared +map +prognostic +hydroxy +flex +rabb +##odynamic +leg +retin +slight +##gens +cc +conform +space +##ields +almost +pathogenesis +consecutive +determination +particles +fo +comparable +interf +##oring +altered +vary +##eletal +far +subc +61 +peptides +##ontal +associations +##elium +residues +contribution +##lasts +defin +graft +##otion +diameter +optical +##to +##enge +complement +##uts +remain +around +inser +##olytic +##53 +##arian +variable +oxide +gh +##ections +##adder +account +elder +rob +aspects +sed +alterations +76 +throughout +feed +du +classification +74 +chromosome +accurate +##he +##ls +##aryn +##onch +channel +soil +##alk +69 +accept +rev +superior +##aring +##crim +phosphorylation +nanopartic +##elines +respect +usually +document +impaired +pancreatic +##olved +ga +hypox +##ounts +protocol +antioxid +gal +ligand +exch +##ico +promising +recip +##ogenetic +hydrogen +elements +pk +##esia +heterogene +leads +concept +recombinant +##16 +##ologies +lymphocytes +behavioral +recognition +convers +thickness +98 +migration +ful +phenotype +challenge +nas +gest +86 +allows +sources +roles +##aves +spl +discover +myc +83 +discrim +every +vaccine +lap +wound +fung +emph +urine +plus +##osyn +82 +behaviour +77 +##osite +##tering +92 +##rot +ana +tumour +ratios +proxim +elderly +##immun +vel +asthma +making +units +84 +impairment +uv +guidelines +ow +ultrasound +deficiency +ty +plays +elim +school +##isc +hipp +som +##dle +##itud +88 +cortical +71 +obstr +fast +membranes +requires +rapidly +infarc +cord +occurrence +##ats +root +pac +phosphate +extraction +##ori +repeated +bronch +basic +adequ +polar +synthesized +cereb +por +sph +##ention +spectroscopy +##uary +profiles +appeared +mode +##osine +nf +pen +spectrum +numbers +macrophages +cis +biochemical +fragment +93 +##ermal +multivariate +##erex +gp +neut +pla +computed +epidem +##ectivity +device +##lo +epis +md +inn +abund +traditional +##reh +97 +decision +needs +##iation +##13 +polymerase +extrem +explore +##ocamp +##isation +marrow +occl +potent +hepatitis +until +enrol +##ophys +87 +heat +europ +pal +79 +cv +offer +pathological +##acchar +##apping +safe +signs +##imen +subt +compl +94 +phenomen +##flu +signals +manifest +##gramm +illness +variability +##icles +predominant +programs +##used +cav +nod +nucleus +##ral +##pati +descrip +physicians +##ring +tc +##inate +depart +employed +compreh +poll +observations +completely +assign +aud +nh +endoscop +biomark +nursing +final +excess +oxidation +eyes +indicates +trauma +89 +agreement +##oration +##ucid +media +experienced +deep +veloc +clinic +excell +probably +costs +donor +construc +##rophy +inst +##phen +recommended +##bal +polic +make +pediatric +##clerosis +##let +divers +bu +##truct +##aptic +hippocamp +technology +neph +amb +recurrent +europe +pet +orient +spectrom +fibrob +##rs +bmi +occup +genomic +preoperative +estimate +compr +h2 +arch +assum +##azole +middle +morphology +targets +understand +polyp +protection +perception +##ologous +##erexp +##osynth +minutes +##ompan +##orter +fully +organization +div +##ialysis +apparent +find +operative +hg +metastasis +exce +susceptibility +##allel +what +##ulatory +stabil +accompan +tolerance +presentation +protective +onc +dogs +families +dental +endogenous +conver +noted +fusion +pan +##ylated +##thritis +analysed +np +towards +feas +location +university +earl +##ortun +adhesion +enti +##eds +carri +turn +overexp +coord +##tract +emotion +morphological +minor +motion +blot +pretre +contained +defic +excellent +##olds +##20 +providing +##teen +##ework +##eling +close +preparation +##way +##osomal +jap +##by +computer +issues +neutral +lapa +##osal +fa +rich +81 +distal +randomly +neoplas +##ervation +cytoplas +domains +##ester +volun +transf +afric +actin +defects +##ember +ischemia +bleeding +##tp +##erence +##group +reconstruction +##oked +framework +sectional +movement +##ercul +progress +ros +##iaz +independ +prolonged +csf +unl +##ged +american +##osterone +nons +##oline +stimuli +elucid +ovarian +lc +haz +##ives +microgram +extensive +thym +##cents +intact +benefits +##ancies +ben +none +caro +prem +ethanol +developmental +existing +intermediate +camp +##iform +fund +ather +##ict +milk +distance +##ocar +##ata +neck +##itively +theore +programm +delayed +deliver +satisf +necrosis +venous +##eli +##bl +##18 +aug +word +ischemic +oil +enhance +fif +##fa +whose +schiz +band +database +seems +az +sat +adolescents +feeding +##apse +emergency +##ician +##olysis +injuries +parallel +below +##ophag +typical +cruc +logistic +smaller +##asia +##ibly +choice +suitable +immunos +address +except +soluble +immuno +practic +##atment +##thers +synthetic +infarction +##ione +element +possibility +##aline +##imer +nam +mn +cancers +medication +##14 +transient +fracture +nervous +routine +bilateral +put +##estions +au +lang +accel +har +nanoparticles +##itoneal +showing +labeled +targeted +exchange +##itals +regen +correct +##ochemistry +curve +la +princip +##ream +service +reliable +##organ +##thal +hazard +maximal +##eg +serious +mill +hund +diffusion +clon +hundred +added +propose +growing +##esh +preven +ker +attach +##phosph +varied +demographic +observation +sequencing +3d +colum +##ococcus +##ophage +working +bladder +lv +##anth +gradi +fm +##cles +tun +egf +pv +##lycer +regional +cytokines +congen +cox +venti +gain +igf +perme +##gans +500 +mp +##opic +coupled +precurs +uns +lps +nurses +##ump +channels +vag +concluded +cyp +others +##ra +genotype +radio +comparing +##oglobin +primarily +hf +##igen +autom +cortic +break +oct +##iral +##oxyl +91 +pf +smo +dele +uter +ions +achieve +##ocation +markedly +dc +parents +skill +##taining +##thern +psychological +relax +##tenance +interv +fibrosis +ak +ip +run +fall +ens +trigg +zn +institution +therapies +maintenance +ring +antigens +thre +##anial +minimal +neutroph +tgf +phyl +amounts +conjug +additionally +##actic +nucleotide +##rophic +tubercul +epile +recognized +##idal +commerc +subject +native +blind +dors +cut +ranged +shift +197 +##aria +jan +tryp +##care +##rich +##osomes +progressive +diversity +##jection +metastatic +##leuk +##usc +proximal +##angl +classified +japan +industr +##inking +##stream +knee +bran +angle +infil +subgroup +injected +##ycin +retinal +##urg +tit +##ivalent +##15 +benign +periods +mh +##rocytes +thermal +port +maintained +bov +uncle +smooth +hospitals +t2 +antagonist +international +asc +electronic +seiz +3h +shape +antioxidant +solutions +eti +deficient +irradiation +musc +node +threshold +##genic +complication +##cal +subtyp +partially +invers +##tingu +communication +fiber +##itus +longitud +replacement +behaviors +contain +##urine +substantial +earlier +##orage +caps +failed +probe +never +##ament +occurring +monocl +algorithm +catheter +##erent +##ested +variations +unclear +kda +##ili +localized +spectra +##entical +##cher +reverse +##urys +scanning +describes +microg +vac +delta +implementation +perceived +tools +closely +exhibit +velocity +dex +subunit +##ophren +ru +nitrogen +tl +##atib +extended +sufficient +latter +subsequently +devices +cn +intervals +depth +shock +arm +##ias +hla +##ogens +united +enrich +distingu +metabolites +gc +neonatal +regular +enrolled +qualit +hydroly +interesting +schizophren +seem +influenced +prediction +hydroph +chinese +##letion +##apl +analyze +sensory +separation +tm +independently +##we +fab +##hythm +localization +hd +pathology +##mitted +adjust +ig +spin +identical +focused +estimates +beg +hemorrh +disturb +excre +##argeting +counter +##itiz +rise +opportun +healthcare +matter +amyl +surge +##17 +atrial +##ophageal +obtain +##tics +bul +represents +acquired +entire +positively +intensive +##avage +##aries +lam +vein +##uit +##ches +dominant +##rous +##ises +marg +##ontin +clearly +targeting +skeletal +emp +decreases +##try +p2 +incubation +bis +detailed +suppression +extracted +persons +height +invasion +derivatives +inactiv +comprehensive +cam +interleuk +##rium +thi +##yle +degen +largely +verte +##eck +hab +initiation +discharge +illustr +cytos +cover +perfusion +magnitude +sampling +extracts +encoding +contraction +##tious +fibers +direction +monoclonal +sten +##back +##ozyg +atom +pros +competi +enhancement +records +correlations +improving +january +##intestinal +derm +##elf +promote +seas +risks +psychiatric +fixed +presenting +childhood +crystall +aa +department +crystal +pneumonia +gastrointestinal +error +##19 +##irect +slightly +sinus +##ocrine +thirty +spectrometry +artif +moth +variants +##eptide +gab +thorac +challenges +pregnant +equal +measuring +emission +suppress +egg +beneficial +south +##east +hcv +fractures +done +allowed +interleukin +storage +cytokine +gland +circum +##anine +##ellar +300 +dependence +inclusion +tyros +ane +reason +characterization +producing +dispers +neurological +##aft +crucial +plan +##ohy +##ements +silic +face +refr +##ways +06 +##oside +##read +##opa +perc +numerous +goal +effectively +noise +surfaces +reh +##olec +longitudinal +expressing +adequate +workers +ethyl +opi +predictors +balance +healing +##factory +glutam +contrac +understood +explain +cluster +##oman +##ocarcin +vessels +nk +##elled +##atid +diverse +indirect +presents +250 +##queous +modification +muscles +limb +chick +tex +example +remaining +##athy +meta +parent +newly +possess +##beta +py +highlight +date +##oa +ldl +died +stimulus +allele +lob +##ike +lipoprotein +wors +##isa +ranging +exer +airway +vegf +substit +supported +theoretical +nitr +practices +aneurys +questions +aqueous +arth +tail +wr +##rotein +p53 +##acer +ast +neither +nmr +rhe +##rec +histopath +reper +dos +pel +strept +tuberculosis +kill +bc +##enchym +elic +summar +##otomy +metastases +hex +##itted +max +accompanied +coefficient +validated +aspir +##bc +obese +##ichia +albumin +networks +saline +decline +displayed +sustained +bovine +transduc +whom +##acin +hour +##icin +##isions +##ovirus +recommendations +kinetics +##rog +cd8 +suppressed +organisms +gold +##uting +leukemia +dy +corne +gm +##ensions +##alpha +admission +##a1 +transcriptional +ple +##oin +determining +granul +micrograms +##certain +polymorphism +##ades +immunore +ts +simultaneously +economic +##kin +amplitude +##ires +vector +##transfer +pulse +introduced +once +robust +persistent +##rief +##atase +residual +transcript +explored +dopamine +organs +##ologists +assigned +contains +##dehy +μm +aging +discussion +##part +##dm +particle +systolic +taking +spread +teach +##lim +##ners +mmp +##itory +controlling +consequences +mothers +##ifications +atheros +younger +arteries +##ipl +swit +##patient +considerable +##anding +conversion +coupling +##cribed +phenyl +consisted +frequencies +termin +lymphoma +acceler +mutants +mv +diast +engine +##ows +valve +##sin +##ycl +##itant +congenital +##ilateral +output +appearance +mis +thought +tes +##operatively +##okinetic +substrates +integrated +affecting +impl +investigations +directed +chest +120 +antimic +defect +salt +capable +green +gir +hm +##illin +vul +poorly +antimicrob +personal +fill +colorectal +ket +##rose +possibly +speed +##ulum +ni +langu +resources +##ina +##be +pool +delay +limitations +##ectious +##ensin +##fr +volunte +##ton +##enes +return +axis +facilitate +mammalian +replication +thin +ethn +functioning +mand +depending +reflect +favor +##oglyc +documented +##eless +##omycin +##udes +##otypic +attemp +##urally +count +clar +dehydro +kapp +pretreatment +reproductive +nad +emotional +125 +wt +##ush +called +##np +##mediately +##xt +2000 +##ocardi +volt +clearance +persp +demonstrates +pharmacological +antibiotics +elisa +black +##ban +##osens +##oe +microbial +##uvant +##ecal +lar +graph +rehabil +electrical +circulating +escher +##enia +immediately +mineral +dual +##uctive +autoimmun +fibr +t1 +bow +escherichia +bat +amp +separate +fresh +lh +ib +influenz +agonist +##wide +sections +move +##oplast +pack +recording +cod +07 +rod +##bor +##oved +cd3 +##bar +rein +radiotherapy +hair +150 +affects +explained +efforts +characterize +nasal +retention +##illus +##unding +##oic +rp +validity +reliability +original +gangl +substance +varying +##plasia +sarc +##iciently +hypoxia +expans +infectious +placed +transformation +ck +m2 +phospholip +inoc +fluorescent +dend +fractions +creatin +cul +lowest +satisfaction +##get +buff +hpv +initially +##otropic +adsorption +staff +settings +distr +conserved +modulation +implantation +carotid +methodology +##exp +brief +##oidal +charge +simulations +proph +##upp +insuff +##iveness +removed +fu +pairs +##ocomp +induces +attit +ground +adop +seed +react +##anged +plate +##izations +feature +##cephal +gradient +##avy +probability +simulation +reactivity +hcc +schizophrenia +scat +##oblast +glomer +concern +gon +##ads +availability +##gs +serve +08 +repeat +##avel +cytoch +mim +gi +qualitative +retro +##oresis +##treated +reached +identifying +ulcer +arthritis +estrogen +infr +peroxid +puls +burden +junction +upreg +cyst +##osity +##acet +hybridization +coc +tyrosine +subjected +##ophosph +##axis +##itin +murine +minimum +vaccination +occlusion +##ze +mature +knock +duct +disability +jun +dp +cyclic +##b1 +mixture +words +plastic +glycop +restricted +suic +yeast +receive +##uria +cdna +##electr +comput +coding +echocardi +centers +casp +concerning +fragments +##aphyl +adherence +##ocytic +equivalent +planning +deaths +language +decl +rank +##cap +##insic +unf +proved +##aper +spr +400 +lt +zinc +nearly +rehabilitation +eb +compart +lep +##ostasis +column +##hg +advances +changed +actions +temperatures +regulate +users +hearing +heavy +isolation +tax +barrier +##acl +##atically +advantages +similarly +sf +deletion +gap +biomarkers +attenuated +##acent +pathogen +includes +##entia +##omet +##sa +2010 +display +physician +policy +urban +woman +pelv +##opo +european +assessing +practical +steps +cytotoxic +concom +pure +embryos +admitted +catalytic +belong +fibrin +ce +summary +involves +tp +##pass +##ware +antimicrobial +skills +##usive +##usal +##accharide +parameter +biosynth +dip +rating +gaba +thereby +methylation +collection +##forms +ligands +walk +express +##25 +epithelium +stay +constructed +##dehyde +phenomenon +issue +cycles +##illance +stenosis +viability +tube +modeling +rar +manip +draw +bile +pathophys +composite +scientif +phases +scan +fibroblasts +cartil +##co +infant +concomitant +prevented +##err +##wh +##isp +prophyl +released +ages +leaf +##anded +sensor +fixation +medial +bias +##olin +treating +accoun +endoscopic +discre +nodes +##wise +##oscopy +trim +standardized +sera +variance +composed +##itol +monitored +austr +evoked +depressive +untreated +femoral +symptomatic +dementia +mb +shorter +absol +surveillance +##nt +bin +##time +pharmacokinetic +antis +ba +##ilities +implicated +##ohydr +surviv +p3 +transpor +##omers +##40 +sulfate +advantage +stere +##issions +dry +##onas +reporting +immediate +saliv +fields +##ash +supr +deposition +##aemia +consisting +segments +retrospectively +overexpression +sple +glycos +polymorphisms +variant +trunc +mi +distributed +forming +nico +si +melanoma +gli +##ache +analges +##path +##acial +##transferase +viruses +dissoci +attributed +bowel +instrument +db +blocked +rheum +##iologic +suspected +##inning +##idin +foot +inters +cg +iod +improvements +μg +give +glutath +remark +##iance +dorsal +china +utilization +generate +room +driven +north +spectral +##chron +deform +flav +differentiated +sti +metall +pitu +gover +##teine +comparative +sets +zone +excretion +experiences +sir +##oon +dimin +##ril +##abilities +lens +tasks +adjacent +expansion +assisted +aggregation +own +nitric +aid +assembly +depends +mell +volunteers +ing +nt +locus +rabbit +asymm +overl +applic +##ensus +pigs +stat +progen +interface +dram +multid +scientific +ld +relevance +##23 +##mentation +##pler +increasingly +sedim +##otr +dehydrogen +fol +negatively +libr +##ogram +undert +##pan +predominantly +influenza +##omical +##angi +rout +##geal +limits +rural +anesthesia +adenocarcin +09 +##ilib +restriction +separated +glutathione +apoptotic +referred +became +breath +socio +##term +pu +parad +operating +traits +glutamate +contamin +next +clusters +##ilibrium +hard +take +elevation +embryonic +##plc +##des +tg +nc +biof +susceptible +immob +sv +nuclei +extremely +donors +forty +drinking +##ury +tur +compet +detectable +##mp +candidate +commercial +pic +pituitary +##ulus +immunity +evaluating +##lets +synaptic +interpretation +insertion +laparoscopic +bor +mmol +aids +autoimmune +miss +check +errors +steroid +substitution +##ks +tumours +cx +##eting +2d +cum +cytotoxicity +prosth +extension +wa +quant +recruited +waste +electrophoresis +cataly +loading +potentials +facial +recipients +prelim +osc +curves +##ips +valuable +diastolic +acetate +bypass +##acting +nr +putative +##gar +relaxation +recovered +easily +cytochrome +##water +##57 +ub +sho +anomal +absolute +pil +episodes +expect +##aryngeal +multic +mucosa +analytical +bind +proton +bd +angiot +cry +professional +threat +tob +counts +obstruction +gram +african +decreasing +xen +pathogens +vessel +twice +glycoprotein +calculations +transgenic +abuse +subcutaneous +##agulation +lymphocyte +adrenal +house +veh +hdl +always +continued +##ging +feedback +##ocytosis +grown +##hs +articles +##ruption +##atif +causing +uncertain +maintain +mostly +##hydr +ect +encoun +##urance +mellitus +hence +##bre +##era +##oints +bac +regulating +synthase +biology +angiotensin +reasons +2009 +preparations +cavity +cartilage +spleen +##acco +december +chains +pron +emphas +acad +adaptation +define +film +##veolar +##yte +live +incorporation +##tor +##aken +integration +art +ju +interviews +co2 +##ensis +fing +mitochondria +##abs +typically +##ptomatic +deficits +nutrition +fewer +clinicians +distinguish +correspond +reduces +penetr +cla +estr +considering +heterogeneity +greatly +utility +regimen +##isition +##rup +solvent +track +phylogenetic +1000 +2012 +angiography +gs +layers +reperfusion +##onate +categories +emerging +##fp +##igible +preliminary +cond +ester +quin +existence +indices +##ayer +predictor +scal +aure +##opol +reviews +residents +##atig +fever +excit +##ifying +adjustment +smokers +hydr +tobacco +copper +hypothal +adjuvant +cold +acquisition +##60 +decomp +##ematic +correction +blue +##igm +viol +communities +sept +pert +##oxin +epileps +list +strom +retic +##1a +oscill +##mental +fatig +buil +veget +##gi +compens +utilized +quantum +supplementation +extra +precursor +bearing +injections +##etal +orb +fabric +interferon +##dp +##alities +adenosine +##phenyl +maturation +cytoplasmic +sup +definition +mer +immunosupp +align +caspase +cns +##gal +plasmid +displac +software +items +contents +identi +hypothesized +voltage +##assium +clim +unus +focal +##fe +2011 +pall +##draw +cleavage +nonc +inferior +rc +outs +##vascular +project +orientation +##amous +e2 +withdraw +dehydrogenase +##amental +##ley +serot +toxin +carbohydr +potassium +true +asymptomatic +classical +arom +mening +loci +intrinsic +motiv +beam +conduct +##ophen +aureus +nutritional +ventilation +insight +ace +##adiol +jud +eosin +immunohistochemistry +##omat +stratif +##yc +influences +park +distress +gall +tib +yielded +teeth +hsp +loop +##ready +dialysis +##mark +##atidyl +already +config +perf +##weight +chloride +##amination +##ears +aggressive +genotypes +mucosal +requirements +unch +requiring +interc +mach +##70 +##uments +##dna +yo +##chem +regeneration +pyl +cutaneous +auditory +mobility +array +##min +##idase +bcl +exogenous +##ister +pump +fc +scales +##ilization +ln +classes +##22 +##oden +adaptive +dihydro +aort +predicting +input +amyloid +motif +validation +coch +2008 +amph +2013 +mapping +##ux +##ylate +differed +##enchymal +##choline +transfusion +bey +ah +staphyl +options +epilepsy +estimation +##uch +enzymatic +##phrine +evident +beyond +precip +gave +participation +relapse +neurot +pent +##ipp +steady +educational +carcinomas +trends +mu +rabbits +sched +dh +brom +sul +##ette +##rovers +inner +hemorrhage +##oyl +herein +bip +insights +arab +phyt +##30 +protocols +##olecular +lipids +inhal +##ief +##ulative +##eses +examinations +reversed +##iness +##zyme +cirrh +barriers +substances +abstract +scaff +eg +##oplasty +movements +remission +undertaken +fundamental +hz +permeability +secret +interact +002 +##max +remod +corneal +careful +lamin +rig +##fluores +salmon +worldwide +formal +mmhg +society +hemoglobin +pn +argin +vide +##ospor +parts +discovery +intram +trop +immunoglob +shr +seek +controvers +immunohistochemical +thoracic +medications +##areness +superf +macrophage +stent +overc +fatigue +correlate +hemodynamic +phosphatase +ocular +embol +##opathic +precise +##azol +##iction +##urated +positions +##edic +##rounding +electrode +fals +2014 +lactate +regardless +2005 +uterine +vesicles +careg +cation +inducing +heterogeneous +acting +principal +author +starting +glass +anth +practition +determin +ammon +delivered +implants +enab +frontal +##adily +epidemiological +deb +heparin +member +uniform +aberr +indicators +dt +simulated +mor +epit +awareness +cham +thal +allergic +thrombosis +war +offers +films +##ritic +comparisons +##umab +consensus +##ought +##emat +micr +pathogenic +inhibits +##point +bodies +surrounding +nar +squamous +biopsies +##mod +##aints +empir +prep +subunits +truncated +schem +cultiv +##ensities +2007 +science +##arch +rational +lacking +hplc +##ime +homeostasis +concurr +peg +##ibration +p4 +parental +fetus +environments +##tead +osteop +hapl +feasibility +itself +pelvic +rupt +substantially +traumatic +gestation +residue +spine +professionals +mast +annual +labeling +similarity +creatinine +providers +2006 +technical +leaves +##nel +amplification +subjective +##avi +attack +cardiomy +hbv +etiology +##elihood +allowing +govern +testosterone +detecting +promoting +polys +##arrh +consistently +manifestations +##heimer +intrac +##tisol +combinations +abundance +alz +##aden +c3 +attr +sought +virt +opioid +sizes +mono +##ota +weighted +quad +retri +##aceu +ram +operated +capillary +implemented +disapp +malaria +lp +modifications +##adian +##azine +hippocampus +##anti +dimethyl +##ionic +fasting +clones +##inson +instead +sepsis +uncom +gestational +concerns +artificial +placement +##mc +esophageal +##ounced +o2 +##alc +##onuclear +initiated +team +fd +stom +resting +proven +supporting +##graph +photo +guided +##eded +hydroxyl +hypertensive +coverage +transcripts +version +alzheimer +005 +identity +ones +2015 +##epine +##oxic +gut +income +dimensions +occupational +##osome +##k1 +nanos +outer +prevalent +percutaneous +depletion +likelihood +translation +anaesth +##ectors +land +preventing +hydrolysis +interestingly +circulation +rb +born +guide +chond +promin +peritoneal +compression +compliance +##otides +diffuse +##apped +fifty +eeg +##lin +option +challenging +colle +sympath +##ulties +supports +symm +equilibrium +idi +biofil +adenocarcinoma +accom +namely +contributes +##ypt +##icients +seizures +ubiqu +ras +digital +attitudes +antagonists +abundant +coefficients +##down +cann +leak +respondents +##opausal +virul +microscopic +researchers +insp +##oming +consists +created +aneurysm +raised +om +ot +extens +##itect +pronounced +deviation +atyp +ho +##ietic +lost +evolutionary +bot +quantification +recruit +unusual +##uron +hippocampal +##bi +nonin +arrest +false +##uity +##essions +girls +##otoxin +structured +yields +pren +speech +beginning +##ophilic +leuc +ips +ent +databases +tt +##load +lumbar +anatomical +ile +limiting +bic +biosynthesis +##uous +absent +collab +inactivation +cig +atpase +##ocys +triglycer +isot +ablation +eps +indications +doppler +resolved +vaginal +##ued +instit +##entricular +difficulties +tooth +reading +abol +##eps +parasite +uses +whe +fungal +plaque +rheumat +##astom +##ry +exists +gd +##lip +##ameth +japanese +ball +##nia +standards +participated +##ba +auc +phenotypes +constitu +homogene +survivors +ald +exact +efflu +atherosclerosis +trip +°c +##mented +##orous +##ilic +##90 +subset +rv +##going +fore +osm +changing +##titis +complicated +malignancy +quantified +cortisol +wk +mess +##27 +##ibular +perspective +brid +##ana +postn +tlr +rarely +unchanged +##80 +screened +complexity +chi +gn +galact +unilateral +stimulating +leth +flux +##lastic +##assay +fist +wash +egfr +##pread +cumulative +coated +##ss +interference +bed +ath +##iasis +northern +li +alleles +grafts +##ozygous +wides +vehicle +potenti +##onography +selectivity +habit +widespread +ank +ways +monol +##uscular +##rocyte +vic +diarrh +refract +vertebr +start +intes +portion +german +absorb +dich +favorable +##ilized +situation +decisions +mother +hormones +representative +elimination +entry +ask +##omonas +##iae +hospitalization +attachment +##inea +visits +resource +finger +feasible +##anted +neigh +decades +2004 +optimized +carriers +kb +arginine +##acranial +synerg +actual +hydrophobic +enriched +##opoietic +dosage +inhibiting +perman +discontin +##ni +princi +conserv +##tures +conflic +academic +##ocortic +parkinson +sound +retriev +faster +psychos +##enter +fine +crp +experimentally +degeneration +sud +pylori +semi +technologies +ongoing +discrimination +questionnaires +mann +##urity +flap +construct +makes +##uctase +platelets +obst +narrow +probes +disruption +hors +protease +excision +represented +principles +maintaining +##ded +copd +##unt +ultim +spher +volumes +##uctu +involve +spermat +dn +diets +##ifer +alkaline +dro +tension +phosphatidyl +preterm +##ws +adolescent +fluctu +##ulose +infiltration +greatest +infrared +##eptive +excluded +forces +elicited +vital +##ocular +cystic +2016 +incubated +embryo +scans +onto +exception +##odil +cigar +see +teaching +##elin +##osyl +partners +trained +##ote +depos +prospectively +##ardi +edema +computational +##dep +timing +locations +consequently +##p1 +observational +##mt +##ascul +vulner +drain +phag +distributions +##esterone +emerged +##chemical +vaccines +eating +adipose +efficiently +plane +pts +histologic +accurately +cytometry +equation +sham +##fold +lith +solub +consequence +rotation +##oxygen +##opes +prescrip +##vents +progesterone +attempt +precision +diagnoses +closure +serotonin +##romy +optic +microscop +translocation +univers +akt +determinants +contamination +hor +oxidase +reversible +categor +##agul +phenotypic +##vas +rejection +atm +intraoperative +##holds +cyan +gonad +performing +responsive +preferred +indicator +cloned +larv +##28 +gy +visible +alveolar +elucidate +law +metabolite +subtypes +agonists +##atile +modern +generalized +carrier +warr +##ometer +microc +explan +linkage +##yster +splic +supply +downreg +dissection +ly +genus +rf +colony +assessments +obvious +diffr +anastom +library +synchron +##bb +combining +readily +text +closed +demonstrating +effort +postm +##eed +##ometrial +##oded +reductions +##zing +morphine +##rene +needle +dark +ionic +##itic +##amycin +##ders +bulk +##21 +superoxide +description +##26 +acceptable +regimens +confer +aver +##aster +outside +million +nin +stiff +mom +##tice +carboxyl +hol +sequential +reflex +tab +sclerosis +km +consideration +representing +mos +former +panel +##rotic +ans +accep +encour +hyd +##ah +##ani +##rd +antit +##itting +uk +just +selectively +studying +##enol +chromosomal +trach +architect +quantify +complementary +postnatal +inher +##iph +modes +occas +outpatient +vision +downstream +incorporated +chromosomes +##24 +##ocr +##ocellular +follows +atypical +aqu +estradiol +fibrill +mhc +##agland +##inf +##matic +deter +reveals +surgeons +##itization +##born +##avelength +dd +2003 +##quin +couns +braz +improves +ensure +##2a +filtration +expressions +##ograft +immunoglobulin +addressed +##ieved +disappear +ls +ze +square +##tes +perfor +s1 +corrected +diverg +##related +dox +race +dye +suffering +##day +neutrophils +##°c +prominent +largest +shared +encephal +boys +refractory +##erin +##lam +tag +immunological +conformation +epidermal +route +sb +ger +##mia +##ato +glycer +datas +stronger +##odef +scattering +suicide +sessions +stop +##ret +bonds +ke +##rown +intestine +reinfor +##infl +enable +sediment +priv +ige +sheep +powerful +subcl +examples +embed +##estive +premature +angiogenesis +recruitment +##carb +##atible +homologous +stained +nos +##ison +##iar +##theless +produces +nevertheless +wet +extend +negl +##ocon +withdrawal +respective +mycobacter +enhancing +correlates +bab +repeti +guinea +##tors +2002 +##break +drop +immunofluores +##osyst +rectal +pes +considerably +operations +somatic +microarr +carbohydrate +anemia +##enari +offsp +youth +proliferative +endocrine +immunodef +##au +modulate +antico +tolerated +resemb +003 +organism +intersti +passive +##cine +secreted +nurse +echocardiography +sou +##uly +##ophyl +##vel +object +intracranial +integrity +corticoster +##anned +prostagland +##omorph +harv +##29 +dendritic +portal +qt +histopathological +##amus +dic +proportional +presum +pharmaceu +uc +tor +dw +encoded +tn +gla +vertical +oa +deterior +obstructive +shaped +##electric +formulation +viable +screen +comorbid +##iary +um +differentially +##omotor +##ticular +##ou +diminished +motility +nps +tf +##aving +blast +wind +postoperatively +radiograph +consult +dyst +##oor +commit +easy +noc +preference +wavelength +offspring +##ectom +outbreak +kd +##opl +transduction +fatal +fertil +southern +##ophila +engineering +nmol +##romes +blockade +sixty +##ivariate +dissociation +kappa +##65 +incom +neutrophil +instability +##platin +enl +exhibits +bes +##nea +june +cov +bands +cirrhosis +remodeling +activator +##ided +##adic +chromatin +terti +2001 +situations +reag +##arp +##iplinary +##iol +lungs +##ada +##embr +electroc +accounted +infiltr +platform +rice +sympathetic +buffer +aorta +brazil +depr +##isph +responded +ham +##angement +pkc +worse +scenari +competitive +preventive +emphasis +meaning +pathologic +walking +hepatocytes +transformed +neuros +##otes +permanent +ars +tree +nutrient +cocaine +derivative +##ococcal +##encephal +transfected +##ephal +##ordance +##omeric +tertiary +lac +##orbent +promoted +osteopor +hypers +##ulates +radiological +inos +##xy +dissem +country +histor +inside +managed +centre +roots +##inflamm +protect +shell +cisplatin +width +overview +obl +comprom +doub +##avirus +deficit +mirnas +formula +hl +igm +psychosocial +spor +shear +personality +qol +surfact +##empor +keratin +monocytes +trp +destr +duoden +canal +reductase +##usively +incomplet +automated +participate +prenatal +comprised +elastic +anaer +modalities +apparently +coordination +online +nonline +programme +propag +##ora +gastr +sca +##mg +focusing +glands +acidic +##flow +implanted +tach +chor +overweight +malform +acts +##2o +ft +##pro +metals +season +##alling +##ograms +stimulate +##arged +##yd +excitation +##asone +##acerb +##atum +somat +contributed +harm +exacerb +##uits +subgroups +##times +##rane +atoms +border +##atibility +##off +glomerular +larvae +visit +web +leptin +wat +topical +aromatic +numerical +incident +sen +depressed +arrhythm +##phthal +discovered +##plicit +satisfactory +##ert +mutagen +normally +excessive +##actin +endometrial +fgf +blocking +redox +applying +ecological +dermat +genetically +intrav +cytoplasm +decade +##acycl +diffraction +td +merc +lr +##oxacin +immunization +mesenchymal +pressures +chamber +pathophysiology +nonlinear +minute +manu +abolished +pow +pilot +biliary +horiz +##osus +intraper +pregnancies +lobe +vacu +adapted +item +mobile +urea +yr +##athyroid +gsh +##clc +##ubation +retained +##eptides +replic +##ulmonary +empirical +nd +accepted +sea +atrophy +##inter +math +carrying +patch +quick +importantly +veter +industry +ventral +fruit +span +idiopathic +manufact +innov +##ancer +isolate +evid +rearr +180 +encountered +lifest +cysteine +pancreas +highlights +paired +vascul +tight +nicotine +trich +dyn +candidates +recombination +subtype +secretory +##anal +overcome +##ai +endomet +burn +##affected +templ +interstitial +##ica +practitioners +##phosphate +oocytes +atomic +capture +contributing +potency +assumption +##ortions +biomass +prolifer +critically +optimization +##ropl +endothelium +surveys +staphylococcus +ideal +industrial +##adequ +loaded +##orec +hos +##oustic +binds +lev +inadequ +##asic +apical +##agnetic +hams +started +1990 +##rod +##ardia +cultural +##akes +radiographic +110 +stromal +rheumatoid +##oli +##iration +drainage +iga +tended +alt +stret +stomach +elong +scar +activating +unaffected +mitral +##uncture +enables +##roz +responsiveness +##ero +nano +create +##odon +##cn +pep +serial +difficulty +histamine +microt +let +contral +psa +differentiate +hypertrophy +catech +##inating +manual +lute +category +##ians +adjusting +##osan +inducible +##osures +euk +sib +mood +##ools +glauc +##ocin +spp +perceptions +concurrent +nerves +salmonella +adduc +sugar +fear +trait +regulates +attempts +radial +statistics +alteration +hu +clarify +video +immunodeficiency +processed +snps +##vasive +retard +##oar +isoforms +microbi +modulated +protected +ethnic +eukary +##vis +student +conformational +predisp +coating +##rox +t3 +unexp +biomarker +ki +##rt +##nat +amel +pge +latency +demand +sds +utilizing +dimer +perm +##rile +tendon +traff +posts +continue +immunoreactivity +march +foods +lin +malignancies +##isciplinary +filter +mediate +substituted +icu +newborn +contralateral +predictions +##ometh +cattle +weekly +perturb +exon +##oderm +##opyr +algorithms +acuity +seizure +aerobic +sensing +hemisph +synergistic +hypot +##agic +##avail +rupture +adp +pin +##ci +rrna +cats +##plex +city +##cepts +stiffness +blocks +600 +axial +bipolar +intell +quar +opposite +##lings +histology +believed +##arcoma +microorgan +neuron +##fort +eligible +displacement +learn +asked +##entis +##iable +##ropathy +night +rhythm +antidep +##tructure +registered +digestion +scheme +turnover +unlike +beh +unrelated +ppm +prophylaxis +bf +mab +fourth +guidance +##cious +systematically +virulence +constants +##hd +disturbances +anthrop +glucocortic +caud +##gia +bmd +sun +tau +wheat +##49 +fs +exclusively +optimum +signalling +##orp +austral +neurom +tand +mononuclear +ging +ti +exposures +soy +##asty +medull +xyl +mum +casc +atmosph +coagulation +##lands +prescribed +facilities +tap +sap +compartment +chemistry +activate +1999 +cows +gradually +fasc +##43 +descriptive +jour +explo +tendency +immunofluorescence +flexible +esophag +peric +##elves +##nis +je +microgl +citr +adrenergic +mammary +hematopoietic +##elve +##ees +##ulder +rn +##opsis +twelve +reflected +fitness +androgen +transporter +##mitt +declined +static +##sych +kore +fig +regulator +goals +##economic +bay +peroxidase +climate +disrup +examining +salivary +ef +##umor +##pecific +##56 +tandem +antidepress +tetra +hepatocellular +##osen +uncommon +covered +neuropsych +opening +##eres +##lem +severely +oes +opportunities +expanded +bt +accelerated +impacts +sulph +porcine +africa +equally +antiv +mixtures +shoulder +embedded +answ +driving +fibrillation +##bil +headache +##iking +##pes +##iod +serine +conv +sudden +autophag +discusses +claim +helpful +distinc +autologous +ecg +irre +##odialysis +eosinophil +division +inverse +##apt +##enopausal +controversial +##ynaptic +marine +lifestyle +upd +returned +registration +##aments +##ptic +lineage +##inosa +sucrose +##chlor +##uation +##embrane +supplemented +##ception +##glyc +dros +electric +concepts +frame +saturation +##aint +syndromes +rated +dramatically +institute +ventricle +too +partly +chosen +superficial +##amethasone +genomes +adhd +july +##accharides +##ques +indication +##ariable +building +share +cvd +neurode +configuration +##ectable +circular +ophthal +##opolys +##imetry +##erge +neurodegen +gyn +vectors +birds +##idium +bif +ventil +financ +offered +bud +##gone +shifts +tac +property +restored +tip +c57 +conven +homology +usefulness +investigating +usual +##tidine +transferred +contributions +surpr +quite +196 +instruments +electrodes +chloro +##aste +lethal +modality +paradigm +epigen +aml +acr +suppressor +mov +alkal +construction +deoxy +plasticity +pit +swelling +attached +null +irradiated +tubular +chemok +undergone +distant +genotyp +##inflammatory +becomes +thems +pref +electrophys +box +##icking +themselves +familial +lifetime +##37 +opportunity +##vs +##ocor +##astatin +innate +polypeptide +enanti +mask +##aceae +histone +psori +conduction +subm +##estim +##ocated +weights +sometimes +perin +muscular +requirement +conservative +analogue +raw +fell +ide +leukocyte +##ala +1998 +mda +session +vin +004 +strand +besides +silica +crc +brach +zero +vo +##omatous +round +physiology +rhin +effector +##rim +placental +papill +visc +purification +##omb +strict +eggs +lm +##uate +phe +perioperative +hyperplasia +socioeconomic +college +epidemic +clamp +bol +pca +pooled +forward +##ping +linking +a1 +selen +recordings +sense +##rought +connected +extensively +amplified +drosophila +sick +injured +##aemic +hier +electrochemical +lowering +ia +urg +lup +stored +rub +registry +contaminated +##otoxicity +april +anatomy +homogeneous +hot +insufficient +##grade +##ploid +retina +competition +##ostatic +anion +##3a +##tives +neonates +mf +referral +orally +nodules +unlab +reporter +tens +iq +##viral +fibroblast +anaerobic +kidneys +eh +remarkable +ligament +biofilm +##idity +aspect +lag +##esium +preserved +a2 +deal +cure +hierarch +harb +breathing +hormonal +microtub +gives +son +margin +peaks +aerug +precursors +homolog +##oplasmic +2017 +alkyl +##gt +arteri +favour +##ocyan +microscope +farm +cysts +currents +placent +##ochrom +domes +catalyzed +traj +analogues +adapt +cess +##oradi +cef +##olone +dispar +polymers +##openia +##ologist +defense +encaps +aeruginosa +promotes +##activation +univariate +rect +vaccin +assumed +myeloid +neurotrans +mediators +english +hall +nacl +pore +silver +applicable +triggered +thrombin +schools +epidemiology +interp +naive +snp +luc +acyl +swe +##orecept +##ucted +kit +cement +waves +branch +functionally +architecture +naturally +##cp +expon +nond +cessation +##otal +surgeon +recall +anis +##antic +cues +gait +para +##cape +##ethylene +randomised +electroly +ckd +staging +osteoporosis +mirna +unexpected +sustain +pay +fos +##keletal +upregulated +##istar +append +ankle +abscess +purposes +##odal +bonding +microarray +examines +t4 +prostaglandin +fungi +chicken +tric +spontaneously +phosphorylated +took +throughput +periodontal +meal +circumfer +coval +served +κb +wistar +nitrate +##ipine +cin +##keys +hospitalized +exclusion +gross +comprising +follicular +140 +testicular +searched +##ylamide +crystals +insurance +gb +##hion +focuses +inadequate +domestic +equations +molar +graphene +glaucoma +##oprop +##eleton +illustrate +quantitatively +bs +kind +##io2 +##jun +scr +pharmaceutical +fox +##itized +##inase +dense +olfactory +##iciencies +##ulsion +clean +locally +mathematic +cro +indeed +emergence +mw +prescription +van +rough +verified +maps +tcr +intim +erythrocytes +ranges +inactive +caregivers +##aminergic +geometry +equip +chel +##elles +ala +nl +pseudomonas +specimen +cerebellar +elucidated +lymphoid +cmv +preservation +nmda +surprising +anomalies +##irc +intense +profound +##omics +entit +##ional +dexamethasone +##etized +acetylcholine +ultrasonography +##ague +##gu +1997 +incomplete +approved +##clerotic +##rozen +achieving +separately +analyzing +intermitt +fashion +kinases +resin +##enin +r2 +enhances +dosing +##acterial +##ino +##oprot +##oxygenase +seeking +##ober +mammals +##oblasts +anch +hearts +edge +acoustic +##35 +vasodil +aspart +aspirin +details +reflux +anc +histologically +mrnas +##ming +##ergies +##ighting +##esize +violence +dilution +epigenetic +ultimately +capability +meeting +juven +coinc +accumulated +ic50 +bund +ptsd +catechol +##cale +thresholds +fri +why +vp +gtp +p450 +neoplastic +##vant +expert +partner +ecosyst +##olarization +oligonucle +coping +tris +colonic +macro +capt +agric +communic +##otub +##ofib +parasites +##antib +front +balloon +antitumor +relaps +decay +p38 +invent +crude +##ellite +##opulmonary +jus +##idae +pancreatitis +frozen +clone +rnas +completion +sar +trace +neo +hind +agricult +pneumoniae +calculation +micror +sacr +##inergic +##aking +enough +enrichment +matching +##inescence +connectivity +vap +##anium +additive +##roplasty +fertility +policies +unst +evol +##±0 +crop +circadian +polarization +d1 +ureter +steroids +##oides +restoration +mscs +conscious +##lot +methanol +transfection +helix +##ivation +fsh +1995 +h2o2 +afford +hous +supernat +hyster +bioavail +##arum +conditioned +microorganisms +pollution +cohorts +nitro +statin +conjugated +labelled +##mal +blotting +##ger +vertebral +c57bl +upstream +mechanistic +130 +generating +progenitor +private +14c +##atonin +alignment +##oscopic +stratified +##atch +september +moderately +relief +##ographical +noninvasive +continuously +anticancer +clinics +threatening +formulations +##thromb +colitis +fistula +hydrog +verbal +alle +reticulum +tk +tone +translational +breeding +persistence +look +promotion +##oric +##f1 +##ionine +##iton +transmembrane +otherwise +principle +##ophore +##ped +glial +viscer +asian +che +bronchial +station +nsclc +##va +##tism +septic +scoring +october +conservation +crypt +##ubicin +scaven +c2 +employing +anatomic +sand +mapk +chemicals +adopted +##afts +neurologic +##3k +##utable +##rontal +ineff +d2 +mex +##key +herpes +opin +ont +seventy +mandibular +##orted +##adren +cigarette +behavioural +dent +ionization +minimally +calibration +copy +##axel +1996 +informed +##ulator +##t3 +medline +australia +palli +usage +interpreted +laborator +market +routin +##requ +cool +canine +##ulos +transmitted +renin +administr +pubmed +##onom +##rex +phenomena +lasting +l1 +ejection +aspiration +subp +resc +outl +endemic +popular +horizontal +catar +river +warm +charged +axons +stabilization +attractive +surfactant +herb +##otoxic +kappab +ecm +##olate +influencing +ganglion +discrep +ratings +alanine +cyclo +##obut +flat +df +##urgical +##olym +photon +simpl +tracking +perox +discrete +##amines +inpatient +trypt +cytosolic +##34 +arising +##mut +orbital +reaching +picture +##factor +antiviral +yl +neuropath +sig +recons +immature +entr +coa +rg +apply +##asm +melatonin +manipulation +sent +epiderm +tibial +mouth +antif +fp +asymmetric +sirna +tet +victim +neurob +dispersion +meet +antibacterial +insufficiency +enabled +penic +lupus +provision +moment +##ounding +##elect +notably +##pert +chd +1h +neuropathy +va +accompl +ole +reserv +##hl +devi +causal +inoculated +adsorb +meat +hypothalamic +##opos +cyclin +pip +##puts +observe +lipopolys +efflux +designated +##igation +##mm +105 +nb +ccr +##esare +suspension +laboratories +##graphy +multivariable +friend +lesser +amelior +pestic +##ffe +triple +ebv +gro +tsh +distric +episode +aph +objects +fn +raman +select +oriented +##ostatin +magnesium +rd +gyr +##osel +##ogenes +##tia +user +modest +definitive +evaluations +recipient +osteoar +normalized +##orative +erk +immunoreactive +##organic +##unk +rule +latent +##osarcoma +palliative +assayed +iu +cellulose +anticip +india +financial +imped +radicals +oxidized +sequenced +##letes +inversely +giving +cab +synov +scler +representation +revision +diarrhea +nal +hh +thyro +sg +photosynth +pleural +novo +pseudo +desc +##esarean +underl +##patients +incons +##arct +reproducibility +astrocytes +diaph +attributable +criterion +dysplasia +densities +guan +attenuation +forest +##aturated +granules +##asts +##tra +peroxidation +pari +aggregates +gst +adding +owing +##recip +##cy +##rag +nation +##met +hsv +directions +##ayers +erg +extreme +calculate +standing +lamb +covari +incision +##epith +haemat +grafting +uncertainty +##t1 +intermedi +micron +arise +##f2 +##yrin +cfu +releasing +gad +monkeys +##icul +##ecs +intermittent +recognize +validate +plasmin +fetuses +powder +##ito +compatible +destruction +establishment +migraine +##iatal +transplanted +leukocytes +neoplasms +becoming +disturbance +foreign +code +immobilized +deprivation +g1 +##static +avoidance +lumen +consistency +##ards +16s +grav +rac +cranial +##terase +nucleotides +hypoxic +hemodialysis +articular +dcs +##agement +sac +postpart +pigment +caffe +inserted +mathematical +striking +autonomic +incid +perinatal +conductance +converted +evolved +anesthetic +##tructural +contrary +unable +##enteric +fragmentation +cholec +kr +exert +postpartum +fecal +analgesia +##avir +arach +ambient +candida +##aly +##urable +##p3 +##thral +deterioration +vibr +##otherapeutic +kerat +condens +aneurysms +upregulation +abilities +transitions +discl +losses +massive +##oblastoma +suffered +prove +universal +ethical +remarkably +mas +160 +conjunction +amn +replaced +joints +bacillus +proce +##ogeneic +quantity +apprec +crani +shed +echo +##n1 +marginal +##ensitivity +conditioning +seasonal +switch +sampled +erythrocyte +dial +believe +athletes +c1 +abnormality +##uretic +##uck +constitute +##edical +alumin +cooper +##aryng +ome +##no +hosts +arc +parti +##g2 +##ova +##points +arabid +sharp +fdg +inver +##panic +penetration +alcoholic +multim +modify +trem +##67 +pharmacokinetics +##uric +csa +tbi +##but +inventory +din +radiographs +ligation +##enth +conceptual +correctly +lib +arabidopsis +cochle +drawn +lectin +spi +inorganic +##romycin +myocardium +##virus +historical +ded +microp +running +##oemb +dysp +lysine +thorough +##imb +cognition +describing +belonging +preclin +##usp +til +held +specialized +usa +striat +spectroscopic +##itors +knockdown +stra +flexion +masses +peer +autoantib +##olid +##omerase +filled +coil +expend +##zation +cannab +##anger +hif +immunob +mediating +polyc +proportions +wnt +ambulatory +catalyst +##uz +tyr +##bilical +##urnal +##floxacin +##plastic +avi +reward +equipment +##iliary +aspartate +developments +##antom +fibrinogen +##c1 +unstable +ingestion +tam +##essive +elective +##r1 +sy +gained +sarcoma +glu +##imus +glycine +preclinical +segreg +disulf +etc +mini +peroxide +splen +unp +##itated +##ares +envel +conversely +job +##luor +forced +facilitated +ovary +nephr +brown +phospholipid +eighty +##ifug +expendit +##gene +##qol +contractile +ih +giant +hbs +##pin +##ostomy +autophagy +cros +##olum +trigger +similarities +autops +swed +##p2 +vestib +interacting +##sk +lithium +##rospinal +1994 +resusc +neighb +scin +contacts +111 +##lipid +reproducible +takes +##ellum +eleven +heme +1a +fel +commercially +subsets +terminus +##entan +inoculation +vc +clustering +august +attempted +bott +contractions +trypsin +courses +slower +106 +fluids +name +visualization +essentially +sial +ai +mdr +colonization +visceral +soils +##enstr +##ozoa +aware +##after +800 +testis +aberrant +hypotheses +capsule +acth +##bumin +incontin +##itability +fibres +radiol +##ibilities +noradren +prophylactic +introduce +##iefs +cholinergic +immunosuppressive +balb +sole +batter +bioavailability +poorer +inconsist +##ectomized +phosphorus +##atation +125i +rings +unlabelled +bh +constructs +receiver +resol +slope +institutions +carry +knockout +overlap +fair +lipopolysaccharide +cerebrospinal +methodological +asd +postmenopausal +facult +fluctuations +gnrh +reflects +immunosorbent +glycogen +advanc +doctors +450 +##rupt +##imetric +##48 +##uding +##ecan +leakage +##aldehyde +chim +smoke +routinely +varies +pulses +institutional +autosomal +precipitation +##95 +revascular +transverse +1β +##ogenicity +##acing +subpop +##irable +##illi +jejun +h1 +irrevers +beliefs +chromatographic +moiety +##hn +explicit +anten +defective +##oxif +modulating +##ony +##oblastic +##pc +##odium +tachyc +thr +phantom +establishing +atherosclerotic +ethylene +cauc +liposomes +##epinephrine +photoc +vl +template +chit +limitation +summarize +##ilon +insect +oncology +distances +##38 +bw +agar +fermentation +exploration +##onduc +wastewater +canada +umbilical +encodes +kinds +##inance +droplet +cephal +homogen +gv +##odg +energies +##etamine +responding +norepinephrine +promise +dramatic +entity +spot +allevi +deplet +##bean +responders +##angements +eliminated +transforming +integrin +##benz +cosm +##hed +missing +daw +dut +genital +porous +disl +explanation +pad +slices +attending +arb +moving +intention +##nd +##regular +quanti +warranted +ccl +machine +nav +juvenile +pup +distinguished +gt +mention +los +ea +##eled +highlighted +deline +glycerol +surgically +parietal +phage +meg +##rolif +##lit +##psych +##75 +##utin +relatives +reproduction +##tified +caucas +intraperitoneal +##ronectin +##opia +corn +slowly +pth +irregular +wil +blockers +geographic +evidenced +##oprecip +fluoride +##omegal +##ura +seeds +2a +coex +caries +wounds +partition +dg +reflecting +resident +preferentially +determinant +interpret +yell +apart +averaged +ipsilateral +cascade +myosin +##ulsive +gfp +periodic +asper +west +electrocardi +biomedical +ammonium +monocyte +anaesthesia +##atosis +##idazole +allergy +regarded +attend +##ius +##allow +drink +apo +prone +##39 +##ygd +##entists +ses +##ocompatibility +caroten +ectopic +006 +cataract +##thood +##ble +prolactin +nig +maxillary +scaffolds +minimize +##osidase +##orubicin +analgesic +corp +pollut +dopaminergic +pci +plex +submitted +leu +adulthood +obtaining +endometri +##flur +isoform +##itig +##atr +##rowth +neuroprot +tick +aryl +##ilar +manage +psoriasis +scaffold +regulators +hydrocarb +##izumab +allogeneic +propr +wear +lymphatic +trna +##acil +amygd +##ylic +allo +cardiomyopathy +##oconstr +drive +##environ +poli +optimize +counseling +##ococci +apparatus +##vem +ibd +##ida +keep +##rof +affective +augmented +##ophan +##omyc +101 +mitogen +ganglia +schedule +titers +catenin +catalys +osteoc +prefrontal +toc +folding +extremity +comorbidities +codon +saliva +cot +mimic +tin +##eces +##45 +multidisciplinary +##amer +1980 +prescrib +proc +consumed +household +respiration +ulcers +poison +dsm +##oreg +mesh +cadh +plans +glycol +trap +cycling +iodine +estimating +##ele +sensors +termed +survived +mycobacterium +flexibility +##oir +named +effusion +accordingly +##epithelial +carcinogenesis +century +prompt +##inder +integral +finite +ascorb +starch +striatum +##ishman +##ensitive +preferences +silencing +##psychotic +##acrylamide +##onomy +##uled +parathyroid +participating +yellow +naf +##roid +endoscopy +leaders +eukaryotic +d3 +repetitive +piv +prosthesis +incontinence +transc +homozygous +cyp2 +hypothalamus +automatic +mrsa +osteoarthritis +volunt +mk +##cm +lid +##opress +polymerization +chiral +damaged +sensitization +triglyceride +##nk +irresp +##apine +veins +intraocular +weakness +vom +lowered +##pi +surprisingly +##rogens +heating +dismut +fabricated +rose +##ocept +virtual +coherence +104 +stranded +emissions +fus +solubility +neurodegenerative +confined +constraints +continues +##onyl +adjunc +connection +follicles +circumst +demands +cust +microenviron +played +government +primers +mosqu +##inates +gingival +trimester +cac +##uvate +##enyl +disad +##63 +probable +circuit +thereafter +facility +delt +streptococcus +hba1 +biologically +permit +glioma +##oplastic +denat +card +##uing +iop +physiologic +confocal +detach +##aver +vulnerable +perh +rationale +gol +##otrophic +intens +macular +lengths +##mium +1992 +##uli +##unctiv +fruct +1993 +disadvant +ammonia +##ectic +mism +desired +splicing +terr +copies +influx +##iffer +##opus +electrophysiological +##ubin +acceptance +arthroplasty +swim +microbiota +typh +##aid +angles +duodenal +cip +flavon +aller +##ola +infarct +nick +##yclic +##affin +##acyl +cardiopulmonary +bolus +mcf +##42 +ko +123 +switching +adrenocept +bacterium +corticosteroids +classic +##iosis +fev +aeros +flight +dioxide +##99 +stabilized +catalase +structurally +antipsychotic +flank +profiling +cyclase +108 +complaints +##ecyl +shunt +proinflammatory +sulfur +themes +eventually +allograft +##hep +ll +consent +nucleic +pod +##01 +trab +novem +wean +centres +immunotherapy +anastomosis +##ivity +paed +genetics +east +irrespective +uro +perhaps +chemot +winter +legal +rif +antigenic +##arboxyl +dod +america +presumably +##imp +##echanical +metric +pollen +##pyr +103 +fertilization +c4 +propagation +diaz +##psia +november +anthr +undet +seemed +horses +microvascular +cochrane +sprague +nac +assembled +dawley +reservoir +##mitter +##55 +percept +##brain +sized +tachycardia +fourier +gynec +mercury +window +mind +##aker +microl +filling +brady +##omial +engagement +boundary +epitopes +perfused +metalloprotein +leishman +##olet +today +get +helical +thrombocyt +bb +excitatory +stain +hcg +acup +plaques +hyperp +planned +detector +mosquito +##abine +bacteri +waters +trunk +##inting +slud +##arium +remote +##diagn +senes +placenta +helic +hydrochlor +reversal +hodg +##osites +102 +multil +incorporating +##uclear +ninety +##odegrad +accounting +apoe +ethnicity +##o4 +axonal +nephropathy +dismutase +papillary +phenolic +progressively +angina +anticoagul +colonies +persisted +cd34 +##asi +abc +ubiquitin +ppar +##a2 +hazards +roc +committe +sag +zones +##ettes +007 +considerations +kh +fulf +##ophyll +straight +modif +##dd +crystalline +triglycerides +organizations +internet +motivation +pretreated +germany +inherited +binary +nanom +##glycer +scored +cadherin +##icillin +m1 +epitope +productivity +febr +accessible +salv +tai +dest +autism +##hypert +##otropin +splenic +arrays +quadr +zebr +hodgkin +##ielding +dair +epidural +instruction +##ince +mitotic +spherical +aβ +judg +##yroidism +medias +##enzyme +inhalation +plates +gray +hba1c +##abolic +wm +adhesive +f1 +vomiting +##adj +vocal +##ozo +subd +symmetry +hi +psychiat +##ografts +biologic +microv +clinicopath +transferase +multicenter +blocker +spent +filament +views +##retro +fifteen +hygi +##amph +earth +##iac +tradition +chitosan +repeats +papers +fibronectin +prostatic +caffeine +##olding +##irubin +spir +immunized +microd +antiretro +render +february +compan +bull +perspectives +rhiz +admissions +limbs +lb +septal +rely +serological +dissolved +tryptophan +suture +##opter +##arial +hyal +prevents +abl +##roliferative +##monic +acs +organized +positivity +tro +paral +messeng +##itten +challenged +briefly +elongation +wood +fate +cdc +asperg +inapp +ka +ago +carefully +rhod +overlapping +engineered +##lyl +advance +menstr +intended +arachid +##lementing +##omod +idea +islet +malformations +nonspecific +prl +analogs +##itudes +walls +##mission +immunost +##borns +addressing +hyperglyc +pulp +##ropri +experts +eastern +tol +##ortive +pulsed +phon +1991 +isoth +prednis +nadph +008 +san +individually +coordinated +excited +mitig +turb +scenarios +tea +summer +dairy +cris +curative +viscosity +cough +omega +collectively +cadmium +arms +tong +tpa +titr +##flurane +##pe +big +##ochemically +hered +##tron +curric +retrieval +sludge +lineages +defining +differs +accid +twin +stream +##obs +circumference +personnel +thymus +motifs +remove +##x2 +split +ie +spind +vasopress +cerebellum +##icans +ff +##otroph +inappropri +conflict +##tir +endoplasmic +mesenteric +immunoblot +p1 +impairments +designs +##onazole +vt +##parts +analyse +extrap +intravenously +oz +pdgf +##ply +constituents +newborns +gem +reasonable +bioactive +##lements +resorption +depleted +emg +ophthalm +fh +exhibiting +programmes +thromboemb +dermal +##inge +##rogenic +aor +cyclospor +cholecyst +methionine +hierarchical +##entary +lands +autopsy +haplotype +##icidal +indian +links +myeloma +faculty +##amil +g2 +intermediates +naph +expectations +##eria +##66 +gels +ice +australian +vig +dynam +##ardial +fused +##onym +mpa +categorized +trees +nitros +accounts +rigid +##arse +glucagon +ultravi +nutrients +ultraviolet +resected +mentioned +mang +pals +kept +conductivity +##bow +matric +##ucl +ment +##exin +dust +explor +gaps +resuscitation +familiar +bases +doxorubicin +##fluor +gf +spite +antifung +##fish +##obarb +ribosomal +spring +calif +##edema +revascularization +heterozygous +dead +cerevis +semic +killed +quantities +arsenic +chr +disappeared +inherent +manifestation +counterparts +polyacrylamide +synovial +relating +spermatozoa +immunocyt +notch +cea +hypoglyc +compartments +nemat +lives +monolayer +handling +interviewed +##thy +pec +cationic +##b2 +lactam +vast +trabec +xanth +immunoprecip +bmp +descending +##hal +cerevisiae +intubation +chemically +stresses +infertility +falls +##obacteria +antiretroviral +pmol +isotope +connective +anesthetized +##amel +strongest +sacch +fractional +contract +hypersensitivity +foci +##glutin +occasion +stationary +meaningful +cit +lucifer +lean +##osides +electrostatic +publications +suggestive +icd +killing +predicts +publ +theories +##iers +lign +solar +##obac +laryngeal +##epam +empt +endotoxin +##aved +thermodynamic +cub +pge2 +built +##idic +131 +fmri +mixing +##mv +preserv +##erated +differing +competence +collaboration +discharged +concentrated +pah +dv +planar +grain +voluntary +##hepatic +vestibular +tot +##eption +plasminogen +circumstances +##amb +stone +branches +titanium +promoters +copolym +oxal +rain +mating +kary +summarizes +glucocorticoid +##eries +leucine +saturated +disulfide +island +inputs +pw +enabling +began +synaps +chlam +##aching +##odontic +##enal +converg +tracheal +feel +##stem +107 +shortening +irreversible +nause +hydroxylase +##cein +reacted +mot +##fil +##88 +ultrastructural +decomposition +##47 +hemisphere +kl +##59 +coast +eros +##ographically +symb +junctions +##ife +plasmids +myelin +build +##ocycl +tof +##ophosphate +causative +##ented +##amino +nanotub +gyrus +centered +bdnf +lambda +pacing +shifted +demonstration +illustrated +lf +seal +##tracted +sexes +sexually +province +nausea +aeti +employment +ae +th1 +americans +##ift +polymorphic +annot +hypotherm +provider +##iding +nom +computerized +passage +rhyth +soc +sah +eigh +macrom +imper +californ +##ously +teleph +cyl +##itance +centrifug +##onit +larval +facilitates +scinti +##izer +cm2 +datasets +##oate +##onv +innovative +##agglutin +cations +##endocrine +dermatitis +biotin +##feeding +foss +##tium +##x1 +##acycline +neuropsychological +silicon +##ifferenti +109 +page +thymidine +perceptual +##olateral +applicability +##obenz +bath +managing +paediatric +endovascular +##orh +gelatin +stimulates +projection +colour +##flav +transporters +exten +retardation +retrograde +##amily +embase +dihydroxy +actively +suffer +dib +hispanic +antidepressant +connections +modelling +arrhythmias +##ocking +abortion +clonal +##32 +mapped +dissolution +sufficiently +##azone +butyl +gradients +proteolytic +##opr +microsph +orders +albicans +volatile +retinopathy +chip +mediator +executive +nic +1beta +crosso +precon +rbc +envelope +geometric +converting +##ience +pi3k +vo2 +reinforc +endpoint +batch +written +ww +minority +ri +aldosterone +fibre +prp +allergen +deletions +elast +bup +diaphrag +oscillations +calcification +##phasic +hernia +preoperatively +##68 +mucin +agricultural +##dh +##tigm +##wan +##asal +relate +maln +phil +reciproc +carp +efficac +vill +surveyed +scc +moun +bsa +##romagnetic +supportive +##olipid +calor +topic +radius +##gic +hereditary +characterised +percentages +##sc +habits +subcellular +cytology +bones +meningitis +behind +##o3 +dataset +amygdala +burst +hypotension +osmotic +atl +esters +##unting +##econd +serves +termination +##ritin +oocyte +consuming +lic +rho +diagnose +virtually +comorbidity +acl +antihypert +haemorrh +solvents +asymmetry +##oler +firing +cytogenetic +lived +unlik +##oac +cutoff +ami +participant +grass +##ido +methoxy +##entric +##idone +guideline +attacks +porph +antifungal +##44 +##mcs +quickly +unlikely +sports +continuing +restr +##traction +flag +choline +hemorrhagic +##fc +matrices +players +electrophore +propensity +als +degenerative +indicative +fifth +##ipr +imbal +##amidal +rules +consultation +neuromuscular +##erate +ber +faecal +epileptic +##ineal +##onectin +brains +glucuron +seconds +underestim +enamel +##rug +mcp +ordered +fv +##oxicity +extin +lattice +phospholipids +micromol +soybean +clinician +extrac +lew +axon +renew +sacrific +retr +##utrition +accomplished +intellig +cloning +boy +adenoma +aquatic +##rotomy +ldh +modifying +cerebro +autoantibodies +trypan +pock +tropical +fibrous +aux +t2dm +##ontrol +confirming +cleft +b1 +##afish +##berg +puber +luminal +##inical +french +beta1 +citrate +microw +##odic +zebrafish +##ocaine +##version +microenvironment +sedation +dysreg +biodegrad +th2 +ngf +endocard +adequately +contempor +indometh +rip +exceeded +hela +##arynx +cone +trif +##33 +dominated +bridge +epsilon +##fo +follicle +fulfill +##h2 +tongue +radioimmun +µm +publication +##while +kcal +##eties +reconstructed +verify +sharing +conjugate +bax +skull +asthmatic +demographics +indomethacin +##opre +telephone +phospholipase +pell +district +##ondyl +apt +displays +semen +vesicle +tio2 +clock +succin +oligos +revised +reagents +crf +dichlor +##cd +fire +enlarg +crossover +sporadic +adenovirus +glutamine +spik +thous +deposits +priming +intensities +##asome +screw +impedance +##tification +opinion +##ersion +115 +office +grades +match +dilatation +intron +curv +osa +infused +##tructures +her2 +ew +##obulin +mumol +embolization +atmospheric +##opyran +##alin +nicotin +behaviours +creating +adenomas +hydrophilic +##atinum +bayes +sput +perp +##omyel +exha +investigators +apolip +##plantation +##oms +falc +thiol +anova +electrolyte +segmental +##tituted +retrieved +absorbed +activates +calves +nodal +amine +##ovir +expand +##ois +committee +fourteen +vaccinated +troph +preceding +##inform +isomer +deox +scope +confound +scaling +##xa +immigr +multiplex +inappropriate +##onn +sigma +foundation +##ohex +imag +vasoconstr +covering +inactivated +stepwise +apnea +mediates +ends +apolipoprotein +exploratory +augmentation +definite +crohn +pyruvate +departments +posit +##romyces +##rost +superv +weakly +bv +messenger +filaments +primer +morning +ineffective +sequel +debate +ecl +palsy +neuroendocrine +painful +divergence +palm +1988 +perforation +##ophosphamide +cck +aq +p21 +oxygenation +faces +accommod +cooling +monthly +##oglycan +curc +geographical +islets +golgi +##atics +1989 +ling +corpus +amput +luciferase +polycl +##m1 +##abd +inhaled +neighbor +constitutive +ord +tumorigen +oxyt +multif +interfere +graded +downregulation +whil +recessive +temporary +burs +asia +confirms +actually +##oal +epine +folate +##role +alp +singlet +concerned +traffic +epic +arrangement +whilst +hands +locomotor +##anolol +mobilization +##urgery +hamster +livers +tors +compact +away +gather +blinded +paclit +prosthetic +adsorbed +antihypertensive +exerted +breastfeeding +stimulatory +degraded +n2 +##inted +##istrib +paclitaxel +##ulas +pathophysiological +habitat +possibilities +acceptor +discriminate +lipase +schw +ctl +quench +transcribed +terminals +eliminate +selenium +##omed +vanc +expenditure +urgent +nanoparticle +cochlear +bn +surrog +monotherapy +reflection +derive +adiponectin +cpg +angioplasty +##etrical +fum +mun +##uge +bench +##d1 +tubes +substitu +salts +cast +##uloskeletal +immunocomp +typing +sphing +rum +##otom +lysis +extending +radioactivity +genotyping +regurg +heavi +137 +##plicate +segmentation +deformation +penicillin +learned +duplex +sug +maize +relig +##afil +bilirubin +sbp +initiate +mutagenesis +polyethylene +lymphomas +atopic +##aromyces +projections +reagent +somewh +embolism +##vation +physic +brainstem +natri +confounding +##yel +##osper +elicit +cyclophosphamide +microsat +expiratory +entered +nonp +nif +percenti +accordance +reliably +strengths +bus +abd +##asp +dan +cesarean +journal +ether +gent +##ificant +musculoskeletal +acin +##orbol +diameters +##uterine +chemokine +##itating +taiwan +afferent +conjunctiv +ferritin +h3 +emphasize +waist +king +mec +capabilities +mds +unex +chance +##ofol +##orac +claims +##ompass +sided +epidemiologic +transpl +helper +##esophageal +priority +##inos +vasopressin +regime +differently +##oreceptor +deviations +allocated +128 +nail +encompass +bim +noct +mutated +##incter +vulnerability +mtt +immobilization +##anin +sixteen +##mann +c5 +synapses +##ka +ubiquit +striatal +interfering +lavage +rodent +intramuscular +stents +##otopic +lactic +##ading +##k2 +spike +sensitized +pivotal +##oprotective +##alanine +breakdown +loads +monomer +##ilis +##ona +##36 +platinum +##ethanol +propranolol +deposited +inconsistent +##ignificant +nitrite +##titude +009 +adolescence +##aplan +129 +balanced +battery +immunosuppression +erythemat +seropos +noradrenaline +##ulators +##aterials +inositol +taxa +##ete +catheters +uterus +##ussian +hmg +soon +esophagus +ultrasonic +240 +##odend +negligible +outbreaks +clot +proteinuria +##ipped +tracer +rm +##aminase +thrombus +##otechn +##77 +unres +sut +pathologies +thrombocytopenia +originally +##agr +cytosol +morbid +fluoro +kaplan +latin +µg +agreed +confirmation +summarized +granule +microglia +##osum +tear +varic +forear +mtdna +sector +##odi +electrophoretic +plot +dendr +polyclonal +iran +exponential +##artan +icp +california +##ushing +##ney +stratification +exec +somewhat +experiencing +successive +antip +totally +benzene +##traum +dehydr +taste +dried +grouped +##aced +medicare +operational +h2o +##coplas +vertebrate +warf +veterans +dissemination +duc +occip +doped +2b +##ophysical +rcts +chart +##gluc +positron +plexus +##etine +apc +argue +thirteen +##urium +diver +aerosol +dpp +extinc +##lutin +##opropyl +disabilities +antisense +##astric +avian +biosens +purs +##nes +immunomod +avoided +births +humoral +##lipidemia +##zymes +##000 +propofol +femur +heterozyg +##illa +menstrual +urolog +##ods +specialist +syr +particulate +unfav +spindle +diagnosing +downregulated +multidrug +##oney +##46 +safely +hop +ee +hrqol +116 +canadian +antioxidants +endometriosis +prescribing +##urons +fabrication +##hex +traditionally +118 +chronically +mg2 +##ersonal +vitre +##ocyst +refractive +vw +assistance +detrim +scd +nir +##keleton +##place +stack +vapor +harvested +##ittal +schist +dft +positioning +nct +fitting +register +gradual +peroxis +facilitating +##oti +acupuncture +##emporal +sacc +conducting +wider +phospho +lysosomal +medicinal +cerebrovascular +jnk +indirectly +differentiating +##enem +immunoassay +gps +invari +chlamyd +cosmetic +agglutin +ok +rodents +##estr +gallbl +c6 +aggression +hold +altering +##31 +periodon +hyperglycemia +spatially +dysph +immunostaining +##urin +epinephrine +raise +##electro +cow +custom +contemporary +italy +attributes +chap +##opathology +hope +caudal +##idol +viewed +inequ +interventional +zeal +##onium +##timal +attitude +come +board +killer +nocic +sor +travel +##ozyme +discontinuation +fructose +135 +##oxidase +carbox +hole +crt +##anic +borne +multis +table +keratinocytes +pma +sheet +phi +synthet +##glycerol +preec +lactation +beads +conjugates +bring +union +physi +qp +meier +##utely +##nary +interd +intrap +notion +clients +korean +##bone +genera +restore +##odiaz +paf +biod +deformity +fungus +pyrid +##imaging +##ofacial +##amma +disrupted +##thrombin +routes +##acaine +##yx +somatostatin +zealand +##vastatin +medicines +##orated +chickens +mirr +covalent +normot +racial +sediments +acceleration +wrist +falcip +neutrop +hap +##bred +mtor +1b +moist +deterg +fb +hygiene +hypog +deploy +##oea +126 +neuroprotective +dq +spots +originating +bromide +glycosylation +depolarization +semantic +unn +unexpl +pollutants +county +##xr +ingr +lymphaden +stones +intercellular +pmn +voc +fen +edta +##ita +e1 +chemotherapeutic +##formin +2018 +senescence +##odem +amongst +granular +fitted +entrop +neutralizing +##ecific +exerts +##urea +cuff +##onitrile +angiogenic +implementing +b2 +margins +##rexate +##rio +morphologic +dentin +codes +piper +proteases +cgmp +##aran +train +accident +neoplasia +interacts +sphincter +brought +inversion +endpoints +timely +##ylase +1987 +##fall +##oxane +scenario +military +suicidal +##olecules +##ustion +desirable +floor +iqr +##atectomy +##atite +addiction +digestive +worm +rearrangement +##erum +designing +polysaccharide +aminotransferase +ultra +stretch +falciparum +dextr +##inesterase +creatine +convenient +incremental +hn +hcl +overload +trache +##osamine +intrauterine +revealing +##pation +erad +112 +compromised +##adm +##98 +diffus +##rophot +solely +prepare +simply +couples +poisoning +functionalized +presentations +gallbladder +calf +asa +src +hydrogel +ran +yielding +assumptions +flaps +psychosis +mag +extinction +##ishing +aberrations +acetic +ik +linearly +ingred +neuroblast +##onuclease +##arinic +##bir +postin +kil +visualized +functionality +proof +##ropo +##urations +hes +desorption +pbs +kv +##growth +oce +drivers +pharmacy +fractionation +endoc +nickel +judged +sheath +hepatocyte +intracere +repress +patency +harmful +lock +rotational +##opher +efficacious +##lv +##mo +grading +bank +transcriptase +carbonyl +curriculum +arachidonic +proline +neoplasm +biomechanical +compensation +dot +catheterization +cxcr +sav +caucasian +corticosteroid +disseminated +##ortical +magnet +contribut +origins +appl +toxins +recurrences +initiating +france +tubules +##otrexate +mtx +forearm +##omethyl +polymeric +##hyd +tailored +unid +hydrochloride +nn +entirely +monte +washing +1α +##ationally +plots +bioinform +sequelae +β1 +##ecess +overexpressed +echocardiographic +trajector +benzodiaz +metformin +iliac +diagnostics +organizational +haplotypes +##umb +angular +trajectories +incomp +transpar +physicochemical +methan +modeled +tat +stock +polypeptides +york +dens +##grav +tubulin +comfort +1985 +##opharyngeal +##gd +creation +anter +enhancer +nich +rescue +histopathology +pfs +subf +oligonucleotide +possesses +methotrexate +vancomycin +##elia +##iate +bayesian +insensitive +bilayer +serotype +manifested +titer +##atric +dodecyl +spanish +covariates +deleter +##iab +##isely +intrath +smad +geometr +lake +diphenyl +histopathologic +##agia +plur +##wards +170 +proximity +##iently +beds +postsynaptic +lactobac +cue +paraffin +deleterious +145 +radiolab +##ipping +##ldl +microsomal +generic +amide +insects +ceramic +die +distinctive +specified +identifies +coexist +##orin +ics +icam +parenteral +funding +radioimmuno +freezing +##iesis +ascending +airways +tx +saccharomyces +spreading +heterologous +##otent +selectin +electros +kinematic +encode +ivf +aga +##amen +fruits +counting +warfarin +##2b +meanwhile +hbsag +bundle +exons +bios +gains +spectrophot +enlargement +pacem +circuits +disordered +aki +excluding +rays +postulated +curcumin +##aterally +eradication +m3 +avoiding +endothelin +detrimental +supplements +hct +ascites +##yrene +prev +broader +plateau +cobal +##je +deng +buc +##amed +##ican +discom +amplitudes +forens +definitions +weigh +pars +expensive +instances +microwave +dilated +imply +##meth +collaborative +cytoskeleton +pdt +benzyl +microspheres +permits +homes +pesticides +elab +salvage +##istribution +##ipt +##otropy +schwann +paid +voice +adducts +regurgitation +delays +##kinin +tons +consolid +felt +phenol +##oracic +realistic +contexts +tablets +##ibrill +intakes +discipl +occasionally +##oreal +supernatant +misc +erythropo +hypertherm +##58 +##flex +catalysts +implies +stroma +abdomen +documentation +disparities +advers +plasmodium +lipoproteins +insectic +trade +carboxy +ischaemic +laparotomy +##brids +regularly +recycl +equival +microsomes +pas +venom +cbf +alternatives +advice +carbam +radioactive +excised +114 +develops +bcr +photosynthetic +era +corresponded +robotic +oval +dengue +euth +gag +pgf +interactive +gfr +##vac +fuc +##atalytic +aur +##rep +vip +happ +girl +concordance +isomers +zno +energe +interm +pai +works +helps +assembl +nude +sciences +##ya +adoption +odor +tv +##oneph +1986 +borderline +carlo +microtubule +accumulate +lamina +axillary +metallic +##inin +##yrate +adipocytes +subtil +freed +##ocysteine +##infected +epidermis +ecosystem +topics +accessory +inability +##ofen +##umental +sna +quer +fev1 +arous +117 +##osensory +allerg +ductal +corticosterone +##chol +glycoproteins +intrad +##head +remed +selecting +backbone +##rolimus +antiserum +posttrans +dha +allocation +rock +##n2 +natriuretic +##agg +captured +pka +cadaver +##itabine +aspergillus +discomfort +sagittal +mets +http +failures +infusions +cholangi +crossl +synthesize +style +nap +interpl +##odyn +rej +constric +swine +probiotic +vm +pcs +stoch +##li +ances +projects +##oxifen +##pd +infrequ +msc +opt +##inyl +illnesses +2h +mca +normalization +glycemic +ascertain +trafficking +residence +amylase +entities +depended +len +sputum +decompression +##oking +therapeutics +doctor +bid +constitutes +##ivacaine +##imes +subtle +##tiles +##rist +chemo +gw +##nam +ix +subclinical +format +unnecess +myocytes +metaph +expanding +deduced +suspic +amorph +anticoagulation +ageing +brca +malnutrition +aggregate +postural +representations +micelles +resultant +cleaved +chimeric +ja +relies +eighteen +elbow +pharmacologic +cooperative +phagocytosis +##78 +a5 +##omyelitis +spain +##ua +vibration +precisely +orthop +subtilis +exploring +fluorescein +bottom +forensic +mabs +sociodem +psychotic +regenerative +security +choices +physically +willing +##ichi +outflow +124 +filters +calmod +cup +phorbol +ash +350 +##ximab +bill +synthetase +##aind +##eptidase +##atization +reserve +docking +##ativity +simulate +programmed +oxytocin +jaw +attended +##cell +paradox +##respons +mci +utilize +chondrocytes +allelic +detachment +rcc +periodontitis +##olol +polarity +parenchym +encapsulated +##adh +##ocysts +sedentary +histidine +teams +existed +##iest +parasitic +hydration +neuroimaging +urethral +analytes +progenitors +uncover +module +gated +iter +##inery +stool +polarized +210 +anions +necessarily +removing +##quine +quasi +##anz +semiconduc +ign +properly +pcos +patches +calmodulin +##ky +bcg +hyperch +tomato +sociodemographic +escape +hyperactivity +##acrylate +competing +bruc +substitutions +##ullary +##ulsions +bms +##edge +thickening +##thetic +sides +rl +polyps +oss +lymphocytic +##eremia +icc +hysterectomy +1alpha +underlie +trib +incorporate +afl +##eptic +monkey +crow +monolayers +1st +hv +nox +mosa +dextran +##oni +consumers +ulcerative +lidocaine +13c +geriatric +tocopher +##ulae +suspicion +oligodend +##abular +granulocyte +tumorigenesis +surviving +##eted +macroscopic +velocities +chf +solitary +title +isopro +190 +##noid +nocturnal +##eced +trail +##ietin +intran +##ordant +angiographic +bk +##itonin +rising +employees +igfbp +##rofloxacin +hepg2 +narr +##69 +##omere +boundaries +anticoagulant +ovari +bub +conditional +normotensive +##41 +##iated +disk +observer +malt +##vive +gg +duplication +cured +##trin +proliferating +encephalopathy +##inement +##elle +necessity +alive +pde +dependently +polyphen +italian +##graduate +scintigraphy +spray +dilation +hypothermia +biphasic +electromy +##iles +##onical +##cetin +pocket +adenine +preferential +microsatellite +tunnel +pon +##aa +terat +bact +cultivation +spondyl +transferrin +micrornas +adrenoceptor +##andial +stochastic +composites +emphasized +hrs +unfortun +qpcr +pyramidal +diethyl +modulates +vibrational +##irection +hybrids +outpatients +hat +##ball +##ophilus +anthropometric +stressed +imbalance +disappearance +intravascular +overt +victims +explores +muscarinic +contraceptive +##tise +theoretically +amniotic +attain +shapes +columns +tightly +##yz +cabg +##uan +performances +##mus +promp +satisfied +configurations +##anese +##hr +eosinophils +sto +cha +##lyca +detox +analogous +specialists +que +##ussis +swallow +interplay +ache +##akers +ethics +caution +##acrine +engaged +breaks +cass +##oactive +surrogate +tlr4 +rsv +##borne +##iii +##ievement +##urt +maze +f2 +stake +##amicin +teachers +instrumental +tuning +##asting +necrotic +labelling +##aign +enlarged +vasculature +##c2 +##62 +##treatment +occipital +babies +immunoprecipitation +113 +hpa +deficiencies +700 +whereby +integrating +##iguous +spaces +korea +neuroblastoma +##inositol +119 +ut +presumed +122 +rms +lenses +survive +##iders +illustrates +agency +thio +modulus +reactor +morphologically +tolerability +road +##ifier +scann +polyn +ease +##glut +conflicting +##lampsia +cooperation +##73 +microbiological +freedom +##onine +epo +##du +feb +dispersed +subpopulations +cryop +erk1 +##enoid +hypoglycemia +dislocation +palmit +vib +##kary +stat3 +##oke +observers +##alent +generates +hematoma +preeclampsia +aspar +achievement +nonh +nafld +campaign +drought +npy +compensatory +##arter +frail +alph +neurotransmitter +interpersonal +electrons +tamoxifen +##achlor +##osex +uric +synapt +gvhd +##omyces +erythematosus +pater +percentile +capill +intellect +weaning +vertebrates +glp +integrate +potentiation +##idym +procedural +cardiomyocytes +##umination +parenchyma +segregation +appra +chaper +nanow +ich +intoler +freeze +unnecessary +##jug +##quis +coordinate +amorphous +loops +siblings +rearrangements +corresponds +evolving +##itate +emt +ppi +adherent +intersp +disab +generations +rigorous +##ulins +##enoic +##ena +bright +mdd +transplants +atax +wire +##opathies +##eliac +##ourse +sma +##o1 +sox +##izable +ozone +##yric +##ece +##insulin +pyrim +##ocortical +reass +lncr +##osom +##band +##ml +twins +sulphate +surround +##arbonate +neovascular +##ectory +##obacterium +obstac +septum +mich +##list +attentional +methane +casein +pertussis +dyes +cxcl +indexes +##orax +##4a +##oidosis +landscape +mad +simplified +025 +bag +herbal +trajectory +##atology +scalp +scavenging +endurance +##ophilia +biosynthetic +radioimmunoassay +reciprocal +archae +nalox +hypertrophic +preceded +##imide +basement +smear +cw +perfect +oxidant +##icip +brachial +fly +formalin +qualitatively +favourable +uve +chapter +vegetables +approximation +rpe +technological +menisc +dimers +worsening +isop +midw +medullary +bending +##h1 +sj +scheduled +quantitation +acidosis +##igenous +pahs +psychometric +bonded +epididym +investigates +oxy +fuel +##ulent +sigm +sparing +intramolecular +extremities +galactose +##obi +quenching +##79 +operator +##ritis +incis +comprises +germination +##ystic +cyclooxygenase +##obarbital +talk +##itter +circulatory +jak +collateral +grew +exceeding +aluminum +fingerpr +libraries +stressors +hsp70 +statins +##ortem +triggers +##test +mosaic +introducing +##igenic +weaker +replace +haemoglobin +##ji +3p +juice +##d2 +##worm +suppressing +gonadotropin +roll +##ewise +amen +resolve +encouraging +uncontrol +newer +malformation +unfortunately +##otemporal +hsa +bony +tolerant +signature +proteomic +##okinase +##dis +##gestive +advoc +133 +answer +##agonal +addresses +##cg +##iterp +realized +antin +##0000 +highlighting +missed +contaminants +##51 +characterizing +lg +perturbation +hypercholesterol +crisis +toxicities +##onymous +cll +mechanics +obstetric +metrics +camera +sterile +##ander +##zz +##oselective +##ifferentiated +##tivities +invest +trust +atrop +vent +medulla +appropriately +jo +municip +hydroxyp +pears +ssc +dielectric +##rotid +naloxone +abrog +protecting +##ouracil +danger +##iline +waiting +nadh +cryopres +brush +insol +curvature +anisotropy +##otyping +ca1 +hern +joh +##orate +oils +vd +##arach +treg +accidents +cd44 +ky +clustered +##admill +ecc +##operoxidase +npc +neighborhood +palate +bad +consumer +sorption +##uran +treadmill +dedic +neuropathic +ftir +##ynchron +indigenous +political +patent +interfaces +chemokines +lept +von +##nm +##urc +heterod +thalass +unw +##marks +stores +arterio +theta +##amn +fid +5p +discrepancy +methodologies +alters +reinforcement +mediastinal +enteric +ubiquitous +colloidal +imid +cigarettes +england +##imension +##inities +retinoic +excitability +155 +homogeneity +workplace +ketamine +repression +##orable +vacuum +labour +formulated +clostr +determines +swimming +responsibility +vte +ascorbic +##72 +##grp +seedlings +nu +hypothyroidism +transcriptome +dystrophy +desens +condensation +##ositis +##andibular +hypothesize +discrimin +ahr +biofilms +##hol +arrhythmia +unev +brazilian +catalysis +mismatch +phenylalanine +methylene +##opy +illumin +ica +##oxia +distinguishing +nested +problematic +transit +##relin +##ughter +accompanying +orthodontic +##empl +engage +##orex +##therap +cd11 +compositions +ecosystems +parasit +clinicopathological +mandatory +##traumatic +xenopus +emo +s100 +laminin +##nitine +gentamicin +pha +allergens +radion +pem +verap +##osexual +##umps +##omavirus +##ends +silicone +conformations +##ictor +tolu +121 +cong +##icious +microflu +gastroenter +agree +desm +caregiver +##functional +horn +impression +microtubules +##ieties +verapamil +mrs +isometric +tetrahydro +##ophenyl +stopped +prototype +intellectual +droplets +##iled +exercises +drying +offic +adc +##tigma +dependency +machinery +suggestions +nanotubes +dedicated +legis +hematological +capacities +##1b +proteasome +discussions +progressed +divergent +ciprofloxacin +pearson +testes +lewis +retain +##epsin +scientists +antenatal +calls +##adjuvant +conce +mail +amputation +leadership +metalloproteinase +##ophylline +combine +scarce +centrifugation +reform +##genesis +anticipated +##ez +homocysteine +nodule +##odex +127 +astroc +sustainable +administrative +orn +managers +contractility +elemental +postpr +encourage +trav +##oxetine +seminal +regulations +entropy +rhinitis +transported +trabecular +ks +illumination +sorting +reoper +transiently +radiography +fda +##100 +pools +histories +electroencephal +aetiology +thaw +potentiated +perip +transgene +suspensions +antipl +suppressive +kir +valves +##anus +void +cpp +epi +vf +mesoth +efficiencies +flanking +ej +avp +packed +tuber +lysozyme +opposed +antidepressants +mexico +##aches +nont +calibr +##nar +hypo +laparoscopy +abeta +leaving +bicarbonate +spiral +##onephritis +arousal +##hi +simplex +updated +##emed +condom +puncture +radiologic +##amol +##ranean +ischaemia +attained +htlv +translated +microns +##quinone +##acheal +##acetic +plain +presynaptic +grating +##ialdehyde +hir +##m2 +##vix +suited +nether +prey +thymic +##iella +thalamus +periv +closer +supine +coagul +prere +federal +constitutively +ovulation +##ania +##develop +coded +titration +collecting +glomerul +##ogeny +broth +veterinary +master +anomaly +##itamin +ova +necro +contextual +dyspnea +evap +##esthetic +plurip +orbit +##ills +neutropenia +islands +rights +132 +colonoscopy +sugars +abstin +collect +interfacial +reperto +ghrelin +##omnia +##ocrit +opioids +analytic +helicobacter +eds +cannabis +canonical +packing +nanocomp +220 +practitioner +nephrectomy +imprin +pyro +compromise +congestive +purity +adenylate +ward +##ymethyl +##uinal +p16 +sonography +138 +sweden +ileum +##clim +rfl +effluent +##iber +splice +conve +clo +utr +measurable +stigma +undetectable +##rolase +##osoma +discharg +triaz +##ionate +aes +netherlands +dropp +h⋯ +thirds +commitment +stoichi +pbmc +c18 +dominance +aligned +pose +rid +elution +worksh +cylind +##zes +radionucl +mip +parametric +propyl +modules +obviously +##quar +antisera +breed +dysregulation +pom +qs +esi +possessed +strip +metap +extrav +portions +neuroc +mediter +##bach +slice +tonic +webs +lamp +schemes +manganese +immunologic +trigem +acutely +torque +enos +cobalt +approximate +146 +atmosphere +##bd +osteotomy +typhim +serotypes +satellite +cholecystectomy +##diagnosed +artifacts +soph +sweet +pups +leukemic +arbitr +##acs +suspended +wake +##itre +vasculitis +inexp +els +laryng +typhimurium +neoadjuvant +##irectional +expertise +moisture +amphetamine +protects +periphery +grafted +rdna +inheritance +huv +intelligence +anionic +oxo +sevent +mutual +overexpressing +hoc +##olation +undes +expectancy +##ucleotide +smart +habitats +##itum +enroll +assuming +accr +##120 +heavily +cel +shortened +nigr +detergent +sensation +emotions +##cales +mucus +cyclosporine +febrile +osteogenic +encephalitis +gov +sedimentation +hematologic +ultimate +##tillation +adam +##itish +hemodynamics +hit +hydrocarbons +confounders +approval +originated +osteoclast +cml +flash +phthal +cornea +exud +genotyped +contraind +covalently +symmetric +##mi +virolog +##54 +##oderma +##aric +assignment +triggering +immunoblotting +ensemb +moieties +orf +##inator +oncogene +cytomegal +##del +##ris +conception +medicaid +paralysis +parox +spirit +branching +organelles +orthopa +##enn +collapse +cholest +subop +serving +##ker +reticul +cil +sad +mineralization +phosphatidylinositol +biased +volumetric +manufactur +dbp +##infection +alternate +initiative +cultivars +crest +solving +preserving +pelvis +meningi +tensile +vinyl +accessibility +##ostr +##opril +transloc +indoor +skeleton +pacemaker +##bound +ws +globally +##olys +interne +figures +##iff +1984 +inhab +charges +1970 +whites +##ulture +zo +diseased +##ught +kingdom +rnase +144 +##oreceptors +internalization +raises +atropine +valv +##imensional +##urate +##roch +##ocryst +##rops +##52 +anaemia +microrna +##tide +consciousness +pacific +scf +spores +##omorphic +manufacturing +frog +cpr +##opause +thrombotic +postprandial +bbb +calp +acetonitrile +stenting +##cephalus +latest +nodular +coherent +tetracycline +hospitalizations +18f +chl +households +afp +affinities +deaf +cities +##iomy +vitreous +##ortal +oest +transmit +informative +tocopherol +chlorophyll +donation +likewise +infancy +potato +submuc +##oste +##oted +exclusive +taxonomic +seventeen +##optic +daytime +pcp +dal +supernatants +nucleoside +raising +capillaries +resten +explaining +irrigation +surgeries +##nps +vwf +agencies +increment +tang +conjugation +##neal +##olism +##azolium +##ilum +##ama +hemolytic +##uling +##uns +coat +transducer +osteoblasts +autoradi +vitr +secreting +##yles +triphosphate +##omotion +branched +##nals +##oplasm +comprise +begin +copolymer +##entanyl +infiltrating +vox +##oplasts +proteomics +sparse +diabetics +hinder +foam +cage +lutein +infras +sacrificed +##orporeal +cervix +acquire +tidal +distortion +trapping +vena +oligonucleotides +rotavirus +thinking +recommendation +radiology +nose +inexpensive +##atinib +package +mandible +measles +##imil +deeper +##birth +pir +##ochlor +progeny +triplet +career +vr +note +##eles +##hips +cryp +silent +##olith +contour +quercetin +##±1 +carbohydrates +##amid +pcb +dith +motone +specialty +##ophores +journals +hrv +##produc +##atelet +overd +##idi +##fulness +b6 +sciatic +exacerbation +insoluble +unm +outline +plantar +subcutaneously +lactobacillus +##ubs +pcl +postmortem +nev +mep +undersc +farms +##adium +disposition +monomers +pharmacists +##terenol +impacted +combines +##itoneally +cd40 +mediterranean +pix +neuroph +repeatedly +sheets +nlr +##ammon +cytomegalovirus +outlined +depolar +unin +crown +arteriovenous +##atil +hgf +##bles +rhythms +innervation +neurotrophic +eq +endocarditis +unsaturated +maldi +anorex +monocyt +phosphodies +humidity +##peritoneal +pand +##g1 +telomerase +##assays +##olk +cyp3a +glucocorticoids +proteinase +##organization +##athers +ovaries +##plicity +unfavorable +melting +bpd +came +seropositive +liv +##r2 +anp +benzo +##room +##acetate +##aceous +mhz +elegans +a549 +##requency +inverted +sarcoidosis +exclude +cd45 +ibs +ou +wb +##nic +##ogroup +prostheses +148 +dealing +cing +independence +osteosarcoma +primates +##hythmic +initiatives +##ectomies +periton +collective +amines +neurones +replicated +##ithromycin +undergoes +##uspid +overestim +instance +carboxylic +pak +flavonoids +audi +disturbed +pharmacodynamic +oblig +3a +snr +##imeter +distinction +holl +fibrils +khz +pneumococcal +catabol +searches +trigeminal +suboptimal +cathepsin +este +dopa +broadly +alloy +monophosphate +nifed +insomnia +texture +firm +nh2 +viii +penetrating +##enses +enk +mammography +cotton +gamb +kle +dutch +synchronous +litter +proteolysis +autonom +##l1 +parenchymal +competent +multin +salic +seques +3t3 +uncontrolled +determinations +kcl +##enders +steel +individualized +##inis +##oprost +stabilizing +endometrium +015 +exploited +##ogether +caring +fentanyl +plaus +nifedipine +tomographic +##oxication +##calc +timp +nsa +haemorrhage +##uminal +freshwater +##dynamic +altogether +gar +british +physiologically +alternatively +##64 +neutron +automatically +isoproterenol +malond +mps +accelerate +uniformly +##inoid +##roline +##orations +stretching +sensitiz +keto +implicit +trh +wing +##onder +keeping +compares +www +##izers +tow +tar +helped +discriminant +ry +arises +##85 +##erine +##quartile +controversy +phosphatidylcholine +discontinued +aba +cpt +intoxication +digit +cet +bifurc +baby +eat +coastal +ducts +audit +subarach +fk +##aul +notable +undifferentiated +##omide +transpos +nih +interquartile +explains +##trial +elusive +marital +bnp +disadvantages +troponin +parotid +somatosensory +bfgf +bod +ton +charts +mannose +suppresses +##etite +##riting +primed +attenuate +radiologists +protr +##pray +ecs +hept +touch +hydrogels +##inally +versatile +dispersal +superfamily +housing +intraperitoneally +leishmania +1d +multip +139 +bactericidal +leukaemia +##tebr +welf +flor +##ocele +tym +associate +robustness +redund +preserve +crops +cultivated +indole +posttraumatic +sew +peritonitis +bg +##amate +sport +##omatosis +extends +ventilatory +whit +virulent +characters +corrob +searching +fibro +linker +restenosis +##vern +fisher +discrepancies +esteem +midline +residential +bioinformatics +groundwater +supplementary +welfare +sit +globulin +qtl +##absorption +tibia +parenting +hemangi +declines +malondialdehyde +continuum +nationwide +flies +tablet +##71 +positioned +##ropyl +quarter +rheumatic +##axial +adjunct +ptx +reactivation +prolongation +lumin +freely +ppv +ocean +proposes +emulsion +cutting +nanocryst +##py +##urf +resili +implying +134 +vegetation +replicate +hyperthermia +iodide +hamsters +spanning +uninfected +flows +guanine +pyridine +inpatients +instrumentation +##uliar +##tt +##lated +oestr +jump +tips +altitude +topological +peculiar +prerequis +cag +toll +##ket +incen +nhl +kj +moral +menopausal +cgrp +esrd +dysphagia +amd +ataxia +oesophageal +##iliated +myofib +choroidal +alf +##ypsin +##actone +psi +posture +fluorouracil +impuls +erosion +durations +remn +##itch +infective +notic +##rect +permitted +offering +classify +psychiatry +##ticals +offset +stap +displaying +reality +methylated +##ondii +swedish +friends +methicillin +tremor +tracts +##oto +##ographs +references +plc +psychopathology +earliest +99m +delivering +##otri +documents +deleted +##cope +dichro +narc +##cycl +##best +231 +elevations +##icl +religious +microal +bap +##ishes +carc +pouch +cellul +subarachnoid +##oalveolar +emptying +diaphragm +disin +dots +##dc +012 +gaussian +prescriptions +s2 +##apatite +osse +##oter +poul +relapsed +histocompatibility +mib +occasions +atrium +dbs +cytoskeletal +diploid +inspiratory +buccal +##oglycans +1982 +inguinal +eyel +fg +continuity +##itivities +##aicin +##cl2 +precondition +destro +monocytogenes +##atrol +homogenates +leiomy +beef +string +readmission +prostatectomy +neurotoxicity +displaced +maca +odont +escal +photosens +naphth +osteoblast +adduct +##amins +afm +bulb +sentin +acceptability +lifes +ampk +grand +99mt +##osm +calculating +strictly +nrf2 +parv +tilt +pax +telomere +cavern +electromagnetic +multifactor +update +iris +##acute +carnitine +##using +ocd +cava +dehydration +anomalous +recoveries +##inous +smears +denti +discharges +epr +obstetr +orthopaedic +uncon +##ications +##iop +##ofrequency +uncomplicated +bpa +everyday +##ned +pores +morphogenesis +superc +##unctional +gastrin +cd25 +##veratrol +glioblastoma +reconstituted +pyrene +leave +opportunistic +adopt +repetition +menopause +thromboembolism +cirrhotic +rflp +##idia +grap +microcirc +carcinogenic +pun +136 +168 +##night +microin +threonine +##opoiesis +##orrhea +capital +stably +nhs +##itan +##istine +incorrect +endocytosis +bioc +checklist +directional +music +##esus +##therapy +##electron +tele +puberty +##xine +##imentin +pter +myo +cytological +##elastic +salinity +tal +paste +##eterm +##ford +##aginal +capsaicin +enterobacter +civ +cdk +rifamp +horse +pathogenicity +tears +preinc +##son +zyg +nid +##97 +alternating +##ulse +turkey +cave +kc +intermolecular +monomeric +proteome +rnai +apex +client +spacer +scl +duodenum +microfluidic +vimentin +hox +##ipar +##anyl +radiofrequency +zym +legs +cds +feelings +rectum +scattered +nsaids +electrospray +attracted +##icted +symptomatology +opac +squares +tert +refined +dressing +substitute +extracorporeal +metac +##hedral +operate +dipole +##romic +solve +ureteral +neighboring +norms +hdac +accumulating +anaesthetic +##oreact +1983 +recycling +maximize +papillomavirus +cd14 +5h +hen +##trials +unexpectedly +beats +retest +pesticide +seq +diarrhoea +clarified +resveratrol +##orphin +enrollment +outgrowth +knees +##forward +ny +##idden +##anch +concentrate +orange +wi +catecholamine +tagged +inferred +rim +adversely +##aded +fec +spectrometer +##izz +lod +##aryl +nanostructures +supers +acclim +teg +##acterium +descriptions +neurophys +##uistic +presch +justif +thigh +##uates +agarose +triang +hus +explanations +stated +ors +##rophin +repertoire +aven +erythroid +choose +recognizing +##udin +resis +aggrav +##othorax +mechanically +playing +gases +##opharm +congr +vagal +##zer +3rd +mms +sert +scot +stereot +##iring +##holders +tent +2nd +##bf +lactose +chitin +##estib +chromium +concurrently +neuropeptide +fundus +antiplatelet +epa +hamper +immunogenicity +##enone +outd +cpb +decarboxyl +intral +subclass +adaptations +##cor +clinicaltrials +signatures +iib +##azolam +desire +##orylation +quantifying +##leting +delir +niche +platforms +medically +oncogenic +ritu +##fen +viewing +##oxon +ileal +ninet +##erents +suitability +noticed +153 +belief +##dv +spastic +harmonic +faced +insignificant +probabilities +broil +nineteen +aps +##omegaly +##ei +maturity +##uber +permeation +gsk +scanner +twofold +175 +arranged +sickle +##imid +##ju +sorb +mirror +tubule +overs +alginate +nicotinic +gbm +neurodevelop +erbb +nv +hyperth +engr +prime +biotechn +stern +interl +linearity +##ectile +##isal +vegetable +hrt +##entic +##61 +molars +##atable +beams +lister +absorp +ears +##cnac +purch +sla +900 +clade +globin +fairly +convergence +sophistic +disclosed +longev +##oxib +freshly +99mtc +penile +aesthetic +rhesus +mari +nosoc +supplied +##esi +##orum +rituximab +emphasizes +clostridium +unexplained +cofactor +terres +zeta +defibrill +registr +conference +143 +friendly +starvation +carcass +bundles +gpi +consti +aaa +visually +mur +perturbations +belongs +##ago +##know +anaphyl +pict +##md +rhabd +##hp +passed +minimizing +parap +annually +silico +transfusions +sentinel +abr +trifluor +emergent +mcs +aiming +dmso +ultrason +##iax +##ham +latex +##uish +lich +calcitonin +abstinence +coal +locomotion +tetram +han +pcv +cavities +actu +##athyroidism +188 +dentate +sensitivities +dissip +mimicking +spear +blunt +##gin +##eas +##yll +preschool +dendrites +##vef +hrp +semin +xrd +endo +ltp +pericardial +lox +orthopedic +specificities +episodic +gcs +eph +##ault +lacks +uniqu +longevity +bridging +dfs +grains +frames +probing +clonidine +consolidation +polysaccharides +##ocarb +deuter +##epr +chlamydia +142 +##oluminescence +seaw +regimes +##erver +r1 +guar +lambs +figure +choles +chimer +l2 +transitional +burns +##cranial +alpha1 +nosocomial +vii +##ocarcinoma +stabilize +galactosidase +edi +##itt +pull +screws +easier +##orial +##timulation +##acylglycerol +dropped +untrans +makers +gondii +##bu +nanofib +dichroism +##uronic +intolerance +nematode +##iatr +##cil +senior +diazepam +ideas +ensuring +slc +decid +primitive +##icked +constrained +ups +prolapse +neutralization +resilience +provinc +fluxes +unless +addi +stakeholders +##entified +orthog +haloper +emerge +germline +theophylline +vldl +vasoconstriction +recre +org +crystallization +paternal +predisposition +luteal +##rofen +isra +yolk +primate +##ogaster +anneal +quartile +hsct +##agglutinin +##atoxin +##house +optimizing +ophthalmic +bradykinin +seasons +literacy +forebrain +dispens +pam +exceed +##ulous +absorbance +lists +##ervated +coff +adenocarcinomas +multifactorial +coronal +disrupt +programming +##trate +016 +inference +hydrocarbon +wc +##tebral +facilitation +peers +shoot +extrinsic +stressful +microbes +holds +prevail +genomics +165 +carbonate +navigation +parity +morphometric +##rp +entering +haloperidol +##roportion +feces +##erating +lacked +haemodynamic +equine +residency +loos +##isson +##formed +deprived +prednisolone +goats +##terone +gangli +filtering +game +gliomas +##otocin +defer +##duction +partitioning +psycho +##atally +schizophrenic +emphys +esr +adiposity +shortly +141 +013 +##etts +##ocic +##iley +evaluates +feet +bacteremia +photosynthesis +##lp +diurnal +collision +hsc +hypothetic +immunomodulatory +##idth +sphere +glutamic +occult +rop +pedicle +dap +barr +chemoradi +prednisone +ulnar +acknow +unequ +##abain +##ipa +##pine +glycosylated +obsc +spiritual +dying +gdm +gabaergic +predisposing +regards +subscales +myx +meals +delirium +arf +gaz +autonomy +##acetyl +occupied +suv +gathered +xenograft +gln +splitting +jug +convert +##ospital +bph +acetylation +##uent +lies +##ck +chloroplast +##ocol +##02 +cock +isoelectric +substituents +##con +iia +cingulate +facile +boost +psychotherapy +iat +##olipids +ouabain +##yrib +handed +##aliana +ciliary +bilaterally +##tains +nanoscale +oligosaccharides +punc +fossa +thaliana +subcortical +##observer +convenience +olds +eug +strips +scn +aneu +therapists +ascer +catch +hips +014 +eosinophilic +facing +neurof +sitting +pfc +##width +anorexia +lobes +firstly +considers +bisphosph +thalamic +##cholinesterase +##ken +poultry +##uccess +##riage +vitamins +laws +adjustments +beta2 +repro +pauc +linole +biocompatibility +prompted +files +sounds +ecology +##iaceae +##oxal +carries +mbp +excreted +mining +sister +rapamycin +360 +320 +varieties +vesicular +trimethyl +##ersed +##ipramine +149 +undergraduate +##v1 +n1 +glucan +retur +biochemistry +##agl +wavelengths +##quilibrium +consequent +##ropr +##uccessful +harvesting +nonr +intercal +lot +gastrectomy +honey +letter +##usted +158 +011 +shifting +foxp3 +notice +##wt +wine +hfd +solved +phone +versions +dynamical +taurine +syph +disproportion +corpor +neurogenesis +seb +##×10 +swallowing +peaked +win +presently +unsuccessful +##ifies +olive +piglets +trophic +thrombolysis +vulgar +ug +1981 +divertic +##efined +unpr +##usions +018 +##ognitive +##atized +##si +ribonucle +##amides +rom +worked +appearing +##amphetamine +interdisciplinary +diagr +pten +writing +benchmark +savings +degrading +b3 +solute +dosages +psychology +nasopharyngeal +mutagenic +supram +equil +oligomers +ncs +constipation +##vitamin +##lycaemia +##1r +##odermal +resembling +fim +##oproliferative +aneuploid +places +th17 +230 +brachy +##param +turned +concomitantly +algae +vulgaris +saving +predominance +homozyg +dere +gonadal +##gran +exempl +##obia +karyotype +intrahepatic +normative +encapsulation +##illing +moved +##icide +293 +granulosa +##157 +chemotactic +comment +mycoplas +switched +doping +##hydrop +stric +cruz +pitch +doing +1r +biases +crs +hematocrit +ingredients +constituent +##eld +metam +imposs +thousand +subpopulation +orch +##anous +##otoxins +topology +##cens +mexican +comprehension +chym +##istinguish +##imal +ihc +stems +crossing +##zo +bioassay +commission +2c +colocal +##inol +##ronate +poisson +belonged +1c +pineal +aided +##iling +streptoz +standardization +fi +octa +##ki +histi +##istering +advancement +##ried +##e1 +gastritis +oedema +##udine +mpt +subl +plasmon +explants +eus +##icate +transd +tinn +immunocytochemistry +jaund +crack +gate +speaking +erectile +transcranial +readers +ancient +##wich +sulfide +voltamm +incon +preced +ink +interrup +precl +acetone +nociceptive +appendic +##iana +encounter +##imotor +alcohols +##ano +alert +kt +decarboxylase +hydrocephalus +calorimetry +##exual +ticks +spearman +melanogaster +patterning +recognised +hollow +glandular +##ara +couple +ch3 +combat +father +##plicating +147 +toluene +carotene +280 +b12 +interruption +supplemental +lasted +anastomotic +extensor +assume +chicks +grip +jur +imposed +liquids +messages +terrestrial +pm2 +tinnitus +##okes +statistic +aldehyde +antagonism +quies +latencies +reoperation +inward +##eratin +grey +vh +detoxification +clav +drawing +sq +##unted +hepatectomy +foster +possessing +anap +message +##istinguishable +statement +##aminidase +annexin +sepha +ingested +##nac +incidences +bronchi +##tii +##atism +vmax +ruptured +polyuns +ctx +inbred +##87 +##ario +cca +warming +reconstructions +##ocytoma +autonomous +retroperitoneal +phagocytic +μmol +catalyzes +manipulated +subspec +estrogens +sepharose +ali +erythromycin +##ng +smallest +wit +mitosis +topography +017 +bevac +sophisticated +afferents +lactamase +eic +homa +forsk +gravity +uncou +gins +h4 +prokary +solids +restraint +tried +bevacizumab +##kes +tms +##itoneum +esc +holding +##ulo +choosing +poses +ebp +assimil +arabin +invertebr +##onergic +gbs +terminated +gemc +152 +radiolabeled +##aca +crash +hyperal +grid +comparatively +bronchoalveolar +msm +helping +nephrot +histochemical +##enicol +154 +setup +rash +gamm +##oresist +##abr +pandemic +mev +cred +secretions +instructions +beet +mpo +steatosis +tsp +enkephal +##opid +arbitrary +cps +eae +##imetic +attendance +lad +panic +nucleation +japonic +atcc +erythropoietin +uroth +indistinguishable +noneth +looking +thiaz +intent +matern +epithelia +##hem +ptc +##entral +intras +transportation +ecd +gating +capsules +##2o3 +##rov +##po +nonetheless +##globulin +ampicillin +coffee +favored +debrid +teen +transparent +##96 +qrs +aggregated +fractionated +distraction +basolateral +lvef +intracerebral +hypop +plausible +##udi +catecholamines +hetero +immunocomprom +polyunsaturated +gemcitabine +planes +autoimmunity +multidimensional +cyclodex +valence +localize +cores +interested +desensitization +##ainees +diluted +hydroxyapatite +010 +infrastructure +asbest +sensorimotor +contig +speciation +destabil +##i2 +debr +paw +quit +chief +das +driver +lever +sandwich +strands +lignin +thymocytes +afforded +tacrolimus +neuropsychiatric +multimodal +swiss +##aris +mimics +##com +##vertebral +##icile +fibrotic +deliveries +destructive +standardised +prothrombin +lymphoblastic +##ogrel +##acers +dyslipidemia +narrative +##ropol +##gus +##force +cited +##ammonium +dvt +projected +##ophthal +adr +##aec +##arate +shrink +##tisone +px +##othiaz +flowering +##endicular +hyperinsulin +caudate +cotrans +cbt +ltd +bmt +multifunctional +forskolin +utero +eif +beat +pss +chew +serotonergic +equipped +chemotaxis +antinocic +cytometric +neurosci +biosensor +antagonistic +##ublic +##olinium +##imab +##osphere +inducer +barley +cholera +steep +vigorous +mesop +klebs +neurogenic +advancing +bari +myof +##itinib +constituted +folic +##here +##oge +overnight +##opent +arthroscopic +cocc +atri +inspection +##ovol +schedules +aed +hypothetical +cleaning +synchronization +fails +capsular +lex +uveitis +cope +ejac +fathers +##94 +coatings +neglect +perpendicular +personalized +intrathecal +telem +##acted +hydrolys +polych +156 +alkaloids +flo +nonm +vegetative +lifespan +hydrodynamic +embryogenesis +modulator +##enedi +amyloidosis +##itates +prerequisite +interconn +monos +silk +##tention +vasodilation +prion +##elioma +h7 +##astin +wbc +erp +nigra +collections +dentists +buffered +multifocal +192 +etiological +modulators +##imburs +devoid +upr +ewes +##acia +bupivacaine +eukaryotes +roughness +otitis +##elity +##iximab +haart +pcbs +##edicine +aun +costly +##emoral +covers +##ocyanate +eliminating +thyroxine +operon +##oxazole +hepatoma +v1 +shedding +24h +electrocardiogram +book +neighbour +republic +friction +wol +##oliosis +advantageous +occupation +##enium +vicinity +microglial +270 +tu +digestib +##oventricular +blacks +hydrophob +pyrrol +##5a +##olor +predictable +##odom +echin +##oves +repeatability +oat +##estin +kpa +##ij +reimburs +##ecu +recon +semiconductor +##vert +flora +intrig +ferric +coma +##oxins +discs +tunel +celiac +##inescent +maneu +impossible +##inone +streptozotocin +##ulinum +tunn +secrete +going +pictures +analyte +##angu +##ardiac +cytokeratin +twist +mutational +dissociated +worker +sic +folds +trapped +apob +surrounded +##ael +alleviate +phosphodiesterase +inspired +straw +##adine +layered +bz +meiotic +c3h +nh4 +neovascularization +gfap +wavegu +campyl +ets +resections +pcna +till +damp +visualize +licens +##agas +repaired +immersion +##uzumab +##oplasma +pointed +t2d +##onomically +##entful +##apeptide +counselling +advis +reconstructive +restrictions +dwelling +originate +##eresis +mist +##aenoic +##fraction +syphilis +allografts +syncy +sts +imt +tuned +chambers +uneventful +store +herbiv +hens +evolve +##etent +palp +homo +klebsiella +adjunctive +immunocompromised +difficile +sativ +##algia +##olia +edges +nationally +coum +tricuspid +modular +sequentially +redistribution +ovid +epstein +micropartic +##trypt +##osteric +neb +sigmoid +unidentified +labile +protons +receptive +price +##azepine +msec +huge +env +drg +workload +antiproliferative +augment +reconstitution +pufa +instant +##1a1 +pertin +##eit +tensor +##class +pharyngeal +cec +trainees +stic +replacing +surfactants +##mer +cts +formaldehyde +restorations +##phenol +unpreced +nanor +oblique +isotherm +##idis +##drug +mosquitoes +exacerbations +clopid +scid +contrad +voxel +ehr +2r +ua +ec50 +hk +cnt +saw +stz +apoa +manus +nep +harvest +guiding +filamentous +unprecedented +outper +ascertained +purkin +udp +elucidation +sixth +aper +##ineral +amphoter +clopidogrel +supervision +##opolym +frameworks +synthes +activators +analyzer +intraepithelial +##bt +purkinje +qds +microbiome +biophysical +elsew +pim +chrys +gle +campylobacter +compressive +elsewhere +##wa +##ethanolamine +purine +ending +companies +productive +interneurons +effectors +integrative +pbmcs +preex +immunohistochemically +##ira +##ilton +##emide +frailty +encouraged +anticonv +osmol +warning +dissected +straightforward +peroxisome +##oct +##astically +filtered +glomerulonephritis +##adone +thyrot +elastase +##nem +cxcr4 +##oscope +isoflurane +underestimated +hunting +##rogl +cruzi +ribosome +occlusal +##iabetic +coenzyme +feeling +succinate +torsion +subacute +legislation +##oneg +strategic +uvb +##itants +atlantic +spong +ventilated +mug +infrequent +leukotri +##issive +infan +mesang +eta +vehicles +a3 +##oprote +##level +hydroxylation +orthogonal +jaundice +thy +biodiversity +151 +listed +bariatric +bos +##ycle +mif +##ylyl +gib +conjunctival +wheel +ulceration +depress +260 +##agues +nonsm +shut +trachea +pharmacology +oligomer +pole +##had +##91 +##iva +luminescence +ensemble +conting +mao +moments +imaged +resemble +danish +hbe +adhesions +spirom +hydroxide +rick +resum +deph +opinions +collagenase +plga +dss +intriguing +##562 +##amphenicol +##rical +flexor +neurodegeneration +##graphic +synt +##loxacin +manuscrip +pneumon +hamilton +trimeth +gata +##etaxel +confusion +emphysema +ao +##tizing +microvess +##pg +##tilled +confirmatory +dlb +##azepam +##epile +ascorbate +erythema +trout +penicill +iol +##osecond +h1n1 +flood +##uresis +arrival +tunable +reorganization +##tl +docetaxel +porphyrin +wedge +norway +cyp2c +cohes +consecu +appetite +safer +iterative +pover +computation +occluded +##emp +abiotic +hyperpar +bioreact +asn +polyd +##opsin +##ason +serous +immunoglobulins +ye +##tructured +poverty +ontario +gum +##plo +ara +μl +opens +jugular +##bing +157 +tha +diode +ccs +genotoxic +immunogenic +brca1 +methadone +mant +scatter +fvi +ionizing +smc +ventilator +dx +mannitol +microarrays +##emias +ku +exchang +devast +rostral +pher +benzodiazepine +bread +##bg +compensate +falling +cuc +mcl +mm2 +##asth +emitting +willingness +ovx +qrt +consecutively +abrupt +metabolized +l3 +sickness +iiia +oxalate +unre +igg1 +unfolding +ellip +transformations +atrioventricular +ceramide +ended +ferment +ards +substantia +##his +reasoning +ribose +mgl +photocatalytic +exit +conferred +##ko +albeit +glycolysis +lbp +##thrombotic +##arith +scoliosis +750 +##itely +reaches +rbcs +pigmented +hypn +myrist +##yridine +fidelity +oroph +##obiotic +##atheter +tka +inotropic +tracing +mastectomy +##bens +utilizes +anhydr +lie +acted +coming +approached +ori +worth +slides +##juana +granulomatous +##atility +guarant +reinforced +harboring +reticular +married +reflectance +granulocytes +paralleled +apl +##rosy +vasoactive +pertinent +##b3 +eluted +corros +##uce +##faction +macroc +shig +retarded +motivated +macromolecules +philos +digested +1500 +tactile +##olymph +paroxys +export +energetic +##otherm +defence +##obutyric +crim +caesarean +portable +biogenesis +install +177 +unr +antagonized +editing +fes +phenyle +weather +richness +uniquely +##ellate +heroin +healed +##urition +metron +ancestral +sutures +##hc +##glucose +bear +1979 +isotopic +thromboembolic +spikes +hemolysis +neglected +cz +##aturation +verification +ascribed +infiltrate +phle +pill +##airs +coordinates +##omogene +pluripotent +hidden +bromo +colleagues +overlo +accumbens +mct +destroy +##df +acetabular +denaturation +migratory +agriculture +phenylephrine +revolution +workshop +restrictive +investment +denervation +glucopyran +acetylcholinesterase +##idus +midazolam +centrom +polymorphonuclear +pag +incidental +sln +appoint +begins +lytic +##ifers +abrogated +temporally +advent +gauge +chloramphenicol +constriction +authentic +chemilum +conflu +retinol +convergent +rct +spore +intract +hypercholesterolemia +inclusions +aav +cct +infest +implication +dol +ovariectomized +neurite +cta +sct +##ankton +begun +prostaglandins +damaging +##olated +helices +tends +##odeoxy +debridement +cyclohex +vibrio +elasticity +motions +pairing +epiph +tender +etop +blindness +acne +35s +arsen +topois +oxides +##estock +tann +debris +narrowing +##well +outlines +doubling +spiked +mitogenic +pherom +microstructure +thromboxane +livestock +appendicitis +p27 +##onad +deformities +logarith +##icine +relates +harmon +empty +##life +asbestos +supramolecular +##achol +coexistence +##oem +disaster +cd2 +enteral +pea +labels +notes +mmps +wky +hallmark +##odia +oscillatory +census +ordering +##rna +glycosamin +##oviruses +supra +##icially +lessons +irs +##ozapine +sonographic +suck +##aminophen +disparity +caco +ais +graz +biol +answered +analgesics +pie +##odeox +##ubated +174 +no2 +etoposide +breeds +detr +yag +anticonvuls +anisotropic +averaging +valvular +liposome +##att +enthal +anger +euthan +consultations +marijuana +tonsill +anthrac +cruciate +washout +lysosomes +toxicological +glcnac +infectivity +gaze +declining +auxin +necrotizing +wiley +amphotericin +syring +##align +paradig +business +stemi +discer +disciplines +159 +bradyc +coexp +nonf +nanowires +compulsive +intravitre +interven +lec +##thi +awake +contrasting +205 +technically +implantable +paradigms +halluc +virgin +oscillation +o157 +##tian +hev +eru +intranasal +##yne +chir +computing +binge +checked +fx +##april +explicitly +visu +radionuclide +##noea +chorionic +dies +drops +leprosy +hazardous +thalassemia +mics +bite +roughly +controll +##arring +hung +bit +orientations +hek +##inesia +serocon +transposition +##oselectivity +consor +sialic +k562 +epig +##olus +##ovsk +##pic +explos +##ulph +##apopt +antidi +lining +compatibility +##b4 +comes +enorm +019 +spss +remodelling +herpesvirus +scs +##aked +xenografts +multilevel +missense +cdnas +pc12 +untranslated +remainder +mitigate +operatively +slit +jet +aromatase +##opeptidase +abscesses +renewal +bomb +##yelination +metropol +fluctuation +catabolism +chondro +porosity +rods +##uoden +insem +spatiotemporal +mismat +b7 +thousands +##dehydes +##±2 +##igibility +intractable +methyltransferase +esterase +interpreting +##sulf +##through +influenzae +opiate +fe3 +templates +preconditioning +srs +plug +thp +repressor +neurodevelopmental +hns +ipv +mek +##uprofen +##odipine +thail +subscale +##tegration +ampa +fingers +spermatogenesis +opened +culturally +devastating +##arone +fulfilled +devised +governing +epist +drb1 +##ocks +drift +caloric +photographs +thailand +##76 +obliter +antipsychotics +whitney +paucity +gmp +##isters +##retin +kinematics +##uridine +sibling +invariant +##qi +craniofacial +##oxan +pct +catast +innovation +biodegradable +##orphine +ameliorated +rew +##nish +midbrain +##optera +hms +sewage +pra +stereotactic +##arby +occasional +carbachol +confers +clozapine +rendered +pms +amphiph +##minth +naphthal +injecting +##ivocal +unal +dermis +##iens +relapses +##light +182 +assemblies +basin +##yb +pathogenetic +row +ud +nephritis +##gesia +##heal +atresia +linguistic +ordinary +semiqu +no3 +acetaminophen +photoreceptor +divalent +hyperparathyroidism +alcoholism +reproduce +stratum +185 +linoleic +##aned +##othane +chloroform +reti +ureth +##3b +##ocyanin +genotypic +trisomy +think +adrenaline +dams +initio +##enib +endors +disclosure +compensated +rabies +##clusive +reu +ams +mesangial +shot +##orus +##oplasia +lu +##arrhythmic +##74 +pharmacotherapy +crosslink +cylindrical +elongated +boron +##erals +pressor +tregs +##tail +deployment +warrant +ibuprofen +creates +bare +owners +##osulf +serov +eyelid +electrically +##aventricular +alkali +transfers +packaging +strikingly +hydrolase +delineate +##net +scanned +annotation +nip +##rophosph +philosoph +masked +captopril +botulinum +##entions +##afluor +nach +pq +supposed +tcp +solubilized +bird +cephalospor +authorities +organisation +cyanide +distorted +quater +mount +fvc +memories +washed +fad +fistulas +thoroughly +nanomaterials +inflamed +resembles +goat +##phase +relapsing +assurance +ria +antiepile +brachytherapy +flower +societies +unaltered +maxill +cms +heads +eligibility +insert +ventricul +acknowled +discriminating +council +enantiomers +abstr +mj +invited +halothane +argued +##utation +preventable +polyst +superimp +bridges +robot +p65 +pda +reader +##2c +myopia +##orphic +225 +popl +dipl +capsid +##kal +sertoli +egfp +cytologic +##mu +crh +##istan +contraception +crossed +randomization +##phos +micronucle +##obium +##ilin +junctional +##lofen +162 +impairs +dimeric +vor +aggress +##93 +doll +bla +gaining +##sd +##atre +ultrastructure +xi +judgments +nitroph +factorial +ral +minus +enkephalin +##roma +##ronch +annealing +##eller +splenectomy +xl +178 +##onge +##recogn +transduced +checkpoint +priorities +empower +##olase +leishmaniasis +triton +positional +##oris +arrested +listeria +gadolinium +adipocyte +##kinase +crystallographic +##oned +neurole +eruption +prur +breaking +lethality +creb +##omeres +##peridone +shrinkage +##elic +mmc +microf +##plas +puer +anatom +lipophilic +hemostasis +4th +nonun +digoxin +##thermal +tether +##eastern +rhabdomy +siv +eluting +##osomiasis +dtpa +seawater +##bur +nigeria +mediation +##ogluc +fluc +introduces +immortal +##f4 +neurocognitive +acidification +hydrophobicity +streptomyces +bioactivity +##orth +inhomogene +sarcomas +paramagnetic +spacing +immunocytochemical +comprehens +drinkers +##oinos +pyrimidine +astrocyt +##ospasm +hampered +photonic +saph +you +atg +jejunum +photodynamic +statements +ventricles +occlusive +homologue +ornith +specification +chord +listen +residing +districts +simulating +32p +##trated +dialys +##iculus +him +lun +worms +subsp +ternary +denitr +cd13 +lati +tetanus +bandwidth +prodrug +organis +educators +situated +melanomas +genis +symmetrical +##onates +preparing +fna +pulsatile +bifurcation +ranked +##legia +objectively +cubic +oxygenase +refinement +##akary +cream +degrade +territory +##ingly +execution +syncope +zoon +hairpin +intima +g6 +##ispens +hyaluron +historically +1978 +diastere +adequacy +numerically +soleus +anxi +##mitters +##roscopically +vdr +##olars +paroxysmal +shares +proceeds +chloroquine +environmentally +oesophag +##ometrically +lying +etiologies +doubled +164 +bilayers +cpap +parp +drastically +reactiv +fluoxetine +##lasia +##ini +groove +allosteric +lentiv +l5 +nct0 +etiologic +dysm +permeable +##nc +polycystic +##iant +##ineural +heated +banding +abnorm +melanin +osteoclasts +ffa +trin +neurotransmission +cadaveric +holes +backgrounds +farmers +calibrated +strengthening +push +dilem +ems +lamellar +radiosens +##ami +impulse +166 +##idene +reproduced +whee +##yryl +195 +tio +monoph +##oplatin +reared +oestrogen +superiority +nondiabetic +coarse +immigrants +twitch +placing +evaporation +manipulations +##entanil +##ocutaneous +hydroper +streptococci +flowers +##ocyclic +##eprazole +burnout +indispens +evening +##uro +##aterial +##yrid +repressed +cmr +sett +bean +evac +additives +reviewing +outdoor +##methyl +reflexes +aminoglyc +quadru +mycoplasma +cloud +connecting +choroid +paracrine +##onation +canals +scap +pedig +answers +iatrogenic +##ocent +michael +substanti +shallow +engraft +probabil +autoreg +ferm +shaping +fis +##idinium +imrt +participates +hundreds +adri +sga +infertile +infantile +cycloh +spheres +concan +monoxide +5th +herd +endonuclease +doi +##lysis +amenable +valpro +amphib +0005 +glomeruli +264 +mimicked +symp +synapse +pest +##aturity +multist +##apoptotic +nmd +trough +cftr +##olab +##allic +reviewers +probabilistic +expectation +visited +uncertainties +heterozygosity +muller +##asin +anthropogenic +e3 +##phi +plei +##ropin +##kb +sp1 +completing +dsc +elementary +hydrolyzed +dephosph +counterpart +mortem +ppd +167 +##orphyrin +##atine +colch +judgment +transgen +tnfalpha +cron +po2 +##ofuran +1975 +pyrophosph +titres +androst +equivalents +metalloproteinases +dimeth +clotting +myofibrob +migrate +ideation +aza +##fection +##berry +nz +interrupted +pbl +cnv +spa +cic +proposal +confron +polystyrene +phosphoryl +##timulated +dinit +##omatis +incorporates +interests +csp +clinicopathologic +scene +steric +##lys +imperative +nanoc +failing +committed +exciting +lpa +oleic +mediastin +workforce +dwi +submucosal +##yron +##rals +axes +secure +hed +##alis +##onegative +concre +##atergic +seeded +gallst +##anat +##yseal +igg4 +phylogeny +mounted +obstacles +tendons +maintains +rigidity +simvastatin +##azosin +said +carbap +dividing +descriptors +##book +suppl +stacking +g3 +witness +geometries +##187 +##opreval +sponge +##86 +pleth +##ja +marginally +asparag +justified +diphosphate +synchronized +##anide +lond +ameliorate +eclam +syngene +smoked +##ishment +mts +trophoblast +##urethral +monoamine +conductive +seropreval +abnormally +mobil +dish +##ximide +methylp +ch2 +hook +metropolitan +cyclodextrin +ecmo +song +reprogramm +##oretin +worst +genistein +wards +kar +handle +hypoplasia +acros +##icides +marketing +granuloma +mycobacterial +##ima +163 +unmet +arose +herds +raf +reacting +motivational +##omatic +strengthen +##hu +##arenal +##adec +barb +restoring +occupancy +blastocyst +##avalin +quadric +patellar +anchored +tcm +##vian +glutamyl +lect +traction +inacc +climatic +##ocystis +##azo +##transferases +##lab +##inic +##ympath +subdivid +speeds +sterol +bleomycin +o3 +oligo +sevo +biomaterials +deals +i2 +##aulic +drawback +6j +pharmaceuticals +scavenger +megakary +thematic +bib +disag +chlorine +acinar +fove +sinusoidal +syngeneic +##orem +##p4 +gerd +neurotoxic +readings +##entistry +##ximal +swabs +phenotyp +172 +##x10 +h⋯o +eradic +169 +##acea +feat +premenopausal +cd16 +violent +disabled +abstracts +introns +topoisomerase +survivin +unrespons +acetyltransferase +chaperone +carboplatin +forests +minerals +correspondence +retroviral +dispersive +osteomyelitis +##oly +hhv +glycosyl +unpred +rhamn +empirically +subtraction +hong +nyst +bioch +stricture +adrenoceptors +accred +##esp +synergistically +larynx +disposal +thc +vacuoles +vasodilator +mildly +nest +quadrup +catalyze +addic +ei +glutamatergic +proteoglycan +intimal +demanding +##imilar +perfluor +myeloperoxidase +intravitreal +eclampsia +bead +5d +concanavalin +retrovirus +##ospecific +##oxylin +viet +deacet +trachomatis +specially +dangerous +imatinib +mth +acp +##arians +physics +icr +cyclosporin +##terolateral +##inus +lym +##burg +androgens +dithi +neurotransmitters +212 +resembled +monoc +ortholog +##sr +gpa +manually +infect +adds +dentistry +oryz +##uitr +perivascular +reuptake +lem +##tryptamine +covariance +xanthine +##otonic +##inia +ken +adver +##amers +butyrate +steroidal +nanocrystals +##onasal +photoelectron +rectus +corrosion +cardiology +rhythmic +methacrylate +##l2 +##ocene +epicardial +glycans +##ovalent +chemopre +##cys +limbic +decided +consul +peptic +##anthine +instillation +##oflav +nis +suspicious +##uctal +176 +brdu +elucidating +cavernous +constraint +civil +161 +nephrotic +wearing +brack +##thesis +intercourse +orthotopic +blo +fragile +niger +pgf2 +quiescent +msp +lpl +contradict +perceive +lasers +funded +lactating +appraisal +##athic +supervised +cryo +uti +pertaining +pcd +precipitated +dab +birthweight +evaluable +counted +##anthin +copolymers +pph +preincubation +scarring +referrals +registries +##agger +integrins +retraction +alpha2 +bedside +motile +breakthrough +##operiod +##ymic +ionophore +##kd +##ocalcin +chemoat +glia +polycyclic +yeasts +imagery +pean +dissatis +homeostatic +##uses +thoracotomy +bradycardia +xenobiotic +##imine +bivariate +antiepileptic +informal +london +pubertal +deemed +eia +saphen +barium +underp +##c3 +tachy +bun +##400 +analysing +amy +dict +indispensable +024 +longest +##nv +fertile +preh +snail +triti +pei +microcirculation +intracl +sevoflurane +##ocap +028 +2d3 +moss +reserved +extrusion +metronidazole +folded +bcs +engaging +ranking +colchicine +irritation +dereg +hardness +biodegradation +##iteal +preexisting +bon +urothelial +cancerous +guanosine +jejunal +heparan +albino +##cus +186 +##atars +##ava +##etron +adl +183 +##ifera +hsp90 +contributor +256 +morphogenetic +##orectal +chondroitin +sv40 +##odys +cddp +cytosine +##urred +##thra +arrangements +nematodes +##endoth +artifact +flour +asph +brass +practically +##lofenac +electrocardiographic +resonant +uf +appreciable +##ogue +amoxic +intentions +reimbursement +motoneurons +weighing +lacz +paran +portug +prison +denmark +##orrhiz +rotating +lichen +1960 +##ieu +##82 +germinal +rescued +mtb +intimate +microparticles +complaint +substituent +mont +vpa +wax +##odynam +serologic +atra +lysates +refers +doubt +k1 +intraventricular +##idate +##ip1 +cryopreservation +mucinous +gambling +enormous +graduate +antiarrhythmic +gastroc +autoradiography +##t2 +macrol +##otin +dysk +seroprevalence +##ithiasis +##ancing +suction +atrophic +propionate +021 +alex +sequestration +moll +vb +hyperalgesia +neurosurgical +subfamily +prism +unrecogn +interior +secondly +fitc +alarm +181 +023 +acanth +carn +pyel +gpcr +anchor +##otracheal +insertions +engraftment +examin +infiltrates +reconstruct +mucous +autocrine +lncrnas +burd +bovis +insult +triage +ppb +##tc +metaplasia +slowing +photoperiod +biop +pairwise +sof +222 +##iters +##ado +unsu +kain +rankl +tnm +203 +leach +morphologies +outward +superconduc +municipal +ugt +##μm +pis +try +##olded +pectin +pathologists +arterioles +fmd +carcinogen +##ugg +mutans +sleepiness +enfor +commonest +gluten +carpal +027 +hyperlipidemia +gpr +deer +antim +dhea +macromolecular +industries +unamb +tcdd +pixel +##articular +mole +dsa +interobserver +inoculum +fmol +tlr2 +oestradiol +##89 +xr +##ytoin +p2x +inconclusive +##apsed +persists +##romatic +overlooked +4d +##abdominal +traps +mm3 +formulas +204 +centrally +depths +##idation +pla2 +israel +##oplankton +cortices +lor +luteinizing +expense +##itidis +flavonoid +complexation +unpredict +##thoracic +lipoxygenase +##brand +bursts +tmj +##igo +exosomes +bam +##arine +chori +aldehydes +exactly +dystonia +h5 +thyroidectomy +printed +warrants +azo +tad +##opeptide +subdivided +##olis +headaches +speculate +vietnam +202 +burk +##gut +mcc +ctc +##uated +pneumothorax +helminth +hydraulic +foetal +transcatheter +billion +lectins +biocomp +attenuates +##ympathetic +zirc +diuretic +trichlor +dba +unambiguous +administering +retaining +##125 +translate +ancest +transmitter +singleton +tic +airborne +glycan +suggestion +##mas +elite +methamphetamine +minimized +##84 +gleason +##icated +principally +vn +remnant +odd +fasted +epoxy +unsatis +##ille +##ellosis +##word +strokes +thro +needles +hyperthyroidism +ivig +rubber +ovalbumin +ator +foraging +qualified +noncoding +lose +fun +##enh +oscc +##omn +sinuses +thrombolytic +synergy +encounters +codons +##tons +imprinted +##adel +serogroup +##brt +##ticism +succe +pz +glucosidase +ultrafil +attract +unt +dysfunctional +rumen +##rosine +urtic +osteoporotic +inequalities +##rein +171 +hyperv +skew +gpx +interacted +regressions +cbct +enterococcus +173 +passing +transection +nowad +nonster +halogen +etching +diversification +criminal +mite +##asant +indol +visco +nowadays +##epines +blunted +##uitry +migrating +unem +gastroesophageal +escc +liposomal +##ifiers +teacher +vertebrae +##mr +##acillin +bold +cannabinoid +advertis +##icit +accidental +##entin +morbidities +amplic +incidents +exertion +educated +##enzymes +##field +efferent +denture +##prof +dre +reasonably +leaflet +conflicts +##acies +##gamma +proceed +quadriceps +pathologically +##eve +malays +thermo +##oxamine +osteocalcin +rotator +competency +##avirin +lax +##iensis +##atech +atlas +disequilibrium +paths +exceptional +##eximide +quart +colorimetric +acrylic +##ecoxib +exocytosis +ptp +##ofil +neurophysiological +bever +closing +volunteer +salient +psycin +steadily +psycinfo +ossification +plastid +##uman +phenanth +arguments +mcr +foramen +company +rfa +yog +1976 +##regn +neonate +psoriatic +##robenz +##utions +pta +cycloheximide +abor +##ostat +concordant +pointing +unified +ovine +isopropyl +##elected +gdp +##icc +cd20 +norw +hatching +threefold +cres +myogenic +##olones +cancell +predator +greenhouse +##like +206 +chewing +wells +quaternary +tank +inqu +##ilance +1977 +algal +##etra +ecz +finland +##opamine +socially +hardware +dar +hepatotoxicity +payment +osseous +ready +incompletely +membranous +fishes +gun +hscs +fort +immunocompetent +pigmentation +adriamycin +leader +tremend +##ethylation +cascades +polyphenols +msh +ridge +##oprotection +atorvastatin +encompassing +diclofenac +neurofib +panc +questioned +blank +022 +emphasizing +##osurgery +tags +waveform +##92 +exacerbated +026 +##ydig +sephad +diaphragmatic +##onomical +staged +oxidizing +enucle +##bia +classifications +faecalis +l4 +sephadex +graphical +##etary +duty +biphenyl +exhaustion +fluoroquin +##aki +##itories +intraclass +pellets +##argin +##omycosis +mans +##cing +amoxicillin +gynecologic +uncovered +##oca +opn +bark +fiss +##omandibular +uremic +nuclease +nearby +reductive +exploit +sas +wilc +ribavirin +##ticle +snap +combinator +svr +##gc +staphylococcal +heritability +primord +representatives +aminobutyric +dnase +##alg +stature +compartmental +cbd +gill +eosinophilia +chemoattract +invasiveness +turk +fibros +##oencephal +publicly +##vd +mong +mra +##holder +apple +trypanosoma +##olysin +leaching +saudi +overproduc +##electronic +cronbach +clues +calcified +therapist +got +bout +kall +scars +##ql +condyl +fusarium +attainment +cassette +quinone +dext +184 +evidences +aliph +leydig +saphenous +vice +msi +absorpti +187 +multicent +decompens +pepsin +kong +condensed +mesoporous +##odopa +kits +markov +reversibly +##afenib +leptosp +##alline +mush +agglutination +isopren +##othing +phenobarbital +homeless +nts +##fly +bubble +interpretations +##oinositi +##arity +observing +lymphadenopathy +##awa +##etization +laun +nag +societal +separating +detectors +##astig +mountain +braf +libitum +cd28 +aeg +risky +constantly +letters +pumps +##plicates +recap +interrel +transaminase +##opathological +##antit +assemble +kp +reabsorption +affiliated +mycobacteria +histomorph +operators +##axin +zoster +cfs +kel +##epid +cpa +kat +##acrimal +perovsk +classifier +proliferator +probnp +cmc +culturing +economically +sarcoplas +arres +counties +disinfection +serr +expenditures +pcc +5000 +infliximab +##oco +lobectomy +binocular +##formation +hcmv +beverages +##ulline +associates +##otrypsin +haematological +deoxyrib +purely +cheese +ban +elastin +##ogenin +backward +egcg +psychiatr +hsd +thermally +disrupting +##alo +dural +nervosa +fermented +bacilli +calpain +anesthetics +sers +##occl +etoh +208 +eccentric +ornithine +hyperg +psychomotor +ribosomes +sacral +035 +latit +dysfunctions +sectors +##oped +pericard +entail +edition +tetrah +##iparous +constitution +anticoagulants +216 +##oresp +##itives +hindlim +ruled +discussing +dorm +holistic +gastrocnem +aliphatic +emitted +recreational +compute +antih +wille +pls +##aneurys +endocrin +##ofemoral +manuscript +##ellae +sharply +chemiluminescence +weal +##idomide +voiding +ultrasonographic +obsessive +##appab +##ronchial +##eptin +hmgb1 +lakes +shaft +ketone +ambiguous +tas +genesis +##fin +clay +wel +lesioned +##mn +vincr +consortium +simplicity +coral +absorptiometry +bacteriophage +##osterol +mesothelioma +damages +voltammetry +gout +##yelin +exagger +p300 +3000 +seriously +ankyl +gynaec +chop +followup +carbamazepine +urgently +certified +##imethyl +lingual +carboxylate +masking +thior +saharan +330 +recognizes +kap +##anda +contaminant +##agens +##rows +dnas +outlet +##oreflex +impulsivity +withdrawn +b16 +colloid +inev +producers +##ubstituted +tca +spo +##anum +worsened +##yline +bloodstream +##tigo +##adap +thoughts +immunophen +punct +annular +##aggreg +contracep +inhabitants +rifampicin +provinces +tuberculous +fluconazole +##ocus +correlating +##arboxylic +defines +osteogenesis +digestibility +commens +insecticide +##ecia +##anil +##endym +spectrometric +##aired +academ +abdom +##edullary +runs +wilcoxon +fascia +lengthening +801 +##oo +heightened +combinatorial +whenever +anxious +ssp +graves +dti +deprot +poland +provoked +posttreatment +##ynch +combustion +abi +ada +levodopa +endotracheal +electrolytes +modifiable +maximally +galectin +distinctly +hexagonal +0002 +throat +cid +lanth +multicentre +zol +outputs +ocul +proxy +lub +##rb +extravas +pediatr +parasympathetic +##acetamol +vv +ortho +intu +##oviral +partnership +contraceptives +xylose +pect +stains +fibrinolytic +hither +gastrocnemius +rins +willebrand +vincristine +encl +238 +categorical +wise +179 +214 +loh +gil +styles +resolving +semiquantit +sustainability +##adish +franc +governed +shortage +eut +##wi +##adesh +##analysis +hitherto +circuitry +versa +##ults +##oxidation +##asion +genders +unemploy +pollutant +isotropic +209 +necrops +cryptospor +leis +loosening +fellows +##ocyanine +bidirectional +associative +arthrop +##artum +unmod +stations +##ald +antimicrobials +hexane +seronegative +practicing +##uretics +meiosis +##osting +adopting +texas +nephrotoxicity +pine +restorative +pale +##tz +193 +tetrachlor +redundant +sustaining +furos +coincided +landmarks +dece +##tistic +tryptic +##ussion +##oconjug +vals +biotrans +ontology +##agglutination +##iodarone +generator +nash +vitrectomy +neuroscience +hypon +handic +oncological +glycolytic +hypertonic +dimerization +identifiable +exceeds +physiotherapy +regenerated +##onide +manufacturers +devoted +ligase +virological +rumin +artem +photochemical +##whel +hps +attraction +##west +##actam +psp +##trained +pheochrom +relatedness +feline +grp +benzodiazepines +complained +schistosomiasis +sio2 +##osyltransferase +hnscc +russ +carotenoids +lymphadenectomy +ultraf +generalization +##aro +click +splenocytes +##yal +spasm +chelating +nearest +##ariae +##side +rainfall +sst +##ateness +clp +nong +hypercap +anaplastic +##f3 +furosemide +microch +tlc +diamond +##obenzene +chose +intervertebral +airflow +proliferate +pupil +##une +eventual +phonological +##osperm +fle +synucle +permeabil +favorably +predispose +discordant +tma +caucasians +noradrenergic +reacts +drinks +##trac +herniation +official +overwhel +mmse +leisure +citiz +##kg +##ophor +metastas +horser +##ophthalm +pige +referring +prepro +streams +returning +##so4 +wait +och +concrete +heifers +microfil +diuretics +coexisting +##ume +esbl +carriage +toxoplasma +circumferential +raph +transthoracic +##odynamically +spines +##bra +homologues +vulv +compressed +rag +bifid +overdose +##osc +cleared +##aut +heterosexual +##otecan +nicotinamide +colonized +##erh +##ref +cyclization +internalized +beck +closest +233 +magnetization +broken +implicate +sarcoplasmic +compete +##pregn +facet +simulator +##83 +geometrical +p2y +horseradish +pmma +batteries +harbor +serology +##ophytes +##obacterial +huvecs +##umann +carcinogens +impregn +preferable +complementation +dcm +##omon +1990s +aperture +cardior +215 +paracetamol +empathy +concentric +outstanding +itp +transdermal +##eri +gard +dosimetry +intramedullary +myristate +regenerating +207 +contrasts +##oplasmosis +forec +myopathy +refuge +g4 +femt +attribute +hypotensive +barc +bq +nations +disadvantage +annotated +achieves +imidazole +navig +gingivalis +crosslinking +t1d +noncom +diol +##fas +##una +223 +urethra +##ofer +hindered +htt +resonances +fluoroscopy +cim +enum +hyaluronic +##oxycycl +phenytoin +realize +##erae +##urized +mptp +sleeping +epididymal +persistently +cdi +synuclein +##ostom +##alcoh +discipline +osmolality +linkages +contacted +toxicology +derivatization +harbour +##ometers +tubal +graduates +footpr +john +ost +##lt +##lyp +biomolecules +tram +##ubertal +toe +opposing +hbc +##iferous +intratum +natal +##oprol +tnfα +blots +cooking +clades +cep +receipt +diversion +##ophene +antral +antithrombin +request +reprogramming +awa +##ohem +cyn +gastroenteritis +glycosides +##ikrein +##101 +1200 +performs +increments +bell +17beta +##annab +221 +anesthesi +scrap +##took +skilled +stoichiometry +##ubercul +##bp1 +tunneling +locked +unsatisfactory +a23 +fic +css +dynamically +aberration +viscoelastic +308 +amplify +isoflav +antithrombotic +##urus +shelf +bronchoscopy +expresses +obstetrics +entrap +lncrna +adoptive +benth +snake +probiotics +agitation +n2o +slopes +wires +##adenosine +comprehensively +##avian +h3k +vire +migrated +myocarditis +211 +housed +hyperpolar +inr +unrecognized +pigments +bronchodil +##130 +##eb +340 +cd11b +##oeba +nitropr +hydatid +pvp +paradoxical +##ap1 +##othyron +##anter +nhe +##etrically +##aka +##entation +daughter +550 +correcting +##romatosis +mars +undertook +mitomycin +##pm +synthesizing +ces +nitropruss +cu2 +##encephalic +diminish +tables +##d6 +varicella +bronchitis +##len +lexical +palmitate +aborig +durable +##ochrome +muss +remediation +microscopically +nsaid +rsd +##iceal +dizz +asympt +10th +meetings +peanut +conduit +illicit +pparg +##ploys +chimpan +amiodarone +lycop +ligaments +losartan +ruth +rearing +nonsteroidal +ambly +qd +glutar +borrel +pva +kernel +remember +approaching +stir +shrimp +amaz +assesses +##odine +windows +broiler +sulfon +nitroprusside +centi +obscure +##avers +##ounder +##ogle +burning +constructing +##oride +qualities +leukotriene +slowed +polluted +ril +fret +institutes +194 +hbeag +cart +southeast +polysomn +dmd +##olide +vcam +hematoxylin +artificially +v2 +##implantation +##essional +prospects +ttp +alop +evans +stainless +seldom +uh +nanocomposite +phleb +terminology +##ott +##acyclin +##ibrate +##orthy +189 +inert +ccr5 +stenoses +##imolar +##okine +euro +##atases +hydrothermal +hardly +isr +##users +priori +wales +transs +##ystem +lux +buck +infecting +lhrh +##gest +290 +##etom +rendering +tape +##cortisone +##hai +autoantibody +1974 +##onary +enterobacteriaceae +029 +admix +##yelinating +glas +communicate +functionalization +rater +metaphase +yrs +phages +sweat +##dg +photod +relational +##erged +centred +requested +orific +tack +191 +unip +anastomoses +debil +226 +032 +hierarchy +diph +alleviated +ivc +ricketts +nitrous +nh3 +##anting +pheromone +autum +gan +##ologr +##timulatory +##ern +macaques +##ingual +economical +oncogenes +ca3 +emulsions +keratinocyte +a1c +extrahepatic +infin +membered +dissipation +ez +glycation +phytochemical +h2s +certif +##tigmine +thumb +##enafil +mentally +##icals +distilled +beij +electrop +discern +economy +nets +020 +pitfall +belg +anticonvulsant +##ensives +##agers +##ultural +##istin +##ounted +discriminative +##±3 +carol +draining +accommodate +unmodified +competencies +##itrate +employs +pyridyl +bioreactor +degran +momentum +d4 +argen +unusually +starts +roman +metabolically +lastly +##cv +effusions +fossil +##ecd +##ectants +advocated +rounds +contradictory +carers +microelectro +continuation +##bank +##itative +schiff +dissimilar +##han +looked +optimally +delineated +cime +zr +shad +metab +assimilation +##lich +meq +rgd +palladium +solv +preca +basilar +squared +microdialysis +glucuronide +lis +meningiomas +muscul +apr +nonsignificant +drives +psychiatrists +##vinyl +cones +chair +trehal +fuller +##plate +myd +##accum +nanocomposites +prohib +debated +incisors +unpredictable +stance +milieu +##trig +##uel +##ein +##erally +vad +ercp +antioxidative +capacitance +urod +##vic +subclavian +micronutr +unresolved +##omedial +optically +congruent +##apsular +cardiomyocyte +##olymer +##ifl +casual +disagre +##nb +astrocyte +##lass +cimetidine +seat +longitudinally +justify +##s1 +nanotube +sclc +cmax +ggt +##ylaxis +hur +phosphoinositi +upright +psc +reservoirs +stellate +castration +bcc +glc +sarcop +aflatoxin +adhere +1980s +confinement +##onent +##fully +##osylation +##rednis +workup +##usate +upa +concludes +weighed +##ulence +eczema +nasc +incentives +iner +##rotal +218 +turning +modulatory +abut +doxycycl +##yly +mdct +pick +hospice +putamen +justice +##aban +deteriorated +oligosaccharide +ltc +cognate +biocompatible +##adecan +grazing +##oxygenation +seroconversion +fatality +##ynucle +deceased +sprou +freund +staphylococci +eo +##olem +file +antimal +##years +##uin +printing +##oprim +disabling +cbs +##days +spons +hydrocortisone +confid +##kii +interch +anode +crystallography +##ellulose +ltr +wealth +went +anxiolytic +xx +merely +grouping +inhibin +misuse +fundament +calcine +##orel +##ceptive +##buminuria +hypercalc +irrele +iaa +##orhabd +positives +immobil +inflation +##usor +want +astigm +systemically +hemip +dav +unwanted +predators +descent +appropriateness +##tervention +dms +sterilization +trou +##utter +sars +clamping +demyelination +2s +hon +photons +proteoglycans +phasic +cooh +uridine +glutaraldehyde +4a +sliding +036 +mns +enterocol +antenna +##pv +nonsmok +timed +scaled +epc +workflow +taq +dollars +litterm +piece +denatured +045 +##guan +gtpase +pleiotropic +chow +prevailing +wanted +xylan +profoundly +##tory +thinning +shoots +alcoholics +exhal +enj +calcineurin +triad +fits +##600 +deployed +##ispers +##oons +games +310 +plasmonic +ccl4 +analyzes +fuzz +mutually +yearly +##oidy +##ieving +##omyosin +2n +aneurysmal +doxycycline +##angiogenic +##othyronine +heterochrom +names +crispr +metatars +mglur +hpr +adsorbent +##parametric +cholester +nebul +298 +ctr +varices +anaphylaxis +rfs +atherogenic +##gtt +temperate +locking +epidemics +epitheli +deafness +legion +4h +popularity +dizziness +##itz +fragmented +unfolded +protonated +##osystem +hyperplastic +lon +##ilyl +exchanger +abo +pst +##opancre +wav +##reek +254 +enantiomer +chloroplasts +haemophilus +oligodendrocytes +##muir +floral +avers +hydroxytryptamine +communicating +complexed +pieces +##ophenol +obstacle +instantaneous +##μg +alve +crosses +##fast +benefici +troch +esthetic +344 +methylprednis +xa +recanal +blastocysts +cystatin +waveguide +tamp +##aba +noxious +235 +##otomies +##apillary +langmuir +opg +jejuni +##ysts +authority +lyase +pharmacist +exaggerated +maternity +tympan +flame +langerh +aj +##oreactive +upward +a23187 +##othermal +dinucleotide +quadratic +relaxed +coils +observable +pds +##phig +ingredient +##azem +icsi +hemispheric +hemispheres +antine +pbp +chemoradiotherapy +##oxides +tyrosinase +parac +bps +##elective +victimization +communications +##drs +iddm +colp +##ecrosis +##angeal +cd10 +##iformis +##esters +allyl +switzer +burdens +acidity +chymotrypsin +adrenocortical +mastitis +villages +wherein +locate +exped +entrapment +derivation +mst +callosum +c8 +##rem +tremendous +haemolytic +snow +stopping +##xime +langerhans +centros +pemphig +budget +t7 +psd +##ocardial +qtc +oropharyngeal +##coagul +catabolic +switzerland +antinociceptive +diagram +reflective +cyp3a4 +rejected +facts +quadrant +β2 +psychotropic +pna +##itazone +irrelevant +persisting +cfa +polyamine +mastic +##iro +cyanobacteria +zn2 +fusions +transactivation +cathode +qi +astigmatism +##trum +pruritus +##osse +granulomas +##imers +stigm +meningioma +std +046 +##oresistance +031 +perineal +spectrophotometric +verm +##orr +ligated +familiarity +efs +##foot +anabolic +miscar +s6 +nab +ssi +zik +responds +electromyography +##pharm +computationally +undesirable +viz +##ysm +##rett +conservatively +listening +exposing +##adjusted +prokaryotic +sdf +##at1 +##arf +florida +hypocal +histones +mz +dihydrop +aunps +##erus +campaigns +prostacyclin +##ethal +threats +ctla +concentrates +clad +ecules +exponentially +zona +pond +methylprednisolone +junior +turns +##r3 +immigrant +circle +hirs +evolutionarily +cilia +##assemb +copyr +vasospasm +imported +corneas +gonadotroph +hill +endorphin +##antigen +##entgen +sirt1 +##accept +readiness +dxa +passages +##tina +bacteriological +probed +##hou +micelle +pco2 +alloys +2019 +##h4 +##isco +##acid +##81 +theme +neuroprotection +brings +curing +dht +actuarial +meso +irel +neiss +##olization +##board +037 +alkaloid +311 +homologs +##gow +nominal +fasl +manure +beijing +police +##iciting +refraction +trast +##dine +myoglobin +copyright +spirometry +##rodesis +valine +##03 +bmscs +ireland +prematurity +temporomandibular +lvh +insecticides +nystag +myotub +dysplastic +matches +establishes +retinoblastoma +##enet +emuls +humeral +e6 +machines +slide +##tists +agglutinin +antid +corrections +cm3 +discriminated +herm +aptamer +homod +chondrocyte +autumn +##tiazem +375 +keratitis +##esthesia +rw +unic +ipf +quartz +optics +releases +fumig +traces +tee +ch4 +##serine +213 +asians +electrosp +aspartic +##beta1 +frank +demyelinating +hemostatic +applies +comments +##opharmaceu +034 +olanz +##ao +discoveries +dorsolateral +alongside +##breeding +posed +defl +sao +##hydryl +##ropic +ancestry +separations +gang +behave +cages +segmented +acinet +cholestasis +merits +multilayer +carcinoid +agnps +monod +##ocations +nanofibers +##arctic +carotenoid +##ureth +distension +##oglobulin +##ront +##bryonic +enal +vow +ministry +neuropeptides +listeners +saa +stringent +metabolomics +038 +trastuzumab +olanzapine +≥1 +destin +zeol +hav +unlabeled +##child +cholerae +1973 +mmr +palatal +tumoral +fuzzy +##dy +##issible +fibrinolysis +##imidazole +distract +##ouses +bibli +kyn +##transp +homogenate +mch +acquiring +activin +synch +##uccin +speck +##biased +dibut +congestion +alopecia +bee +trimethoprim +relieve +dlbcl +##haem +dilute +rhodamine +##havi +subn +unil +obt +wildlife +gonorrh +rubella +cina +##obronchial +hypoxemia +##phosphatidyl +##biotic +spending +modal +##x3 +ceft +noticeable +explanatory +tcs +haemodialysis +myasth +guest +##vin +potently +aas +ferro +033 +reads +screens +diltiazem +ruthenium +asynchron +tort +##otherapies +zoonotic +protozo +hybridized +plating +hco3 +bland +dermatology +simpler +grounded +acinetobacter +citrus +pace +inequality +intraoperatively +##ymm +##arcomas +glasgow +ppp +mcm +cyano +logic +cardioresp +neurochemical +urokinase +stalk +##oprolol +melanocytes +malate +photoluminescence +##my +specialties +dk +tmd +unresectable +translocations +insec +wavelet +##umber +048 +risperidone +cardiorespiratory +sinusitis +pvn +pumping +convinc +predation +##ugr +organelle +solvation +cystectomy +##ipenem +subma +chemoattractant +##can +ddt +calorie +exhaus +##prop +##omorphine +flatten +vertigo +congeners +roentgen +##osteal +4000 +anonymous +exploiting +kan +apd +sentence +##angitis +##imeric +hypoglycemic +pbc +ell +transparency +dpph +extravasation +terminally +ipa +tace +dnp +##etomidine +argument +gabaa +loose +unbiased +232 +pacap +vz +norweg +##atia +tpo +icg +arthroscopy +aca +organizing +insemination +##imumab +marks +formyl +saturable +exchanges +##illed +developmentally +hematuria +asphyx +responder +xer +implied +##isen +enthalpy +neoin +aband +##ila +appreciated +tmp +presump +##abl +bioge +biotic +hyperint +cystein +##eto +fluency +bent +probands +lymphoproliferative +##renorphine +photosensitiz +orex +valley +lov +amil +224 +quadrupole +##cnts +isothi +avenues +##olaryng +##omyelin +hemic +permissive +connect +intracereb +ripening +crust +termini +reside +##repres +membership +hyperpolarization +quoti +aluminium +##oproteins +isozymes +coincident +nystagmus +##ermined +stimulant +omeprazole +fcr +superimposed +turkish +sre +rises +##openic +maxilla +anf +lipolysis +corrects +##etitive +vo2max +##osts +hindlimb +##chemic +unresponsive +##indole +chyl +nanoshe +photocatal +subspecies +sativa +undiagnosed +shrna +asymptotic +cau +endarter +dibenz +contributors +##ho +argon +##wood +nw +basophil +seeding +420 +subtotal +slaughter +unstimulated +unselected +cochlea +tia +callus +s3 +##gers +##insically +##ocere +phosphates +graphite +poster +apa +octan +pursuit +##atide +##ithin +habitu +estrus +granulation +wasting +unsp +diary +influential +sz +##inoids +cx43 +inflow +exocrine +hypok +tp53 +complemented +habitual +athle +speakers +##diagnosis +##ospinal +carrag +##flora +verb +benzoyl +##iplatin +immunod +pharmacologically +sows +naphthalene +aboriginal +azide +aerial +microbiology +uva +decide +aphasia +hub +carbapenem +phthalate +prod +iodo +intrag +recurred +compelling +phac +xps +biceps +streptococcal +pao2 +gavage +detrusor +fasci +enalapril +regi +nonsmokers +intraluminal +pmns +##ollagen +barrel +elicits +detects +##oposterior +mate +1950 +pseudoaneurys +##eor +orph +##kat +fried +weighting +propos +pps +manager +eliciting +cannula +##tert +neurobiological +enjoy +powered +camer +##anar +buds +047 +photoreceptors +pipeline +##iry +childbirth +##imentary +##orbital +finnish +pgp +##adiaz +butanol +##iiod +capsul +autistic +##oacetic +650 +conspic +innovations +sulfated +dissatisfaction +manipulate +interrelations +xy +octre +downward +reapp +carrageen +nitrog +##othione +mimetic +reef +blend +##car +anaerob +mansoni +truly +ignored +parturition +##acral +chemosens +strictures +polyvinyl +fischer +traced +osteoblastic +at1 +realization +amiloride +msa +curved +solutes +escalation +comet +##abetic +##phone +cryopreserved +dialysate +uniformity +##mar +extraord +##urface +attempting +##obiliary +destroyed +##lycerid +##oglut +underscore +triiod +haploid +durability +pdms +caregiving +overcoming +infrequently +c7 +kallikrein +tetrap +biotransformation +stimulator +lysate +scarc +thrombi +antich +contrasted +femtosecond +tolerate +epoxide +getting +tracers +glucosamine +commentary +hologr +peptidase +##opterin +bronchiol +porphyr +myocl +contracture +lacrimal +densit +ccc +##ophyte +walled +sentences +dub +##mph +##ismus +citric +mx +cinahl +kras +estrous +antiinflammatory +embedding +##annel +nascent +contiguous +huvec +barrett +ambig +oxaliplatin +##admin +phyto +equivalence +virions +039 +gwas +≥2 +compliant +accumulates +##reen +dobut +##king +tuberc +##odynia +odn +academy +tz +##d4 +365 +actinomyc +seventh +urological +parkinsonism +##itical +cylinder +hydrated +laev +bleaching +hatch +inducers +baumann +##roventricular +micellar +##6a +microinjection +vascularization +accomplish +##osseous +217 +monolith +imperf +##western +anca +g0 +maxillofacial +unadjusted +divisions +meniscus +unaccept +waveforms +niddm +extant +integrates +manufacturer +ops +##tices +rtms +sab +zip +rls +exo +##entioned +##gly +ultrac +pegylated +thorax +##rum +formerly +sulfhydryl +yb +##ozoites +norwegian +239 +dobutamine +fibromy +iugr +kines +hay +stressor +pparγ +##urge +opa +semiquantitative +##eping +cch +palpable +##mb +pfge +universities +intracerebroventricular +locoreg +infarcts +stereotyp +moderated +laying +argues +submaximal +tig +sati +apomorphine +geor +ppt +gob +fission +tps +homogenous +pentobarbital +e7 +dnmt +genotoxicity +accelerating +metagen +##elt +reposition +chile +ultrafiltration +story +radon +##osylated +sphingomyelin +aseptic +bridged +tracheostomy +raphe +5a +submandibular +hispan +mcg +popliteal +imping +mainst +##isy +equilibr +##orespons +pellet +##unts +cultivar +unload +##erts +##biosis +nil +anchoring +ideally +localisation +dichotom +##feri +amphiphilic +micromolar +advised +thicknesses +##encephalon +hypogonad +##ronic +azath +##olstein +candidiasis +fviii +lmp +csc +##izability +accommodation +nonresp +mace +storm +##opar +##aks +microbe +npv +c16 +faeces +hydroxybut +ptca +hematopoiesis +chlorhex +##ype +paramount +##lorinated +380 +deeply +##illes +cq +##ighter +s1p +t0 +##igan +thermost +cnts +##ildenafil +##alcoholic +thf +opto +mantle +directors +imprinting +herbs +275 +##uis +responsibilities +mn2 +topographic +bees +wisc +3b +radiolig +nitroso +epidermidis +carib +immunologically +nnos +##gp +marriage +ptb +hypoglycaemia +gay +oxidored +propria +sink +chromophore +##ynyl +incompatible +azathiop +solubilization +rarity +neuroh +7th +neisseria +crime +localised +rebound +fon +irf +mailed +hcm +seedling +brit +pml +oscillator +heterodimer +neutr +biotechnology +gase +neurovascular +naming +tga +transesophageal +tubul +flick +reactors +photoin +reinforcing +perovskite +chlorhexidine +wish +oncologic +extracting +injectable +fecund +neurology +polyposis +gef +royal +initiates +retire +zw +favoring +demethyl +##oniaz +iranian +patterned +kyph +continence +##quinoline +##azoline +phosphorylase +bangl +##ths +achievable +dor +vagina +urgency +infestation +##reless +370 +##ouns +immunofluorescent +aneuploidy +periodically +deae +bangladesh +abortions +transmural +prazosin +##okines +oldest +anatomically +subdural +pathophysiologic +buffalo +midwives +hypertrig +##anone +manipulating +##eliness +biodistribution +millions +smd +intrinsically +480 +mites +hypoc +##inflammation +cem +aspergill +cushing +transients +contracted +##bec +digest +pitfalls +sildenafil +electrochem +hnf +uranium +colored +##i1 +adn +notew +counteract +electromyographic +piezo +instrumented +spiking +humor +pgs +##oton +sos +logical +##okinin +inferences +acetylated +avoids +##iet +spliced +identities +##oflavin +biochemically +nadp +inductive +supplies +debilitating +biomechan +tertile +bmc +nitroglycer +##methylation +maneuver +##pb +drawbacks +preg +homosexual +cholangitis +sider +##torh +thiored +228 +estrogenic +compromising +ed50 +presumptive +kcn +evacuation +convex +prrs +##ultured +fractal +defensive +indeterm +cadavers +photosystem +crush +isoniaz +##oduoden +sonic +##osi +annulus +azathioprine +baumannii +knowing +scru +denaturing +butter +diat +lymphangi +burgd +##κb +ict +ependym +seemingly +##uronium +balf +unbound +adapting +cba +##azin +phenotypically +controller +adenylyl +##omib +sorafenib +hypophys +lyme +##operfusion +radiologist +wrong +licensed +transvers +vsmc +clip +baroreflex +niv +tpp +runoff +abduction +burgdor +##ellin +heterocyclic +hydrolytic +repolarization +caen +##ogastric +prag +merit +gj +phosphatases +corners +ptd +pgi2 +##etus +manufactured +intensified +metabolizing +claimed +hypercalcemia +##omening +unheal +wireless +uncoupling +##centr +##endothelial +pach +##h2o +noteworthy +holstein +mof +google +##ucine +dichloro +cryptic +##orptive +potentiate +##yer +unco +ags +penal +relied +vsmcs +leucocyte +investigator +##professional +poc +beneath +sulcus +##bw +interconnected +nrs +pleomorphic +oligomeric +bacl +globular +burgdorferi +jak2 +##orhabditis +pns +transurethral +naa +calcifications +sulfoxide +n3 +degranulation +##ervical +court +heterozygotes +##db +##access +245 +hypertriglycerid +boots +characterisation +##adol +##rology +lett +meter +##cysteine +3beta +nci +mbl +shortest +##folate +isomerization +pyrophosphate +precipitate +progressing +tumorigenic +so2 +b3lyp +##aea +fetoprotein +##transplantation +tailed +##bear +purpura +trehalose +mission +##trid +dihedral +swab +##omethane +hcs +00001 +##trex +dac +utilisation +##ennial +##ostosis +budding +buprenorphine +lpr +##otap +glycated +ale +amend +occlusions +ki67 +geographically +spasticity +your +sexuality +underpinning +incisor +reinforce +chronological +##ran +##immune +phantoms +##1a2 +##arth +rivers +thanks +demonstrable +##etries +##sm +adjuv +hyponatre +berg +thyroiditis +agn +guarantee +singular +proto +commiss +##uma +mlc +biv +gaseous +vascularized +myelodys +##urities +classifying +connexin +visiting +ahi +rhoa +vivax +polyt +##af1 +fak +##idines +tan +042 +dystrophin +inefficient +##180 +phenomenological +recapit +roi +palmitoyl +##cription +pld +appeal +219 +convey +isoniazid +dysregulated +facets +assignments +svm +anteroposterior +##odin +transposon +##amyl +pgc +allop +washington +##ovi +rheological +##cel +club +embolic +##arabine +website +ay +k2 +halo +homing +##orient +collim +##rogenesis +serovar +ryan +consume +delineation +##ivirus +necropsy +##rosthetic +##ospermia +##burn +fabricate +euc +grounds +permitting +player +enzymatically +sax +ish +novelty +ssr +##iper +tut +instructed +village +##arche +unexplored +styrene +##balanced +##q11 +artemis +discontinuous +histopathologically +resins +symbiotic +peep +##ondral +categorization +transv +##urrent +043 +##children +anaesthetized +stillbirth +streptomycin +postp +afterwards +isothermal +##00000000 +valgus +sjogr +##bv +##n3 +genbank +ryr +##ectoris +nonex +234 +leucocytes +externally +abundances +##atids +pept +joining +nyha +##yled +achilles +pvr +neuraminidase +grape +urticaria +##ourished +certainly +##ometabolic +##ematous +microglobulin +taught +aversive +multicellular +##293 +##romegal +##osable +involunt +##activated +cd56 +##esin +albuminuria +contraindications +relieved +eliminates +##lc +architectures +certification +nicu +keyword +mpp +##ffer +transcriptionally +orifice +invading +cannulation +v3 +synchro +heritable +negoti +chat +esophagitis +##ensory +hgh +broadband +hydroxymethyl +ensures +tenderness +ncr +calcane +endodontic +sps +##ca1 +phosphatidylserine +sjogren +6th +cd19 +api +acetaldehyde +visibility +241 +shh +stomatal +octreotide +dephosphorylation +prick +hospitalisation +auxiliary +##igenin +rit +incar +innerv +neuromod +affordable +nanorods +hun +immunosuppress +thai +forth +##ochondral +perfusate +##tri +stn +acclimation +vitell +avr +##ocortex +scrutin +bats +##onol +midgut +bottlen +mmt +sensorineural +heel +telemedicine +aggressiveness +##radi +isoenzyme +incap +##being +glucoside +5s +coul +aii +##ternal +classroom +##oting +immunoassays +microorganism +directing +morphometry +urease +diphther +myoblasts +##opolymer +trpv1 +rotations +postulate +##acyt +news +locoregional +breakfast +sulfonyl +frustr +049 +progresses +mesoderm +##osclerosis +##hom +valued +ppargamma +cyto +##ollen +fibril +##ells +##actyl +epcs +##elong +calculi +prepubertal +proceeded +hernias +invertebrates +pakistan +##map +tetramethyl +bacul +immortalized +wellbeing +tdcs +biosensors +omp +xp +##amoeba +taxonomy +hispanics +vene +bpm +##onins +pectoris +hedge +##owed +deuterium +decel +subdiv +ip3 +fimbr +##d3 +nitrophenyl +thall +slip +sant +maxima +##zomib +##othi +229 +##hog +deaminase +cb1 +ambul +miniature +conventionally +imipenem +interferes +##verted +magnitudes +##tress +triterp +fts +##omplex +conclusive +wd +##avicular +adhered +clarithromycin +polyg +##ucting +lactis +rage +##porter +1966 +##fluorescence +laevis +##pot +##osh +molecularly +rectang +ihd +vasoconstrictor +##ivudine +mcd +kilob +ancestor +quantitated +polychlorinated +dates +whey +3β +2m +phosphoinositide +amni +pheochromocytoma +golden +approx +##fts +dosed +exf +say +##orylated +ebs +minnes +##amido +predefined +##cc1 +penetrate +spondylitis +reliance +terp +anoxic +jew +adrenalectomy +##reatment +acrylamide +##azide +tbars +##lock +titre +##othec +offenders +sunlight +##position +practiced +rectif +iap +synchrotron +##itil +huntington +entrance +modelled +therapeutically +##apore +microsurgical +overwhelming +##itably +myocyte +##kl +ricin +arctic +dsp +##937 +beating +biotinylated +p50 +##endazole +tst +penis +##electroly +default +jurkat +20th +interrog +irrig +dipyrid +antiphosph +##coprotein +panels +migrants +cardio +ploidy +##kinetic +##erson +s100a +cryptosporidium +lactofer +replicates +framing +myelinated +lysophosph +phosphatidylethanolamine +caenorhabditis +fap +##isk +glycaemic +##rote +retirement +##apto +sons +orches +sclerosing +ssa +citizens +equivocal +041 +crystallin +amoe +compiled +isotonic +##delta +progestin +##lessness +editor +acromegal +radiosurgery +bdi +og +accessed +##retion +minnesota +money +bca +depicted +fingerprint +mindfulness +rug +restrict +##mics +borders +carolina +displacements +heavier +mdm2 +gss +deterministic +lubric +extensions +athletic +dentition +##tiveness +beneficiaries +nephron +hypnotic +caf +myb +promptly +##orphism +dmf +bulky +modifies +confluent +##osities +##itrite +ogtt +epithelioid +vzv +mmf +tones +controllable +##olinergic +avium +fibrillary +glucone +##ographies +drastic +anteced +pdi +overlying +degenerate +fibromyalgia +viremia +qa +fragility +##ophytic +mta +##occlusion +cour +ceftr +236 +negativity +sectioned +mdma +defenses +flavor +laminar +mainstay +facilitators +mine +##2r +urodynamic +ner +forel +nadir +##cryst +clath +17a +sedative +compass +##missions +bioassays +fluorine +ginseng +tampon +ccd +stump +mthfr +ui +universally +gynecological +indexed +nf1 +entang +serially +248 +agend +ceftriax +urs +endarterectomy +pleu +hypothermic +administer +fluidity +riboflavin +interspecific +thioredoxin +extubation +##onecrosis +enhancers +igh +herbicide +town +draft +floating +acknowledged +##alasin +kre +f3 +matr +nonrandom +amalg +##acholine +originates +immersed +gm1 +mehg +eigen +replacements +carboxylase +##ifferentiation +##ystitis +youths +endocardial +##ostigmine +cycload +nim +lactone +##opram +corroborated +egr +##fv +supervis +##romed +##odomain +arte +enterica +##3t3 +antidiabetic +##behavi +sid +mbc +impurities +adenoviral +##oproph +indeterminate +perone +strugg +landf +pear +unavail +lyophil +pant +##arius +refine +syringe +##oning +##rice +##italopram +cory +hapt +pthr +antimalarial +##arded +amh +##welling +ngs +adventi +##tite +usp +##afted +325 +rps +perpetr +caspases +appreciation +genu +strab +hypermethylation +##idian +juxt +##s2 +kup +carbonic +tracked +kiss +meteor +intratumoral +accreditation +##antes +trying +preload +perforated +party +blasts +quartiles +fractured +disinf +singapore +antitr +ductus +nonhuman +dioxin +cholecystitis +repairs +door +lifelong +aro +swollen +modifier +proceeding +hba +mos2 +ceftriaxone +humerus +offs +mutagenicity +mediastinum +potencies +willi +ht1a +latino +estimations +diffusivity +##atial +condyle +##tilb +##oronary +fcs +elaborate +abbre +weaknesses +b4 +cus +proprio +##ureter +##anserin +craving +preparative +transfused +cecal +##n4 +##individual +##tigens +saccades +kyoto +racemic +cholecystokinin +sorted +buffers +cach +impr +metacarp +balancing +##±4 +phylogenetically +johns +interphase +scleral +inception +##stalk +markets +isoenzymes +dsdna +sgc +p75 +##aploid +otolaryng +asthmatics +landmark +exceptions +undetermined +tos +readmissions +##ohep +nanotechn +macron +##baric +explant +prehospital +demethylation +sulfameth +##ih +quadruplex +##acoustic +unprot +exercised +hydroxyvitamin +abbrevi +##jd +seeks +encephalomyelitis +duplicate +protonation +##iors +glasses +victor +##bos +synchrony +243 +coadmin +fra +shigella +##ocalization +tcc +neurofil +aforem +metallothione +atria +liability +aforementioned +angio +030 +odc +kenya +microflora +mdr1 +coales +anoph +##agal +duck +heights +maltreatment +marm +cholangiocarcinoma +##antigens +##oporphyrin +##ethane +044 +amyotrophic +##entilation +retinoid +1972 +pwv +oncologists +mend +##ypti +##ocentesis +colomb +mvd +hedgehog +##win +##ostal +hyaluronan +hallucinations +cdh +appendix +nanog +131i +lacun +rbp +##rowing +4b +orthostatic +gus +beverage +227 +##apical +gynecology +cholinesterase +homozygotes +##odyst +yers +15n +##126 +incarcer +fbs +rer +##ylv +telev +concerted +##adaptive +powders +hyponatremia +zh +cords +interindividual +shunting +vigilance +audio +astrogl +ferrous +242 +tall +brucella +hib +thiamine +exceptionally +1ra +viscous +symbion +flare +##oplegia +proficiency +keratocon +##enoids +##the +stear +ringer +unhealthy +##orbed +incidentally +hots +##aters +quail +gp120 +##arterial +byst +alkylation +gdnf +ionized +##alkyl +##onscious +##apsules +##nu +##erule +##anolic +cholesteryl +nitroglycerin +rolling +##aginous +petrole +pnp +##cement +humic +hyperoxia +pga +fluctuating +tfs +coiled +##ovulatory +rainbow +##iaa +spermine +exploitation +meniscal +##standing +emerges +tsa +log10 +innervated +inactivating +microalbuminuria +attenuating +bootstr +spectrophotometry +broadening +flush +##burgh +##duced +accelerates +##men +archaea +##renic +partnerships +##oremed +fecundity +##ospatial +levo +nucleophilic +lrp +##506 +cinnam +luminance +alfa +subgen +lacc +adjuvants +252 +ici +pread +seropositivity +##bearing +fron +nonl +hyperbaric +cardiogenic +cmt +##iclovir +cardioprotective +##hard +##critical +osas +inactivity +bottle +azithromycin +transcriptomic +scleroderma +nomen +advocate +hourly +stokes +##opathogenic +incisions +errone +cyp2d6 +carboxymethyl +clarity +astrocytic +neocortex +bacteroides +adenomatous +cci +recanalization +disks +densely +##olipin +lfa +nanowire +dexmed +methacholine +tetramer +petroleum +asymmetrical +fibrillar +##eight +inaccurate +exhaled +1970s +##othermic +fe3o4 +clind +ketones +runners +pcm +magnification +vacuolar +dipolar +antarctic +cine +synonymous +hydroxyproline +prevalences +pragmatic +hysteresis +triangular +glur +shortcom +languages +crosstalk +syntheses +polyneu +shortcomings +assault +##ecies +rheumatology +##arietal +acetylgluc +elaborated +bend +dcis +mesenchym +mechanistically +##exy +replicating +hcy +thicker +temporarily +dyskinesia +dexmedetomidine +chb +intraves +shuttle +viewpoint +privacy +sarcopenia +decis +postex +tgfβ +##oblastomas +eur +imipramine +##reshold +cytolytic +cargo +≥3 +##cb +ictal +##igel +stoichiometric +##ongru +lncap +cd1 +multifacet +sns +thiols +misdiagnosed +antiphospholipid +trus +furn +255 +##ecium +fulm +mitigation +benzoate +##116 +rnfl +u937 +acceptors +11c +anchorage +bisphosphonates +involuntary +rx +overproduction +ryanodine +chagas +absorbing +specialization +##azid +calv +multiplicity +##riers +##etting +breakage +shielding +formulate +questionable +##outs +clindamycin +edible +pione +##agle +metamorph +advancements +##trexone +nsp +actinomycin +ipr +crowns +implicating +dentine +recalc +demineral +celecoxib +##ytoplasmic +singly +quotient +soccer +mold +internally +radioiod +multifaceted +isth +operates +electronics +oocysts +##epi +##ohyd +externalizing +comfortable +russian +nymph +epilept +##architect +sce +##erea +aedes +nms +dehis +jointly +syncytial +infinite +endos +isozyme +##osmotic +covariate +isomerase +manufacture +##esartan +259 +##onated +casting +brand +schistosoma +fumigatus +bifunctional +##fused +littermates +0003 +photolysis +crab +ohda +##ifolia +strengthened +darkness +michaelis +imperfect +polyaden +rech +##inately +aerosols +##eland +mushroom +##cessing +pressing +vagus +snails +##h3 +##nts +265 +multiplication +gamet +##astigotes +iri +inductively +##ivial +##iptyline +condylar +plp +gig +##rotoxin +columbia +ncc +shel +intervening +nomencl +pend +borte +##reported +parall +tricyclic +cbp +suspect +meningococcal +peptidoglycan +tetrod +##fu +##acological +c1q +##aval +incongru +phagocytes +hac +emergencies +denitrification +bortezomib +##lational +neuroleptic +peroxyn +endings +interdep +cst +diacylglycerol +simian +enth +biob +1s +transvaginal +fourfold +blockage +retains +lactoferrin +nem +neuropathological +neuroinflammation +dyslex +dsrna +triiodothyronine +##oagulation +##icus +coordinating +hbo +nut +##itidine +underweight +baclofen +chances +preparedness +##ealth +phal +telomeric +concussion +##junctiv +##eno +##atography +gor +juveniles +polish +neurosurgery +deacetylase +accessions +##port +##erves +flocc +cognitively +bronchiolitis +deactivation +exudate +periodicals +multitude +fenes +metoprolol +edent +fixing +##rad +reassess +cd133 +renders +pdc +duplicated +##adate +##odone +251 +liz +##ituric +##hydroxy +##akia +pork +claud +f4 +##apheresis +##inesis +nucleosome +spt +denv +flip +accessing +epididymis +rgo +dce +tj +cbz +##tinib +senile +quiet +##etermined +fulminant +ovip +ultrafast +nonalcoholic +narcotic +dating +##adecyl +266 +nmdar +misle +vibrations +usability +##capes +melt +neurobehavi +startle +tetrodotoxin +save +monocytic +villous +237 +gratings +hemangioma +disparate +perturbed +discourse +partum +specify +rooms +formate +dentist +scopus +##ancerous +nanosheets +sis +allergies +polyamines +##lm +researches +hca +characterizes +transducers +vocabular +emit +predominated +##meter +facs +iud +biomaterial +qsar +relying +aspergillosis +encompasses +##menting +unrel +##oremediation +lithotr +capturing +6m +suite +cort +curricula +##alog +cvs +naoh +dilemma +315 +shocks +sublethal +transist +crass +laid +##graphs +cacl +##opharynx +grows +hydron +laterally +underlies +anesthesiologists +carrageenan +##opically +chlorinated +enantioselective +segregated +arthrodesis +depolarizing +scotland +charco +shunts +##transplant +##1p +vortex +arteriography +thawing +polyelectroly +##inum +conspicuous +jh +sight +rcbf +booster +triacylglycerol +immunoreg +rhodopsin +##orrhizal +toxoplasmosis +lamivudine +##ivir +speculated +##romazine +projecting +argentina +dma +indones +lmwh +##avidin +spaced +pedigree +farming +bubbles +cancellous +convulsions +belt +##edoch +endocytic +cyp1a1 +##ophyt +excurs +denervated +weaned +phr +monitors +adamts +##uer +wakefulness +##rosterone +circums +pediatricians +pdl +myasthenia +lind +spill +wheezing +columnar +glucuronidase +territories +##arrhythm +nanomolar +causality +##oven +colectomy +hemorrhages +ghz +##5b +inbreeding +##ellites +##ectant +suckling +neuroanat +infra +##omponent +absc +vasodilatation +##tins +pav +##omel +milder +myotubes +##alic +##butamol +wg +soldi +torr +aegypti +cscs +affords +##ht +hypercapnia +tamponade +nonadh +supras +vign +##encl +##space +physico +zirconia +pthrp +intentional +kev +pediatrics +##lete +valproate +syll +thawed +##thio +##quat +paa +inflammasome +##lymph +irritable +ther +calving +##edral +bimodal +pneumonitis +##eic +##olon +globe +sms +allodynia +fura +##opeptides +##ogloss +##uters +ipc +inulin +genit +equator +msv +thoracoscopic +##rolateral +246 +rrs +conceived +reentr +##yletic +unprotected +dione +##oty +qaly +##ocs +##sil +stands +salbutamol +##pregnant +peroxynitrite +amazon +nbs +hydroxyethyl +hemophilia +myopic +microvessels +street +initiator +obligate +television +##idosis +counsel +##oide +##axanthin +##eme +overestimated +nord +249 +##ectivities +thyrotropin +recovering +qtls +earthqu +internalizing +##onus +##liptin +bottleneck +trapez +mvc +040 +cld +plasmacyt +2500 +tung +diamin +evoke +nucleolar +fundamentally +repeating +transformants +caribbean +##wl +wastes +##equencing +arthro +cd38 +dystrophic +vg +invariably +caveolin +##itizing +charcoal +unravel +delaying +sock +244 +formats +pyrolysis +emin +psii +bpy +cpm +hek293 +captive +shells +schoolchildren +cardiometabolic +##7a +tars +empowerment +##agenic +extrapolation +itrac +amik +equity +295 +query +eicos +tetrazolium +##qs +##â»Â¹ +##coming +##body +canopy +##har +tympanic +insults +diesel +pteryg +vertically +intradermal +appreci +spheroids +ddp +##cephaly +18s +duplications +preoptic +##arbox +247 +kupffer +mercapt +##enclamide +irin +hch +##onsin +cpe +recirc +tata +emboli +protozoan +heterotopic +certainty +##epsia +253 +##anate +pretest +##utres +thermophilic +440 +abstraction +telomeres +vegfr +##onders +adenosyl +intragastric +cycloaddition +spm +##orescence +mercapto +alumina +tentatively +advocacy +gk +pnd +##vhd +stays +temperament +compress +##amili +bullying +unfavour +habituation +##retinal +emr +##ocholine +substitutes +retail +confidential +##iso +paraventricular +scopol +wal +conspecific +completeness +antihist +characterise +catastrophic +excip +deoxyribonucle +ceftazid +glib +orbitals +lipof +##atur +transcutaneous +##che +precautions +kinin +minimization +formic +dyspepsia +##eptor +itraconazole +ramp +bisphosphate +parag +phenols +peru +odontogenic +profit +fluorodeoxy +##worth +tpn +reversibility +hil +extras +infiltrated +##tring +nes +senescent +autogenous +erps +naltrexone +##344 +##fi +capd +radioligand +contours +affairs +altman +##enolol +dehiscence +synovi +loud +rs10 +assumes +fms +amikacin +irinotecan +smcs +cephalosporins +conferring +insula +mismatched +oxidoreductase +concert +##ysteroid +restricting +redundancy +##ionyl +sorbitol +dislocations +##ryl +##lers +cereal +##lingual +bart +##roke +igt +queens +nipple +buffering +scalable +##oneu +permanently +chaotic +ganglioside +##iaxial +oxygenated +compositional +inclusive +hypothyroid +internationally +farnes +thinner +gulf +crystallinity +##hb +placentas +cartrid +wisconsin +##famide +##oprophylaxis +wheelch +recalled +alkylating +activations +electroporation +bival +cob +bras +lrr +convincing +ld50 +antifer +intensively +dpi +##nn +athlete +##obutyl +cystitis +haemorrhagic +hilar +##reach +ceftazidime +splanch +exhaustive +1971 +myelopathy +vitil +##tiform +##atri +massage +##a3 +administrators +cpc +##rey +polyureth +autophagic +pgr +divide +glue +rts +vta +deposit +##ibrils +fork +##ll +##ycholic +defibrillator +orfs +threatened +leukemias +appointment +ira +merist +isc +cape +myr +cytostatic +videos +agen +cohen +northeast +dash +informatics +malaysia +governance +kainate +adnex +bears +dihydroxyvitamin +capping +replicative +uracil +bcva +villi +ats +cyclopent +rsa +proposals +goblet +papilla +##amole +bulls +##oethylene +castrated +illumina +oint +oesophagus +##athin +spouses +trains +pdac +spider +lowers +ownership +##l3 +decont +craniotomy +disproportionately +2p +mph +crowding +##osarcomas +##cedural +pvc +chelation +##itism +invertebrate +##fm +ipt +transferring +pge1 +scfv +olt +proteinases +##ums +hscr +pae +isotype +favors +rantes +268 +decidual +unfamili +immunology +atopy +typed +##econds +tie +lift +glut4 +smr +ille +diphosph +##olamine +##angiect +humid +hyperinsulinemia +biochar +cervic +##factorily +##romal +atenolol +attrition +##aciens +converts +faith +morris +vaccinia +ethoxy +nq +##junction +moves +dispersions +fertilized +periventricular +parat +reca +nonsurgical +257 +borrelia +nonpregnant +##scat +##gener +modestly +customized +scopolamine +##kc +cheap +issued +electrophysiologic +c12 +305 +bicycle +dwarf +isothiocyanate +sphingosine +estimator +discriminatory +choledoch +intergenic +dentures +ankylosing +##uristic +requests +aquap +dyads +##eav +isole +unaw +polyneuropathy +rds +278 +taxol +casts +anticipate +posttransplant +aminoglycoside +arabia +##americ +batches +adopts +##electroph +survivorship +##enedione +interprofessional +opc +taqman +corrective +accord +##aparin +waals +losing +##cast +cautious +##osynthesis +lan +micrometer +##factors +microliters +##rolithiasis +endosomes +knot +miscarriage +kaposi +258 +##olytica +nachr +macrop +arteriolar +anticholinergic +umb +staffing +marketed +sirnas +computations +renewed +mesenchyme +##enne +vagotomy +##ocratic +employee +linol +ethylenedi +speckle +##ifos +apgar +regenerate +rpl +spermidine +retinas +fent +##atechin +dipyridamole +egta +outreach +##onis +exacerbate +correspondingly +chalc +jack +lifting +##planned +nef +incentive +##achus +anthracene +framesh +stripping +##tip +##oxine +273 +410 +##ventive +gastrop +##enched +nonparametric +matured +fault +stm +saccade +##uronal +##asure +piezoelectric +amalgam +##ithm +esd +virion +buried +propagating +##opyranosyl +nomenclature +jas +bcl2 +noncon +proband +breakpoints +prices +miniat +285 +pectoral +microdiss +##eca +45ca +##gesterone +thiobarb +disruptive +macaque +coeliac +oligodendrocyte +cereus +cd31 +salicylate +##retic +intert +mucositis +synthesised +rewards +mma +carin +scant +definitely +colostr +aeds +##oping +aac +collisions +keywords +nlrp3 +kine +antiangiogenic +unfavourable +enucleation +football +##apent +myelodysplastic +##enzym +thickened +hyperrespons +fw +crashes +yersinia +glibenclamide +backscat +mrp +##anesulf +antineoplastic +obstructed +distinguishable +snack +focuss +##osaminidase +signed +vitiligo +htert +##her +288 +fertilizer +ubiquitination +submic +interim +complicating +inlet +acycl +deciding +##analy +##erry +301 +jia +putres +tbs +ancillary +eco +oxidants +##odystrophy +rca +subreg +goiter +bodily +forage +crystallized +delib +##osahex +##ulitis +ontogeny +chips +intracytoplasmic +dad +unint +extracranial +overgrowth +##fractionated +##arins +htr +##phae +epilep +adenoid +isolating +cole +##otency +unconscious +roch +##oeae +sprouting +endeav +ghrh +peroxisomal +263 +##rogenital +##09 +##rospor +##entrifug +bulim +nanotechnology +tir +acrosome +dapt +electroencephalogram +splanchnic +asparagine +asphyxia +acd +brs +nanostructured +gravis +##urinol +diphtheria +mania +bouts +holo +silenced +304 +302 +cavitation +##cam +manic +epilepticus +chic +sprint +parkinsonian +sternal +vertebra +glycosaminoglycans +exogenously +microbub +leaks +patella +isotherms +antisocial +reversing +dqb1 +##antine +propagated +##centration +rectangular +continent +comt +ventrolateral +corticotropin +misleading +ultrathin +maladaptive +scrotal +iiib +canis +hairy +phonon +heterochromatin +pbr +267 +##oconazole +≤0 +organisations +alignments +bioaccum +thalidomide +dz +immunosuppressed +salicylic +perchlor +army +streptavidin +awak +quarters +appearances +sesqu +satisfactorily +nonselective +inherently +##ochond +ferromagnetic +researcher +arithm +ql +predetermined +rhizosphere +pallid +degs +##jiang +optoelectronic +vulvar +posth +inquiry +nitrobenz +bde +h9 +qm +evs +arithmetic +dth +azt +##yrinth +biomechanics +anhydrase +tethered +dimethoxy +russia +##tida +officers +malfunction +microvessel +460 +amlodipine +##ofibrate +broilers +##odilution +ota +##tles +##anoid +apache +achr +fcm +polyphenol +spermatog +fingerprinting +##blas +hepc +classically +##rew +endosomal +##±5 +ginsen +coexpression +##lux +photovol +rio +proactive +steat +coculture +socs +reflections +t1dm +philosophy +##onella +##atp +fontan +lymphedema +##cet +paulo +hydroneph +vinc +##nl +bringing +shadow +rapd +##etit +cooled +##tonic +shield +520 +microvilli +nct00 +histochemistry +##vo +##agliptin +phc +##2s +papilloma +coliform +biomimetic +lepr +bism +##epo +esophagectomy +legionella +learners +ovariectomy +subsam +versatility +millis +acous +docosahex +contingent +colostrum +##iflor +anthocyan +##imidine +##ipsy +decisive +##orating +##etan +capita +disassemb +##week +chemopreventive +fpg +hydroxyd +normals +omn +chelator +instar +misoprost +##etium +subclasses +reoxygenation +##imeters +paced +##gamm +purple +distortions +avidin +profess +claudin +euthyroid +aliqu +shbg +synovitis +gonorrhoeae +switches +thyl +paco2 +##itim +glycoside +groin +antitrypsin +##aracter +276 +##rian +roux +thiobarbituric +misoprostol +amoeb +##ourinary +heteros +##oglitazone +ttx +logarithmic +cemented +palmitic +##nr +undern +##umenting +chen +##200 +sri +lc3 +enolase +intratr +menarche +administrated +smith +##lear +depolymer +macul +erythropoiesis +accompany +mineralized +fabp +commensal +cler +cytochalasin +unipolar +agenda +telangiect +binomial +sod1 +coagulopathy +pdr +ced +kw +stick +##ybden +myd88 +eralpha +lord +bystander +sinensis +modifiers +hiber +calm +##ptosis +flavin +provocation +fluorophore +desaturation +receives +mycophen +radix +immunoperoxidase +procollagen +thallium +fmlp +##anoic +sterols +262 +edu +gym +intracardiac +##tera +##grams +mounting +diis +crosslinked +##ymia +radiographically +ophthalmology +##isis +g6pd +##oba +arteritis +pioglitazone +postgraduate +hang +##apa +anopheles +evenly +hpc +urogenital +desulf +dextrose +##ortus +α1 +mtc +autograft +##ilia +peritoneum +hemipar +michigan +phent +arid +nkt +spleens +cooked +palpation +mcao +clathrin +ils +inclination +lecithin +astrocytoma +poliovirus +empiric +##elian +mares +ghana +##opoietin +##264 +amid +phytoplankton +gras +cse +vocabulary +genitourinary +phrenic +##obr +rhb +plotted +xyle +vocs +##jejun +ene +tough +monovalent +inspiration +##litazone +dj +##affinity +rotated +osmolar +fellow +lcs +aphid +enterococci +e4 +wallis +mpfc +nevi +documenting +postal +anterogr +tnt +radiologically +painless +swing +harbored +atypia +agenesis +baculovirus +satur +lvad +sulfamethoxazole +marsh +##riol +ffp +ema +greek +##igmentation +thyroglobulin +##fig +##ropylene +anoxia +pharmacies +cornerst +graphs +##ombic +hemi +femin +bmax +strabismus +naked +##itans +##formans +##obaric +tune +krus +vanadium +##icum +subth +topically +enterotoxin +fissure +acellular +##irm +##ohum +misclass +##agog +hallmarks +χ2 +professions +tendencies +entitled +##ecret +shoulders +##otrophs +##f5 +f0 +pret +##ui +maltose +##grass +transluminal +tails +supern +chorio +untrained +protamine +tolerable +##ofr +pseudoaneurysm +things +koh +nog +ltb4 +##plus +cofactors +neurotoxin +aic +##ermectin +dilutions +macros +glot +##oembryonic +fe2 +##ounds +cystine +fru +##epsy +hin +urate +clonogenic +synergism +sort +zwitter +muc1 +##iment +##othre +a4 +keratoplasty +avascular +necessitating +sip +rifampin +##lycaemic +achievements +pathologist +plethysm +wnv +monocular +reminis +virtue +##ocycline +##front +##tinine +spaw +accent +noncomp +lobular +widths +translocated +synech +southeastern +##orbable +acetylcysteine +zns +ppg +mustard +##triatal +coumarin +nucleosides +scholars +garlic +hyperuric +catalytically +soma +ruminal +citations +stories +lentiviral +##5y +272 +##akis +circumvent +nse +apps +fst +grossly +chlamydial +electrom +impressive +passively +unintended +myri +gangliosides +featuring +sbs +abduc +identifier +##azolin +ribonuclease +vagin +b5 +contracting +lifetimes +##legic +##ybdenum +impulsive +adaptor +##yramidal +symbol +pid +eicosan +ethi +##adiene +hybridoma +recruiting +##rier +##terna +harms +dura +reser +shang +tlrs +tce +intracoronary +matrigel +basket +arcuate +octyl +ethers +mpi +polymerases +czech +transwell +##osupp +protoplasts +##fected +intuss +secretin +##ylon +pyridin +pyre +resectable +##feld +312 +intracellularly +nonresponders +chaperones +##ovaginal +ikappab +yt +impingement +carcinoembryonic +japonica +wt1 +mastoid +taf +##gm +ecp +postsurgical +endocannab +helium +thermoreg +competitively +unidirectional +hts +desmin +##iden +hemagglutination +osteonecrosis +oculomotor +luminescent +io +taxon +infarcted +##umes +multinucle +tanz +erythro +capped +mobilized +whate +abundantly +inserts +390 +whatever +turbulence +myometrial +oligomerization +colliculus +myofibroblasts +##atrial +polysomnography +ild +glycosaminoglycan +ji +rac1 +averages +sarcolem +tell +postc +indo +lasik +unfamiliar +smoker +disrupts +remnants +##adin +bioinformatic +posttranslational +uganda +isi +transporting +postcon +isotopes +putrescine +aminopyr +cia +lia +genic +antrum +##energe +effluents +biotechnological +tween +sublingual +ctni +scaph +intuitive +acyclovir +neuroticism +abused +extraordinary +tier +##e2 +gist +ttr +recombin +harness +chemoradiation +cant +mlr +proves +metallothionein +##uloplasty +##acryl +chimeras +##evalu +aminopeptidase +ikk +cerc +ibm +functionalities +beer +icus +cpd +immobility +fluorodeoxyglucose +kinet +##rolactin +ctgf +anorectal +##cnt +additions +couplings +cloac +tle +neoformans +expands +hapten +hibern +teenagers +nests +endotox +asser +##extraction +brucei +##hibition +oligodeox +sirolimus +endorsed +levofloxacin +dul +intussus +taz +isoc +biogenic +conidia +opson +colors +methylphen +430 +##ett +exponent +hne +##exc +dus +precede +teratoma +##albumin +plt +calories +##urization +tailor +316 +electrophysiology +thromboplas +hypochlor +pce +tramadol +lav +illustrating +seminiferous +rye +summation +microcys +competit +fingerprints +inad +cardiotoxicity +proteobacteria +tuberculin +cili +greece +administrations +splenomegaly +sio +hypoperfusion +perist +galanin +palliation +peroneal +hydroxybutyrate +##androsterone +yang +r0 +reduct +nirs +mop +plank +##ectral +climbing +sensations +goes +##activator +prb +stocks +##ulectomy +tailoring +isoprenaline +##uese +hypertensives +##aterals +unplanned +stasis +hpt +electroencephalography +##uctured +srp +rud +alliance +radionuclides +orphan +nontoxic +bronchoconstr +deserves +heuristic +portuguese +underline +sorbent +compost +mdck +erosive +dum +##uren +endoscopically +fermi +nile +gonads +breakpoint +stau +abp +deciph +racem +insecurity +nighttime +incisional +impregnated +nfat +subsurface +manifests +analytically +aspirates +unavailable +hyperphosph +bred +stoma +261 +precedes +dmba +##roplas +lw +autoregulation +dlp +##vc +noisy +coagulase +##ectum +wetland +undefined +supplying +cd36 +multicomponent +mrc +shorten +cga +flask +##ospora +##unn +unacceptable +wp +##ogs +303 +hypersensitive +296 +varus +federation +##ohydro +spatio +worry +aggravated +chlorophenyl +vasomotor +sporulation +##atent +furan +pm10 +##pir +icv +gabap +cocktail +ond +470 +lca +488 +disagreement +tungst +occupying +synaptosomes +adrenocortic +##anglionic +afb1 +constituting +microinj +##apr +clearing +##orrected +utilised +thylak +neighbouring +nanod +polyploid +glenoid +stat1 +horizon +kal +satisfy +extrapolated +neurofibromatosis +benthic +anthracycline +incompatibility +ppa +ppc +sulfonate +cooperativity +intraoral +##edics +##ryst +equimolar +##overs +aquac +restores +##teat +hemagglutinin +enforcement +##perm +strata +avm +neighbourhood +lepid +##guanosine +oi +videotap +lateralis +ranitidine +controversies +indians +cd68 +dmn +hydride +##ocortin +bullous +spar +expose +flagellar +##idial +antiapoptotic +pufas +dag +npp +##ocereb +fats +##activities +intersection +mage +uncharacter +nonre +ctp +homic +appointments +lak +preformed +##otoler +blends +nscs +adjustable +normoxic +orexin +##ibrillar +##olium +b10 +##iliensis +cme +primordial +tritiated +amitr +##gravity +collaterals +witnessed +##avastatin +retinitis +c9 +races +alfal +youngest +sesquiterp +cataracts +archaeal +##inators +krebs +producer +aggl +##ocarpine +286 +tfp +##ups +gabapentin +ito +sway +ferroc +embryonal +##ibenz +narratives +tdp +##anteric +endogenously +##140 +minocycline +ntr +disconn +269 +##atran +endoscope +difluor +approximated +gallstones +protrusion +polyurethane +exciton +neurites +##olyticus +##rooms +6a +avidity +perforations +truth +remif +##ecretory +isos +periodicity +fastest +overlapped +vero +consultant +mock +hexa +semistr +sterility +clavul +server +277 +inhomogeneous +pons +femor +nsc +alfalfa +yoh +lycopene +creative +aap +xeno +##ophthalmitis +occurrences +steers +##tines +computers +revert +chi2 +guang +amelioration +visuospatial +depot +behcet +recommends +isoleucine +corneum +##ropion +ultracentrifug +##abp +##omalacia +##1c +##iances +##ectasis +dosimetric +cohesion +##imod +technetium +awakening +##amps +hydroxyphenyl +steroidogenesis +launched +fk506 +microem +linolenic +bost +perine +##kins +endang +dimorphism +maximizing +curett +prenatally +fluence +bromocr +semistructured +glute +nonsense +linc +##cha +clom +tourn +ocs +migrant +myelogenous +stabilizes +##asculature +hyperre +##omol +oxa +websites +540 +likert +##123 +neurobehavioral +amended +##uximab +giardia +defec +##etast +styl +##isole +nepal +ipl +##omimetic +chs +ivus +edentulous +cumulus +hyperresponsiveness +violet +##aya +##athion +infested +regressed +thalam +##acyclines +pef +cens +beings +parallels +##itations +ship +raters +posterolateral +infarctions +macrolide +vaginalis +entrapped +hypokal +b27 +##acental +revisions +bronchus +ethiopia +disadvantaged +ants +aqp +pink +##flower +turbidity +5ht +interchange +##kt +metic +##oglycer +fucose +indwelling +intoxic +tavi +292 +participatory +seated +musculature +subch +logarithm +amnesia +glucopyranosyl +oliv +occupations +##ylline +schwannoma +hepcidin +etan +landing +xylem +gat +peo +sgl +vats +molybdenum +unexposed +zeolite +drow +hyperglycemic +##aska +sonication +fenton +transepithelial +sublux +##izine +thromboplastin +##amellar +flocks +##ulsification +weakened +##ynes +taa +installed +clarification +remifentanil +drag +niches +pursued +cuticle +0004 +desicc +villus +spiroch +urology +subspecial +atherogenesis +osteopontin +lymphoblast +##eutical +##abilis +cotinine +pupils +malnourished +esterified +##arative +saved +kruskal +resistive +tensions +intravesical +##oquine +diverticulum +allopurinol +formally +calend +274 +payments +assemblages +scapular +haw +starved +##romedial +chc +dwell +##echoic +spars +conson +##osinus +vacuole +recession +knife +aom +catchment +tav +preimplantation +sales +occupy +foref +refrig +baical +wl +##yps +disposable +##ometrium +hart +conjunctivitis +##vised +digits +asking +deoxynucle +tobr +childbearing +##opathogenesis +jobs +companion +aeration +diterp +cements +##ulans +forceps +carcasses +hym +predictability +##tiana +gonadotrophin +tnp +loneliness +belgium +prs +intensification +iont +appendectomy +androstenedione +circumflex +fluoresc +flt3 +herbicides +sy5y +hypocalc +##rance +##ender +vitality +cotyled +undetected +ait +incubations +##rolactone +quinine +disintegr +mainstream +metach +lapse +harr +isov +longus +unemployment +reevalu +fluoroquinolones +ruminants +hyphae +mononucle +335 +sting +stall +validating +271 +haemophilia +defibrillation +protracted +neutralized +atrazine +guides +docosahexaenoic +watershed +cd5 +curettage +lq +puff +ketoconazole +##adhes +wheelchair +fistulae +##oxys +coronavirus +postpro +tod +northeastern +ubiquitously +##eptors +spas +nanometer +##testosterone +leaflets +##bed +necessitates +vastus +budes +299 +otc +##etector +resistances +fuels +pigeons +mtd +ctls +assembling +##thiaz +cpl +endophthalmitis +dominate +##operitoneum +cgy +##cls +##domains +quebec +tetras +detached +immunolab +print +invade +burned +##inarily +posttest +##ozoite +cholesteat +unpro +suddenly +##amilies +nights +##rogesterone +cheek +penta +diuresis +##low +extractable +invaded +inevitable +adt +agrob +intercon +reb +pharmacodynamics +rewarding +urch +999 +##ulant +basically +budesonide +pervasive +##ultures +cellularity +##ochromic +disintegration +phagocyt +dca +spc +spectro +berber +aggr +gingiv +coincidence +rpm +##benzene +thermodynamics +boston +echocardiogram +hyperemia +##interpre +amounted +erα +accelerometer +8th +rosig +pockets +smi +prrsv +spur +entorh +allied +sirt +retinoids +hpv16 +parsim +hydronephrosis +##olyl +condoms +##urant +##aphy +complicate +##relation +##ubic +ceased +reserves +##oconjugates +ssdna +merg +irid +##hydration +matters +hypertriglyceridemia +gills +oxldl +lesional +thiop +cellulase +hypoxanthine +intussusception +rgs +dissections +thymine +caught +myometrium +##hel +steroidogenic +lns +##ository +arthritic +##y1 +gapdh +pomc +rcs +erosions +rosiglitazone +taut +##nit +embr +promyel +bismuth +sorgh +trifluoromethyl +chondros +vat +congru +pasture +wetting +##elvic +stomatitis +uncondition +282 +aptt +c60 +hydroxych +lignoc +examiner +ambulance +premed +relay +##ointing +4s +##ospheres +mesial +foveal +chromaffin +nevus +sumo +osteoarth +parvum +bilingual +inactivate +coq +underestimation +appreciably +850 +##vales +##iptine +c5a +##epiandrosterone +guil +eoc +unsuitable +phb +##identate +##pora +gonadotrop +sealed +6h +accult +##adecanoyl +yes +decou +relieving +zea +##represented +ointment +legisl +triceps +ffr +pj +##ercept +adma +colistin +shade +landscapes +##iflex +##gae +inex +dissol +alga +grained +benefited +uneven +waking +##romas +##ulosic +conjunctiva +joined +384 +subretinal +hydrostatic +##onite +cytored +suvmax +##erian +depic +generalised +guard +thz +prospect +##imbine +ned +unpaired +##itarian +gsk3 +##ofovir +wort +apnoea +brightness +exemplified +penicillium +feeds +##with +excretory +striated +masseter +perfectly +##omac +mvpa +histogram +bronchopulmonary +intrathoracic +endop +multilocus +hyperglycaemia +hmw +##ounting +masticatory +pooling +apap +hydrogenation +houses +aetiological +detergents +estrone +fluoroscopic +filler +chlorp +##iptan +reclass +kim +spf +nonfatal +mammographic +classifiers +tegmental +tdi +dide +il6 +holter +photovolta +31p +immunisation +experimentation +phacoem +anticipation +propidium +enteritidis +bloc +automation +esterification +coryne +metamorphosis +unreliable +daf +gssg +trep +b19 +indium +phyll +entorhinal +nematic +runx2 +pilocarpine +instituted +afflic +asymmetries +lpo +helicase +restrained +mrd +aversion +gip +flowing +phentolamine +##acylglycer +employers +packages +genuine +thrombectomy +reex +wearable +maneuvers +bromocriptine +##ortin +arteriosus +hydrate +cefota +uncorrected +virologic +3m +##xs +stenotic +##plen +##operable +shs +432 +cytoprotective +##obox +mbs +ate +laccase +##urv +ovulatory +ntp +pco +stools +blm +psychophysical +elaboration +mpm +redes +masc +##arcin +stretched +cbl +345 +qc +##irs +executed +obliteration +lbw +vascularity +##atidic +trisphosphate +colic +purulent +accession +torsional +cgh +pso +impressions +marking +cimt +mbq +etanercept +rafts +oximetry +yohimbine +pristine +xenobiotics +analogy +zymosan +intraspecific +pyelonephritis +hepatobiliary +bisexual +12th +tobramycin +mud +palmar +leiomyoma +excitations +284 +soldiers +##inqu +##afe +nonne +eighth +underestimate +duk +3s +stroop +##bosacral +oviposition +polypropylene +ambiguity +oe +spectrin +tard +hyaline +endoderm +hematology +stacked +repositioning +preferably +##idases +paraquat +antipar +conserving +rns +alloc +##aclopr +reserpine +##bert +##ygb +ipscs +dup +sensitizing +latitude +obligatory +anthocyanins +patell +successively +279 +neuralgia +ergometer +anterograde +orr +boxes +lithotripsy +instruct +##omys +inadvert +pontine +privile +brucellosis +massachus +phacoemulsification +carbons +accepting +##angli +##opulation +##hand +dehydroepiandrosterone +##inae +complexities +catastroph +massachusetts +stereoselective +gallstone +underway +resistin +oac +##iliation +283 +mats +unim +anthocyanin +ewing +##ormone +loadings +##ixed +##zees +centromere +bites +chimpanzees +ctd +333 +cyp2e1 +nanocar +##ensor +mdp +hits +predisposed +rearranged +hamart +##urement +vaccinations +sacrifice +erroneous +centroid +foodborne +##pers +autofluorescence +brca2 +scenes +imprec +slurr +intercostal +##merc +methylphenidate +ambulation +triphosph +ccl2 +saponins +fps +unambiguously +ldlr +##azoles +educate +##k3 +##exia +doubly +cnp +hypoplastic +##145 +interdig +##dam +glucopyranoside +aniline +unreported +phs +satiety +bars +conformers +ensuing +ventromedial +epileptiform +insular +religion +angiograms +sdh +costimulatory +p24 +bisphosphonate +cvc +##gap +bak +quintile +tnbc +calcit +truncation +##alazine +periapical +colocalization +21st +dutp +proteus +passeng +treatable +needing +##endor +convales +intramuscularly +powers +##ostin +##yan +cah +intensely +femoris +peripherally +##ococcosis +neocortical +interfered +ladder +tcd +bicuc +mrl +##bian +regrowth +##robe +suturing +aip +elevate +mineralocortic +resides +##aluable +##entery +captures +##rological +deconv +decrement +refused +##rofacial +pads +chik +succeeded +l12 +meld +##utz +lumbosacral +sorghum +impacting +urethane +shanghai +ally +unple +behaved +aad +sealing +sox2 +consulted +r3 +actors +erb +catalysed +fronto +acromegaly +glabr +preclude +hydroperoxide +brassica +preventative +##uberculosis +meningeal +pixels +consangu +##otidyl +poag +precipitating +arsenite +##eke +##ivalence +ptv +##05 +organophosph +##ocaps +asm +desert +feedst +seaf +bathing +cefotaxime +equilibration +cdp +amphip +microalgae +fee +##obese +##plasm +diagonal +phototherapy +scholar +diverged +625 +checking +industrialized +##xin +fight +agro +294 +naprox +alleviating +bj +confident +myelination +fortified +discordance +towns +neighborhoods +512 +313 +unaware +##male +##mentum +ror +sta +##itize +staurospor +malabsorption +287 +##acetamide +tss +gluconeogenesis +##iffusion +vowel +cd15 +nomogram +bass +spectac +##alva +notification +##essel +courts +unpleasant +##aniline +mam +yoga +agrobacterium +claudication +##ogold +enox +desatur +squir +nonunion +gpcrs +opacity +##irradi +chlorpromazine +##aer +forelimb +judge +gravit +melanocytic +oophor +revis +deregulation +aster +##bon +financing +exams +premolars +syndromic +thrombocytopenic +admixture +fatalities +deformations +##igration +goss +photography +trnas +send +bronchiectasis +metatarsal +tuk +306 +bore +##anx +registers +##anciclovir +ssris +fusiform +elastography +##ohumeral +miu +aquaculture +##ograv +m4 +##oacetate +beta3 +##duoden +amphibian +diminishing +governments +##oglutarate +##opian +beetle +##oi +pneumophila +bicuculline +318 +nontrans +454 +##umatic +405 +phenoxy +297 +unins +##oken +intubated +ivs +##etence +atlant +papillae +##atiles +cdkn +289 +dissociative +metastable +husband +calling +disruptions +dsb +camb +perfring +parth +##ogel +recurring +phytohem +lighting +vinblas +milest +lined +##zn +interr +macroglobulin +##orientation +##oguan +insured +malocclusion +nothing +s4 +ssb +steam +fouling +##ralpha +##tigraphy +collar +oligodendrogl +diap +ration +fulfilling +micronucleus +##ymmetric +ert +circumc +wilms +contraindicated +promises +dithiothre +quenched +investigational +srt +centrifugal +triphenyl +hx +incubating +##actyly +mibg +chirality +cen +rrt +naproxen +##oria +##urans +hw +hyperlipid +hfs +adal +ultracentrifugation +musical +noninvas +##imol +intricate +##cellulose +hypogonadism +perennial +lateralization +polynomial +rads +##lr +##ruc +cardiover +triazole +paris +oxford +cachexia +3c +rear +tibialis +hscrp +dithiothreitol +281 +energetics +basophils +confused +hco +perpet +undertake +snoring +##127 +extractions +diagrams +frogs +gos +ofloxacin +hinge +dibutyryl +volatiles +##icola +hypercal +misdiagnosis +hemangiomas +purchase +disciplinary +##meas +sleeve +acetyls +gq +dissecting +f344 +dppc +postd +manometry +herni +estu +##gy +betaine +309 +micrographs +destabilization +sily +##06 +mpr +raft +bisphenol +immunoregulatory +aftern +unintention +##vt +unve +euthanized +laxity +##optysis +microstructural +repetitions +##105 +intestines +##roni +electroretin +organize +α2 +cas9 +constitutional +wga +cephalic +##tetr +extran +colocalized +immunochemical +##ropath +prolonging +##olecule +dialogue +corpora +cartilaginous +gct +submerged +isogenic +proliferated +carinii +erbb2 +calcitriol +stimulants +##worms +pollination +tribut +##odial +purpos +##crystalline +obvi +inte +expansions +angiogram +euthanasia +##ontally +duch +gloss +##onolactone +tagging +paranasal +reminiscent +keratoconus +antegr +alphab +hydroxylated +##yxin +concentrating +spans +accuracies +pemphigus +wss +raw264 +##ynchronization +##rimers +hete +##onto +nph +323 +adipogenesis +##co3 +arginase +triam +##jury +appliance +##hole +dressings +##ictal +colloids +advisory +avf +microsphere +##uities +##ofrontal +daltons +##urative +560 +underscores +hone +##athesis +rhd +##isations +lil +transglut +photocoagulation +breadth +enantiomeric +ablated +methox +supraventricular +decontamination +##asy +reticulocyte +h5n1 +dps +substantiated +tukey +biochem +enclosed +esp +apheresis +satisfying +vk +infinity +d5 +sulphur +sympos +neointimal +chromatid +thymocyte +tapping +repulsion +muco +invaluable +delphi +absolutely +silicate +355 +diminution +ergonomic +afternoon +smartphone +ropivacaine +tdt +valsalva +pests +##uries +dehp +##ophosphorylation +fullerene +normoxia +lewy +cucumber +aec +refolding +recalcitr +##urd +minorities +premalign +favoured +osseoin +architectural +microangi +brushing +gastrost +mayo +bsi +homeobox +vinblastine +##ophile +irreversibly +##tised +##iasm +neuroradi +gust +accountability +p70 +vp1 +##zolid +spouse +founder +tec +multiply +rape +rosette +gstm1 +provincial +syd +parane +pyogenes +cd86 +mumps +mig +guanidine +lentivirus +perfringens +abusers +435 +ppis +##holm +##ached +eac +retrotransp +unequal +gelation +##odality +arbor +motives +neurofilament +##idov +skf +pluripotency +serca +grasp +##ughters +derivatized +spermatids +##±6 +thaps +dmp +https +fors +hrql +invag +collagenous +##refring +##icon +vocational +reluct +3r +articulation +dimensionality +gallium +solubil +rhinosinus +rotary +##t4 +naphthyl +##spr +##tens +dihydroxyphenyl +assisting +bont +chondrogenic +##util +ceramics +unfractionated +governmental +birefring +307 +meteorological +trx +coarct +tadp +orofacial +##phalan +1969 +anterolateral +immigration +glassy +ers +tunis +precipitates +propylene +324 +removes +##olimus +dtc +multiform +##acetam +avenue +reint +##otetr +tonsillectomy +##atalysts +##iscal +##bm +impairing +carcinogenicity +##organized +preponder +convolution +variceal +workshops +earthquake +sunflower +updating +unity +cued +prematurely +epigastric +effected +pbdes +bags +anticipatory +dyspnoea +deriving +leachate +postures +mfs +chelate +pyloric +crustace +##ibi +antegrade +##carbonyl +diffusive +finished +neutrophilic +diminishes +tanzania +##utamide +incurred +sunitinib +metabotropic +##plasmic +precoci +cd95 +##hss +p0 +##ilol +##udinal +proving +ddd +cdr +simplify +phenotyping +operant +pyreth +gefitinib +labyrinth +ivermectin +oleate +cornerstone +irb +314 +reinst +hoped +iad +staurosporine +##glycine +aptamers +melphalan +t6 +insulator +##oub +byproduc +oviduct +ptr +##nut +sirs +aat +##onitor +pvl +##tilbene +expired +amides +##rocar +##ophilicity +weap +isokinetic +##ifn +nonobese +paradoxically +rhinosinusitis +ted +dls +proteas +##ilson +suicides +galnac +398 +dermatological +landfill +septicemia +citation +relaxations +conceal +thereof +disclose +psg +johnson +nonionic +confronted +1960s +##oserine +##pyruvate +carboxyp +thymoma +immunopos +##bling +328 +##me3 +nylon +##ventional +rpa +##4b +tbp +critic +pancreatectomy +voltages +##akic +ipd +mtr +338 +calendar +nestin +##aci +overuse +mycorrhizal +premise +cacl2 +firmly +##ilation +wrink +quinidine +anthel +17β +veterin +nucleoli +radiosensitivity +cuts +lk +endangered +hybridisation +attribution +##ogas +exhaust +##vular +##fb +dihydrotestosterone +dicty +typhi +perit +##occus +dock +##peri +##opard +pyros +ptt +mict +divor +spme +solit +##neumonia +sponges +jam +lir +mendelian +daughters +snf +transr +capec +guanylate +##ptics +polymerized +decompensated +enters +linezolid +##obal +##pps +hemolymph +cardioverter +interviewing +caa +salping +##oliation +##mscs +4e +bioaccumulation +##ohydrolase +##ecture +cyanobacterial +sternotomy +##imed +download +cannabinoids +##vp +assistant +##l4 +patern +etch +populated +bse +micronuclei +cytokinesis +subchondral +spinach +##omus +lmw +spotted +##bin +clinico +hypothesised +nulliparous +butyric +lobar +##obacillus +paroxetine +oryzae +cleave +neomycin +rutin +phenolics +egypt +##fd +336 +322 +##ophiles +pedestr +##ospores +aroma +##amptic +grief +##3c +##izyg +##kel +subfraction +colombia +pann +ctcs +noninvasively +##oda +hydroxysteroid +macula +##anthus +pht +326 +kyphosis +phytohemagglutinin +calb +sangu +##alact +assistants +photothermal +ffm +##ocally +malle +subsid +capecitabine +trkb +eradicate +victoria +proapoptotic +laminae +bsp +##road +##ometrics +12p +handicap +entom +##4002 +dhe +##adenoma +abstracted +##pervised +equatorial +pvs +fluorescently +worsen +percentiles +##aresis +circumscribed +continental +empy +mussels +thapsig +##yi +##occup +tritic +tcf +##uating +317 +improper +anecd +bursting +apatite +globus +skelet +labial +##atement +squirrel +broc +photop +sponsored +prk +nonlinearity +adalimumab +cetuximab +subtr +neurotensin +metallo +fumarate +quorum +mitogens +barely +conformal +grant +mesothelial +##din +6b +##imbic +bonfer +marc +misinterpre +##atentorial +numb +diox +##urational +intercept +panor +paraplegia +variances +looks +renewable +pgd +##160 +##ohepatitis +##adias +volv +microelectrode +##2p +reven +##ocerc +forehead +superconducting +cd40l +coryneb +apoc +cynomol +counteracted +dealt +widening +##vr +neuropathies +stan +##alp +ida +spiro +thuring +exotic +commenced +spared +##hyper +telec +##ocystein +everolimus +thapsigargin +tendin +abolish +rhabdomyosarcoma +##abric +fivefold +phobia +benzoic +nociception +##opexy +degenerated +lta +ym +indolent +hunger +quantitate +1968 +amitriptyline +inval +nonsyn +psychologists +endosperm +humanized +ascs +##cl3 +meanings +hairs +pws +hypotonic +jn +##omycetes +skewed +orthodon +hamm +##oprofen +osteopenia +aplastic +exome +leukopenia +zidov +neurotrophin +nicotiana +transrectal +pneumocystis +e2f +interferences +##eedback +handled +##ipes +resonator +multipl +lc50 +##fed +coadministration +anhydro +291 +walker +##peak +auricular +inoperable +mainland +oriental +##umer +prein +##ymb +ccp +therapeutical +##enzymatic +localities +hydroxybenz +draws +lysed +ecologically +myriad +##elen +mt1 +decoding +uncharacterized +##ymet +hypere +##otypical +hemin +hydroxyurea +##ucher +berberine +eud +##piper +examiners +peculiarities +microti +##estrus +##odeoxycholic +pepper +##asters +hash +autocor +repell +formalism +sids +denoted +##cyt +premalignant +ims +blade +scavengers +stx +meant +zidovudine +readout +mwcnts +lactobacilli +knew +tetradecanoyl +mated +trimer +dde +ucl +p5 +biomolecular +wilson +opposition +dendrimers +entries +1965 +electronically +##iliac +opaque +polyelectrolyte +##v2 +##ims +##openem +pex +organisational +itch +dipeptide +abutment +varicose +asi +dissect +preserves +intercalated +relaxant +advisable +gastroduoden +serologically +enhancements +342 +thermograv +texts +corroborate +##odular +agonistic +policym +reuse +coincides +provisional +enterpr +stepping +deflection +verruc +normalize +cardiov +entrain +polio +cyp2c19 +##oretinal +##rolases +##mates +##usen +really +harsh +duchenne +cd18 +ebola +gelatinase +##apentaenoic +antitum +relaxing +chx +fallopian +##opropane +advertising +entails +packaged +##c12 +pud +clipping +command +officinal +ft4 +frameshift +tour +sh2 +centuries +##uta +hccs +icf +drilling +##109 +gilts +##arming +topo +camkii +contag +nitrification +electroencephalographic +urge +bonferroni +##udied +##robacter +343 +deoxyuridine +nonoperative +piperacillin +##bands +trivial +##ucker +##oduodenectomy +##trich +##urban +planktonic +daun +##fetil +adipogenic +deferens +worn +explosive +tapered +voric +sialyl +intramural +cog +stereo +subjectively +spend +inertial +introg +photob +mpn +salience +mammal +agp +aspirate +##rozole +passes +hydroxydopamine +periplasmic +breasts +gis +eleph +timolol +##iones +alar +monooxygenase +pus +compaction +behaves +respects +aminoglycosides +xii +##q13 +demarc +specialised +##box +irradiance +premotor +kanamycin +gastrostomy +eminence +dech +provoke +hospitalised +faecium +##fh +aeromonas +tourniqu +##orters +cdk2 +flutter +teleost +cyp2c9 +dpat +microcapsules +fluorinated +luts +remitting +venules +tracks +fog +prebiotic +nonpolar +transplantations +pericardium +hyg +clefts +ptosis +demented +ept +##ariasis +hyperbil +##oplasmin +semis +insensitivity +stut +spoken +3t +protozoa +indonesia +##ophoresis +antinociception +progest +meropenem +returns +voriconazole +converge +louis +feno +cya +rbf +carved +bootstrap +interposition +dioxygenase +myositis +underm +depolarized +assure +pho +outperforms +reportedly +paraneoplastic +pyridoxal +methanolic +biofeedback +##onception +heard +lordosis +coarctation +patchy +sss +adrs +ahead +p63 +harris +papain +##isperse +##atalyst +steatohepatitis +adhesives +mica +enzymic +resembl +hads +cholesteatoma +opacities +##olumbar +lactamases +topographical +illuminated +onwards +pharyng +##ologically +nucleated +impede +daph +congo +neutropenic +ethanolic +425 +athymic +beetles +remind +perikary +protoporphyrin +cytochromes +amygdal +##ropical +pi3 +bronchoconstriction +hyperkal +ciliated +spirituality +plated +dpa +##yrrh +antigenicity +micronutrient +podocytes +mah +antagonize +feeder +puerto +microextraction +directive +532 +ileus +apcs +northwest +radiopharmaceu +elders +brow +perif +collagens +lecture +psm +photore +ntg +muscimol +##electrophoresis +dropout +modulations +oscillators +abbreviated +gramm +hamstring +pericarditis +pyrosequencing +js +caga +lanthanide +##orea +hai +triangle +phox +ecog +oab +##otyl +##yzed +flushing +transglutaminase +##oxime +abandoned +recombinants +antith +radiois +affiliation +##cross +##icularis +monolithic +uplc +##verbal +##170 +sfa +corticospinal +economics +haematopoietic +coincide +mary +intermed +acyltransferase +##amedullary +cards +rxr +alm +robustly +penetrance +reactants +terminate +crick +clc +pursue +##hemisph +cma +##obular +sectioning +npr +hostility +510 +radii +subthreshold +impulses +stabilities +pans +expenses +amplifier +amputations +undoub +##odiagn +##flies +##orelax +hva +minimizes +rk +##indin +superco +arisen +≥5 +shark +sanitation +##etallic +gloves +##galact +486 +jp +containment +interrater +##ovan +ly29 +##othiazide +dishes +hyposp +boc +##alesional +##ries +bitter +##obe +##oplanin +finds +anhydride +propri +discour +pgl +txb2 +macroscopically +congress +seeing +selenite +unsupervised +ias +jones +##odeoxyuridine +gtpases +shall +legitim +riva +attractiv +astrocytomas +chiropr +tachyarrhythm +interictal +expressive +##f6 +fabry +transmissible +sclerotherapy +municipalities +decorated +##held +ordinal +phenanthroline +amf +cmp +rooted +##otrig +univ +interrelated +nonb +cereals +translating +biologists +immunostained +nails +halide +pharynx +exercising +sero +microliter +##type +illusion +##pox +bioluminescence +heterotrophic +psychophys +flun +dcp +1800 +specifications +##ethylamine +succession +optimism +1p +decoc +cdt +silage +±0 +associating +microvasculature +metazo +kinetically +hydroxypropyl +framingham +minip +hemif +##aphic +chromatic +porcel +hmscs +punishment +impar +pallidus +vapour +troubles +emotionally +glaucomatous +bav +amr +laa +vntr +inconsistencies +aura +apposition +biphenyls +evar +##rocytic +inaccess +ppr +eos +nect +dph +n6 +##alignment +nanostructure +excellence +amblyopia +aglyc +##inavir +macronutr +tungsten +##abolism +dimorphic +kaw +euglyc +perfluoro +cyp1a2 +pumped +##aspinal +subluxation +490 +herbivores +6r +##uronate +##anediol +cecum +cran +hsp27 +angeles +calculus +periosteal +aha +uni +stimulations +cd80 +o1 +506 +stride +recess +catechin +##cf +paget +trophoblastic +ruptures +delinqu +##chard +erm +continually +textile +ablative +thuringiensis +vanadate +histograms +discol +laterality +aortas +mineralocorticoid +optimised +mers +fbp +##isd +##mers +seasonality +urologic +wetlands +undoubted +##980 +warts +osteolysis +logmar +lymphoblastoid +undertaking +turbulent +mullerian +##ulinic +enterocytes +tropomyosin +annotations +hypocalcemia +asexual +prun +magna +ido +378 +containers +pupillary +glycero +##ilicity +##loem +reconsider +secretase +dtt +flagella +transmitt +cook +standardize +##jo +##domain +angii +deciduous +cynomolgus +##hap +postis +780 +##eruleus +oncoprotein +procoagul +exchanged +tgfbeta +asynchronous +apn +taiwanese +gca +mycotoxins +sutured +alexith +genitalia +ifa +verteb +##encaps +britain +localizes +##holding +coi +mitigated +peroxisomes +fow +suffers +consultants +haptoglobin +localizing +traf +530 +lysosome +philipp +abb +southwest +pik +wellness +##wash +332 +antiferromagnetic +adiab +arrhythmic +summed +lump +pab +adhering +electrocardiography +clips +imidazol +immunoprecipitated +##wv +##olines +neuritis +sure +organochlor +agrees +##igenes +##enstrual +promyelocytic +##weigh +##emetic +ima +multipotent +pedunc +pugh +##cinated +dichloromethane +herp +ht2 +communicable +glabrata +bci +tsc +tumorigenicity +serosal +lamellae +sacro +##iosity +dmi +ecule +##osteron +##no3 +orienting +hemiparesis +gdf +notch1 +##emal +ross +tentative +zwitterionic +patellofemoral +dst +csd +##phia +lenti +uw +wool +sling +scanners +twisted +proct +shp +phosphoprotein +kcat +portugal +spark +roof +linkers +drained +##yclo +mycophenolate +gracil +hyperprolactin +podocyte +addictive +vep +distally +##uder +radiotr +intraductal +plantarum +informants +407 +##onitoring +vsd +uninsured +dbc +agr +attractiveness +dermatologists +##ontium +thoracolumbar +glomerulos +teamwork +haptic +fio2 +outperformed +##ivocally +unspecific +riton +metalloprote +bioavailable +sdb +ore +050 +elevating +indocyanine +ejaculation +wounding +##b6 +alu +##bachia +rgc +phloem +##104 +ferul +fluorophores +propionic +catfish +narrower +omitted +ensured +penins +diffusely +##rophied +refugees +##brom +precocious +ritonavir +microspor +burkitt +augmenting +iodinated +##maleimide +dormancy +vine +ncam +bvdv +books +mgmt +##yness +ili +happy +perir +dilemmas +bum +tams +permeabilized +enterocolitis +bragg +obstetrical +meconium +gossyp +##oprazole +recruits +symbolic +interferometer +dcc +319 +hamiltonian +brackets +##trauma +jewish +##ela +pneumatic +expiration +pulsatility +disproportionate +sscp +formulae +gynaecological +tep +vertex +pon1 +##silyl +zikv +rivarox +##cu +citalopram +coel +rams +coinfection +pallidum +xenon +6000 +ecori +cryptococcus +aorto +peel +reversion +tactic +hematomas +parvovirus +illegal +##grip +rivaroxaban +ptfe +transmitting +fears +proprioceptive +amenorrhea +aggrecan +##aortic +cmh2o +historic +founded +bombesin +metocl +estimators +##opramide +dorsiflex +trepon +cgp +lx +mapks +##hemispheric +adnexal +329 +1600 +vsv +naturalistic +##pping +cgs +binder +vhl +cleav +japonicum +multistep +flanked +baff +chase +systole +nitride +deformed +alike +empyema +teratogenic +extremes +aquaporin +llc +meters +prescribe +uvr +bcp +##alys +philadel +dispensing +glomerulosclerosis +snare +640 +potentiating +lpc +footprint +alend +histolytica +brands +retrieve +##ublish +formations +microgravity +wolbachia +coin +angiographically +decompensation +pyrazol +photosensitizer +anthelmin +antiemetic +hyperex +373 +pri +ellipso +##ungin +cgi +excimer +intercalation +temp +ssri +essay +immunodeficient +afterload +photophysical +pleura +urchin +mosm +paresis +pseudop +##encephaly +correlational +##terdam +purify +urbanization +dodec +titrated +327 +hepatocarcin +nfk +ingrowth +tlr9 +baboons +karyotypes +lifestyles +carvedilol +osteochondral +disulph +smad3 +imbalances +##jugated +constell +##tage +invasively +banks +postintervention +committees +ethidium +mpv +meningitidis +cdc42 +cephalosporin +##oparas +ree +mpc +neurologists +wmd +wines +##othal +##ophages +lipo +manifesting +handedness +stair +secondarily +potentiates +##ilane +##unate +psychoactive +scarcity +metoclopramide +##tris +eigenv +gingivitis +unloading +adduction +pfos +symposium +prokaryotes +involution +scab +jc +##q21 +2alpha +larva +mismatches +##trast +glycemia +##hemoglobin +fellowship +tenth +glyphos +philadelphia +##ublished +rgcs +isthmus +scintigraphic +osmolarity +theor +inserting +contraindication +bronchodilator +wasp +indica +southwestern +ganciclovir +niss +jumping +kern +sebaceous +premolar +anaesthe +##ucent +glyceraldehyde +ail +dabig +saccadic +mtbi +##elly +isl +720 +sulfo +p19 +##ansetron +icm +glyphosate +gallate +overestimation +gerb +plethora +##core +rigorously +resemblance +dabigatran +concise +whr +cardiologists +ionomer +630 +withdrawing +intelligent +##kyo +unequivocally +installation +tackle +radiative +lettuce +perforin +1g +##entious +epoch +toothbr +intrapartum +dans +plasmal +scatchard +burkholder +331 +##dt +regularity +plasmapheresis +omics +unbalanced +frontotemporal +321 +blu +tubing +##tier +refusal +multicentric +strontium +##ubular +omission +amplicon +s9 +crist +physiotherap +parasitism +recalcitrant +##agin +astr +pravastatin +coag +##ozin +ribozyme +millil +fep +myelosupp +ly294002 +asl +putida +##axine +spironolactone +##aeus +lactide +##onvulsive +vasculopathy +##furan +##evolution +resumption +polypharm +brev +updates +aqp4 +##±7 +hemopoietic +definitively +extrapyramidal +ducks +intimately +geniculate +lipogenesis +decomposed +##iser +declared +stagn +dism +proportionally +hoech +cannulated +oophorectomy +##aration +2k +uteri +procoagulant +underpin +transforms +cfr +deoxyribonucleic +##edrine +intraf +jm +ctnt +marmos +sls +acridine +postr +causation +fz +mtp +disasters +tmt +pericytes +##acylglycerols +surpass +##ertz +so4 +##ynchus +spinning +myoclonus +relaxin +bioequ +hans +##ophenone +##fract +retroviruses +avulsion +collapsed +dorsi +alendronate +##months +cars +hypoal +midwif +##olae +morbidly +disappointing +dermatologic +disassembly +enumeration +hig +idus +ondansetron +nls +##ycholate +glen +successes +valproic +researched +pharmacogenetic +511 +alkanes +director +cnvs +electrospun +multiforme +pcdd +clerks +monophasic +milling +##a4 +stew +##roblast +hypovol +pastoris +supercritical +electrophilic +ehrlich +litters +sba +hut +contingency +anodic +euros +stec +##bridge +lyophilized +##laf +hexokinase +pits +unpublished +##wr +##iasmatic +gathering +##stand +monophyletic +join +ectoderm +##terp +flaw +finishing +##rosthesis +##nh +mofs +##aud +psma +##wire +tokyo +acylation +351 +triamcin +dcr +##emoglobin +hypopnea +hyperventilation +##aglu +##idated +##waters +paraf +334 +##otrich +escs +hrct +multistage +bug +israeli +reforms +hoechst +5alpha +337 +melit +341 +ebna +spindles +##opolymers +##otyrosine +quinoline +austria +nitrox +hfp +phl +ninth +dcd +al2o3 +##icates +plr +prominently +amphibians +##chid +##obiology +pyrrole +##azolamide +immunogold +boiling +microsatellites +subfamilies +oak +##omyositis +augments +flattened +azido +narcol +c10 +jac +transfectants +##imited +photos +sensitis +ceus +regained +##oxifene +##efaciens +biologics +##ething +explosion +informing +##ocampal +noncompl +tdf +hiaa +igan +arachnoid +deregulated +nanocl +glycolipid +adeno +##afs +aus +##anoate +multinucleated +##oraph +approximations +ameliorating +something +motivations +hydrolysate +##tase +endobronchial +extents +pdf +acetylglucosamine +boar +l6 +txa2 +##perfusion +##ogranin +vesico +ppe +posttranscription +hypospadias +iκb +mitigating +diving +outweigh +##isic +carniv +##hipp +inat +penetrated +ests +perinuclear +nymphs +telangiectasia +##ferior +porcelain +travers +midwifery +unimp +##atemia +fauna +glut1 +cholangiopancre +##olo +amper +phosphoenol +##ayered +repulsive +award +chimerism +porphyrins +exudates +##parous +##iprazole +factory +##illar +amplicons +##nitros +meps +##ordinate +spermatocytes +dct +janus +recurs +flexural +phylogen +##roplasties +##ador +jer +dyslipid +intrarenal +buildings +ureteric +lend +##oplication +plexiform +1100 +multisp +etched +biopsied +headspace +sunsc +healthier +##roscope +##onous +##qc +##olac +paraph +cellulitis +deliberate +fluoroquinolone +storing +##othio +malarial +##osylcer +##7t +varicocele +maternally +##emes +interpolation +chemoprevention +bx +intergroup +ivm +galpha +bra +cdk4 +rhabdomyolysis +pedigrees +violations +transmittance +pgh +hydrops +foliar +mids +##uy +syrian +##tick +triamcinolone +quinolone +serp +wett +dio +lactams +citrulline +acculturation +arena +aspirated +chicago +660 +deoxyglucose +haematoma +reinn +mdi +simplest +412 +prf +scand +toronto +armed +exfoli +undoubtedly +##ascin +dinitroph +arthropod +##yelinated +dichotomous +endotoxemia +propanol +archival +nachrs +handgrip +contusion +ucb +vlbw +nigros +autoreactive +numeric +repairing +o6 +pmt +flt +circr +radiolabelled +pmp +complements +eot +##omatoid +noble +339 +##dlers +damping +mall +gingiva +##owa +anaphylactic +incorrectly +enteritis +neurosurge +phylum +pcps +##olinic +##imoto +immunodom +amniocentesis +caval +unintentional +visualizing +offices +microsp +panoramic +impurity +lda +p7 +thyrotoxic +gibbs +hnp +overr +≥50 +proposition +##othoracic +valent +funds +boards +##artite +pleasant +monozyg +densitometry +dme +##rotin +coerc +37°c +mcv +##almit +diastole +sweating +crus +irritability +##iced +immunol +##ogly +remissions +##tening +digitor +##itica +intratracheal +51cr +distractor +tdr +##omicroscopy +beside +5mg +overexpress +fishing +situational +mog +distinguishes +appendage +multiplexed +srebp +accelerator +##enesulf +dependencies +fragilis +monoclinic +confounded +dang +neurologically +invariance +stakeholder +mosaicism +tartrate +##metry +elapsed +##eptidyl +symbiosis +##hz +prolyl +laminectomy +consulting +crm +mgo +nucleosomes +autoc +##ethoxy +7a +adiabatic +vre +odors +succinyl +hyperhom +kilobase +##obenzyl +monomethyl +xylanase +##ibrin +removable +biting +overlaps +addicts +turp +multich +##aco +suppressors +reappear +deceleration +catalyzing +cauda +##5ac +dips +nj +##ager +appliances +scalar +desaturase +artemisinin +vec +##uloplasmin +perforator +kindling +364 +orchid +tetrahedral +enoxaparin +trac +corynebacterium +##attern +photovoltaic +electricity +diffusing +p15 +abca1 +oct4 +auc0 +ero +##qx +##ithi +19th +atpases +desiccation +##idinyl +mre +respondent +rehydration +conclusively +medulloblastoma +advocates +pme +biophys +infiltrative +stereois +settlement +dr4 +barth +gpc +mentors +spd +phenanthrene +##ablation +##craft +cryotherapy +≥10 +decarbox +scrapie +##trium +hyperuricemia +ata +mp2 +##empfer +##egm +orthologous +facultative +bom +precancerous +##cytidine +diamine +pao +repeatable +chimera +communicative +mnsod +preadip +milligr +figo +igg2a +n0 +bifidobacterium +evidently +##hf +dendrimer +leprae +digitorum +menten +saponin +mould +spawning +dpc +pentyl +##enk +chur +ensembles +neuroleptics +##osfamide +absor +##v6 +octahedral +##answ +pulmon +356 +opacification +##adders +##aglobulin +tourniquet +enema +ferred +forget +nonverbal +iva +352 +meticulous +abscisic +burkholderia +gii +influent +##pots +botan +348 +dihydrox +micrometast +digitized +rs22 +lips +pfo +igd +visitors +cd11c +lights +emf +##engine +ethm +chlorpyr +cisterna +##opyranoside +autoradiographic +perchlorate +synonym +##ercise +stereochemistry +##wall +dyslexia +excursion +tesla +autophosphorylation +##ipin +upar +resurf +sterilized +granulomatosis +µmol +eicosapentaenoic +##castle +##ecretion +structuring +##phys +bulbar +ketoac +sydney +mnc +extramedullary +rhu +tropism +hypophosph +clarifying +judgement +jord +puzz +diplopia +deoxynucleotidyl +lympho +##alogy +##6c +clothing +tph diff --git a/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/vocab.txt b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/vocab.txt new file mode 100644 index 0000000000000000000000000000000000000000..6cd26c45a7e8702fb90e0aa048b32b0040a7ff24 --- /dev/null +++ b/gnorm_trained_models/BiomedNLP-PubMedBERT-base-uncased-abstract/vocab.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b36651908a88bc38bda41b728b2a598191e0d3b553cbacf7b1e5f026d5b5b9f +size 225062 diff --git a/gnorm_trained_models/SpeAss/SpeAss-Bioformer.h5 b/gnorm_trained_models/SpeAss/SpeAss-Bioformer.h5 new file mode 100644 index 0000000000000000000000000000000000000000..bf6f018067059ef09d6016a2c31a646d1912fe4c --- /dev/null +++ b/gnorm_trained_models/SpeAss/SpeAss-Bioformer.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c746503f222905f54483b5aa6975401f656b6c2aae369c3c594d7e7668bf9cf +size 170296664 diff --git a/gnorm_trained_models/SpeAss/SpeAss-PubmedBERT.h5 b/gnorm_trained_models/SpeAss/SpeAss-PubmedBERT.h5 new file mode 100644 index 0000000000000000000000000000000000000000..8eff520ec00da8f17af48759470714e2af65de7b --- /dev/null +++ b/gnorm_trained_models/SpeAss/SpeAss-PubmedBERT.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ea1135a87dff6af9f4a15f34b29c62944adf146d05abe93112da94b0fc3db8f +size 433223952 diff --git a/gnorm_trained_models/bioformer-cased-v1.0/README.md b/gnorm_trained_models/bioformer-cased-v1.0/README.md new file mode 100644 index 0000000000000000000000000000000000000000..854c1df93c6c3759b60562266d9985713229c535 --- /dev/null +++ b/gnorm_trained_models/bioformer-cased-v1.0/README.md @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3939b0a4cd6517d11941045c7f756f856be991625ecc2605998c21245248a5a7 +size 2652 diff --git a/gnorm_trained_models/bioformer-cased-v1.0/config.json b/gnorm_trained_models/bioformer-cased-v1.0/config.json new file mode 100644 index 0000000000000000000000000000000000000000..98f5886031f9f9b043579031d590cf3fc9b60814 --- /dev/null +++ b/gnorm_trained_models/bioformer-cased-v1.0/config.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:236526893dc68119741d4482455059f53fa6bdd225716e96e915176467580e7c +size 383 diff --git a/gnorm_trained_models/bioformer-cased-v1.0/pytorch_model.bin b/gnorm_trained_models/bioformer-cased-v1.0/pytorch_model.bin new file mode 100644 index 0000000000000000000000000000000000000000..fb3a8939b266a6b817139929dd2ec916ef0a6934 --- /dev/null +++ b/gnorm_trained_models/bioformer-cased-v1.0/pytorch_model.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c7a0bc1d0cccc89d92b1295c4b5131f54f6f1929dc6024fe70def6e58670a69 +size 171344886 diff --git a/gnorm_trained_models/bioformer-cased-v1.0/tf_model.h5 b/gnorm_trained_models/bioformer-cased-v1.0/tf_model.h5 new file mode 100644 index 0000000000000000000000000000000000000000..6ae2f66168f83be0ca41422e6272d4e4cfd766f8 --- /dev/null +++ b/gnorm_trained_models/bioformer-cased-v1.0/tf_model.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:208c90dd85e6e327eeb098f52ae7bea323e902c50a5a22776c974e41b078451a +size 239660032 diff --git a/gnorm_trained_models/bioformer-cased-v1.0/tokenizer_config.json b/gnorm_trained_models/bioformer-cased-v1.0/tokenizer_config.json new file mode 100644 index 0000000000000000000000000000000000000000..d2bb1b5d04f34aad317b17d5ba3bb024df2f2f0e --- /dev/null +++ b/gnorm_trained_models/bioformer-cased-v1.0/tokenizer_config.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5064475340d80a560463f49921407d901eef3e89667a931eb81a186633eff4b +size 24 diff --git a/gnorm_trained_models/bioformer-cased-v1.0/vocab.txt b/gnorm_trained_models/bioformer-cased-v1.0/vocab.txt new file mode 100644 index 0000000000000000000000000000000000000000..7864300de4ffb98163f615066382b450c5e461ad --- /dev/null +++ b/gnorm_trained_models/bioformer-cased-v1.0/vocab.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c96a7e8e64f7194de4d985cb9f4a59fa152c67f3b62336927c60af3ec4755a07 +size 247686 diff --git a/gnorm_trained_models/geneNER/GeneNER-Bioformer.h5 b/gnorm_trained_models/geneNER/GeneNER-Bioformer.h5 new file mode 100644 index 0000000000000000000000000000000000000000..f9af2b005328db75cf6a54089a4129b99ed11cbf --- /dev/null +++ b/gnorm_trained_models/geneNER/GeneNER-Bioformer.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8db37a33d9b31ebe96fa4032ff8a39d8dd248e40364b6698b83f6af3f4903619 +size 170548176 diff --git a/gnorm_trained_models/geneNER/GeneNER-PubmedBERT.h5 b/gnorm_trained_models/geneNER/GeneNER-PubmedBERT.h5 new file mode 100644 index 0000000000000000000000000000000000000000..39bdeef7570106781db65af16745de18ac4e5570 --- /dev/null +++ b/gnorm_trained_models/geneNER/GeneNER-PubmedBERT.h5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30081192f883894d1b7f8c2bf92417868a14a6da8f34fd346cc9344bc10198f4 +size 438596488 diff --git a/gnorm_trained_models/stanza/en/backward_charlm/1billion.pt b/gnorm_trained_models/stanza/en/backward_charlm/1billion.pt new file mode 100644 index 0000000000000000000000000000000000000000..82b8b77adc08c7834df0a1874d1df70de82078ce --- /dev/null +++ b/gnorm_trained_models/stanza/en/backward_charlm/1billion.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d8cb2306650e4fc2b4f7517cc0fb33b38269e05bbf8d05e712e481471052225 +size 22743430 diff --git a/gnorm_trained_models/stanza/en/constituency/wsj.pt b/gnorm_trained_models/stanza/en/constituency/wsj.pt new file mode 100644 index 0000000000000000000000000000000000000000..df0ee059a2d6471bc7125bde7e1c818089e5aab0 --- /dev/null +++ b/gnorm_trained_models/stanza/en/constituency/wsj.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c4a2e67c2dff678cefc1dc1f0f17609e10a56fda4761b83be07da781585f5f2 +size 88633767 diff --git a/gnorm_trained_models/stanza/en/depparse/combined.pt b/gnorm_trained_models/stanza/en/depparse/combined.pt new file mode 100644 index 0000000000000000000000000000000000000000..41a251cb013997fb12063bdeb11e8bbbb0c61f51 --- /dev/null +++ b/gnorm_trained_models/stanza/en/depparse/combined.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6896da38d9f5bd6110ff90d1b6d0ea7c1aa81ddbe03c6b6968cc33ff76b0c8cb +size 109285372 diff --git a/gnorm_trained_models/stanza/en/forward_charlm/1billion.pt b/gnorm_trained_models/stanza/en/forward_charlm/1billion.pt new file mode 100644 index 0000000000000000000000000000000000000000..bc852c66a56f54801b549cac5e9f84637fbb5f9d --- /dev/null +++ b/gnorm_trained_models/stanza/en/forward_charlm/1billion.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a32ac2226dda8ea5d30f2a15fe3f835639977f299cfda315ce1b8a656596fd2 +size 22743428 diff --git a/gnorm_trained_models/stanza/en/lemma/combined.pt b/gnorm_trained_models/stanza/en/lemma/combined.pt new file mode 100644 index 0000000000000000000000000000000000000000..5ae79e467e0dd067c7f57c1a6be4240a59f83775 --- /dev/null +++ b/gnorm_trained_models/stanza/en/lemma/combined.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc359c0f0d6923fe02179b5b3559b001e5baf5474a644214af48ca8d3a7ef325 +size 4169652 diff --git a/gnorm_trained_models/stanza/en/ner/ontonotes.pt b/gnorm_trained_models/stanza/en/ner/ontonotes.pt new file mode 100644 index 0000000000000000000000000000000000000000..e2ad2f0f929afac59c96362f47f791bc7946d977 --- /dev/null +++ b/gnorm_trained_models/stanza/en/ner/ontonotes.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f816ec04e96ce070e0760514e12ba055b6fd622a06b9653bb8911a86d18b0dd +size 166185920 diff --git a/gnorm_trained_models/stanza/en/pos/combined.pt b/gnorm_trained_models/stanza/en/pos/combined.pt new file mode 100644 index 0000000000000000000000000000000000000000..7d707e399fc7cd7b4b5545fd82de1d8db122e7b1 --- /dev/null +++ b/gnorm_trained_models/stanza/en/pos/combined.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93766b38895e55d2247fce02e21613eb75380a556c05ebea48005805c9443b0f +size 23539687 diff --git a/gnorm_trained_models/stanza/en/pretrain/combined.pt b/gnorm_trained_models/stanza/en/pretrain/combined.pt new file mode 100644 index 0000000000000000000000000000000000000000..631476ef93f2cf0cce86823154552d54432a7617 --- /dev/null +++ b/gnorm_trained_models/stanza/en/pretrain/combined.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1020c8b4e42df2617f5f6b7068d7e5ed216e6d816d9f7542720f0bfcfedcf92 +size 106701198 diff --git a/gnorm_trained_models/stanza/en/sentiment/sstplus.pt b/gnorm_trained_models/stanza/en/sentiment/sstplus.pt new file mode 100644 index 0000000000000000000000000000000000000000..9fca162122045c11c6ee1034fcdc3a717c3b3ab1 --- /dev/null +++ b/gnorm_trained_models/stanza/en/sentiment/sstplus.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550e5c64643c3430be872637f3420b7476927eac96c01e00d01b932803fd32e2 +size 27525228 diff --git a/gnorm_trained_models/stanza/en/tokenize/combined.pt b/gnorm_trained_models/stanza/en/tokenize/combined.pt new file mode 100644 index 0000000000000000000000000000000000000000..2878390585bc44111b1620c121eb689c560b83ce --- /dev/null +++ b/gnorm_trained_models/stanza/en/tokenize/combined.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63d0184597adcea53df2066553b30eb014cea73496fdf987bcaeb5d300082fb4 +size 647021 diff --git a/gnorm_trained_models/stanza/resources.json b/gnorm_trained_models/stanza/resources.json new file mode 100644 index 0000000000000000000000000000000000000000..5a3a247255a165e08a77cd0d409dfd6d269901f7 --- /dev/null +++ b/gnorm_trained_models/stanza/resources.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a35a077f26bad77ff7684a512db3618e63709ca159425e243b687a9e88d4c433 +size 154120 diff --git a/identify_abbr b/identify_abbr new file mode 100755 index 0000000000000000000000000000000000000000..e1fa3dd8247ea511cfc4a921e9ef925319f05fe6 Binary files /dev/null and b/identify_abbr differ diff --git a/path_Ab3P b/path_Ab3P new file mode 100755 index 0000000000000000000000000000000000000000..ddb8d20a8270cd6a69b3193f4bf424b2d79f8740 --- /dev/null +++ b/path_Ab3P @@ -0,0 +1 @@ +Library/WordData/ \ No newline at end of file diff --git a/requirements-py310.txt b/requirements-py310.txt new file mode 100644 index 0000000000000000000000000000000000000000..6df98a47edbf0bc60dddcb002e387042a0bc4b23 --- /dev/null +++ b/requirements-py310.txt @@ -0,0 +1,7 @@ +tensorflow==2.8 +transformers==4.37.2 +stanza==1.4.0 +spacy==3.2.4 +bioc==2.0.post4 +spacy==3.2.4 +protobuf==3.20.1 \ No newline at end of file diff --git a/requirements-py38.txt b/requirements-py38.txt new file mode 100644 index 0000000000000000000000000000000000000000..54e234e5dc53ed165b56bcafff85a7d78d0faaa9 --- /dev/null +++ b/requirements-py38.txt @@ -0,0 +1,76 @@ +absl-py==1.0.0 +astunparse==1.6.3 +attrs==21.4.0 +bioc==2.0.post4 +blis==0.7.7 +cachetools==5.0.0 +catalogue==2.0.7 +certifi==2021.10.8 +charset-normalizer==2.0.12 +click==8.0.4 +cymem==2.0.6 +emoji==1.7.0 +filelock==3.6.0 +gast==0.3.3 +google-auth==2.6.6 +google-auth-oauthlib==0.4.6 +google-pasta==0.2.0 +grpcio==1.44.0 +h5py==2.10.0 +huggingface-hub==0.5.1 +idna==3.3 +importlib-metadata==4.11.3 +intervaltree==3.1.0 +Jinja2==3.1.1 +joblib==1.1.0 +jsonlines==3.0.0 +Keras-Preprocessing==1.1.2 +langcodes==3.3.0 +lxml==4.8.0 +Markdown==3.3.6 +MarkupSafe==2.1.1 +murmurhash==1.0.7 +numpy==1.18.5 +oauthlib==3.2.0 +opt-einsum==3.3.0 +packaging==21.3 +pathy==0.6.1 +preshed==3.0.6 +protobuf==3.20.1 +pyasn1==0.4.8 +pyasn1-modules==0.2.8 +pydantic==1.8.2 +pyparsing==3.0.8 +PyYAML==6.0 +regex==2022.4.24 +requests==2.27.1 +requests-oauthlib==1.3.1 +rsa==4.8 +sacremoses==0.0.49 +scipy==1.4.1 +six==1.16.0 +smart-open==5.2.1 +sortedcontainers==2.4.0 +spacy==3.2.4 +spacy-legacy==3.0.9 +spacy-loggers==1.0.2 +srsly==2.4.3 +stanza==1.4.0 +tensorboard==2.8.0 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorflow==2.3.0 +tensorflow-estimator==2.3.0 +termcolor==1.1.0 +thinc==8.0.15 +tokenizers==0.12.1 +torch==1.11.0 +tqdm==4.64.0 +transformers==4.18.0 +typer==0.4.1 +typing_extensions==4.2.0 +urllib3==1.26.9 +wasabi==0.9.1 +Werkzeug==2.1.1 +wrapt==1.14.0 +zipp==3.8.0 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100755 index 0000000000000000000000000000000000000000..8fc3b5bec35c47d0f928bded38caeb0c5a07feef --- /dev/null +++ b/requirements.txt @@ -0,0 +1,76 @@ +absl-py +astunparse +attrs +bioc +blis +cachetools +catalogue +certifi +charset-normalizer +click +cymem +emoji +filelock +gast +google-auth +google-auth-oauthlib +google-pasta +grpcio +h5py +huggingface-hub +idna +importlib-metadata +intervaltree +Jinja2 +joblib +jsonlines +Keras-Preprocessing +langcodes +lxml +Markdown +MarkupSafe +murmurhash +numpy +oauthlib +opt-einsum +packaging +pathy +preshed +protobuf +pyasn1 +pyasn1-modules +pydantic +pyparsing +PyYAML +regex +requests +requests-oauthlib +rsa +sacremoses +scipy +six +smart-open +sortedcontainers +spacy +spacy-legacy +spacy-loggers +srsly +stanza +tensorboard +tensorboard-data-server +tensorboard-plugin-wit +tensorflow +tensorflow-estimator +termcolor +thinc +tokenizers +torch +tqdm +transformers +typer +typing_extensions +urllib3 +wasabi +Werkzeug +wrapt +zipp diff --git a/setup.GN.txt b/setup.GN.txt new file mode 100755 index 0000000000000000000000000000000000000000..bad3a58fcee5a5891481dcbe6b576e10db27b817 --- /dev/null +++ b/setup.GN.txt @@ -0,0 +1,33 @@ +#===Annotation +#Attribution setting: +#FocusSpecies = Taxonomy ID +# All: All species +# 9606: Human +# 4932: yeast +# 7227: Fly +# 10090: Mouse +# 10116: Rat +# 7955: Zebrafish +# 3702: Arabidopsis thaliana +#open: True +#close: False + +[Focus Species] + FocusSpecies = All + FilterAntibody = True +[Dictionary & Model] + DictionaryFolder = Dictionary + GNRModel = Dictionary/GNR.Model + SCModel = Dictionary/SimConcept.Model + GeneIDMatch = False + HomologeneID = False +[Modules] + SpeciesRecognition = False + GeneRecognition = False + SpeciesAssignment = False + GeneNormalization = True +[Others] + Normalization2Protein = False + ShowUnNormalizedMention = False + tmpFolder = tmp + DeleteTmp = True diff --git a/setup.SR.txt b/setup.SR.txt new file mode 100755 index 0000000000000000000000000000000000000000..695a12d3152e05e67d725bc3c0131ece7284f279 --- /dev/null +++ b/setup.SR.txt @@ -0,0 +1,33 @@ +#===Annotation +#Attribution setting: +#FocusSpecies = Taxonomy ID +# All: All species +# 9606: Human +# 4932: yeast +# 7227: Fly +# 10090: Mouse +# 10116: Rat +# 7955: Zebrafish +# 3702: Arabidopsis thaliana +#open: True +#close: False + +[Focus Species] + FocusSpecies = All + FilterAntibody = True +[Dictionary & Model] + DictionaryFolder = Dictionary + GNRModel = Dictionary/GNR.Model + SCModel = Dictionary/SimConcept.Model + GeneIDMatch = False + HomologeneID = False +[Modules] + SpeciesRecognition = True + GeneRecognition = False + SpeciesAssignment = False + GeneNormalization = False +[Others] + Normalization2Protein = False + ShowUnNormalizedMention = False + tmpFolder = tmp + DeleteTmp = True diff --git a/setup.txt b/setup.txt new file mode 100755 index 0000000000000000000000000000000000000000..52611f98c0cd8b6e02d7cefa0517bec348d1a4cd --- /dev/null +++ b/setup.txt @@ -0,0 +1,33 @@ +#===Annotation +#Attribution setting: +#FocusSpecies = Taxonomy ID +# All: All species +# 9606: Human +# 4932: yeast +# 7227: Fly +# 10090: Mouse +# 10116: Rat +# 7955: Zebrafish +# 3702: Arabidopsis thaliana +#open: True +#close: False + +[Focus Species] + FocusSpecies = All + FilterAntibody = True +[Dictionary & Model] + DictionaryFolder = Dictionary + GNRModel = Dictionary/GNR.Model + SCModel = Dictionary/SimConcept.Model +[Modules] + SpeciesRecognition = True + GeneRecognition = True + SpeciesAssignment = True + GeneNormalization = True +[Others] + GeneIDMatch = False + Normalization2Protein = False + ShowUnNormalizedMention = False + HomologeneID = False + tmpFolder = tmp + DeleteTmp = True diff --git a/src_Java/GNormPluslib/BioCDoc.java b/src_Java/GNormPluslib/BioCDoc.java new file mode 100644 index 0000000000000000000000000000000000000000..bd7c1ffdf20dbd7e999f1511d0a6f546a749bc13 --- /dev/null +++ b/src_Java/GNormPluslib/BioCDoc.java @@ -0,0 +1,1344 @@ +/** + * Project: GNormPlus + * Function: Data storage in BioC format + */ + +package GNormPluslib; + +import bioc.BioCAnnotation; +import bioc.BioCCollection; +import bioc.BioCDocument; +import bioc.BioCLocation; +import bioc.BioCPassage; + +import bioc.io.BioCDocumentWriter; +import bioc.io.BioCFactory; +import bioc.io.woodstox.ConnectorWoodstox; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.UnsupportedEncodingException; +import java.time.LocalDate; +import java.time.ZoneId; + +import javax.xml.stream.XMLStreamException; + +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class BioCDoc +{ + /* + * Contexts in BioC file + */ + public ArrayList PMIDs=new ArrayList(); // Type: PMIDs + public ArrayList> PassageNames = new ArrayList(); // PassageName + public ArrayList> PassageOffsets = new ArrayList(); // PassageOffset + public ArrayList> PassageContexts = new ArrayList(); // PassageContext + public ArrayList>> Annotations = new ArrayList(); // Annotation - GNormPlus + + public String BioCFormatCheck(String InputFile) throws IOException + { + + ConnectorWoodstox connector = new ConnectorWoodstox(); + BioCCollection collection = new BioCCollection(); + try + { + collection = connector.startRead(new InputStreamReader(new FileInputStream(InputFile), "UTF-8")); + } + catch (UnsupportedEncodingException | FileNotFoundException | XMLStreamException e) + { + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(InputFile), "UTF-8")); + String line=""; + String status=""; + String Pmid = ""; + boolean tiabs=false; + Pattern patt = Pattern.compile("^([^\\|\\t]+)\\|([^\\|\\t]+)\\|(.*)$"); + while ((line = br.readLine()) != null) + { + Matcher mat = patt.matcher(line); + if(mat.find()) //Title|Abstract + { + if(Pmid.equals("")) + { + Pmid = mat.group(1); + } + else if(!Pmid.equals(mat.group(1))) + { + return "[Error]: "+InputFile+" - A blank is needed between "+Pmid+" and "+mat.group(1)+"."; + } + status = "tiabs"; + tiabs = true; + } + else if (line.contains("\t")) //Annotation + { + } + else if(line.length()==0) //Processing + { + if(status.equals("")) + { + if(Pmid.equals("")) + { + return "[Error]: "+InputFile+" - It's neither BioC nor PubTator format. PMID is empty."; + } + else + { + return "[Error]: "+InputFile+" - A redundant blank is after "+Pmid+"."; + } + } + Pmid=""; + status=""; + } + } + br.close(); + if(tiabs == false) + { + return "[Error]: "+InputFile+" - It's neither BioC nor PubTator format."; + } + if(status.equals("")) + { + return "PubTator"; + } + else + { + return "[Error]: "+InputFile+" - The last column missed a blank."; + } + } + return "BioC"; + } + public void PubTator2BioC(String input,String output) throws IOException, XMLStreamException // Input + { + /* + * PubTator2BioC + */ + String parser = BioCFactory.WOODSTOX; + BioCFactory factory = BioCFactory.newFactory(parser); + BioCDocumentWriter BioCOutputFormat = factory.createBioCDocumentWriter(new OutputStreamWriter(new FileOutputStream(output), "UTF-8")); + BioCCollection biocCollection = new BioCCollection(); + + //time + ZoneId zonedId = ZoneId.of( "America/Montreal" ); + LocalDate today = LocalDate.now( zonedId ); + biocCollection.setDate(today.toString()); + + biocCollection.setKey("BioC.key");//key + biocCollection.setSource("GNormPlus");//source + + BioCOutputFormat.writeCollectionInfo(biocCollection); + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(input), "UTF-8")); + ArrayList ParagraphType=new ArrayList(); // Type: Title|Abstract + ArrayList ParagraphContent = new ArrayList(); // Text + ArrayList annotations = new ArrayList(); // Annotation + String line; + String Pmid=""; + while ((line = inputfile.readLine()) != null) + { + if(line.contains("|") && !line.contains("\t")) //Title|Abstract + { + String str[]=line.split("\\|",-1); + Pmid=str[0]; + if(str[1].equals("t")) + { + str[1]="title"; + } + if(str[1].equals("a")) + { + str[1]="abstract"; + } + ParagraphType.add(str[1]); + if(str.length==3) + { + String txt = str[2]; + txt = txt.replaceAll("ω","w"); + txt = txt.replaceAll("μ","u"); + txt = txt.replaceAll("κ","k"); + txt = txt.replaceAll("α","a"); + txt = txt.replaceAll("γ","g"); + txt = txt.replaceAll("É£","g"); + txt = txt.replaceAll("β","b"); + txt = txt.replaceAll("×","x"); + txt = txt.replaceAll("‑","-"); + txt = txt.replaceAll("¹","1"); + txt = txt.replaceAll("²","2"); + txt = txt.replaceAll("°","o"); + txt = txt.replaceAll("ö","o"); + txt = txt.replaceAll("é","e"); + txt = txt.replaceAll("à","a"); + txt = txt.replaceAll("Ã","A"); + txt = txt.replaceAll("ε","e"); + txt = txt.replaceAll("θ","O"); + txt = txt.replaceAll("•","."); + txt = txt.replaceAll("µ","u"); + txt = txt.replaceAll("λ","r"); + txt = txt.replaceAll("âº","+"); + txt = txt.replaceAll("ν","v"); + txt = txt.replaceAll("ï","i"); + txt = txt.replaceAll("ã","a"); + txt = txt.replaceAll("≡","="); + txt = txt.replaceAll("ó","o"); + txt = txt.replaceAll("³","3"); + txt = txt.replaceAll("〖","["); + txt = txt.replaceAll("〗","]"); + txt = txt.replaceAll("Ã…","A"); + txt = txt.replaceAll("Ï","p"); + txt = txt.replaceAll("ü","u"); + txt = txt.replaceAll("É›","e"); + txt = txt.replaceAll("Ä","c"); + txt = txt.replaceAll("Å¡","s"); + txt = txt.replaceAll("ß","b"); + txt = txt.replaceAll("â•","="); + txt = txt.replaceAll("£","L"); + txt = txt.replaceAll("Å","L"); + txt = txt.replaceAll("Æ’","f"); + txt = txt.replaceAll("ä","a"); + txt = txt.replaceAll("–","-"); + txt = txt.replaceAll("â»","-"); + txt = txt.replaceAll("〈","<"); + txt = txt.replaceAll("〉",">"); + txt = txt.replaceAll("χ","X"); + txt = txt.replaceAll("Ä","D"); + txt = txt.replaceAll("‰","%"); + txt = txt.replaceAll("·","."); + txt = txt.replaceAll("→",">"); + txt = txt.replaceAll("â†","<"); + txt = txt.replaceAll("ζ","z"); + txt = txt.replaceAll("Ï€","p"); + txt = txt.replaceAll("Ï„","t"); + txt = txt.replaceAll("ξ","X"); + txt = txt.replaceAll("η","h"); + txt = txt.replaceAll("ø","0"); + txt = txt.replaceAll("Δ","D"); + txt = txt.replaceAll("∆","D"); + txt = txt.replaceAll("∑","S"); + txt = txt.replaceAll("Ω","O"); + txt = txt.replaceAll("δ","d"); + txt = txt.replaceAll("σ","s"); + txt = txt.replaceAll("Φ","F"); + txt = txt.replaceAll("[^\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\{\\}\\|\\:\"\\<\\>\\?\\`\\-\\=\\[\\]\\;\\'\\,\\.\\/\\r\\n0-9a-zA-Z ]"," "); + ParagraphContent.add(txt); + } + else + { + ParagraphContent.add("- No text -"); + } + } + else if (line.contains("\t")) //Annotation + { + String anno[]=line.split("\t"); + if(anno.length==6) + { + annotations.add(anno[1]+"\t"+anno[2]+"\t"+anno[3]+"\t"+anno[4]+"\t"+anno[5]); + } + else if(anno.length==5) + { + annotations.add(anno[1]+"\t"+anno[2]+"\t"+anno[3]+"\t"+anno[4]); + } + } + else if(line.length()==0) //Processing + { + BioCDocument biocDocument = new BioCDocument(); + biocDocument.setID(Pmid); + int startoffset=0; + for(int i=0;i Infons = new HashMap(); + Infons.put("type", ParagraphType.get(i)); + biocPassage.setInfons(Infons); + biocPassage.setText(ParagraphContent.get(i)); + biocPassage.setOffset(startoffset); + startoffset=startoffset+ParagraphContent.get(i).length()+1; + for(int j=0;j=startoffset-ParagraphContent.get(i).length()-1) + { + BioCAnnotation biocAnnotation = new BioCAnnotation(); + Map AnnoInfons = new HashMap(); + if(anno.length==5) + { + AnnoInfons.put("Identifier", anno[4]); + } + AnnoInfons.put("type", anno[3]); + biocAnnotation.setInfons(AnnoInfons); + BioCLocation location = new BioCLocation(); + location.setOffset(Integer.parseInt(anno[0])); + location.setLength(Integer.parseInt(anno[1])-Integer.parseInt(anno[0])); + biocAnnotation.setLocation(location); + biocAnnotation.setText(anno[2]); + biocPassage.addAnnotation(biocAnnotation); + } + } + biocDocument.addPassage(biocPassage); + } + biocCollection.addDocument(biocDocument); + ParagraphType.clear(); + ParagraphContent.clear(); + annotations.clear(); + BioCOutputFormat.writeDocument(biocDocument); + } + } + BioCOutputFormat.close(); + inputfile.close(); + } + public void BioC2PubTator(String input,String output) throws IOException, XMLStreamException //Output + { + /* + * BioC2PubTator + */ + HashMap pmidlist = new HashMap(); // check if appear duplicate pmids + boolean duplicate = false; + BufferedWriter PubTatorOutputFormat = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output), "UTF-8")); + ConnectorWoodstox connector = new ConnectorWoodstox(); + BioCCollection collection = new BioCCollection(); + collection = connector.startRead(new InputStreamReader(new FileInputStream(input), "UTF-8")); + while (connector.hasNext()) + { + BioCDocument document = connector.next(); + String PMID = document.getID(); + if(pmidlist.containsKey(PMID)){System.out.println("\nError: duplicate pmid-"+PMID);duplicate = true;} + else{pmidlist.put(PMID,"");} + String Anno=""; + for (BioCPassage passage : document.getPassages()) + { + if(passage.getInfon("type").equals("title")) + { + PubTatorOutputFormat.write(PMID+"|t|"+passage.getText()+"\n"); + } + else if(passage.getInfon("type").equals("abstract")) + { + PubTatorOutputFormat.write(PMID+"|a|"+passage.getText()+"\n"); + } + else + { + PubTatorOutputFormat.write(PMID+"|"+passage.getInfon("type")+"|"+passage.getText()+"\n"); + } + + for (BioCAnnotation annotation : passage.getAnnotations()) + { + String Annotype = annotation.getInfon("type"); + String Annoid=""; + String Proteinid=""; + if(Annotype.matches("(Gene|FamilyName|DomainMotif)")) + { + if(annotation.getInfons().containsKey("NCBI Gene")) + { + Annoid = annotation.getInfon("NCBI Gene"); + String Annoidlist[]=Annoid.split(";"); + Annoid=""; + for(int x=0;x ParagraphContent = new HashMap(); // [PMID,0] -> title + HashMap annotations = new HashMap(); // PMID ->Annotation + String line; + String Pmid=""; + int count_paragraph=0; + while ((line = inputfile.readLine()) != null) + { + if(line.contains("|") && !line.contains("\t")) //Title|Abstract + { + String str[]=line.split("\\|",-1); + Pmid=str[0]; + ParagraphContent.put(Pmid+"\t"+str[1],str[2]); + count_paragraph++; + } + else if (line.contains("\t")) //Annotation + { + annotations.put(Pmid, annotations.get(Pmid)+line); + } + else if(line.length()==0) //Processing + { + count_paragraph=0; + } + } + inputfile.close(); + + /* + * BioC2PubTator + */ + HashMap pmidlist = new HashMap(); // check if appear duplicate pmids + boolean duplicate = false; + BufferedWriter PubTatorOutputFormat = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output), "UTF-8")); + ConnectorWoodstox connector = new ConnectorWoodstox(); + BioCCollection collection = new BioCCollection(); + collection = connector.startRead(new InputStreamReader(new FileInputStream(input), "UTF-8")); + while (connector.hasNext()) + { + BioCDocument document = connector.next(); + String PMID = document.getID(); + if(pmidlist.containsKey(PMID)){System.out.println("\nError: duplicate pmid-"+PMID);duplicate = true;} + else{pmidlist.put(PMID,"");} + String Anno=""; + for (BioCPassage passage : document.getPassages()) + { + if(passage.getInfon("type").equals("title") || passage.getInfon("type").equals("t")) + { + PubTatorOutputFormat.write(PMID+"|t|"+ParagraphContent.get(PMID+"\tt")+"\n"); + } + else if(passage.getInfon("type").equals("abstract") || passage.getInfon("type").equals("a")) + { + PubTatorOutputFormat.write(PMID+"|a|"+ParagraphContent.get(PMID+"\ta")+"\n"); + } + else + { + PubTatorOutputFormat.write(PMID+"|"+passage.getInfon("type")+"|"+passage.getText()+"\n"); + } + + for (BioCAnnotation annotation : passage.getAnnotations()) + { + String Annotype = annotation.getInfon("type"); + String Annoid=""; + String Proteinid=""; + if(Annotype.matches("(Gene|FamilyName|DomainMotif)")) + { + if(annotation.getInfons().containsKey("NCBI Gene")) + { + Annoid = annotation.getInfon("NCBI Gene"); + String Annoidlist[]=Annoid.split(";"); + Annoid=""; + for(int x=0;x PassageName= new ArrayList(); // array of Passage name + ArrayList PassageOffset= new ArrayList(); // array of Passage offset + ArrayList PassageContext= new ArrayList(); // array of Passage context + ArrayList> AnnotationInPMID= new ArrayList(); // array of Annotations in the PassageName + + /* + * Per Passage + */ + for (BioCPassage passage : document.getPassages()) + { + PassageName.add(passage.getInfon("type")); //Paragraph + String txt = passage.getText(); + if(txt.matches("[\t ]+")) + { + txt = txt.replaceAll(".","@"); + } + else + { + //if(passage.getInfon("type").toLowerCase().equals("table")) + //{ + // txt=txt.replaceAll(" ", "|"); + //} + txt = txt.replaceAll("ω","w"); + txt = txt.replaceAll("μ","u"); + txt = txt.replaceAll("κ","k"); + txt = txt.replaceAll("α","a"); + txt = txt.replaceAll("γ","g"); + txt = txt.replaceAll("É£","g"); + txt = txt.replaceAll("β","b"); + txt = txt.replaceAll("×","x"); + txt = txt.replaceAll("‑","-"); + txt = txt.replaceAll("¹","1"); + txt = txt.replaceAll("²","2"); + txt = txt.replaceAll("°","o"); + txt = txt.replaceAll("ö","o"); + txt = txt.replaceAll("é","e"); + txt = txt.replaceAll("à","a"); + txt = txt.replaceAll("Ã","A"); + txt = txt.replaceAll("ε","e"); + txt = txt.replaceAll("θ","O"); + txt = txt.replaceAll("•","."); + txt = txt.replaceAll("µ","u"); + txt = txt.replaceAll("λ","r"); + txt = txt.replaceAll("âº","+"); + txt = txt.replaceAll("ν","v"); + txt = txt.replaceAll("ï","i"); + txt = txt.replaceAll("ã","a"); + txt = txt.replaceAll("≡","="); + txt = txt.replaceAll("ó","o"); + txt = txt.replaceAll("³","3"); + txt = txt.replaceAll("〖","["); + txt = txt.replaceAll("〗","]"); + txt = txt.replaceAll("Ã…","A"); + txt = txt.replaceAll("Ï","p"); + txt = txt.replaceAll("ü","u"); + txt = txt.replaceAll("É›","e"); + txt = txt.replaceAll("Ä","c"); + txt = txt.replaceAll("Å¡","s"); + txt = txt.replaceAll("ß","b"); + txt = txt.replaceAll("â•","="); + txt = txt.replaceAll("£","L"); + txt = txt.replaceAll("Å","L"); + txt = txt.replaceAll("Æ’","f"); + txt = txt.replaceAll("ä","a"); + txt = txt.replaceAll("–","-"); + txt = txt.replaceAll("â»","-"); + txt = txt.replaceAll("〈","<"); + txt = txt.replaceAll("〉",">"); + txt = txt.replaceAll("χ","X"); + txt = txt.replaceAll("Ä","D"); + txt = txt.replaceAll("‰","%"); + txt = txt.replaceAll("·","."); + txt = txt.replaceAll("→",">"); + txt = txt.replaceAll("â†","<"); + txt = txt.replaceAll("ζ","z"); + txt = txt.replaceAll("Ï€","p"); + txt = txt.replaceAll("Ï„","t"); + txt = txt.replaceAll("ξ","X"); + txt = txt.replaceAll("η","h"); + txt = txt.replaceAll("ø","0"); + txt = txt.replaceAll("Δ","D"); + txt = txt.replaceAll("∆","D"); + txt = txt.replaceAll("∑","S"); + txt = txt.replaceAll("Ω","O"); + txt = txt.replaceAll("δ","d"); + txt = txt.replaceAll("σ","s"); + txt = txt.replaceAll("Φ","F"); + //txt = txt.replaceAll("[^\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\{\\}\\|\\:\"\\<\\>\\?\\`\\-\\=\\[\\]\\;\\'\\,\\.\\/\\r\\n0-9a-zA-Z ]"," "); + } + if(passage.getText().equals("") || passage.getText().matches("[ ]+")) + { + PassageContext.add("-notext-"); //Context + } + else + { + PassageContext.add(txt); //Context + } + PassageOffset.add(passage.getOffset()); //Offset + ArrayList AnnotationInPassage= new ArrayList(); // array of Annotations in the PassageName + AnnotationInPMID.add(AnnotationInPassage); + } + PassageNames.add(PassageName); + PassageContexts.add(PassageContext); + PassageOffsets.add(PassageOffset); + Annotations.add(AnnotationInPMID); + } + } + public void BioCReaderWithAnnotation(String input) throws IOException, XMLStreamException + { + ConnectorWoodstox connector = new ConnectorWoodstox(); + BioCCollection collection = new BioCCollection(); + collection = connector.startRead(new InputStreamReader(new FileInputStream(input), "UTF-8")); + + /* + * Per document + */ + while (connector.hasNext()) + { + BioCDocument document = connector.next(); + PMIDs.add(document.getID()); + + ArrayList PassageName= new ArrayList(); // array of Passage name + ArrayList PassageOffset= new ArrayList(); // array of Passage offset + ArrayList PassageContext= new ArrayList(); // array of Passage context + ArrayList> AnnotationInPMID= new ArrayList(); // array of Annotations in the PassageName + + /* + * Per Passage + */ + for (BioCPassage passage : document.getPassages()) + { + PassageName.add(passage.getInfon("type")); //Paragraph + + String txt = passage.getText(); + if(txt.matches("[\t ]+")) + { + txt = txt.replaceAll(".","@"); + } + else + { + //if(passage.getInfon("type").toLowerCase().equals("table")) + //{ + // txt=txt.replaceAll(" ", "|"); + //} + txt = txt.replaceAll("ω","w"); + txt = txt.replaceAll("μ","u"); + txt = txt.replaceAll("κ","k"); + txt = txt.replaceAll("α","a"); + txt = txt.replaceAll("γ","g"); + txt = txt.replaceAll("É£","g"); + txt = txt.replaceAll("β","b"); + txt = txt.replaceAll("×","x"); + txt = txt.replaceAll("‑","-"); + txt = txt.replaceAll("¹","1"); + txt = txt.replaceAll("²","2"); + txt = txt.replaceAll("°","o"); + txt = txt.replaceAll("ö","o"); + txt = txt.replaceAll("é","e"); + txt = txt.replaceAll("à","a"); + txt = txt.replaceAll("Ã","A"); + txt = txt.replaceAll("ε","e"); + txt = txt.replaceAll("θ","O"); + txt = txt.replaceAll("•","."); + txt = txt.replaceAll("µ","u"); + txt = txt.replaceAll("λ","r"); + txt = txt.replaceAll("âº","+"); + txt = txt.replaceAll("ν","v"); + txt = txt.replaceAll("ï","i"); + txt = txt.replaceAll("ã","a"); + txt = txt.replaceAll("≡","="); + txt = txt.replaceAll("ó","o"); + txt = txt.replaceAll("³","3"); + txt = txt.replaceAll("〖","["); + txt = txt.replaceAll("〗","]"); + txt = txt.replaceAll("Ã…","A"); + txt = txt.replaceAll("Ï","p"); + txt = txt.replaceAll("ü","u"); + txt = txt.replaceAll("É›","e"); + txt = txt.replaceAll("Ä","c"); + txt = txt.replaceAll("Å¡","s"); + txt = txt.replaceAll("ß","b"); + txt = txt.replaceAll("â•","="); + txt = txt.replaceAll("£","L"); + txt = txt.replaceAll("Å","L"); + txt = txt.replaceAll("Æ’","f"); + txt = txt.replaceAll("ä","a"); + txt = txt.replaceAll("–","-"); + txt = txt.replaceAll("â»","-"); + txt = txt.replaceAll("〈","<"); + txt = txt.replaceAll("〉",">"); + txt = txt.replaceAll("χ","X"); + txt = txt.replaceAll("Ä","D"); + txt = txt.replaceAll("‰","%"); + txt = txt.replaceAll("·","."); + txt = txt.replaceAll("→",">"); + txt = txt.replaceAll("â†","<"); + txt = txt.replaceAll("ζ","z"); + txt = txt.replaceAll("Ï€","p"); + txt = txt.replaceAll("Ï„","t"); + txt = txt.replaceAll("ξ","X"); + txt = txt.replaceAll("η","h"); + txt = txt.replaceAll("ø","0"); + txt = txt.replaceAll("Δ","D"); + txt = txt.replaceAll("∆","D"); + txt = txt.replaceAll("∑","S"); + txt = txt.replaceAll("Ω","O"); + txt = txt.replaceAll("δ","d"); + txt = txt.replaceAll("σ","s"); + txt = txt.replaceAll("Φ","F"); + //txt = txt.replaceAll("[^\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\{\\}\\|\\:\"\\<\\>\\?\\`\\-\\=\\[\\]\\;\\'\\,\\.\\/\\r\\n0-9a-zA-Z ]"," "); + } + if(passage.getText().equals("") || passage.getText().matches("[ ]+")) + { + PassageContext.add("-notext-"); //Context + } + else + { + PassageContext.add(txt); //Context + } + PassageOffset.add(passage.getOffset()); //Offset + ArrayList AnnotationInPassage= new ArrayList(); // array of Annotations in the PassageName + + /* + * Per Annotation : + * start + * last + * mention + * type + * id + */ + for (BioCAnnotation Anno : passage.getAnnotations()) + { + int start = Anno.getLocations().get(0).getOffset()-passage.getOffset(); // start + int last = start + Anno.getLocations().get(0).getLength(); // last + String AnnoMention=Anno.getText(); // mention + String Annotype = Anno.getInfon("type"); // type + String Annoid = Anno.getInfon("Identifier"); // identifier | MESH + if(Annoid == null) + { + Annoid = Anno.getInfon("Identifier"); // identifier | MESH + } + if(Annoid == null || Annoid.equals("null")) + { + AnnotationInPassage.add(start+"\t"+last+"\t"+AnnoMention+"\t"+Annotype); //paragraph + } + else + { + AnnotationInPassage.add(start+"\t"+last+"\t"+AnnoMention+"\t"+Annotype+"\t"+Annoid); //paragraph + } + } + AnnotationInPMID.add(AnnotationInPassage); + } + PassageNames.add(PassageName); + PassageContexts.add(PassageContext); + PassageOffsets.add(PassageOffset); + Annotations.add(AnnotationInPMID); + } + } + public void BioCOutput(String input,String output, ArrayList>> Annotations,boolean Final,boolean RemovePreviousAnno) throws IOException, XMLStreamException + { + boolean ShowUnNormalizedMention = false; + if(GNormPlus.setup_hash.containsKey("ShowUnNormalizedMention") && GNormPlus.setup_hash.get("ShowUnNormalizedMention").equals("True")) + { + ShowUnNormalizedMention = true; + } + + BioCDocumentWriter BioCOutputFormat = BioCFactory.newFactory(BioCFactory.WOODSTOX).createBioCDocumentWriter(new OutputStreamWriter(new FileOutputStream(output), "UTF-8")); + BioCCollection biocCollection_input = new BioCCollection(); + BioCCollection biocCollection_output = new BioCCollection(); + + //input: BioC + ConnectorWoodstox connector = new ConnectorWoodstox(); + biocCollection_input = connector.startRead(new InputStreamReader(new FileInputStream(input), "UTF-8")); + BioCOutputFormat.writeCollectionInfo(biocCollection_input); + int i=0; //count for pmid + while (connector.hasNext()) + { + BioCDocument document_output = new BioCDocument(); + BioCDocument document_input = connector.next(); + String PMID=document_input.getID(); + document_output.setID(PMID); + int annotation_count=0; + int j=0; //count for paragraph + for (BioCPassage passage_input : document_input.getPassages()) + { + BioCPassage passage_output = passage_input; + + if(RemovePreviousAnno == true) //clean the previous annotation, if the NER result is provided + { + passage_output.clearAnnotations(); + } + else + { + for (BioCAnnotation annotation : passage_output.getAnnotations()) + { + annotation.setID(""+annotation_count); + annotation_count++; + } + } + + int passage_Offset = passage_input.getOffset(); + String passage_Text = passage_input.getText(); + ArrayList AnnotationInPassage = new ArrayList(); + //ArrayList AnnotationInPassage = Annotations.get(i).get(j); + if(Annotations.size()>i && Annotations.get(i).size()>j) + { + for(int a=0;alast) + { + String mention = Anno[2]; + if(Final == true && passage_Text.length()>=last) + { + mention = passage_Text.substring(start, last); + } + if(mention.matches(".*\t.*")) + { + Anno[3]=Anno[4]; + if(Anno.length>=6) + { + Anno[4]=Anno[5]; + } + } + String type = Anno[3]; + String id = ""; // optional + if(Anno.length>=5){id = Anno[4];} + if(Final == true) + { + for(int b=0;b=lastb) + { + mentionb = passage_Text.substring(startb, lastb); + } + if(mentionb.matches(".*\t.*")) + { + Annob[3]=Annob[4]; + if(Annob.length>=6) + { + Annob[4]=Annob[5]; + } + } + String typeb = Annob[3]; + String idb = ""; // optional + if(Annob.length>=5){idb = Annob[4];} + + if(start == startb && last == lastb && type.equals(typeb)) + { + found = true; + if(id.matches("(Focus|Right|Left|Prefix|GeneID|Tax):[0-9]+") && (!idb.equals(""))) + { + } + else if(idb.matches("(Focus|Right|Left|Prefix|GeneID|Tax):[0-9]+") && (!id.matches("(Focus|Right|Left|Prefix|GeneID|Tax):[0-9]+")) && (!id.equals(""))) + { + AnnotationInPassage.set(b, start+"\t"+last+"\t"+mention+"\t"+type+"\t"+id); + } + else + { + if(id.equals("")) + { + } + else + { + AnnotationInPassage.set(b, start+"\t"+last+"\t"+mention+"\t"+type+"\t"+idb+";"+id); + } + + } + break; + } + } + } + } + if(found == false) + { + AnnotationInPassage.add(Annotations.get(i).get(j).get(a)); + } + } + } + for(int a=0;a id_hash = new HashMap (); + if(Anno.length>=5) + { + int start = Integer.parseInt(Anno[0]); + int last = Integer.parseInt(Anno[1]); + String mention = Anno[2]; + if(Final == true && passage_Text.length()>=last) + { + mention = passage_Text.substring(start, last); + } + if(mention.matches(".*\t.*")) + { + Anno[3]=Anno[4]; + if(Anno.length>=6) + { + Anno[4]=Anno[5]; + } + } + String ids = Anno[4]; + String idlist[]=ids.split(","); + for(int b=0;blast) + { + String mention = Anno[2]; + if(Final == true && passage_Text.length()>=last) + { + mention = passage_Text.substring(start, last); + } + if(mention.matches(".*\t.*")) + { + Anno[3]=Anno[4]; + if(Anno.length>=6) + { + Anno[4]=Anno[5]; + } + } + String type = Anno[3]; + if(type.equals("GeneID")){type="Gene";} + BioCAnnotation biocAnnotation = new BioCAnnotation(); + Map AnnoInfons = new HashMap(); + AnnoInfons.put("type", type); + if(Anno.length>=5) + { + String identifier = Anno[4]; + if(Final == true && ShowUnNormalizedMention==false) + { + if(type.matches("(FamilyName|Domain|Gene)")) + { + Pattern ptmp0 = Pattern.compile("^(Focus|Right|Left|Prefix|GeneID|Tax)\\:([0-9]+)\\|([0-9\\;]+)$"); + Matcher mtmp0 = ptmp0.matcher(identifier); + Pattern ptmp1 = Pattern.compile("^(Focus|Right|Left|Prefix|GeneID|Tax)\\:([0-9]+)\\|([0-9]+)\\-([0-9]+)$"); + Matcher mtmp1 = ptmp1.matcher(identifier); + Pattern ptmp2 = Pattern.compile("^(Focus|Right|Left|Prefix|GeneID|Tax)\\:([0-9]+)$"); + Matcher mtmp2 = ptmp2.matcher(identifier); + Pattern ptmp3 = Pattern.compile("^Homo\\:([0-9]+)$"); + Matcher mtmp3 = ptmp3.matcher(identifier); + if(mtmp0.find()) + { + String Method_SA = mtmp0.group(1); + String TaxonomyID = mtmp0.group(2); + String NCBIGeneID = mtmp0.group(3); + if(GNormPlus.Normalization2Protein_hash.containsKey(NCBIGeneID)) + { + AnnoInfons.put("UniProt", GNormPlus.Normalization2Protein_hash.get(NCBIGeneID)); + } + if(GNormPlus.HomologeneID_hash.containsKey(NCBIGeneID)) + { + AnnoInfons.put("NCBI Homologene", GNormPlus.HomologeneID_hash.get(NCBIGeneID)); + } + AnnoInfons.put("NCBI Gene", NCBIGeneID); + } + else if(mtmp1.find()) + { + String Method_SA = mtmp1.group(1); + String TaxonomyID = mtmp1.group(2); + String NCBIGeneID = mtmp1.group(3); + String HomoID = mtmp1.group(4); + if(GNormPlus.Normalization2Protein_hash.containsKey(NCBIGeneID)) + { + AnnoInfons.put("UniProt", GNormPlus.Normalization2Protein_hash.get(NCBIGeneID)); + } + if(GNormPlus.HomologeneID_hash.containsKey(NCBIGeneID)) + { + AnnoInfons.put("NCBI Homologene", GNormPlus.HomologeneID_hash.get(NCBIGeneID)); + } + AnnoInfons.put("NCBI Gene", NCBIGeneID); + } + else if(mtmp2.find()) + { + String Method_SA = mtmp2.group(1); + String TaxonomyID = mtmp2.group(2); + AnnoInfons.put("FocusSpecies", "NCBITaxonomyID:"+TaxonomyID); + } + else if(mtmp3.find()) + { + String Method_SA = mtmp3.group(1); + String HomoID = mtmp3.group(2); + AnnoInfons.put("NCBI Homologene", HomoID); + } + else + { + String identifiers[] = identifier.split(";"); + if(identifiers.length>1) + { + ArrayList identifierSTR = new ArrayList(); + ArrayList ProteinidSTR = new ArrayList(); + ArrayList HomoidSTR = new ArrayList(); + for(int idi=0;idi MatchedTokens_hash = new HashMap(); + private double ScoringFunction(String geneid,HashMap Mention_hash,String LF) + { + /* + * define gene/homo id + */ + + //LF + LF = LF.toLowerCase(); + LF = LF.replaceAll("([0-9])([a-z])", "$1 $2"); + LF = LF.replaceAll("([a-z])([0-9])", "$1 $2"); + LF = LF.replaceAll("([\\W\\-\\_])", " "); + LF = LF.replaceAll("[ ]+", " "); + String LF_tkn[]=LF.split(" "); + int LF_ParticalMatch = 0; + + Pattern ptmp = Pattern.compile("[0-9]+\\-([0-9]+)"); + Matcher mtmp = ptmp.matcher(geneid); + Pattern ptmp2 = Pattern.compile("([0-9]+)"); + Matcher mtmp2 = ptmp.matcher(geneid); + if(mtmp.find()) + { + geneid = "Homo:"+mtmp.group(1); + } + else + { + geneid = "Gene:"+geneid; + } + + if(GNormPlus.GeneScoring_hash.containsKey(geneid)) + { + HashMap TF = new HashMap(); // token i in gene j + HashMap TermFrequency = new HashMap(); + + /* + * Tokens in Query (Gene id lexicon) + */ + String l[]=GNormPlus.GeneScoring_hash.get(geneid).split("\t"); // Gene:2664293 cmk-1,cytidylate-1,kinase-1,mssa-1 0.4096 4 0.0625 1 2.0 + String tkns_Gene[] = l[0].split(","); + for(int i=0;i0){score = score + LF_ParticalMatch;/*System.out.println(geneid+"\t"+LF+"\t"+score);*/} + return score; + } + else + { + //System.out.println("Error: cannot find geneid: "+geneid+" in GeneScoring_hash"); + return 0.0; + } + } + + public void PreProcessing4GN(String Filename,String FilenameBioC) throws IOException, XMLStreamException + { + for (int i = 0; i < GNormPlus.BioCDocobj.Annotations.size(); i++) + { + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) + { + for (int k = 0; k < GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); k++) + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + String start=anno[0]; + String last=anno[1]; + String mentions=anno[2]; + String type=anno[3]; + String id=""; + if(anno.length>=5) + { + id=anno[4]; + } + + if(type.equals("Gene")) + { + String mentionArr[] = mentions.split("\\|"); + boolean update=false; + for(int m=0;m locations = GNormPlus.PT_GeneChromosome.SearchMentionLocation(PassageContext,"ChromosomeLocation"); + for (int k = 0 ; k < locations.size() ; k++) + { + String anno[]=locations.get(k).split("\t"); + //int start= Integer.parseInt(anno[0]); + //int last= Integer.parseInt(anno[1]); + //String mention = anno[2]; + String ids = anno[3]; + //GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tChromosomeLocation\t"+ids); //paragraph + String IDs[] = ids.split("[\\|,]"); + for(int idcount=0;idcount Species_hash = new HashMap(); + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) /** Paragraphs : j */ + { + for (int k = 0; k < GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); k++) /** Annotation : k */ + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + String mentions=anno[2]; + String type=anno[3]; + if(type.matches("(Species|Genus|Strain|CellLine|Cell)")) + { + Species_hash.put(mentions,""); + } + } + } + + + /* + * Collect Gene mentions : + * + * GeneMention-taxid -> "ID" : geneid + * -> "type" : "Gene" + * -> start1-last1 : "" + * -> start2-last2 : "" + * -> start3-last3 : "" + */ + + String tiabs=""; + for (int j = 0; j < GNormPlus.BioCDocobj.PassageContexts.get(i).size(); j++) /** Paragraphs : j */ + { + tiabs=tiabs+GNormPlus.BioCDocobj.PassageContexts.get(i).get(j).toLowerCase(); + } + HashMap> GeneMention_hash = new HashMap>(); + HashMap Mention_hash = new HashMap(); + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) /** Paragraphs : j */ + { + for (int k = 0; k < GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); k++) /** Annotation : k */ + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + String start=anno[0]; + String last=anno[1]; + String mentions=anno[2]; + String type=anno[3]; + String taxids="Tax:9606"; + + if(anno.length>=5) + { + taxids=anno[4]; + } + String mentions_tmp=mentions.toLowerCase(); + mentions_tmp=mentions_tmp.replaceAll("[\\W\\-\\_]",""); + mentions_tmp=mentions_tmp.replaceAll("[0-9]","0"); + taxids=taxids.replaceAll("(Focus|Right|Left|Prefix|Tax):",""); + if(taxids.equals("")) + { + taxids="9606"; + } + /** Filtering */ + boolean found_filter = false; + if(GNormPlus.Filtering_hash.containsKey(mentions_tmp)) // filtering + { + found_filter=true; + } + + if(found_filter==false) //abbreviation + { + for(String f : GNormPlus.Filtering_WithLongForm_hash.keySet()) + { + if( GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).matches(".*[\\t\\|]"+f+"\tGene.*") || + GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).matches(".*\\t"+f+"\\|[^\t]+\tGene.*") + ) + { + String lf=GNormPlus.Filtering_WithLongForm_hash.get(f); + if(tiabs.matches(".*"+lf+".*")) + { + found_filter=true; + break; + } + } + } + } + + if(found_filter==false) + { + if( GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).matches(".*[\\t\\|][a-z]\tGene.*") || + GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).matches(".*\\t[a-z]\\|[^\t]+\tGene.*") //32171191 Wuhan's + ) + { + found_filter=true; + + } + } + + if(found_filter == false) + { + if(type.matches("Gene")) + { + if(GeneMention_hash.containsKey(mentions+"\t"+taxids)) + { + GeneMention_hash.get(mentions+"\t"+taxids).put(start+"\t"+last,""); + } + else + { + HashMap offset_hash = new HashMap(); + offset_hash.put(start+"\t"+last,""); + GeneMention_hash.put(mentions+"\t"+taxids, offset_hash); + GeneMention_hash.get(mentions+"\t"+taxids).put("type", type); + Mention_hash.put(mentions,"Gene"); + } + } + else if(type.matches("(FamilyName|DomainMotif)")) + { + String GMs[]=mentions.split("\\|"); + for(int g=0;g GuaranteedGene2ID = new HashMap(); + HashMap MultiGene2ID = new HashMap(); + for(String GeneMentionTax : GeneMention_hash.keySet()) + { + String GT[]=GeneMentionTax.split("\\t"); + String mentions=GT[0]; + String taxids=GT[1]; + String GMs[]=mentions.split("\\|"); + + HashMap taxids_hash = new HashMap(); + String taxids_arr[]=taxids.split(","); + for(int t=0;t1) + //{ + // System.out.println(Pmid+"\t"+mention+"\t"+mentions+"\t"+IDstr); + //} + + for(int c=0;c Abbreviation + */ + for(String GeneMentionTax : GeneMention_hash.keySet()) + { + String MT[] = GeneMentionTax.split("\\t"); + if(GNormPlus.PmidLF2Abb_hash.containsKey(Pmid+"\t"+MT[0])) + { + String GeneMentionTax_Abb = GNormPlus.PmidLF2Abb_hash.get(Pmid+"\t"+MT[0]) + "\t" + MT[1]; + if(GeneMention_hash.containsKey(GeneMentionTax_Abb) && GeneMention_hash.get(GeneMentionTax).containsKey("ID")) + { + GeneMention_hash.get(GeneMentionTax_Abb).put("ID", GeneMention_hash.get(GeneMentionTax).get("ID")); + } + } + } + + /* + * Gene id refinement: + * 5. Ranking by scoring function (inference network) + */ + for(String GeneMentionTax : GeneMention_hash.keySet()) + { + if(GeneMention_hash.get(GeneMentionTax).containsKey("ID") && GeneMention_hash.get(GeneMentionTax).get("ID").matches(".+,.+")) + { + String geneids=GeneMention_hash.get(GeneMentionTax).get("ID"); + String geneid[] = geneids.split(","); + + String OutputStyle="Top1"; + if(OutputStyle.equals("Top1")) + { + //only return the best one + double max_score=0.0; + String target_geneid=""; + for(int g=0;gmax_score) + { + max_score=score; + target_geneid=geneid[g]; + } + else if(score == 0.0) + { + //System.out.println(GeneMentionTax); + } + } + GeneMention_hash.get(GeneMentionTax).put("ID", target_geneid); + } + else // "All" + { + //return all geneids + String geneSTR=""; + for(int g=0;g FullName + * + */ + for(String GeneMentionTax : GeneMention_hash.keySet()) + { + String MT[] = GeneMentionTax.split("\\t"); + if(GNormPlus.PmidAbb2LF_hash.containsKey(Pmid+"\t"+MT[0])) + { + String GeneMentionTax_LF = GNormPlus.PmidAbb2LF_hash.get(Pmid+"\t"+MT[0]) + "\t" + MT[1]; + if(GeneMention_hash.containsKey(GeneMentionTax_LF) && GeneMention_hash.get(GeneMentionTax).containsKey("ID")) + { + GeneMention_hash.get(GeneMentionTax_LF).put("ID", GeneMention_hash.get(GeneMentionTax).get("ID")); + } + } + } + + /* + * Gene id refinement: + * 7. The inference network tokens of Abbreviation.ID should contain at least LF tokens + * 8. The short mention should be filtered if not long form support + */ + ArrayList removeGMT = new ArrayList(); + for(String GeneMentionTax : GeneMention_hash.keySet()) + { + String GT[]=GeneMentionTax.split("\\t"); + String mentions=GT[0]; + String tax=GT[1]; + if(GeneMention_hash.get(GeneMentionTax).containsKey("type") && GeneMention_hash.get(GeneMentionTax).get("type").equals("Gene") && GeneMention_hash.get(GeneMentionTax).containsKey("ID")) + { + String type = GeneMention_hash.get(GeneMentionTax).get("type"); + String id = GeneMention_hash.get(GeneMentionTax).get("ID"); + String geneid=""; + Pattern ptmp1 = Pattern.compile("^([0-9]+)\\-([0-9]+)$"); + Pattern ptmp2 = Pattern.compile("^([0-9]+)$"); + Matcher mtmp1 = ptmp1.matcher(id); + Matcher mtmp2 = ptmp2.matcher(id); + //System.out.println(id); + if(mtmp1.find()) + { + geneid = "Homo:"+mtmp1.group(2); + } + else if(mtmp2.find()) + { + geneid = "Gene:"+mtmp2.group(1); + } + + boolean LongFormTknMatch= false; + boolean LongFormExist= true; + if(GNormPlus.GeneScoring_hash.containsKey(geneid)) + { + if(GNormPlus.PmidAbb2LF_lc_hash.containsKey(Pmid+"\t"+mentions.toLowerCase())) + { + /* + * token in lexicon : tkn_lexicon + * token in mention : tkn_mention + */ + String l[]=GNormPlus.GeneScoring_hash.get(geneid).split("\t"); // Gene:2664293 cmk-1,cytidylate-1,kinase-1,mssa-1 0.4096 4 0.0625 1 2.0 + String tkns_Gene[] = l[0].split(","); + ArrayList tkn_lexicon = new ArrayList(); + for(int ti=0;ti=5) + { + taxid_org=anno[4]; + } + String taxids=taxid_org.replaceAll("(Focus|Right|Left|Prefix|Tax):",""); + String GMs[]=mentions.split("\\|"); + + if(GeneMention_hash.containsKey(mentions+"\t"+taxids) && GeneMention_hash.get(mentions+"\t"+taxids).containsKey("TargetTax")) + { + String taxtype=taxid_org.replaceAll(":([0-9,]+)",""); + String taxid=GeneMention_hash.get(mentions+"\t"+taxids).get("TargetTax"); + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mentions+"\t"+type+"\t"+taxtype+":"+taxid); + } + + if(type.equals("Gene")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k) + "|"); + + + if(GeneMention_hash.containsKey(mentions+"\t"+taxids) && GeneMention_hash.get(mentions+"\t"+taxids).containsKey("ID")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k) + GeneMention_hash.get(mentions+"\t"+taxids).get("ID") + "," ); + } + else // cannot find appropriate species + { + //System.out.println(mention+"\t"+taxid); + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).substring(0, GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).length()-1)); // remove ",$" + } + } + } + + //Extend to all gene mentions + HashMap GeneMentions = new HashMap(); // Extending Gene mentions + HashMap GeneMentionLocation = new HashMap(); // Extending Gene mentions + for(int j=0;j=5) + { + id=anno[4]; + } + if(type.equals("Gene") && id.matches("(Focus|Right|Left|Prefix|Tax)\\:([0-9]+)\\|([0-9]+)\\-([0-9]+)")) + { + GeneMentions.put(mentions.toLowerCase(), id); + for (int s=start ;s<=last;s++) + { + GeneMentionLocation.put(j+"\t"+s,""); + } + } + else if(type.equals("Gene") && id.matches("(Focus|Right|Left|Prefix|Tax)\\:([0-9]+)\\|([0-9]+)")) + { + GeneMentions.put(mentions.toLowerCase(), id); + for (int s=start ;s<=last;s++) + { + GeneMentionLocation.put(j+"\t"+s,""); + } + } + } + } + for(int j=0;ji && GNormPlus.BioCDocobj.PassageContexts.get(i).size()>j) + { + String PassageContexts = " " + GNormPlus.BioCDocobj.PassageContexts.get(i).get(j) + " "; + String PassageContexts_tmp = PassageContexts.toLowerCase(); + for(String gm : GeneMentions.keySet()) + { + String id = GeneMentions.get(gm); + if(gm.length()>=3) + { + gm = gm.replaceAll("[ ]*[\\|]*$", ""); + gm = gm.replaceAll("^[\\|]*[ ]*", ""); + gm = gm.replaceAll("[\\|][\\|]+", "\\|"); + if(!gm.matches("[\\W\\-\\_]*")) + { + gm = gm.replaceAll("([^A-Za-z0-9\\| ])", "\\\\$1"); + Pattern ptmp = Pattern.compile("^(.*[\\W\\-\\_])("+gm+")([\\W\\-\\_].*)$"); + Matcher mtmp = ptmp.matcher(PassageContexts_tmp); + while(mtmp.find()) + { + String pre = mtmp.group(1); + String gmtmp = mtmp.group(2); + String post = mtmp.group(3); + + int start = pre.length()-1; + int last = start+gmtmp.length(); + if(PassageContexts.length()>=last+1) + { + String mention = PassageContexts.substring(start+1,last+1); + if(!GeneMentionLocation.containsKey(j+"\t"+start) && !GeneMentionLocation.containsKey(j+"\t"+last)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tGene\t"+id); + } + } + gmtmp = gmtmp.replaceAll(".", "\\@"); + PassageContexts_tmp=pre+""+gmtmp+""+post; + mtmp = ptmp.matcher(PassageContexts_tmp); + } + } + } + } + } + } + + //Apply to FamilyNames + HashMap geneids = new HashMap(); // Extending Gene mentions + for(int j=0;j=5) + { + id=anno[4]; + } + Pattern ptmp0 = Pattern.compile("^(Focus|Right|Left|Prefix|GeneID|Tax)\\:([0-9]+)\\|([0-9]+)$"); + Matcher mtmp0 = ptmp0.matcher(id); + Pattern ptmp1 = Pattern.compile("^(Focus|Right|Left|Prefix|GeneID|Tax)\\:([0-9]+)\\|([0-9]+)\\-([0-9]+)$"); + Matcher mtmp1 = ptmp1.matcher(id); + if(mtmp0.find()) + { + geneids.put(mtmp0.group(3), ""); + } + if(mtmp1.find()) + { + geneids.put(mtmp1.group(3), ""); + } + } + } + } + for(int j=0;j=0 ; k--) // Annotation : k + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + String mention=anno[2]; + String type=anno[3]; + if(type.matches("(FamilyName|DomainMotif)")) + { + String id="Tax:9606"; + if(anno.length>=5) + { + id=anno[4]; + } + String IDstrs = GNormPlus.PT_FamilyName.MentionMatch(mention); + String IDstr[]=IDstrs.split("\\|"); + String ids=""; + for(int id_i=0;id_i=5) + { + Annotation_k=anno[0]+"\t"+anno[1]+"\t"+anno[2]+"\t"+type+"\t"+anno[4]; + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k,Annotation_k+"|"+ids); + } + else + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).remove(k); + } + } + } + } + //Species "*" and "(anti)" removed. + for(int j=0;j=0 ; k--) // Annotation : k + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + String type=anno[3]; + if(type.equals("Species") || type.equals("Genus") || type.equals("Strain") || type.equals("CellLine") || type.equals("Cell")) + { + String id=anno[4]; + id=id.replaceAll("\\*", ""); + id=id.replaceAll("\\(anti\\)", ""); + String Annotation_k=anno[0]+"\t"+anno[1]+"\t"+anno[2]+"\t"+type+"\t"+id; + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k,Annotation_k); + } + } + } + + for(int j=0;j=0 ; k--) // Annotation : k + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + int start = Integer.parseInt(anno[0]); + int last = Integer.parseInt(anno[1]); + String mention = anno[2]; + String type = anno[3]; + String id = anno[4]; + if(type.equals("Gene") && Species_hash.containsKey(mention)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).remove(k); + } + else if(type.equals("Gene") && id.equals("")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).remove(k); + } + else + { + for (int k1 = GNormPlus.BioCDocobj.Annotations.get(i).get(j).size()-1; k1 >=0 ; k1--) // Annotation : k + { + if(k1 != k) + { + String anno1[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k1).split("\t"); + int start1 = Integer.parseInt(anno1[0]); + int last1 = Integer.parseInt(anno1[1]); + if((start1=last) || (start1<=start && last1>last)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).remove(k); + break; + } + } + } + } + } + } + } + if(GeneIDMatch == true) + { + //GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,false,true); + } + else + { + GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,true,true); + } + } + /* + * Search Potential GeneID in the Prefix Tree + */ + public ArrayList SearchGeneIDLocation(String Doc) + { + ArrayList location = new ArrayList(); + + String Doc_tmp=" "+Doc+" "; + Pattern ptmp = Pattern.compile("^(.*[^A-Za-z0-9]+)([0-9]+\\S*[A-Za-z]+|[A-Za-z]+\\S*[0-9]+|[0-9]+\\S*[A-Za-z]+\\S*[0-9]+|[A-Za-z]+\\S*[0-9]+\\S*[A-Za-z]+)([^A-Za-z0-9]+.*)$"); + Matcher mtmp = ptmp.matcher(Doc_tmp); + while(mtmp.find()) + { + String str1=mtmp.group(1); + String str2=mtmp.group(2); + String str3=mtmp.group(3); + for(int m=str1.length();m<=(str1.length()+str2.length());m++) + { + int start = str1.length()-1; + int last = start+str2.length(); + String mention = Doc.substring(start, last); + if(!mention.matches(".*[\\'\\;\\[\\]\\+\\*\\\\].*")) + { + if(last-start>6 && (mention.matches(".*\\(.*\\).*") || mention.matches("[^\\(\\)]+")) ) + { + Pattern ptmp1 = Pattern.compile("^(.+[^0-9])([0-9]+)\\-([0-9]+)$"); + Matcher mtmp1 = ptmp1.matcher(mention); + Pattern ptmp2 = Pattern.compile("^(.+[^0-9])([0-9]+)\\-(.+[^0-9])([0-9]+)$"); + Matcher mtmp2 = ptmp2.matcher(mention); + if(mtmp1.find()) + { + String S1 = mtmp1.group(1); + if(mtmp1.group(2).length()<=6 && mtmp1.group(3).length()<=6) + { + int Num1 = Integer.parseInt(mtmp1.group(2)); + int Num2 = Integer.parseInt(mtmp1.group(3)); + String prefix = ""; + Pattern ptmp3 = Pattern.compile("^([0]+)"); + Matcher mtmp3 = ptmp3.matcher(mtmp1.group(2)); + if(mtmp3.find()) + { + prefix = mtmp3.group(1); + } + if(Num2-Num1>0 && (Num2-Num1<=20)) + { + for(int n=Num1;n<=Num2;n++) + { + String StrNum=S1+prefix+n; + if(StrNum.length()>=5) + { + location.add(start+"\t"+last+"\t"+StrNum+"\tGeneID"); + } + } + } + } + } + else if(mtmp2.find()) + { + if(mtmp2.group(2).length()<=6 && mtmp2.group(4).length()<=6) + { + String S1 = mtmp2.group(1); + int Num1 = Integer.parseInt(mtmp2.group(2)); + String S2 = mtmp2.group(3); + int Num2 = Integer.parseInt(mtmp2.group(4)); + if(S1.equals(S2)) + { + String prefix = ""; + Pattern ptmp3 = Pattern.compile("^([0]+)"); + Matcher mtmp3 = ptmp3.matcher(mtmp2.group(2)); + if(mtmp3.find()) + { + prefix = mtmp3.group(1); + } + if(Num2-Num1>0 && (Num2-Num1<=20)) + { + for(int n=Num1;n<=Num2;n++) + { + String StrNum=S1+prefix+n; + if(StrNum.length()>=5) + { + location.add(start+"\t"+last+"\t"+StrNum+"\tGeneID"); + } + } + } + } + } + } + } + location.add(start+"\t"+last+"\t"+mention+"\tGeneID"); + } + } + String men=""; + for(int m=0;m locations = SearchGeneIDLocation(PassageContext); + for (int k = 0 ; k < locations.size() ; k++) + { + String anno[]=locations.get(k).split("\t"); + String mention = anno[2].toLowerCase(); + mention = mention.replaceAll("[\\W\\-\\_]+", ""); + if(GNormPlus.GeneIDs_hash.containsKey(mention)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(locations.get(k)+"\tGeneID:"+GNormPlus.GeneIDs_hash.get(mention)); //paragraph + } + } + } + } + GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,true,true); + } +} \ No newline at end of file diff --git a/src_Java/GNormPluslib/GNR.java b/src_Java/GNormPluslib/GNR.java new file mode 100644 index 0000000000000000000000000000000000000000..107f2287c6d67281196ad6ea79d5542cf0954a2f --- /dev/null +++ b/src_Java/GNormPluslib/GNR.java @@ -0,0 +1,1602 @@ +/** + * Project: GNormPlus + * Function: Gene Name Recognition + */ + +package GNormPluslib; + +import java.io.*; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import javax.xml.stream.XMLStreamException; + +import org.tartarus.snowball.SnowballStemmer; +import org.tartarus.snowball.ext.englishStemmer; + +import GNormPluslib.GNormPlus; +import GNormPluslib.BioCDoc; + +public class GNR +{ + /* + * Read BioC files + */ + public void Ab3P(String Filename,String FilenameAbb,String TrainTest) throws XMLStreamException,IOException + { + /** Abbreviation*/ + //BioC -> Abb input + String line=""; + BufferedWriter FileAbb = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FilenameAbb), "UTF-8")); + for (int i = 0; i < GNormPlus.BioCDocobj.PMIDs.size(); i++) + { + String Pmid = GNormPlus.BioCDocobj.PMIDs.get(i); + String Context=""; + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) + { + String PassageContext=GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); + if(PassageContext.matches(".*\\([^\\(\\)]+,[^\\(\\)]+\\).*")) + { + PassageContext=PassageContext.replaceAll("\\([^\\(\\)]+,[^\\(\\)]+\\)", ""); + } + if(PassageContext.contains("\\(")) + { + Context = Context+PassageContext+" "; + } + } + FileAbb.write(Pmid+"\n"+Context+"\n\n"); + } + FileAbb.close(); + //Abb + File f = new File(FilenameAbb+".out"); + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); + Runtime runtime = Runtime.getRuntime(); + String cmd ="./Ab3P "+FilenameAbb+".Abb "+FilenameAbb+".out"; + + String OS=System.getProperty("os.name").toLowerCase(); + if(OS.contains("windows")) + { + cmd ="java -jar bioadi.jar "+FilenameAbb; + } + else //if(OS.contains("nux")||OS.contains("nix")) + { + cmd ="./Ab3P "+FilenameAbb+" "+FilenameAbb+".out"; + //cmd ="java -jar bioadi.jar "+FilenameAbb+" > "+FilenameAbb+".out"; + } + + Process process = runtime.exec(cmd); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is, "UTF-8"); + BufferedReader br = new BufferedReader(isr); + line=""; + while ( (line = br.readLine()) != null) + { + fr.write(line); + fr.newLine(); + fr.flush(); + } + is.close(); + isr.close(); + br.close(); + fr.close(); + //Abb output -> Hash + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(FilenameAbb+".out"), "UTF-8")); + line=""; + String pmid=""; + while ((line = inputfile.readLine()) != null) + { + String patt="^ (.+)\\|(.+)\\|([0-9\\.]+)$"; + Pattern ptmp = Pattern.compile(patt); + Matcher mtmp = ptmp.matcher(line); + if(line.matches("^[0-9]+$")) + { + pmid=line; + } + if(mtmp.find()) + { + String SF = mtmp.group(1); + String LF = mtmp.group(2); + double weight= Double.parseDouble(mtmp.group(3)); + GNormPlus.Pmid2Abb_hash.put(pmid+"\t"+SF, "Abb:SF"); + GNormPlus.Pmid2Abb_hash.put(pmid+"\t"+LF, "Abb:LF"); + GNormPlus.PmidLF2Abb_lc_hash.put(pmid+"\t"+LF.toLowerCase(), SF.toLowerCase()); + GNormPlus.PmidAbb2LF_lc_hash.put(pmid+"\t"+SF.toLowerCase(), LF.toLowerCase()); + GNormPlus.PmidAbb2LF_hash.put(pmid+"\t"+SF, LF); + if(weight >= 0.9) + { + GNormPlus.PmidLF2Abb_hash.put(pmid+"\t"+LF, SF); + } + } + } + inputfile.close(); + } + + public void LoadInputFile(String Filename,String FilenameAbb,String TrainTest) throws XMLStreamException,IOException + { + /** Read BioC file */ + //if(TrainTest.equals("Train")) + //{ + GNormPlus.BioCDocobj.BioCReaderWithAnnotation(Filename); + //} + //else + //{ + // GNormPlus.BioCDocobj.BioCReader(Filename); + //} + + + /** Abbreviation*/ + //BioC -> Abb input + String line=""; + BufferedWriter FileAbb = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FilenameAbb), "UTF-8")); + for (int i = 0; i < GNormPlus.BioCDocobj.PMIDs.size(); i++) + { + String Pmid = GNormPlus.BioCDocobj.PMIDs.get(i); + String Context="Text:"; + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) + { + String PassageContext=GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); + if(PassageContext.matches(".*\\([^\\(\\)]+,[^\\(\\)]+\\).*")) + { + PassageContext=PassageContext.replaceAll("\\([^\\(\\)]+,[^\\(\\)]+\\)", ""); + } + if(PassageContext.contains("(")) + { + Context = Context+PassageContext+" "; + } + } + FileAbb.write(Pmid+"\n"+Context+"\n\n"); + } + FileAbb.close(); + //Abb + File f = new File(FilenameAbb+".out"); + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); + Runtime runtime = Runtime.getRuntime(); + String cmd ="./Ab3P "+FilenameAbb+".Abb "+FilenameAbb+".out"; + + String OS=System.getProperty("os.name").toLowerCase(); + if(OS.contains("windows")) + { + cmd ="java -jar bioadi.jar "+FilenameAbb; + } + else //if(OS.contains("nux")||OS.contains("nix")) + { + cmd ="./Ab3P "+FilenameAbb+" "+FilenameAbb+".out"; + //cmd ="java -jar bioadi.jar "+FilenameAbb+" > "+FilenameAbb+".out"; + } + + Process process = runtime.exec(cmd); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is, "UTF-8"); + BufferedReader br = new BufferedReader(isr); + line=""; + while ( (line = br.readLine()) != null) + { + fr.write(line); + fr.newLine(); + fr.flush(); + } + is.close(); + isr.close(); + br.close(); + fr.close(); + //Abb output -> Hash + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(FilenameAbb+".out"), "UTF-8")); + line=""; + String pmid=""; + while ((line = inputfile.readLine()) != null) + { + String patt="^ (.+)\\|(.+)\\|([0-9\\.]+)$"; + Pattern ptmp = Pattern.compile(patt); + Matcher mtmp = ptmp.matcher(line); + if(line.matches("^[0-9]+$")) + { + pmid=line; + } + if(mtmp.find()) + { + String SF = mtmp.group(1); + String LF = mtmp.group(2); + double weight= Double.parseDouble(mtmp.group(3)); + GNormPlus.Pmid2Abb_hash.put(pmid+"\t"+SF, "Abb:SF"); + GNormPlus.Pmid2Abb_hash.put(pmid+"\t"+LF, "Abb:LF"); + GNormPlus.PmidLF2Abb_lc_hash.put(pmid+"\t"+LF.toLowerCase(), SF.toLowerCase()); + GNormPlus.PmidAbb2LF_lc_hash.put(pmid+"\t"+SF.toLowerCase(), LF.toLowerCase()); + GNormPlus.PmidAbb2LF_hash.put(pmid+"\t"+SF, LF); + if(weight >= 0.9) + { + GNormPlus.PmidLF2Abb_hash.put(pmid+"\t"+LF, SF); + } + } + } + inputfile.close(); + } + + /* + * Feature Extraction + */ + public void FeatureExtraction(String FilenameData,String FilenameLoca,String TrainTest) throws XMLStreamException + { + try + { + /** output files */ + BufferedWriter FileLocation = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FilenameLoca), "UTF-8")); // .location + BufferedWriter FileData = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FilenameData), "UTF-8")); // .data + //NLP modules + SnowballStemmer stemmer = new englishStemmer(); + /** PMIDs : i */ + for (int i = 0; i < GNormPlus.BioCDocobj.PMIDs.size(); i++) + { + String Pmid = GNormPlus.BioCDocobj.PMIDs.get(i); + + /** Paragraphs : j */ + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) + { + String PassageName= GNormPlus.BioCDocobj.PassageNames.get(i).get(j); // Passage name + int PassageOffset = GNormPlus.BioCDocobj.PassageOffsets.get(i).get(j); // Passage offset + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); // Passage context + ArrayList Annotation = GNormPlus.BioCDocobj.Annotations.get(i).get(j); // Annotation + HashMap CTDGene_hash = new HashMap(); + HashMap FamilyName_hash = new HashMap(); + HashMap character_hash = new HashMap(); + HashMap Abbreviation_hash = new HashMap(); + String PassageContext_tmp=" "+PassageContext+" "; + + /** Abbreviation */ + HashMap Abb_sortebylength = new HashMap(); + ArrayList length_list = new ArrayList(); + int countn=0; + for (Object key : GNormPlus.Pmid2Abb_hash.keySet()) + { + String pmid2abb[]=key.toString().split("\t"); + if(Pmid.equals(pmid2abb[0])) + { + Abb_sortebylength.put(pmid2abb[1].length()*100+countn, pmid2abb[1]); + length_list.add(pmid2abb[1].length()*100+countn); + countn++; + } + } + Collections.sort(length_list); + for (int l=length_list.size()-1;l>=0;l--) + { + String AbbLF = Abb_sortebylength.get(length_list.get(l)); + AbbLF=AbbLF.replaceAll("([^A-Za-z0-9@ ])", "\\\\$1"); + AbbLF=AbbLF.replaceAll(" ", "\\[ \\]\\+"); + Pattern ptmp = Pattern.compile("^(.*[^A-Za-z0-9]+)("+AbbLF+")([^A-Za-z0-9]+.*)$"); + Matcher mtmp = ptmp.matcher(PassageContext_tmp); + while(mtmp.find()) + { + String str1=mtmp.group(1); + String str2=mtmp.group(2); + String str3=mtmp.group(3); + for(int m=str1.length();m<=(str1.length()+str2.length());m++) + { + Abbreviation_hash.put((m-1),GNormPlus.Pmid2Abb_hash.get(Pmid+"\t"+Abb_sortebylength.get(length_list.get(l)))); + } + String men=""; + for(int m=0;m locations = GNormPlus.PT_CTDGene.SearchMentionLocation(PassageContext,"CTDGene"); + for (int k = 0 ; k < locations.size() ; k++) + { + String anno[]=locations.get(k).split("\t"); + int start= Integer.parseInt(anno[0]) + PassageOffset; + int last= Integer.parseInt(anno[1]) + PassageOffset; + String mention = anno[2]; + String id = anno[3]; + + CTDGene_hash.put(start,"CTDGene_B"); + CTDGene_hash.put(last,"CTDGene_E"); + for(int s=start+1;s locations_Fname = GNormPlus.PT_FamilyName.SearchMentionLocation(PassageContext,"FamilyName"); + for (int k = 0 ; k < locations_Fname.size() ; k++) + { + String anno[]=locations_Fname.get(k).split("\t"); + int start= Integer.parseInt(anno[0]) + PassageOffset; + int last= Integer.parseInt(anno[1]) + PassageOffset; + String mention = anno[2]; + String id = anno[3]; + + if(!CTDGene_hash.containsKey(start)) + { + FamilyName_hash.put(start,"famplex_B"); + FamilyName_hash.put(last,"famplex_E"); + for(int s=start+1;stokens[p].length() && PassageContext_tmp.substring(tokens[p].length(),tokens[p].length()+1).equals(" ")) + { + WSF="WSF:Gap"; + } + if(p==0) + { + WSB="WSB:1st"; + } + else if(p==tokens.length-1) + { + WSF="WSF:last"; + } + + if(PassageContext_tmp.substring(0,tokens[p].length()).equals(tokens[p])) + { + if(tokens[p].length()>0) + { + /* + * .loca + */ + int start=Offset; + int last=Offset+tokens[p].length(); + String State=""; + if(!character_hash.containsKey(start) || !character_hash.containsKey(last)){} + else if(character_hash.get(start).matches(".*B$")) + { + State=character_hash.get(start); + } + else if(character_hash.get(last).matches(".*E$")) + { + State=character_hash.get(last); + } + else if(character_hash.get(start).matches(".*I$")) + { + State=character_hash.get(start); + } + + if((!tokens[p].equals("\t"))) + { + FileLocation.write(Pmid+"\t"+PassageName+"\t"+j+"\t"+tokens[p]+"\t"+(Offset+1)+"\t"+(Offset+tokens[p].length())+"\t"+State+"\n"); + } + + /* + * .data + */ + + //Abbreviation + String Abb_State="__nil__"; + if(!Abbreviation_hash.containsKey(start) || !Abbreviation_hash.containsKey(last)){Abb_State="__nil__";} + else if(Abbreviation_hash.containsKey(start)) + { + Abb_State=Abbreviation_hash.get(start); + } + + //CTDGene + start=PassageOffset+Offset; + last=PassageOffset+Offset+tokens[p].length(); + String CTDGene_State="__nil__"; + if(!CTDGene_hash.containsKey(start) || !CTDGene_hash.containsKey(last)){CTDGene_State="__nil__";} + else if(CTDGene_hash.get(start).matches(".*B$")) + { + CTDGene_State=CTDGene_hash.get(start); + } + else if(CTDGene_hash.get(last).matches(".*E$")) + { + CTDGene_State=CTDGene_hash.get(last); + } + else if(CTDGene_hash.get(start).matches(".*I$")) + { + CTDGene_State=CTDGene_hash.get(start); + } + + //FamilyName + if(CTDGene_State.equals("__nil__")) + { + start=PassageOffset+Offset; + last=PassageOffset+Offset+tokens[p].length(); + if(!FamilyName_hash.containsKey(start) || !FamilyName_hash.containsKey(last)){} + else if(FamilyName_hash.get(start).matches(".*B$")) + { + CTDGene_State=FamilyName_hash.get(start); + } + else if(FamilyName_hash.get(last).matches(".*E$")) + { + CTDGene_State=FamilyName_hash.get(last); + } + else if(FamilyName_hash.get(start).matches(".*I$")) + { + CTDGene_State=FamilyName_hash.get(start); + } + } + + //stemming + stemmer.setCurrent(tokens[p].toLowerCase()); + stemmer.stem(); + String stem=stemmer.getCurrent(); + + //Number of Numbers [0-9] + String Num_num=""; + String tmp=tokens[p]; + tmp=tmp.replaceAll("[^0-9]",""); + if(tmp.length()>3){Num_num="N:4+";}else{Num_num="N:"+ tmp.length();} + + //Number of Uppercase [A-Z] + String Num_Uc=""; + tmp=tokens[p]; + tmp=tmp.replaceAll("[^A-Z]",""); + if(tmp.length()>3){Num_Uc="U:4+";}else{Num_Uc="U:"+ tmp.length();} + + //Number of Lowercase [a-z] + String Num_lc=""; + tmp=tokens[p]; + tmp=tmp.replaceAll("[^a-z]",""); + if(tmp.length()>3){Num_lc="L:4+";}else{Num_lc="L:"+ tmp.length();} + + //Number of ALL char + String Num_All=""; + if(tokens[p].length()>3){Num_All="A:4+";}else{Num_All="A:"+ tokens[p].length();} + + //specific character (;:,.->+_) + String SpecificC="__nil__"; + if(tokens[p].equals(";") || tokens[p].equals(":") || tokens[p].equals(",") || tokens[p].equals(".") || tokens[p].equals("-") || tokens[p].equals(">") || tokens[p].equals("+") || tokens[p].equals("_")) + { + SpecificC="-SpecificC1-"; + } + else if(tokens[p].equals("(") || tokens[p].equals(")")) + { + SpecificC="-SpecificC2-"; + } + else if(tokens[p].equals("{") || tokens[p].equals("}")) + { + SpecificC="-SpecificC3-"; + } + else if(tokens[p].equals("[") || tokens[p].equals("]")) + { + SpecificC="-SpecificC4-"; + } + else if(tokens[p].equals("\\") || tokens[p].equals("/")) + { + SpecificC="-SpecificC5-"; + } + + //Chemical Prefix/Suffix + String ChemPreSuf="__nil__"; + if(tokens[p].matches(".*(yl|ylidyne|oyl|sulfonyl)")){ChemPreSuf="-CHEMinlineSuffix-";} + else if(tokens[p].matches("(meth|eth|prop|tetracos).*")){ChemPreSuf="-CHEMalkaneStem-";} + else if(tokens[p].matches("(di|tri|tetra).*")){ChemPreSuf="-CHEMsimpleMultiplier-";} + else if(tokens[p].matches("(benzen|pyridin|toluen).*")){ChemPreSuf="-CHEMtrivialRing-";} + else if(tokens[p].matches(".*(one|ol|carboxylic|amide|ate|acid|ium|ylium|ide|uide|iran|olan|inan|pyrid|acrid|amid|keten|formazan|fydrazin)(s|)")){ChemPreSuf="-CHEMsuffix-";} + + + //Mention Type + String MentionType="__nil__"; + /* + if($tmp eq "to" && $CTD_result_hash{$count_token-1} eq "CTD_gene" && $CTD_result_hash{$count_token+1} eq "CTD_gene"){$CTD_result_hash{$count_token}="CTD_gene";} + if($tmp=~/^(or|and|,)$/ && $CTD_result_hash{$count_token-1} eq "CTD_gene" && $CTD_result_hash{$count_token+1} eq "CTD_gene"){$MentionType="-Type_GeneConjunction-";} + elsif($tmp=~/^(or|and|,)$/ && $last_token=~/^(or|and|,)$/ && $CTD_result_hash{$count_token-2} eq "CTD_gene" && $CTD_result_hash{$count_token+1} eq "CTD_gene"){$MentionType="-Type_GeneConjunction-";} + elsif($tmp=~/^(or|and|,)$/ && $next_token=~/^(or|and|,)$/ && $CTD_result_hash{$count_token-1} eq "CTD_gene" && $CTD_result_hash{$count_token+2} eq "CTD_gene"){$MentionType="-Type_GeneConjunction-";} + */ + if(tokens[p].matches("(ytochrome|cytochrome)")){MentionType="-Type_cytochrome-";} + else if(tokens[p].matches(".*target") ){MentionType="-Type_target-";} + else if(tokens[p].matches(".*(irradiation|hybrid|fusion|experiment|gst|est|gap|antigen)") ){MentionType="-Type_ExperimentNoun-";} + else if(tokens[p].matches(".*(disease|disorder|dystrophy|deficiency|syndrome|dysgenesis|cancer|injury|neoplasm|diabetes|diabete)") ){MentionType="-Type_Disease-";} + else if(tokens[p].matches(".*(motif|domain|omain|binding|site|region|sequence|frameshift|finger|box).*") ){MentionType="-Type_DomainMotif-";} + else if(tokens[p].equals("-") && (p0 && tokens[p-1].matches("^[0-9]+$")) ) ){MentionType="-Type_ChromosomeStrain-";} + else if(tokens[p].matches(".*(related|regulated|associated|correlated|reactive).*")){MentionType="-Type_relation-";} + else if(tokens[p].toLowerCase().matches(".*(polymorphism|mutation|deletion|insertion|duplication|genotype|genotypes).*") ){MentionType="-Type_VariationTerms-";} + else if(tokens[p].matches(".*(oxidase|transferase|transferases|kinase|kinese|subunit|unit|receptor|adrenoceptor|transporter|regulator|transcription|antigen|protein|gene|factor|member|molecule|channel|deaminase|spectrin).*") ){MentionType="-Type_suffix-";} + else if(tokens[p].matches("[\\(\\-\\_]") && (p=1){ prefix=tmp.substring(0, 1);}else{prefix="__nil__";} + if(tmp.length()>=2){ prefix=prefix+" "+tmp.substring(0, 2);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=3){ prefix=prefix+" "+tmp.substring(0, 3);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=4){ prefix=prefix+" "+tmp.substring(0, 4);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=5){ prefix=prefix+" "+tmp.substring(0, 5);}else{prefix=prefix+" __nil__";} + + + //suffix + String suffix=""; + tmp=tokens[p]; + if(tmp.length()>=1){ suffix=tmp.substring(tmp.length()-1, tmp.length());}else{suffix="__nil__";} + if(tmp.length()>=2){ suffix=suffix+" "+tmp.substring(tmp.length()-2, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=3){ suffix=suffix+" "+tmp.substring(tmp.length()-3, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=4){ suffix=suffix+" "+tmp.substring(tmp.length()-4, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=5){ suffix=suffix+" "+tmp.substring(tmp.length()-5, tmp.length());}else{suffix=suffix+" __nil__";} + + if(State.equals("")) + { + State="O"; + } + + if((!tokens[p].equals("\t"))) + { + if(TrainTest.equals("Train")) + { + FileData.write(tokens[p]+" "+stem+" "+WSB+" "+WSF+" "+Num_num+" "+Num_Uc+" "+Num_lc+" "+Num_All+" "+SpecificC+" "+ChemPreSuf+" "+MentionType+" "+ProteinSym+" "+prefix+" "+suffix+" "+CTDGene_State+" "+Abb_State+" "+State+"\n"); + } + else + { + FileData.write(tokens[p]+" "+stem+" "+WSB+" "+WSF+" "+Num_num+" "+Num_Uc+" "+Num_lc+" "+Num_All+" "+SpecificC+" "+ChemPreSuf+" "+MentionType+" "+ProteinSym+" "+prefix+" "+suffix+" "+CTDGene_State+" "+Abb_State+"\n"); + } + } + PassageContext_tmp=PassageContext_tmp.substring(tokens[p].length()); // remove the token for the context + Offset=Offset+tokens[p].length(); + } + } + } + if(tokens.length>0) + { + FileLocation.write("\n"); + FileData.write("\n"); + } + } + } + FileLocation.close(); + FileData.close(); + } + catch(IOException e1){ System.out.println("[MR]: Input file is not exist.");} + } + /* + * Testing by CRF++ + */ + public void CRF_test(String model, String FilenameData, String FilenameOutput) throws IOException + { + File f = new File(FilenameOutput); + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); + + Runtime runtime = Runtime.getRuntime(); + + String OS=System.getProperty("os.name").toLowerCase(); + + String cmd="./CRF/crf_test -m "+model+" -o "+FilenameOutput+" "+FilenameData; + if(OS.contains("windows")) + { + cmd ="CRF/crf_test -m "+model+" -o "+FilenameOutput+" "+FilenameData; + } + else //if(OS.contains("nux")||OS.contains("nix")) + { + cmd ="./CRF/crf_test -m "+model+" -o "+FilenameOutput+" "+FilenameData; + } + + try { + Process process = runtime.exec(cmd); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is, "UTF-8"); + BufferedReader br = new BufferedReader(isr); + String line=""; + while ( (line = br.readLine()) != null) + { + fr.write(line); + fr.newLine(); + fr.flush(); + } + is.close(); + isr.close(); + br.close(); + fr.close(); + } + catch (IOException e) { + System.out.println(e); + runtime.exit(0); + } + } + + public void CRF_test(String model,String FilenameData,String FilenameOutput,String top3) throws IOException + { + File f = new File(FilenameOutput); + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); + + Runtime runtime = Runtime.getRuntime(); + + String OS=System.getProperty("os.name").toLowerCase(); + + String cmd="./CRF/crf_test -n 3 -m "+model+" -o "+FilenameOutput+" "+FilenameData; + if(OS.contains("windows")) + { + cmd ="CRF/crf_test -n 3 -m "+model+" -o "+FilenameOutput+" "+FilenameData; + } + else //if(OS.contains("nux")||OS.contains("nix")) + { + cmd ="./CRF/crf_test -n 3 -m "+model+" -o "+FilenameOutput+" "+FilenameData; + } + + try { + Process process = runtime.exec(cmd); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is, "UTF-8"); + BufferedReader br = new BufferedReader(isr); + String line=""; + while ( (line = br.readLine()) != null) + { + fr.write(line); + fr.newLine(); + fr.flush(); + } + is.close(); + isr.close(); + br.close(); + fr.close(); + } + catch (IOException e) { + System.out.println(e); + runtime.exit(0); + } + } + + /* + * Learning model by CRF++ + */ + public void CRF_learn(String model, String FilenameData) throws IOException + { + Runtime runtime = Runtime.getRuntime(); + + Process process = null; + String line = null; + InputStream is = null; + InputStreamReader isr = null; + BufferedReader br = null; + + String OS=System.getProperty("os.name").toLowerCase(); + + String cmd="./CRF/crf_learn -f 3 -c 4.0 CRF/template_UB "+FilenameData+" "+model; + if(OS.contains("windows")) + { + cmd ="CRF/crf_learn -f 3 -c 4.0 CRF/template_UB "+FilenameData+" "+model; + } + else //if(OS.contains("nux")||OS.contains("nix")) + { + cmd ="./CRF/crf_learn -f 3 -c 4.0 CRF/template_UB "+FilenameData+" "+model; + } + + try { + process = runtime.exec(cmd); + is = process.getInputStream(); + isr = new InputStreamReader(is, "UTF-8"); + br = new BufferedReader(isr); + while ( (line = br.readLine()) != null) + { + System.out.println(line); + System.out.flush(); + } + is.close(); + isr.close(); + br.close(); + } + catch (IOException e) { + System.out.println(e); + runtime.exit(0); + } + } + + public void ReadCRFresult(String Filename,String FilenameLoca,String FilenameOutput,String FilenameBioC) throws XMLStreamException, IOException + { + /** load CRF output */ + ArrayList outputArr = new ArrayList(); + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(FilenameOutput), "UTF-8")); + String line; + while ((line = inputfile.readLine()) != null) + { + outputArr.add(line); + } + inputfile.close(); + + /** load location */ + ArrayList locationArr = new ArrayList(); + inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(FilenameLoca), "UTF-8")); + while ((line = inputfile.readLine()) != null) + { + locationArr.add(line); + } + inputfile.close(); + + /** output -> mentions */ + String pmid_last=""; + String paragraph_num_last=""; + String pmid=""; + String paragraph=""; + String paragraph_num=""; + Pattern pat_B = Pattern.compile("((FamilyName|DomainMotif|Gene)_[B])$"); + Pattern pat_IE = Pattern.compile("((FamilyName|DomainMotif|Gene)_[IE])$"); + ArrayList> AnnotationInPMID = new ArrayList(); // array of Annotations in the PMIDs + ArrayList AnnotationInPassage= new ArrayList(); // array of Annotations in the Passage + GNormPlus.BioCDocobj.Annotations = new ArrayList(); + int countPMID=0; + int countPassage=0; + /** outputArr */ + for(int i=0;i3) + { + pmid=locationRow[0]; + paragraph=locationRow[1]; + paragraph_num=locationRow[2]; + } + + if( (!paragraph_num_last.equals("")) && (!paragraph_num.equals(paragraph_num_last)) ) + { + AnnotationInPMID.add(AnnotationInPassage); + AnnotationInPassage = new ArrayList(); + countPassage++; + } + if( (!pmid_last.equals("")) && (!pmid.equals(pmid_last)) ) + { + GNormPlus.BioCDocobj.Annotations.add(AnnotationInPMID); + AnnotationInPMID = new ArrayList(); + countPMID++; + countPassage=0; + } + + boolean F = false; //Flag of Finding + if(locationRow.length>2) + { + Matcher mat = pat_B.matcher(outputsRow[outputsRow.length-1]); // last column : Status + while(mat.find() && locationRow.length==6) + { + MentionType=mat.group(2); + pmid=locationRow[0]; + paragraph_num=locationRow[2]; + int start_tmp=Integer.parseInt(locationRow[4])-1; + int last_tmp=Integer.parseInt(locationRow[5]); + if(start_tmplast){last=last_tmp;} + i++; + F = true; + if(locationArr.get(i).length()>0) + { + outputsRow=outputArr.get(i).split("\\t"); + locationRow=locationArr.get(i).split("\\t"); + mat = pat_IE.matcher(outputsRow[outputsRow.length-1]); + } + else + { + break; + } + } + } + + if(F == true) + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(countPMID).get(countPassage); // Passage context + String Mention = PassageContext.substring(start, last); + String Mention_nospace = Mention.replaceAll("[\\W\\-\\_]", ""); + if(Mention.toLowerCase().matches("(figure|tables|fig|tab|exp\\. [0-9]+).*")){} + else if(Mention.matches("[A-Z][A-Z]s")){} + else if(Mention.matches(".*\\|.*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\;\\,\\'\\/\\\\].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\(].*") && !Mention.matches(".*[\\)].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\[].*") && !Mention.matches(".*[\\]].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\)].*") && !Mention.matches(".*[\\(].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\]].*") && !Mention.matches(".*[\\[].*")){} + else + { + AnnotationInPassage.add(start+"\t"+last+"\t"+Mention+"\t"+MentionType); + } + i--; + } + + paragraph_num_last=paragraph_num; + pmid_last=pmid; + }// outputArr1 + AnnotationInPMID.add(AnnotationInPassage); + GNormPlus.BioCDocobj.Annotations.add(AnnotationInPMID); + + //GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,false,false); //save in BioC file + } + + public void ReadCRFresult(String Filename,String FilenameLoca,String FilenameOutput,String FilenameBioC,double threshold,double threshold_GeneType) throws XMLStreamException, IOException + { + /** load CRF output */ + ArrayList outputArr1 = new ArrayList(); + ArrayList outputArr2 = new ArrayList(); + ArrayList outputArr3 = new ArrayList(); + ArrayList outputArr1_score = new ArrayList(); + ArrayList outputArr2_score = new ArrayList(); + ArrayList outputArr3_score = new ArrayList(); + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(FilenameOutput), "UTF-8")); + String line; + int rank=0; + String score=""; + Pattern pat_Rank = Pattern.compile("^# ([0-2]) ([0-9\\.]+)$"); + while ((line = inputfile.readLine()) != null) + { + Matcher mat = pat_Rank.matcher(line); // last column : Status + if(mat.find()) + { + rank = Integer.parseInt(mat.group(1)); + score = mat.group(2); + } + else if(rank == 0) + { + outputArr1.add(line); + outputArr1_score.add(score); + } + else if(rank == 1) + { + outputArr2.add(line); + outputArr2_score.add(score); + } + else if(rank == 2) + { + outputArr3.add(line); + outputArr3_score.add(score); + } + } + inputfile.close(); + + /** load location */ + ArrayList locationArr = new ArrayList(); + inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(FilenameLoca), "UTF-8")); + while ((line = inputfile.readLine()) != null) + { + locationArr.add(line); + } + inputfile.close(); + + /** output -> mentions */ + String pmid_last=""; + String paragraph_num_last=""; + String pmid=""; + String paragraph=""; + String paragraph_num=""; + Pattern pat_B = Pattern.compile("((FamilyName|DomainMotif|Gene)_[B])$"); + Pattern pat_IE = Pattern.compile("((FamilyName|DomainMotif|Gene)_[IE])$"); + ArrayList> AnnotationInPMID = new ArrayList(); // array of Annotations in the PMIDs + ArrayList AnnotationInPassage= new ArrayList(); // array of Annotations in the Passage + GNormPlus.BioCDocobj.Annotations = new ArrayList(); + int countPMID=0; + int countPassage=0; + /** outputArr1 */ + int size_Arr=outputArr1.size(); + if(locationArr.size()3) + { + pmid=locationRow[0]; + paragraph=locationRow[1]; + paragraph_num=locationRow[2]; + } + + boolean F = false; //Flag of Finding + if(outputsRow.length>=1) + { + Matcher mat = pat_B.matcher(outputsRow[outputsRow.length-1]); // last column : Status + while(mat.find() && locationRow.length==6) + { + MentionType=mat.group(2); + pmid=locationRow[0]; + int start_tmp=Integer.parseInt(locationRow[4])-1; + int last_tmp=Integer.parseInt(locationRow[5]); + if(start_tmplast){last=last_tmp;} + i++; + outputsRow=outputArr1.get(i).split("\\t"); + locationRow=locationArr.get(i).split("\\t"); + mat = pat_IE.matcher(outputsRow[outputsRow.length-1]); + F = true; + } + } + + if( (!paragraph_num_last.equals("")) && (!paragraph_num.equals(paragraph_num_last)) ) // paragraph change + { + AnnotationInPMID.add(AnnotationInPassage); + AnnotationInPassage = new ArrayList(); + countPassage++; + } + + if( !pmid.equals(pmid_last) && paragraph_num.equals("0") && paragraph_num_last.equals("0") ) // pmid change (special case : the article only has one paragrpah) + { + AnnotationInPMID.add(AnnotationInPassage); + AnnotationInPassage = new ArrayList(); + GNormPlus.BioCDocobj.Annotations.add(AnnotationInPMID); + AnnotationInPMID = new ArrayList(); + countPMID++; + countPassage=0; + } + else if( (!pmid_last.equals("")) && (!pmid.equals(pmid_last)) ) // pmid change + { + GNormPlus.BioCDocobj.Annotations.add(AnnotationInPMID); + AnnotationInPMID = new ArrayList(); + countPMID++; + countPassage=0; + } + + if(F == true) + { + if(GNormPlus.BioCDocobj.PassageContexts.size()>countPMID && GNormPlus.BioCDocobj.PassageContexts.get(countPMID).size()>countPassage && GNormPlus.BioCDocobj.PassageContexts.get(countPMID).get(countPassage).length()>=last && (last-start)<1000) + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(countPMID).get(countPassage); // Passage context + String Mention = PassageContext.substring(start, last); + String Mention_nospace = Mention.replaceAll("[\\W\\-\\_]", ""); + if(Mention.toLowerCase().matches("(figure|tables|fig|tab|exp\\. [0-9]+).*")){} + else if(Mention.matches("[A-Z][A-Z]s")){} + else if(Mention.matches(".*\\|.*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\;\\,\\'\\/\\\\].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\(].*") && !Mention.matches(".*[\\)].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\[].*") && !Mention.matches(".*[\\]].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\)].*") && !Mention.matches(".*[\\(].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\]].*") && !Mention.matches(".*[\\[].*")){} + else if((GNormPlus.Abb2Longformtok_hash.containsKey(Mention_nospace.toLowerCase())) && (PassageContext.toLowerCase().matches(".*[\\W\\-\\-]("+GNormPlus.Abb2Longformtok_hash.get(Mention_nospace.toLowerCase())+")[\\W\\-\\-].*"))) + { + //System.out.println(Mention_nospace.toLowerCase()+"\t"+GNormPlus.Abb2Longformtok_hash.get(Mention_nospace.toLowerCase())); + } + else + { + AnnotationInPassage.add(start+"\t"+last+"\t"+Mention+"\t"+MentionType); + } + } + i--; + } + paragraph_num_last=paragraph_num; + pmid_last=pmid; + }// outputArr1 + AnnotationInPMID.add(AnnotationInPassage); + GNormPlus.BioCDocobj.Annotations.add(AnnotationInPMID); + + /** outputArr2 */ + pmid_last=""; + paragraph_num_last=""; + pmid=""; + paragraph=""; + paragraph_num=""; + countPMID=0; + countPassage=0; + size_Arr=outputArr2.size(); + if(locationArr.size()2) + { + pmid=locationRow[0]; + paragraph=locationRow[1]; + paragraph_num=locationRow[2]; + } + + boolean F = false; //Flag of Finding + if(outputsRow.length>=1) + { + Matcher mat = pat_B.matcher(outputsRow[outputsRow.length-1]); // last column : Status + while(mat.find() && locationRow.length==6) + { + MentionType=mat.group(2); + pmid=locationRow[0]; + int start_tmp=Integer.parseInt(locationRow[4])-1; + int last_tmp=Integer.parseInt(locationRow[5]); + if(start_tmplast){last=last_tmp;} + i++; + outputsRow=outputArr2.get(i).split("\\t"); + locationRow=locationArr.get(i).split("\\t"); + mat = pat_IE.matcher(outputsRow[outputsRow.length-1]); + F = true; + } + } + + if( (!paragraph_num_last.equals("")) && (!paragraph_num.equals(paragraph_num_last)) ) // paragraph change + { + countPassage++; + } + + if( !pmid.equals(pmid_last) && paragraph_num.equals("0") && paragraph_num_last.equals("0") ) // pmid change (special case : the article only has one paragrpah) + { + countPMID++; + countPassage=0; + } + else if( (!pmid_last.equals("")) && (!pmid.equals(pmid_last)) ) // pmid change + { + countPMID++; + countPassage=0; + } + + if(F == true) + { + if(GNormPlus.BioCDocobj.PassageContexts.size()>countPMID && GNormPlus.BioCDocobj.PassageContexts.get(countPMID).size()>countPassage && GNormPlus.BioCDocobj.PassageContexts.get(countPMID).get(countPassage).length()>=last && (last-start)<1000) + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(countPMID).get(countPassage); // Passage context + String Mention = PassageContext.substring(start, last); + String Mention_nospace = Mention.replaceAll("[\\W\\-\\_]", ""); + if(Mention.toLowerCase().matches("(figure|tables|fig|tab|exp\\. [0-9]+).*")){} + else if(Mention.matches("[A-Z][A-Z]s")){} + else if(Mention.matches(".*\\|.*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\;\\,\\'\\/\\\\].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\(].*") && !Mention.matches(".*[\\)].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\[].*") && !Mention.matches(".*[\\]].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\)].*") && !Mention.matches(".*[\\(].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\]].*") && !Mention.matches(".*[\\[].*")){} + else if((GNormPlus.Abb2Longformtok_hash.containsKey(Mention_nospace.toLowerCase())) && (PassageContext.toLowerCase().matches(".*[\\W\\-\\-]("+GNormPlus.Abb2Longformtok_hash.get(Mention_nospace.toLowerCase())+")[\\W\\-\\-].*"))) + { + //System.out.println(Mention_nospace.toLowerCase()+"\t"+GNormPlus.Abb2Longformtok_hash.get(Mention_nospace.toLowerCase())); + } + else if(Double.parseDouble(outputArr2_score.get(i))>threshold) + { + boolean overlap=false; + for(int j=0;jthreshold_GeneType && GNormPlus.BioCDocobj.Annotations.get(countPMID).get(countPassage).get(j).matches(start+"\t"+last+"\t"+Mention_tmp+"\t(FamilyName|DomainMotif)") ) + { + GNormPlus.BioCDocobj.Annotations.get(countPMID).get(countPassage).set(j, start+"\t"+last+"\t"+Mention+"\t"+MentionType); + } + else if( (start>=startj && startstartj && last<=lastj) ) + { + overlap=true; + } + } + if(overlap == false) + { + GNormPlus.BioCDocobj.Annotations.get(countPMID).get(countPassage).add(start+"\t"+last+"\t"+Mention+"\t"+MentionType); + } + } + } + i--; + } + + paragraph_num_last=paragraph_num; + pmid_last=pmid; + }// outputArr2 + + /** outputArr3 */ + pmid_last=""; + paragraph_num_last=""; + pmid=""; + paragraph=""; + paragraph_num=""; + countPMID=0; + countPassage=0; + size_Arr=outputArr3.size(); + if(locationArr.size()2) + { + pmid=locationRow[0]; + paragraph=locationRow[1]; + paragraph_num=locationRow[2]; + } + + boolean F = false; //Flag of Finding + if(outputsRow.length>=1) + { + Matcher mat = pat_B.matcher(outputsRow[outputsRow.length-1]); // last column : Status + while(mat.find() && locationRow.length==6) + { + MentionType=mat.group(2); + pmid=locationRow[0]; + paragraph_num=locationRow[2]; + int start_tmp=Integer.parseInt(locationRow[4])-1; + int last_tmp=Integer.parseInt(locationRow[5]); + if(start_tmplast){last=last_tmp;} + i++; + outputsRow=outputArr3.get(i).split("\\t"); + locationRow=locationArr.get(i).split("\\t"); + mat = pat_IE.matcher(outputsRow[outputsRow.length-1]); + F = true; + } + } + + if( (!paragraph_num_last.equals("")) && (!paragraph_num.equals(paragraph_num_last)) ) // paragraph change + { + countPassage++; + } + + if( !pmid.equals(pmid_last) && paragraph_num.equals("0") && paragraph_num_last.equals("0") ) // pmid change (special case : the article only has one paragrpah) + { + countPMID++; + countPassage=0; + } + else if( (!pmid_last.equals("")) && (!pmid.equals(pmid_last)) ) // pmid change + { + countPMID++; + countPassage=0; + } + + if(F == true) + { + if(GNormPlus.BioCDocobj.PassageContexts.size()>countPMID && GNormPlus.BioCDocobj.PassageContexts.get(countPMID).size()>countPassage && GNormPlus.BioCDocobj.PassageContexts.get(countPMID).get(countPassage).length()>=last && (last-start)<1000) + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(countPMID).get(countPassage); // Passage context + String Mention = PassageContext.substring(start, last); + String Mention_nospace = Mention.replaceAll("[\\W\\-\\_]", ""); + if(Mention.toLowerCase().matches("(figure|tables|fig|tab|exp\\. [0-9]+).*")){} + else if(Mention.matches("[A-Z][A-Z]s")){} + else if(Mention.matches(".*\\|.*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\;\\,\\'\\/\\\\].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\(].*") && !Mention.matches(".*[\\)].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\[].*") && !Mention.matches(".*[\\]].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\)].*") && !Mention.matches(".*[\\(].*")){} + else if(Mention_nospace.length()<=3 && Mention.matches(".*[0-9].*") && Mention.matches(".*[\\]].*") && !Mention.matches(".*[\\[].*")){} + else if((GNormPlus.Abb2Longformtok_hash.containsKey(Mention_nospace.toLowerCase())) && (PassageContext.toLowerCase().matches(".*[\\W\\-\\-]("+GNormPlus.Abb2Longformtok_hash.get(Mention_nospace.toLowerCase())+")[\\W\\-\\-].*"))) + { + //System.out.println(Mention_nospace.toLowerCase()+"\t"+GNormPlus.Abb2Longformtok_hash.get(Mention_nospace.toLowerCase())); + } + else if(Double.parseDouble(outputArr3_score.get(i))>threshold) + { + boolean overlap=false; + for(int j=0;jthreshold_GeneType && GNormPlus.BioCDocobj.Annotations.get(countPMID).get(countPassage).get(j).matches(start+"\t"+last+"\t"+Mention_tmp+"\t(FamilyName|DomainMotif)") ) + { + GNormPlus.BioCDocobj.Annotations.get(countPMID).get(countPassage).set(j, start+"\t"+last+"\t"+Mention+"\t"+MentionType); + } + else if( (start>=startj && startstartj && last<=lastj) ) + { + overlap=true; + } + } + if(overlap == false) + { + GNormPlus.BioCDocobj.Annotations.get(countPMID).get(countPassage).add(start+"\t"+last+"\t"+Mention+"\t"+MentionType); + } + } + } + i--; + } + + paragraph_num_last=paragraph_num; + pmid_last=pmid; + }// outputArr3 + + //GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,false,false); //save in BioC file + } + + public void PostProcessing(String Filename,String FilenameBioC) throws XMLStreamException, IOException + { + /** Develop Cell | FamilyName | DomainMotif lists */ + String Disease_Suffix="disease|diseases|syndrome|syndromes|tumor|tumour|deficiency|dysgenesis|atrophy|frame|dystrophy"; + String Cell_Suffix="cell|cells"; + String FamilyName_Suffix="disease|diseases|syndrome|syndromes|tumor|tumour|deficiency|dysgenesis|atrophy|frame|dystrophy|frame|factors|family|families|superfamily|superfamilies|subfamily|subfamilies|complex|genes|proteins"; + String DomainMotif_Suffix="domain|motif|domains|motifs|sequences"; + String Strain_Suffix="alpha|beta|gamma|kappa|theta|delta|[A-Ga-g0-9]"; + ArrayList Translate2Family = new ArrayList(); + + for(int i=0;i Mention2Type_Hash = new HashMap(); // for substring detection - Extract all mentions in the target PMID : MentionList + ArrayList GeneMentionPattern = new ArrayList(); // pattern match to extend Gene + HashMap MentionType2Num = new HashMap(); // for frequency calculation + if(GNormPlus.BioCDocobj.PMIDs.size()>=i) + { + String pmid=GNormPlus.BioCDocobj.PMIDs.get(i); + for(int j=0;j RemoveList = new ArrayList(); + for(int k=0;k Family name (TIF & TIF1) */ + boolean SubSt=false; + /* + // GDNFb -> GDNF (not work on 12682085_J_Cell_Biol_2003.xml) + for (String men : Mention2Type_Hash.keySet()) + { + if((!men.equals(mention.toLowerCase())) && men.matches(mention_tmp+"[\\W\\-\\_]*("+Strain_Suffix+")")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\tFamilyName"); + if(GNormPlus.PmidLF2Abb_lc_hash.containsKey(GNormPlus.BioCDocobj.PMIDs.get(i)+"\t"+mention.toLowerCase())) + { + Translate2Family.add(GNormPlus.PmidLF2Abb_lc_hash.get(GNormPlus.BioCDocobj.PMIDs.get(i)+"\t"+mention.toLowerCase())); + } + else if(GNormPlus.PmidAbb2LF_lc_hash.containsKey(GNormPlus.BioCDocobj.PMIDs.get(i)+"\t"+mention.toLowerCase())) + { + Translate2Family.add(GNormPlus.PmidAbb2LF_lc_hash.get(GNormPlus.BioCDocobj.PMIDs.get(i)+"\t"+mention.toLowerCase())); + } + SubSt=true; + break; + } + } + */ + if(SubSt == false) + { + int BoundaryLen=15; + if(GNormPlus.BioCDocobj.PassageContexts.get(i).get(j).length() Family/Domain/Cell */ + if( mention.toLowerCase().matches(".*("+Cell_Suffix+")") || SurroundingString.matches("("+Cell_Suffix+")") ) + { + type="Cell"; + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\t"+type); + } + else if( mention.toLowerCase().matches(".*("+FamilyName_Suffix+")") || SurroundingString.matches("("+FamilyName_Suffix+")") ) + { + type="FamilyName"; + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\t"+type); + } + else if( mention.toLowerCase().matches(".*("+DomainMotif_Suffix+")")|| SurroundingString.matches("("+DomainMotif_Suffix+")") ) + { + type="DomainMotif"; + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\t"+type); + } + else if(!type.equals("Gene")) + { + /* 3. Check (Family+Domain+Cell)/All rate (threshold = 0.5) - Family/Domain/Cell -> Gene */ + double Num_FDC=0; + double Num_Gene=0; + if(MentionType2Num.containsKey(mention.toLowerCase()+"\tFamilyName")) + { + Num_FDC = Num_FDC + MentionType2Num.get(mention.toLowerCase()+"\tFamilyName"); + } + if(MentionType2Num.containsKey(mention.toLowerCase()+"\tDomainMotif")) + { + Num_FDC = Num_FDC + MentionType2Num.get(mention.toLowerCase()+"\tDomainMotif"); + } + if(MentionType2Num.containsKey(mention.toLowerCase()+"\tCell")) + { + Num_FDC = Num_FDC + MentionType2Num.get(mention.toLowerCase()+"\tCell"); + } + if(MentionType2Num.containsKey(mention.toLowerCase()+"\tGene")) + { + Num_Gene = Num_Gene + MentionType2Num.get(mention.toLowerCase()+"\tGene"); + } + if(Num_Gene/(Num_FDC+Num_Gene)>=0.5) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\tGene"); + } + + /* 4. Extend Genes to Family/Domain mentions by pattern match - Family/Domain/Cell -> Gene */ + for(int p=0;p Abb.type + * - Abb only : Abb.type -> LF.type + * - LF only : LF.type -> Abb.type + */ + String lc_ment=mention.toLowerCase(); + if(GNormPlus.PmidAbb2LF_lc_hash.containsKey(pmid+"\t"+lc_ment)) //the target mention is abbreviation + { + //Infer Abbreviation by Long form + if(GNormPlus.PmidAbb2LF_lc_hash.get(pmid+"\t"+lc_ment).matches(".*("+Disease_Suffix+")")) + { + //remove the mention (Abb), because the LF is a disease + } + else if(GNormPlus.PmidAbb2LF_lc_hash.get(pmid+"\t"+lc_ment).matches(".*("+Cell_Suffix+")")) + { + //GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Anno[0]+"\t"+Anno[1]+"\tCell"); + } + else if(GNormPlus.PmidAbb2LF_lc_hash.get(pmid+"\t"+lc_ment).matches(".*("+FamilyName_Suffix+")") && !lc_ment.matches(".+[a-z][0-9][a-z]")) //AtRPA1a in pmid:19153602 + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\tFamilyName"); + } + else if(GNormPlus.PmidAbb2LF_lc_hash.get(pmid+"\t"+lc_ment).matches(".*("+DomainMotif_Suffix+")")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\tDomainMotif"); + } + else + { + if(Mention2Type_Hash.containsKey(GNormPlus.PmidAbb2LF_lc_hash.get(pmid+"\t"+lc_ment)) + && Mention2Type_Hash.get(GNormPlus.PmidAbb2LF_lc_hash.get(pmid+"\t"+lc_ment)).equals("Gene") + && !(type.equals("Gene")) + ) // if Long Form is recognized as a Gene, and Abb is recognized as not a Gene + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, start+"\t"+last+"\t"+mention+"\tGene"); + } + } + } + } //if(Remov == true) + } + } + + for(int j=0;j GeneMentionPattern = new ArrayList(); // pattern match to extend Gene + HashMap GeneMentions = new HashMap(); // Extending Gene mentions + HashMap GeneMentionLocationGNR = new HashMap(); // Extending Gene mentions + for(int j=0;ji && GNormPlus.BioCDocobj.PassageContexts.get(i).size()>j) + { + String PassageContexts = " " + GNormPlus.BioCDocobj.PassageContexts.get(i).get(j) + " "; + String PassageContexts_tmp = PassageContexts.toLowerCase(); + for(String gm : GeneMentions.keySet()) + { + String type=GeneMentions.get(gm); + if(type.equals("Gene")) + { + gm = gm.replaceAll("([\\W\\-\\_])", "\\\\$1"); + gm=gm.replaceAll("[0-9]", "\\[0\\-9\\]"); + gm=gm.replaceAll("(alpha|beta|gamma|theta|zeta|delta)", "(alpha\\|beta\\|gamma\\|theta\\|zeta\\|delta)"); + gm=gm.replaceAll("\\-[a-z]$", "\\-\\[a\\-z\\]"); + Pattern ptmp = Pattern.compile("^(.*[\\W\\-\\_])("+gm+")([\\W\\-\\_].*)$"); + Matcher mtmp = ptmp.matcher(PassageContexts_tmp); + while(mtmp.find()) + { + String pre = mtmp.group(1); + String gmtmp = mtmp.group(2); + String post = mtmp.group(3); + + int start = pre.length()-1; + int last = start+gmtmp.length(); + if(PassageContexts.length()>last) + { + String mention = PassageContexts.substring(start+1,last+1); + if(!GeneMentionLocationGNR.containsKey(j+"\t"+start) && !GeneMentionLocationGNR.containsKey(j+"\t"+last)) + { + if(GNormPlus.BioCDocobj.Annotations.get(i).get(j).contains(start+"\t"+last+"\t"+mention+"\tFamilyName")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).remove(start+"\t"+last+"\t"+mention+"\tFamilyName"); + } + else if(GNormPlus.BioCDocobj.Annotations.get(i).get(j).contains(start+"\t"+last+"\t"+mention+"\tDomainMotif")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).remove(start+"\t"+last+"\t"+mention+"\tDomainMotif"); + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tGene"); + } + gmtmp = gmtmp.replaceAll(".", "X"); + PassageContexts_tmp=pre+""+gmtmp+""+post; + mtmp = ptmp.matcher(PassageContexts_tmp); + } + } + } + } + } + } + + //Extend to all family mentions + for(int j=0;ji && GNormPlus.BioCDocobj.PassageContexts.get(i).size()>j) + { + String PassageContexts = " " + GNormPlus.BioCDocobj.PassageContexts.get(i).get(j) + " "; + String PassageContexts_tmp = PassageContexts.toLowerCase(); + for(String gm : GeneMentions.keySet()) + { + String type=GeneMentions.get(gm); + if(type.matches("(FamilyName|DomainMotif)")) + { + gm = gm.replaceAll("([\\W\\-\\_])", "\\\\$1"); + gm=gm.replaceAll("s$", "(s\\|)"); + Pattern ptmp = Pattern.compile("^(.*[\\W\\-\\_])("+gm+")([\\W\\-\\_].*)$"); + Matcher mtmp = ptmp.matcher(PassageContexts_tmp); + while(mtmp.find()) + { + String pre = mtmp.group(1); + String gmtmp = mtmp.group(2); + String post = mtmp.group(3); + + int start = pre.length()-1; + int last = start+gmtmp.length(); + if(PassageContexts.length()>last) + { + String mention = PassageContexts.substring(start+1,last+1); + if(!GeneMentionLocationGNR.containsKey(j+"\t"+start) && !GeneMentionLocationGNR.containsKey(j+"\t"+last)) + { + if(!GNormPlus.BioCDocobj.Annotations.get(i).get(j).contains(start+"\t"+last+"\t"+mention+"\tGene")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\t"+type); + } + } + gmtmp = gmtmp.replaceAll(".", "X"); + PassageContexts_tmp=pre+""+gmtmp+""+post; + mtmp = ptmp.matcher(PassageContexts_tmp); + } + } + } + } + } + } + } + } + GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,false,false); //save in BioC file + } +} + + diff --git a/src_Java/GNormPluslib/GNormPlus.java b/src_Java/GNormPluslib/GNormPlus.java new file mode 100644 index 0000000000000000000000000000000000000000..1b9ce98a8842e7b32decbbdc81160b2f6b2db1c0 --- /dev/null +++ b/src_Java/GNormPluslib/GNormPlus.java @@ -0,0 +1,696 @@ +package GNormPluslib; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.xml.stream.XMLStreamException; + +import GNormPluslib.PrefixTree; +import GNormPluslib.GNR; +import GNormPluslib.SR; + +public class GNormPlus +{ + public static BioCDoc BioCDocobj = new BioCDoc(); + public static PrefixTree PT_Species = new PrefixTree(); + public static PrefixTree PT_Cell = new PrefixTree(); + public static PrefixTree PT_CTDGene = new PrefixTree(); + public static PrefixTree PT_Gene = new PrefixTree(); + public static PrefixTree PT_GeneChromosome = new PrefixTree(); + public static PrefixTree PT_FamilyName = new PrefixTree(); + public static HashMap ent_hash = new HashMap(); + public static HashMap GenusID_hash = new HashMap(); + public static HashMap PrefixID_hash = new HashMap(); + public static HashMap TaxFreq_hash = new HashMap(); + public static HashMap GeneScoring_hash = new HashMap(); + public static HashMap GeneScoringDF_hash = new HashMap(); + public static HashMap GeneIDs_hash = new HashMap(); + public static HashMap Normalization2Protein_hash = new HashMap(); + public static HashMap HomologeneID_hash = new HashMap(); + public static HashMap SuffixTranslationMap_hash = new HashMap(); + public static HashMap SuffixTranslationMap2_hash = new HashMap(); + public static HashMap Pmid2Abb_hash = new HashMap(); + public static HashMap PmidAbb2LF_lc_hash = new HashMap(); + public static HashMap PmidLF2Abb_lc_hash = new HashMap(); + public static HashMap PmidAbb2LF_hash = new HashMap(); + public static HashMap PmidLF2Abb_hash = new HashMap(); + public static HashMap Pmid2ChromosomeGene_hash = new HashMap(); + public static HashMap SimConceptMention2Type_hash = new HashMap(); + public static HashMap Filtering_hash = new HashMap(); + public static HashMap Filtering_WithLongForm_hash = new HashMap(); + public static HashMap SP_Virus2Human_hash = new HashMap(); + public static HashMap GeneWithoutSPPrefix_hash = new HashMap(); + public static ArrayList taxid4gene = new ArrayList (); + public static HashMap setup_hash = new HashMap(); + public static HashMap suffixprefix_orig2modified = new HashMap(); + public static HashMap Abb2Longformtok_hash = new HashMap(); + public static HashMap StrainID_ancestor2tax_hash = new HashMap(); + public static HashMap StrainID_taxid2names_hash = new HashMap(); + + public static String SetupFile = "setup.txt"; + public static void main(String [] args) throws IOException, InterruptedException, XMLStreamException, SQLException + { + String InputFolder="input"; + String OutputFolder="output"; + String tmpFolder="tmp"; + String FocusSpecies = ""; + if(args.length<2) + { + System.out.println("\n$ java -Xmx30G -Xms10G -jar GNormPlus.jar [InputFolder] [OutputFolder] [SetupFile]"); + System.out.println("[InputFolder] Default : input"); + System.out.println("[OutputFolder] Default : output"); + System.out.println("[SetupFile] Default : setup.txt\n\n"); + } + else + { + /* + * Parameters + */ + InputFolder=args[0]; + OutputFolder=args[1]; + if(args.length>=3) + { + SetupFile = args[2]; + } + if(args.length>=4) + { + FocusSpecies=args[3]; + } + } + + BufferedReader br = new BufferedReader(new FileReader(SetupFile)); + String line=""; + Pattern ptmp = Pattern.compile("^ ([A-Za-z0-9]+) = ([^ \\t\\n\\r]+)$"); + while ((line = br.readLine()) != null) + { + Matcher mtmp = ptmp.matcher(line); + if(mtmp.find()) + { + setup_hash.put(mtmp.group(1), mtmp.group(2)); + } + } + br.close(); + if(!setup_hash.containsKey("GeneIDMatch")) + { + setup_hash.put("GeneIDMatch","True"); + } + if(!setup_hash.containsKey("HomologeneID")) + { + setup_hash.put("HomologeneID","False"); + } + if(!FocusSpecies.equals("")) + { + setup_hash.put("FocusSpecies",FocusSpecies); + } + if(!setup_hash.containsKey("ShowUnNormalizedMention")) + { + setup_hash.put("ShowUnNormalizedMention","False"); + } + if(setup_hash.containsKey("tmpFolder")) + { + tmpFolder=setup_hash.get("tmpFolder"); + } + + /* + * Time stamp - start : All + */ + double startTime,endTime,totTime; + startTime = System.currentTimeMillis();//start time + + int NumFiles=0; + File folder = new File(InputFolder); + File[] listOfFiles = folder.listFiles(); + for (int i = 0; i < listOfFiles.length; i++) + { + if (listOfFiles[i].isFile()) + { + String InputFile = listOfFiles[i].getName(); + File f = new File(OutputFolder+"/"+InputFile); + if(f.exists() && !f.isDirectory()) + { + } + else + { + NumFiles++; + } + } + } + + System.out.println("Total "+NumFiles+" file(s) wait(s) for process."); + + if(NumFiles>0) + { + /* + * Start & Load Dictionary + */ + String TrainTest = "Test"; + if(setup_hash.containsKey("TrainTest")) + { + TrainTest = setup_hash.get("TrainTest"); + } + + + /** Load Dictionary */ + if(setup_hash.containsKey("GeneRecognition") && setup_hash.get("GeneRecognition").toLowerCase().equals("true")) + { + System.out.print("Loading Gene NER Dictionary : Processing ... \r"); + /** CTDGene */ + if(setup_hash.containsKey("IgnoreNER") && setup_hash.get("IgnoreNER").toLowerCase().equals("true")){} // not NER (entities are pre-annotated) + else if(setup_hash.containsKey("SpeciesAssignmentOnly") && setup_hash.get("SpeciesAssignmentOnly").toLowerCase().equals("true")) {} // species assignment + else + { + PT_CTDGene.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_CTDGene.txt"); + } + /** ent */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/ent.rev.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); //Α Alpha + ent_hash.put(l[0], l[1]); + } + br.close(); + + /** FamilyName */ + if((!setup_hash.containsKey("IgnoreNER")) || setup_hash.get("IgnoreNER").toLowerCase() != "true") + { + PT_FamilyName.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_FamilyName.txt"); + } + + /** GeneChromosome */ + //PT_GeneChromosome.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_GeneChromosome.txt"); + System.out.println("Loading Gene NER Dictionary : Processing ... done."); + } + + if(setup_hash.containsKey("SpeciesRecognition") && setup_hash.get("SpeciesRecognition").toLowerCase().equals("true")) + { + System.out.print("Loading Species NER Dictionary : Processing ... \r"); + /** Species */ + PT_Species.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_Species.txt"); + + /** Cell */ + PT_Cell.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_Cell.txt"); + + /** Genus */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/SPGenus.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + GenusID_hash.put(l[0], l[1]); // tax id -> Genus + } + br.close(); + + /** taxid4gene */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/tax4gene.txt")); + line=""; + while ((line = br.readLine()) != null) + { + taxid4gene.add(line); // tax id -> Genus + } + br.close(); + System.out.println("Loading Species NER Dictionary : Processing ... done."); + + } + + if(setup_hash.containsKey("SpeciesAssignment") && setup_hash.get("SpeciesAssignment").toLowerCase().equals("true")) + { + System.out.print("Loading Species Assignment Dictionary : Processing ... \r"); + /** GeneWithoutSPPrefix */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/GeneWithoutSPPrefix.txt")); + line=""; + while ((line = br.readLine()) != null) + { + GeneWithoutSPPrefix_hash.put(line, ""); + } + br.close(); + + /** Prefix */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/SPPrefix.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + PrefixID_hash.put(l[0], l[1]); //tax id -> prefix + } + br.close(); + PrefixID_hash.put("9606", "h"); + PrefixID_hash.put("10090", "m"); + PrefixID_hash.put("10116", "r"); + PrefixID_hash.put("4932", "y"); + PrefixID_hash.put("7227", "d"); + PrefixID_hash.put("7955", "z|dr|Dr|Zf|zf"); + PrefixID_hash.put("3702", "at|At"); + + /** Frequency */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/taxonomy_freq.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + TaxFreq_hash.put(l[0], Double.parseDouble(l[1])/200000000); //tax id -> prefix + } + br.close(); + + /** SP_Virus2Human_hash */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/SP_Virus2HumanList.txt")); + line=""; + while ((line = br.readLine()) != null) + { + SP_Virus2Human_hash.put(line,"9606"); + } + br.close(); + + /** SPStrain */ + /* + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/SPStrain.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + String ancestor_id = l[0]; + String tax_id = l[1]; + String tax_names = l[2]; + StrainID_ancestor2tax_hash.put(ancestor_id, tax_id); // ancestor -> tax_id + StrainID_taxid2names_hash.put(tax_id, tax_names); // tax id -> strain + } + br.close(); + */ + System.out.println("Loading Species Assignment Dictionary : Processing ... done."); + + } + + if(setup_hash.containsKey("GeneNormalization") && setup_hash.get("GeneNormalization").toLowerCase().equals("true")) + { + System.out.print("Loading Gene normalization Dictionary : Processing ... \r"); + /** gene_prefix & gene_suffix */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/PrefixSuffix.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + String org=l[0]; + String mod=l[1]; + suffixprefix_orig2modified.put(org,mod); + } + br.close(); + + /** gene_prefix & gene_suffix */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/NonGeneAbbr.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + String shortform=l[0]; + String longform_toks=l[1]; + Abb2Longformtok_hash.put(shortform,longform_toks); + } + br.close(); + + /** SimConcept.MentionType */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/SimConcept.MentionType.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + SimConceptMention2Type_hash.put(l[0], l[1]); + } + br.close(); + + /** Filtering */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/Filtering.txt")); + line=""; + while ((line = br.readLine()) != null) + { + Filtering_hash.put(line, ""); + } + br.close(); + + /** Filtering_WithLongForm.txt */ + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/Filtering_WithLongForm.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + Filtering_WithLongForm_hash.put(l[0], l[1]); + } + br.close(); + + /** Gene Dictionary */ + if(setup_hash.containsKey("FocusSpecies") && !setup_hash.get("FocusSpecies").equals("All")) + { + PT_Gene.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_Gene."+setup_hash.get("FocusSpecies")+".txt"); + } + else if((!FocusSpecies.equals("")) && (!FocusSpecies.equals("All"))) + { + PT_Gene.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_Gene."+FocusSpecies+".txt"); + } + else + { + PT_Gene.TreeFile2Tree(setup_hash.get("DictionaryFolder")+"/PT_Gene.txt"); + } + + /** GeneScoring */ + String FileName=setup_hash.get("DictionaryFolder")+"/GeneScoring.txt"; + + if(setup_hash.containsKey("FocusSpecies") && !setup_hash.get("FocusSpecies").equals("All")) + { + FileName = setup_hash.get("DictionaryFolder")+"/GeneScoring."+setup_hash.get("FocusSpecies")+".txt"; + } + else if((!FocusSpecies.equals("")) && (!FocusSpecies.equals("All"))) + { + FileName = setup_hash.get("DictionaryFolder")+"/GeneScoring."+FocusSpecies+".txt"; + } + br = new BufferedReader(new FileReader(FileName)); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + GeneScoring_hash.put(l[0], l[1]+"\t"+l[2]+"\t"+l[3]+"\t"+l[4]+"\t"+l[5]+"\t"+l[6]); + } + br.close(); + + /** GeneScoring.DF */ + FileName=setup_hash.get("DictionaryFolder")+"/GeneScoring.DF.txt"; + if(setup_hash.containsKey("FocusSpecies") && !setup_hash.get("FocusSpecies").equals("All")) + { + FileName = setup_hash.get("DictionaryFolder")+"/GeneScoring.DF."+setup_hash.get("FocusSpecies")+".txt"; + } + else if((!FocusSpecies.equals("")) && (!FocusSpecies.equals("All"))) + { + FileName = setup_hash.get("DictionaryFolder")+"/GeneScoring.DF."+FocusSpecies+".txt"; + } + br = new BufferedReader(new FileReader(FileName)); + double Sum = Double.parseDouble(br.readLine()); + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + // token -> idf + GeneScoringDF_hash.put(l[0], Math.log10(Sum/Double.parseDouble(l[1]))); + } + br.close(); + + /** Suffix Translation */ + SuffixTranslationMap_hash.put("alpha","a"); + SuffixTranslationMap_hash.put("a","alpha"); + SuffixTranslationMap_hash.put("beta","b"); + SuffixTranslationMap_hash.put("b","beta"); + SuffixTranslationMap_hash.put("delta","d"); + SuffixTranslationMap_hash.put("d","delta"); + SuffixTranslationMap_hash.put("z","zeta"); + SuffixTranslationMap_hash.put("zeta","z"); + SuffixTranslationMap_hash.put("gamma","g"); + SuffixTranslationMap_hash.put("g","gamma"); + SuffixTranslationMap_hash.put("r","gamma"); + SuffixTranslationMap_hash.put("y","gamma"); + + SuffixTranslationMap2_hash.put("2","ii"); + SuffixTranslationMap2_hash.put("ii","2"); + SuffixTranslationMap2_hash.put("II","2"); + SuffixTranslationMap2_hash.put("1","i"); + SuffixTranslationMap2_hash.put("i","1"); + SuffixTranslationMap2_hash.put("I","1"); + + /** GeneID */ + if(setup_hash.containsKey("GeneIDMatch") && setup_hash.get("GeneIDMatch").toLowerCase().equals("true")) + { + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/GeneIDs.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + GeneIDs_hash.put(l[0],l[1]); + } + br.close(); + } + + /** Normalization2Protein */ + if(setup_hash.containsKey("Normalization2Protein") && setup_hash.get("Normalization2Protein").toLowerCase().equals("true")) + { + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/Gene2Protein.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + Normalization2Protein_hash.put(l[0],l[1]); + } + br.close(); + } + + /** HomologeneID */ + if(setup_hash.containsKey("HomologeneID") && setup_hash.get("HomologeneID").toLowerCase().equals("true")) + { + br = new BufferedReader(new FileReader(setup_hash.get("DictionaryFolder")+"/Gene2Homoid.txt")); + line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + HomologeneID_hash.put(l[0],l[1]); + } + br.close(); + } + System.out.println("Loading Gene normalization Dictionary : Processing ... done."); + } + + endTime = System.currentTimeMillis(); + totTime = endTime - startTime; + System.out.println("Loading Dictionary : Processing Time:"+totTime/1000+"sec"); + + folder = new File(InputFolder); + listOfFiles = folder.listFiles(); + for (int i = 0; i < listOfFiles.length; i++) + { + if (listOfFiles[i].isFile()) + { + String InputFile = listOfFiles[i].getName(); + File f = new File(OutputFolder+"/"+InputFile); + if(f.exists() && !f.isDirectory()) + { + System.out.println(InputFolder+"/"+InputFile+" - Done. (The output file exists in output folder)"); + } + else + { + String path=tmpFolder; + File file = new File(path); + File[] files = file.listFiles(); + for (File ftmp:files) + { + if (ftmp.isFile() && ftmp.exists()) + { + if(ftmp.toString().matches(tmpFolder+"/"+InputFile+".*")) + { + ftmp.delete(); + } + } + } + + BioCDocobj = new BioCDoc(); + + /* + * Format Check + */ + String Format = ""; + String checkR = BioCDocobj.BioCFormatCheck(InputFolder+"/"+InputFile); + if(checkR.equals("BioC")) + { + Format = "BioC"; + } + else if(checkR.equals("PubTator")) + { + Format = "PubTator"; + } + else + { + System.out.println(checkR); + System.exit(0); + } + + System.out.print(InputFolder+"/"+InputFile+" - ("+Format+" format) : Processing ... \r"); + + /** PubTator2BioC*/ + if(Format.equals("PubTator")) + { + BioCDocobj.PubTator2BioC(InputFolder+"/"+InputFile,tmpFolder+"/"+InputFile); + } + else + { + br = new BufferedReader(new FileReader(InputFolder+"/"+InputFile)); + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(tmpFolder+"/"+InputFile), "UTF-8")); + line=""; + while ((line = br.readLine()) != null) + { + fr.write(line); + } + br.close(); + fr.close(); + } + + /** load file */ + GNR GNRobj = new GNR(); + GNRobj.LoadInputFile(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".Abb",TrainTest); + SR SRobj = new SR(); + SimConcept SCobj = new SimConcept(); + GN GNobj = new GN(); + String FinalStep=""; + + /** SpeciesRecognition */ + if(setup_hash.containsKey("SpeciesRecognition") && setup_hash.get("SpeciesRecognition").toLowerCase().equals("true") ) // pre-annotated name entities + { + SRobj.SpeciesRecognition(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".SR.xml",setup_hash.get("DictionaryFolder")+"/SPStrain.txt",setup_hash.get("FilterAntibody")); + FinalStep="SpeciesRecognition"; + } + + /** GeneRecognition */ + if( setup_hash.containsKey("GeneRecognition") && setup_hash.get("GeneRecognition").toLowerCase().equals("true") ) + { + GNRobj.FeatureExtraction(tmpFolder+"/"+InputFile+".data",tmpFolder+"/"+InputFile+".loca",TrainTest); + GNRobj.CRF_test(setup_hash.get("GNRModel"),tmpFolder+"/"+InputFile+".data",tmpFolder+"/"+InputFile+".output","top3"); //top3 + GNRobj.ReadCRFresult(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".loca",tmpFolder+"/"+InputFile+".output",tmpFolder+"/"+InputFile+".GNR.xml",0.005,0.05); //0.005,0.05 + f = new File(tmpFolder+"/"+InputFile+".SR.xml"); + if(f.exists()) + { + GNRobj.PostProcessing(tmpFolder+"/"+InputFile+".SR.xml",tmpFolder+"/"+InputFile+".GNR.xml"); + } + else + { + GNRobj.PostProcessing(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".GNR.xml"); + } + FinalStep="GeneRecognition"; + } + + /** SpeciesAssignment */ + if(setup_hash.containsKey("SpeciesAssignment") && setup_hash.get("SpeciesAssignment").toLowerCase().equals("true") ) // pre-annotated name entities + { + if(setup_hash.containsKey("FocusSpecies") && !setup_hash.get("FocusSpecies").equals("All")) // FocusSpecies + { + f = new File(tmpFolder+"/"+InputFile+".GNR.xml"); + if(f.exists()) + { + SRobj.SpeciesAssignment(tmpFolder+"/"+InputFile+".GNR.xml",tmpFolder+"/"+InputFile+".SA.xml",setup_hash.get("FocusSpecies")); + } + else + { + SRobj.SpeciesAssignment(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".SA.xml",setup_hash.get("FocusSpecies")); + } + } + else// All Species + { + f = new File(tmpFolder+"/"+InputFile+".GNR.xml"); + if(f.exists()) + { + SRobj.SpeciesAssignment(tmpFolder+"/"+InputFile+".GNR.xml",tmpFolder+"/"+InputFile+".SA.xml"); + } + else + { + SRobj.SpeciesAssignment(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".SA.xml"); + } + } + FinalStep="SpeciesAssignment"; + } + + /** GeneNormalization */ + if((setup_hash.containsKey("GeneNormalization")) && setup_hash.get("GeneNormalization").toLowerCase().equals("true") ) + { + /** SimConcept */ + { + SCobj.FeatureExtraction_Test(tmpFolder+"/"+InputFile+".SC.data"); + SCobj.CRF_test(setup_hash.get("SCModel"),tmpFolder+"/"+InputFile+".SC.data",tmpFolder+"/"+InputFile+".SC.output"); + SCobj.ReadCRFresult(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".SC.output",tmpFolder+"/"+InputFile+".SC.xml"); + } + + /** GeneNormalization */ + { + GNobj.PreProcessing4GN(InputFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".PreProcessing4GN.xml"); + GNobj.ChromosomeRecognition(InputFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".GN.xml"); + if(setup_hash.containsKey("GeneIDMatch") && setup_hash.get("GeneIDMatch").equals("True")) + { + + GNobj.GeneNormalization(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".GN.xml",true); + GNobj.GeneIDRecognition(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".GN.xml"); + } + else + { + GNobj.GeneNormalization(tmpFolder+"/"+InputFile,tmpFolder+"/"+InputFile+".GN.xml",false); + } + } + FinalStep="GeneNormalization"; + } + + /** BioC2PubTator*/ + String final_output=""; + if(FinalStep.equals("GeneNormalization")) + { + final_output=tmpFolder+"/"+InputFile+".GN.xml"; + } + else if(FinalStep.equals("SpeciesAssignment")) + { + final_output=tmpFolder+"/"+InputFile+".SA.xml"; + } + else if(FinalStep.equals("SpeciesRecognition")) + { + final_output=tmpFolder+"/"+InputFile+".SR.xml"; + } + else if(FinalStep.equals("GeneRecognition")) + { + final_output=tmpFolder+"/"+InputFile+".GNR.xml"; + } + + if(Format.equals("PubTator")) + { + BioCDocobj.BioC2PubTator(final_output,OutputFolder+"/"+InputFile); + } + else + { + br = new BufferedReader(new FileReader(final_output)); + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(OutputFolder+"/"+InputFile), "UTF-8")); + line=""; + while ((line = br.readLine()) != null) + { + fr.write(line); + } + br.close(); + fr.close(); + } + + /* + * remove tmp files + */ + if((!setup_hash.containsKey("DeleteTmp")) || setup_hash.get("DeleteTmp").toLowerCase().equals("true")) + { + path="tmp"; + file = new File(path); + files = file.listFiles(); + for (File ftmp:files) + { + if (ftmp.isFile() && ftmp.exists()) + { + if(ftmp.toString().matches(tmpFolder+"/"+InputFile+".*")) + { + ftmp.delete(); + } + } + } + } + + /* + * Time stamp - last + */ + endTime = System.currentTimeMillis(); + totTime = endTime - startTime; + System.out.println(InputFolder+"/"+InputFile+" - ("+Format+" format) : Processing Time:"+totTime/1000+"sec"); + } + } + } + } + } +} diff --git a/src_Java/GNormPluslib/PrefixTree.java b/src_Java/GNormPluslib/PrefixTree.java new file mode 100644 index 0000000000000000000000000000000000000000..c75b0f8d2e611277889d35172d6f82f941365940 --- /dev/null +++ b/src_Java/GNormPluslib/PrefixTree.java @@ -0,0 +1,893 @@ +/** + * Project: GNormPlus + * Function: Dictionary lookup by Prefix Tree + */ + +package GNormPluslib; + +import java.io.*; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class PrefixTree +{ + private Tree Tr=new Tree(); + + /* + * Read Dictionary and insert Mention into the Prefix Tree + */ + public static HashMap StopWord_hash = new HashMap(); + + public void Hash2Tree(HashMap ID2Names) + { + for(String ID : ID2Names.keySet()) + { + String NameColumn[]=ID2Names.get(ID).split("\\|"); + for(int i=0;i1) + { + Column[0]=Column[0].replace("species:ncbi:",""); + Column[1]=Column[1].replaceAll(" strain=", " "); + Column[1]=Column[1].replaceAll("[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_]", " "); + Column[1]=Column[1].replaceAll("[\\(\\)]", " "); + String SpNameColumn[]=Column[1].split("\\|"); + for(int i=0;i=3 + ) + { + boolean stopword_boolean=false; + for(String stopword_RegEx : StopWord_hash.keySet()) + { + Pattern ptmp = Pattern.compile("^"+stopword_RegEx+"$"); + Matcher mtmp = ptmp.matcher(SpNameColumn[i].toLowerCase()); + if(mtmp.find()) + { + stopword_boolean=true; + } + } + if(stopword_boolean == false) + { + Tr.insertMention(SpNameColumn[i],Column[0]); + } + } + /* + * Criteria for Gene + */ + else if (MentionType.equals("Gene") && + (!SpNameColumn[i].substring(0, 1).matches("[\\W\\-\\_]")) && + tmp.length()>=3 + ) + { + if(!StopWord_hash.containsKey(SpNameColumn[i].toLowerCase())) + { + Tr.insertMention(SpNameColumn[i],Column[0]); + } + } + /* + * Criteria for Cell + */ + else if (MentionType.equals("Cell") && + (!SpNameColumn[i].substring(0, 1).matches("[\\W\\-\\_]")) && + tmp.length()>=3 + ) + { + if(!StopWord_hash.containsKey(SpNameColumn[i].toLowerCase())) + { + Tr.insertMention(SpNameColumn[i],Column[0]); + } + } + /* + * others + */ + else if ((!SpNameColumn[i].substring(0, 1).matches("[\\W\\-\\_]")) && + tmp.length()>=3 + ) + { + if(!StopWord_hash.containsKey(SpNameColumn[i].toLowerCase())) + { + Tr.insertMention(SpNameColumn[i],Column[0]); + } + } + } + } + } + inputfile.close(); + } + catch(IOException e1){ System.out.println("[Dictionary2Tree_Combine]: Input file is not exist.");} + } + public void Dictionary2Tree_UniqueGene(String Filename,String StopWords,String Preifx) + { + try + { + //System.out.println("Dictionary2Tree_UniqueGene : " + Filename); + + /** Stop Word */ + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(StopWords), "UTF-8")); + String line=""; + while ((line = br.readLine()) != null) + { + StopWord_hash.put(line, "StopWord"); + } + br.close(); + + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(Filename), "UTF-8")); + line=""; + //int count=0; + while ((line = inputfile.readLine()) != null) + { + //count++; + //if(count%10000==0){ System.out.println(count); } + String Column[]=line.split("\t"); + if(Column.length>1) + { + if(!StopWord_hash.containsKey(Column[0].toLowerCase())) + { + if(Preifx.equals("")) + { + Tr.insertMention(Column[0],Column[1]); + } + else if(Preifx.equals("Num") && Column[0].matches("[0-9].*")) + { + Tr.insertMention(Column[0],Column[1]); + } + else if(Preifx.equals("AZNum") && Column[0].matches("[a-z][0-9].*")) + { + Tr.insertMention(Column[0],Column[1]); + } + else if(Preifx.equals("lo") && Column[0].length()>2 && Column[0].substring(0,2).equals(Preifx)) + { + if( ! Column[0].matches("loc[0-9]+")) + { + Tr.insertMention(Column[0],Column[1]); + } + } + else if(Preifx.equals("un") && Column[0].length()>2 && Column[0].substring(0,2).equals(Preifx)) + { + if(Column[0].length()>=6 && Column[0].substring(0,6).equals("unchar")) + { + // remove uncharacterized + } + else + { + Tr.insertMention(Column[0],Column[1]); + } + } + else if(Column[0].length()>2 && Column[0].substring(0,2).equals(Preifx)) + { + Tr.insertMention(Column[0],Column[1]); + } + } + } + } + inputfile.close(); + } + catch(IOException e1){ System.out.println("[Dictionary2Tree_UniqueGene]: Input file is not exist.");} + } + public void Dictionary2Tree_UniqueSpecies(String Filename,String StopWords,String Preifx) + { + try + { + //System.out.println("Dictionary2Tree_UniqueGene : " + Filename); + + /** Stop Word */ + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(StopWords), "UTF-8")); + String line=""; + while ((line = br.readLine()) != null) + { + StopWord_hash.put(line, "StopWord"); + } + br.close(); + + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(Filename), "UTF-8")); + line=""; + while ((line = inputfile.readLine()) != null) + { + //count++; + //if(count%10000==0){ System.out.println(count); } + String Column[]=line.split("\t"); + if(Column.length>1) + { + if(!StopWord_hash.containsKey(Column[0].toLowerCase())) + { + if(Preifx.equals("")) //all + { + if(Column[0].matches(".*[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_].*")) + { + String mention_rev=Column[0].replaceAll("[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_]", " "); + String mention_tmp=mention_rev.replaceAll("[\\W\\-\\_]",""); + if(mention_tmp.length()>=10) + { + Tr.insertMention(mention_rev,Column[1]); + } + } + else + { + Tr.insertMention(Column[0],Column[1]); // mention, id + } + + } + else if(Column[0].matches("[0-9][0-9].*")) + { + if(Preifx.equals("Num")) + { + if(Column[0].matches(".*[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_].*")) + { + String mention_rev=Column[0].replaceAll("[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_]", " "); + String mention_tmp=mention_rev.replaceAll("[\\W\\-\\_]",""); + if(mention_tmp.length()>=10) + { + Tr.insertMention(mention_rev,Column[1]); + } + } + else + { + Tr.insertMention(Column[0],Column[1]); // mention, id + } + } + } + /* + else if(Column[0].matches("[a-z][0-9].*")) + { + if(Preifx.equals("AZNum")) + { + if(Column[0].matches(".*[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_].*")) + { + String mention_rev=Column[0].replaceAll("[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_]", " "); + String mention_tmp=mention_rev.replaceAll("[\\W\\-\\_]",""); + if(mention_tmp.length()>=10) + { + Tr.insertMention(mention_rev,Column[1]); + } + } + else + { + Tr.insertMention(Column[0],Column[1]); // mention, id + } + } + } + */ + else if(Column[0].matches("[a-z][a-z].*")) + { + if(Column[0].length()>2 && Column[0].substring(0,2).equals(Preifx)) + { + if(Column[0].matches(".*[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_].*")) + { + String mention_rev=Column[0].replaceAll("[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_]", " "); + String mention_tmp=mention_rev.replaceAll("[\\W\\-\\_]",""); + if(mention_tmp.length()>=10) + { + Tr.insertMention(mention_rev,Column[1]); + } + } + else + { + Tr.insertMention(Column[0],Column[1]); // mention, id + } + } + } + else if(Preifx.equals("Others")) + { + if(Column[0].matches(".*[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_].*")) + { + String mention_rev=Column[0].replaceAll("[\\W\\-\\_](str\\.|strain|substr\\.|substrain|var\\.|variety|variant|subsp\\.|subspecies|pv\\.|pathovars|pathovar|br\\.|biovar)[\\W\\-\\_]", " "); + String mention_tmp=mention_rev.replaceAll("[\\W\\-\\_]",""); + if(mention_tmp.length()>=10) + { + Tr.insertMention(mention_rev,Column[1]); + } + } + else + { + Tr.insertMention(Column[0],Column[1]); // mention, id + } + } + } + } + } + inputfile.close(); + } + catch(IOException e1){ System.out.println("[Dictionary2Tree_UniqueGene]: Input file is not exist.");} + } + public void TreeFile2Tree(String Filename) + { + try + { + //System.out.println("TreeFile2Tree : " + Filename); + + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(Filename), "UTF-8")); + String line=""; + int count=0; + while ((line = inputfile.readLine()) != null) + { + String Anno[]=line.split("\t"); + if(Anno.length<2){System.out.println(count+"\t"+line);} //check error + String LocationInTree = Anno[0]; + String token = Anno[1]; + String identifier=""; + if(Anno.length==3) + { + identifier = Anno[2]; + } + String LocationsInTree[]=LocationInTree.split("-"); + TreeNode tmp = Tr.root; + for(int i=0;i location = new ArrayList(); + String Menlist[]=Mentions.split("\\|"); + for(int m=0;m=0) //Find Tokens in the links + { + if(i == Tkns.length-1){PrefixTranslation = 1;} + tmp=tmp.links.get(tmp.CheckChild(Tkns[i],PrefixTranslation)); //move point to the link + find=true; + i++; + } + if(find == true) + { + if(i==Tkns.length) + { + if(!tmp.Concept.equals("")) + { + return tmp.Concept; + } + else + { + return "-1"; + //gene id is not found. + } + } + else + { + return "-2"; + //the gene mention matched a substring in PrefixTree. + } + } + else + { + return "-3"; + //mention is not found + } + } + return "-3"; //mention is not found + } + + /* + * Search target mention in the Prefix Tree + */ + public String MentionMatch_species(String Mentions) + { + ArrayList location = new ArrayList(); + String Menlist[]=Mentions.split("\\|"); + for(int m=0;m=0) //Find Tokens in the links + { + if(i == Tkns.length-1){PrefixTranslation = 1;} + tmp=tmp.links.get(tmp.CheckChild(Tkns[i],PrefixTranslation)); //move point to the link + find=true; + i++; + } + if(find == true) + { + if(i==Tkns.length) + { + if(!tmp.Concept.equals("")) + { + return tmp.Concept; + } + else + { + return "-1"; + //gene id is not found. + } + } + else + { + return "-2"; + //the gene mention matched a substring in PrefixTree. + } + } + else + { + return "-3"; + //mention is not found + } + } + return "-3"; //mention is not found + } + + /* + * Search target mention in the Prefix Tree + * ConceptType: Species|Genus|Cell|CTDGene + */ + public ArrayList SearchMentionLocation(String Doc,String ConceptType) + { + ArrayList location = new ArrayList(); + Doc=Doc+" XXXX XXXX"; + String Doc_org=Doc; + Doc=Doc.toLowerCase(); + String Doc_lc=Doc; + Doc = Doc.replaceAll("([0-9])([A-Za-z])", "$1 $2"); + Doc = Doc.replaceAll("([A-Za-z])([0-9])", "$1 $2"); + Doc = Doc.replaceAll("[\\W^;:,]+", " "); + + /* = keep special characters = + * + String regex="\\s+|(?=\\p{Punct})|(?<=\\p{Punct})"; + String DocTkns[]=Doc.split(regex); + */ + + String DocTkns[]=Doc.split(" "); + int Offset=0; + int Start=0; + int Last=0; + int FirstTime=0; + + while(Doc_lc.length()>0 && Doc_lc.substring(0,1).matches("[\\W]")) //clean the forward whitespace + { + Doc_lc=Doc_lc.substring(1); + Offset++; + } + + for(int i=0;i=0 ) //Find Tokens in the links + { + FirstTime_while++; + tmp=tmp.links.get(tmp.CheckChild(DocTkns[i],PrefixTranslation)); //move point to the link + if(Start==0 && FirstTime>0){Start = Offset;} //Start <- Offset + if(Doc_lc.length()>=DocTkns[i].length() && Doc_lc.substring(0,DocTkns[i].length()).equals(DocTkns[i])) + { + if(DocTkns[i].length()>0) + { + Doc_lc=Doc_lc.substring(DocTkns[i].length()); + Offset=Offset+DocTkns[i].length(); + } + } + Last = Offset; + while(Doc_lc.length()>0 && Doc_lc.substring(0,1).matches("[\\W]")) //clean the forward whitespace + { + Doc_lc=Doc_lc.substring(1); + Offset++; + } + i++; + + if(ConceptType.equals("Species")) + { + if(i0 && Doc_lc.substring(0,1).matches("[\\W]")) //clean the forward whitespace + { + Doc_lc=Doc_lc.substring(1); + Offset++; + } + i++; + } + } + + if(!tmp.Concept.equals("") && (Last-Start>0)) //Keep found concept + { + if(Last=DocTkns.length){break;} + else if(i==DocTkns.length-1){PrefixTranslation=2;} + + //System.out.println(i+"\t"+Start+"\t"+Last+"\t("+FirstTime_while+")\t"+Offset+"\t"+Doc_lc); + + if(FirstTime_while==0) // first matched token + { + pre_i=i; + pre_Start=Start; + pre_Last=Last; + pre_Doc_lc=Doc_lc; + pre_Offset=Offset; + } + } + + if(find == true) + { + //System.out.println(find+"\t"+FirstTime_while+"\t"+Start+"\t"+Last+"\t"+Doc_org.substring(Start, Last)+"\t"+tmp.Concept); + if(!tmp.Concept.equals("")) //the last matched token has concept id + { + if(LastStart) + { + location.add(Start+"\t"+Last+"\t"+Doc_org.substring(Start, Last)+"\t"+tmp.Concept); + } + } + else + { + if(!ConceptFound_STR.equals("")) //Keep found concept + { + location.add(ConceptFound_STR); + i = ConceptFound + 1; + } + + if(FirstTime_while>=1) + { + i=pre_i; + Start=pre_Start; + Last=pre_Last; + Doc_lc=pre_Doc_lc; + Offset=pre_Offset; + } + } + Start=0; + Last=0; + if(i>0){i--;} + ConceptFound=i; //Keep found concept + ConceptFound_STR="";//Keep found concept + } + else //if(find == false) + { + //System.out.println(find+"\t"+FirstTime_while+"\t"+Start+"\t"+Last+"\t"+Doc_org.substring(Start, Last)+"\t"+tmp.Concept); + + if(FirstTime_while>=1 && tmp.Concept.equals("")) + { + i=pre_i; + Start=pre_Start; + Last=pre_Last; + Doc_lc=pre_Doc_lc; + Offset=pre_Offset; + } + + if(Doc_lc.length()>=DocTkns[i].length() && Doc_lc.substring(0,DocTkns[i].length()).equals(DocTkns[i])) + { + if(DocTkns[i].length()>0) + { + Doc_lc=Doc_lc.substring(DocTkns[i].length()); + Offset=Offset+DocTkns[i].length(); + } + } + } + + while(Doc_lc.length()>0 && Doc_lc.substring(0,1).matches("[\\W]")) //clean the forward whitespace + { + Doc_lc=Doc_lc.substring(1); + Offset++; + } + FirstTime++; + + //System.out.println(); + } + return location; + } + + /* + * Print out the Prefix Tree + */ + public String PrintTree() + { + return Tr.PrintTree_preorder(Tr.root,""); + } + + public void SaveTree(String outputfile) throws IOException + { + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputfile), "UTF-8")); + Tr.SaveTree_preorder(Tr.root,"",fr); + fr.close(); + } + + + public void insertMention(String Mention, String Identifier) + { + Tr.insertMention(Mention,Identifier); + } +} + +class Tree +{ + /* + * Prefix Tree - root node + */ + public TreeNode root; + + public Tree() + { + root = new TreeNode("-ROOT-"); + } + + /* + * Insert mention into the tree + */ + public void insertMention(String Mention, String Identifier) + { + Mention=Mention.toLowerCase(); + + Mention = Mention.replaceAll("([0-9])([A-Za-z])", "$1 $2"); + Mention = Mention.replaceAll("([A-Za-z])([0-9])", "$1 $2"); + Mention = Mention.replaceAll("[\\W\\-\\_]+", " "); + /* = keep special characters = + * + String regex="\\s+|(?=\\p{Punct})|(?<=\\p{Punct})"; + String Tokens[]=Mention.split(regex); + */ + String Tokens[]=Mention.split(" "); + TreeNode tmp = root; + for(int i=0;i=0) + { + tmp=tmp.links.get( tmp.CheckChild(Tokens[i],0) ); //go through next generation (exist node) + if(i == Tokens.length-1) + { + tmp.Concept=Identifier; + } + } + else //not exist + { + if(i == Tokens.length-1) + { + tmp.InsertToken(Tokens[i],Identifier); + } + else + { + tmp.InsertToken(Tokens[i]); + } + tmp=tmp.links.get(tmp.NumOflinks-1); //go to the next generation (new node) + } + } + } + + /* + * Print the tree by pre-order + */ + public String PrintTree_preorder(TreeNode node, String LocationInTree) + { + String opt=""; + if(!node.token.equals("-ROOT-"))//Ignore root + { + if(node.Concept.equals("")) + { + opt=opt+LocationInTree+"\t"+node.token+"\n"; + } + else + { + opt=opt+LocationInTree+"\t"+node.token+"\t"+node.Concept+"\n"; + } + } + if(!LocationInTree.equals("")){LocationInTree=LocationInTree+"-";} + for(int i=0;i Hashs; + ArrayList links; + + public TreeNode(String Tok,String ID) + { + token = Tok; + NumOflinks = 0; + Concept = ID; + links = new ArrayList();/*link*/ + Hashs = new HashMap();/*hash*/ + } + public TreeNode(String Tok) + { + token = Tok; + NumOflinks = 0; + Concept = ""; + links = new ArrayList();/*link*/ + Hashs = new HashMap();/*hash*/ + } + public TreeNode() + { + token = ""; + NumOflinks = 0; + Concept = ""; + links = new ArrayList();/*link*/ + Hashs = new HashMap();/*hash*/ + } + + public String toString() + { + return (token+"\t"+Concept); + } + + /* + * Insert an new node under the target node + */ + public void InsertToken(String Tok) + { + TreeNode NewNode = new TreeNode(Tok); + + /*link*/ + links.add(NewNode); + + /*hash*/ + Hashs.put(Tok, NumOflinks); + + NumOflinks++; + } + public void InsertToken(String Tok,String ID) + { + TreeNode NewNode = new TreeNode(Tok,ID); + /*link*/ + links.add(NewNode); + + /*hash*/ + Hashs.put(Tok, NumOflinks); + + NumOflinks++; + } + + /* + * Check the tokens of children + */ + public int CheckChild(String Tok, Integer PrefixTranslation) + { + if(Hashs.containsKey(Tok)) + { + return(Hashs.get(Tok)); + } + + if(PrefixTranslation == 1 && Tok.matches("(alpha|beta|gamam|[abg]|[12])")) // SuffixTranslationMap + { + if(Hashs.containsKey(GNormPlus.SuffixTranslationMap_hash.get(Tok))) + { + return(Hashs.get(GNormPlus.SuffixTranslationMap_hash.get(Tok))); + } + + } + else if(PrefixTranslation == 2 && Tok.matches("[1-5]")) // for CTDGene feature + { + for(int i=0;i SPID_hash = new HashMap(); + ArrayList TargetedLocation = new ArrayList(); + HashMap GenusNames = new HashMap(); + HashMap Mention2ID_lc = new HashMap(); + ArrayList IDset = new ArrayList(); + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) /** Paragraphs : j */ + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); // Passage context + + /** Species recognition */ + ArrayList locations = GNormPlus.PT_Species.SearchMentionLocation(PassageContext,"Species"); /** PT_Species */ + for (int k = 0 ; k < locations.size() ; k++) + { + String anno[]=locations.get(k).split("\t"); + int start= Integer.parseInt(anno[0]); + int last= Integer.parseInt(anno[1]); + + // For anti-serum filtering + String ForwardSTR=""; + String BackwardSTR=""; + if(start>21) + { + ForwardSTR = (PassageContext+"ZZZZZZZZZZZZZZZZZZZZZZZZZZZ").substring(start-21,last); + } + else + { + ForwardSTR = (PassageContext+"ZZZZZZZZZZZZZZZZZZZZZZZZZZZ").substring(0,last); + } + if(PassageContext.length()>last+21) + { + BackwardSTR = PassageContext.substring(start,last+21); + } + else + { + BackwardSTR = PassageContext.substring(start,PassageContext.length()); + } + + String mention = anno[2]; + String id = anno[3]; + String mention_tmp=mention.toLowerCase(); + mention_tmp = mention_tmp.replaceAll("([^A-Za-z0-9@ ])", "\\\\$1"); + String antibody=""; + if(ForwardSTR.toLowerCase().matches(".*(anti|antibody|antibodies|serum|polyclonal|monoclonal|igg)[\\W\\-\\_]+"+mention_tmp)) {antibody="(anti)";}//filtering : antibody + else if(BackwardSTR.toLowerCase().matches(mention_tmp+"[\\W\\-\\_]+(anti|antibody|antibodies|serum|polyclonal|monoclonal|igg).*")){antibody="(anti)";} //filtering : antibody + else if(BackwardSTR.toLowerCase().matches(mention_tmp+"[\\W\\-\\_]+[A-Za-z0-9]+[\\W\\-\\_]+(anti|antibody|antibodies|serum|polyclonal|monoclonal|igg).*")){antibody="(anti)";} //filtering : antibody + + if(mention.matches(".*[\\(\\[\\{].*") && BackwardSTR.toLowerCase().matches(mention_tmp+"\\).*") ) + { + last=last+1; + mention=mention+")"; + } + + if(BackwardSTR.toLowerCase().matches(mention_tmp+"[0-9].*")){} // filtered: Bee1p + else if((mention.matches(".*[;:,].*")) && mention.length()<=10){} // filtered : x, XXX + else if(mention.matches("to[\\W\\-\\_]+[0-9]+")){} // to 7 + else if(mention.matches("[a-z][\\)\\]\\}].*") && (!mention.matches(".*[\\(\\[\\{].*")) && mention.length()<=10){} // s). Major + else if(mention.matches(".*[\\(\\[\\{].*") && (!mention.matches(".*[\\)\\]\\}].*")) && mention.length()<=10){} // s). Major + else if(!id.equals("NA")) + { + if(GNormPlus.BioCDocobj.Annotations.size()>i && GNormPlus.BioCDocobj.Annotations.get(i).size()>j) + { + if((!mention.matches("^[A-Za-z] [A-Za-z0-9]+$")) && (mention.length()>=3)) // invalid species: "a group/a GAL4/a strain" + { + if(FilterAntibody.equals("False") || (!antibody.equals("(anti)"))) + { + String patt="^(.+?) [sS]train"; + Pattern ptmp = Pattern.compile(patt); + Matcher mtmp = ptmp.matcher(mention); + if(mtmp.find()) + { + mention=mtmp.group(1); + last=last-7; + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tSpecies\t"+id); //+antibody + String mentions_tmp=mention.toLowerCase(); + mentions_tmp=mentions_tmp.replaceAll("[\\W\\-\\_]",""); + mentions_tmp=mentions_tmp.replaceAll("[0-9]","0"); + GNormPlus.Filtering_hash.put(mentions_tmp,""); + Mention2ID_lc.put(mention.toLowerCase(), id); //+antibody + + String mention_genus = ""; + patt="^([A-Za-z]+) "; + ptmp = Pattern.compile(patt); + mtmp = ptmp.matcher(mention); + if(mtmp.find()) + { + mention_genus=mtmp.group(1); // get genus + } + + IDset.add(id); + for(int s=start;si && GNormPlus.BioCDocobj.Annotations.get(i).size()>j) + { + if(!TargetedLocation.contains(j+"\t"+start)) //already exists + { + int last40=0; + if(PassageContext.length()>=last+40) + { + last40=last+40; + } + else + { + last40=PassageContext.length(); + } + + // For anti-serum filtering + String ForwardSTR=""; + String BackwardSTR=""; + if(start>21) + { + ForwardSTR = PassageContext.substring(start-21,last); + } + else + { + ForwardSTR = PassageContext.substring(0,last); + } + if(PassageContext.length()>last+21) + { + BackwardSTR = PassageContext.substring(start,last+21); + } + else + { + BackwardSTR = PassageContext.substring(start,PassageContext.length()); + } + String mention_tmp=mention.toLowerCase(); + mention_tmp = mention_tmp.replaceAll("([^A-Za-z0-9@ ])", "\\\\$1"); + if(mention_tmp.matches(".*[\\[\\]\\(\\)\\{\\}].*")){} + else if(BackwardSTR.toLowerCase().matches(mention_tmp+"[0-9\\-\\_].*")){} // filtered: Bee1p + else if(ForwardSTR.toLowerCase().matches(".*[0-9\\-\\_]"+mention_tmp)){} // filtered: IL-22RA1 + else + { + String patt="[\\W\\-]cell([\\- ]*line|)[s]*[\\W\\-]"; + Pattern ptmp = Pattern.compile(patt); + Matcher mtmp = ptmp.matcher(PassageContext.substring(last, last40).toLowerCase()); + if(mtmp.find()) + { + if(GNormPlus.taxid4gene.contains(id)) // for gene + { + id="*"+id; + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tCell\t"+id); + String mentions_tmp=mention.toLowerCase(); + mentions_tmp=mentions_tmp.replaceAll("[\\W\\-\\_]",""); + mentions_tmp=mentions_tmp.replaceAll("[0-9]","0"); + GNormPlus.Filtering_hash.put(mentions_tmp,""); + IDset.add(id); + for(int s=start;s=7) + { + GenusNames.put(ID,SPID_hash.get(ID)); + } + } + } + + GenusNames.put("3702", "arabidopsis"); + GenusNames.put("4932", "saccharomyces"); + GenusNames.put("562", "escherichia"); + GenusNames.put("7227", "drosophila"); + GenusNames.put("8355", "xenopus"); + + PT_Genus.Hash2Tree(GenusNames); + + /** Genus recognition */ + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) /** Paragraphs : j */ + { + if(GNormPlus.BioCDocobj.PassageContexts.size()>i && + GNormPlus.BioCDocobj.PassageContexts.get(i).size()>j && + GNormPlus.BioCDocobj.Annotations.size()>i && + GNormPlus.BioCDocobj.Annotations.get(i).size()>j + ) + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); + ArrayList locations_Genus = PT_Genus.SearchMentionLocation(PassageContext,"Genus"); /** PT_Genus*/ + for (int k = 0 ; k < locations_Genus.size() ; k++) + { + String anno[]=locations_Genus.get(k).split("\t"); + String start= anno[0]; + String last= anno[1]; + String mention = anno[2]; + String id = anno[3]; + if(!TargetedLocation.contains(j+"\t"+start)) //already exists + { + String patt="^\\**([0-9]+)$"; + Pattern ptmp = Pattern.compile(patt); + Matcher mtmp = ptmp.matcher(id); + if(mtmp.find()) + { + id = mtmp.group(1); + } + + if(GNormPlus.taxid4gene.contains(id)) // for gene + { + id="*"+id; + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tGenus\t"+id); + String mentions_tmp=mention.toLowerCase(); + mentions_tmp=mentions_tmp.replaceAll("[\\W\\-\\_]",""); + mentions_tmp=mentions_tmp.replaceAll("[0-9]","0"); + GNormPlus.Filtering_hash.put(mentions_tmp,""); + IDset.add(id); + for(int s=Integer.parseInt(start);s StrainID_hash = new HashMap(); + BufferedReader br = new BufferedReader(new FileReader(StrainFilename)); + String line=""; + while ((line = br.readLine()) != null) + { + String l[]=line.split("\t"); + String ancestor = l[0]; + String tax_id = l[1]; + String tax_names = l[2]; + if(SPID_hash.containsKey(ancestor)) + { + StrainID_hash.put(tax_id, tax_names); // tax id -> strain + } + else if(SPID_hash.containsKey(tax_id)) + { + StrainID_hash.put(tax_id, tax_names); // tax id -> strain + } + } + br.close(); + HashMap StrainNames = new HashMap(); + for(String ID: StrainID_hash.keySet()) + { + StrainNames.put(ID,StrainID_hash.get(ID)); + } + + PT_Strain.Hash2Tree(StrainNames); + + /** Strain recognition */ + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) /** Paragraphs : j */ + { + if(GNormPlus.BioCDocobj.PassageContexts.size()>i && + GNormPlus.BioCDocobj.PassageContexts.get(i).size()>j && + GNormPlus.BioCDocobj.Annotations.size()>i && + GNormPlus.BioCDocobj.Annotations.get(i).size()>j + ) + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); // Passage context + ArrayList locations_Strain = PT_Strain.SearchMentionLocation(PassageContext,"Strain"); /** PT_Strain*/ + for (int k = 0 ; k < locations_Strain.size() ; k++) + { + String anno[]=locations_Strain.get(k).split("\t"); + String start= anno[0]; + String last= anno[1]; + String mention = anno[2]; + String id = anno[3]; + if(!TargetedLocation.contains(j+"\t"+start)) //already exists + { + if((!mention.matches(".*[;,\\{\\}\\(\\)\\[\\]].*")) && !mention.matches("[a-z]{1,4} [0-9]{1,3}")) + { + if(GNormPlus.taxid4gene.contains(id)) // for gene + { + id="*"+id; + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tStrain\t"+id); + String mentions_tmp=mention.toLowerCase(); + mentions_tmp=mentions_tmp.replaceAll("[\\W\\-\\_]",""); + mentions_tmp=mentions_tmp.replaceAll("[0-9]","0"); + GNormPlus.Filtering_hash.put(mentions_tmp,""); + IDset.add(id); + for(int s=Integer.parseInt(start);s OtherNames = new HashMap(); + for(String men : Mention2ID_lc.keySet()) + { + String men_id= Mention2ID_lc.get(men); + if(GNormPlus.PmidLF2Abb_lc_hash.containsKey(Pmid+"\t"+men)) + { + String Abb = GNormPlus.PmidLF2Abb_lc_hash.get(Pmid+"\t"+men); + // Abbreviation + if(OtherNames.containsKey(men_id)) + { + OtherNames.put(men_id, OtherNames.get(men_id)+"|"+Abb); + } + else + { + OtherNames.put(men_id,Abb); + } + } + String men_nospace=men.replaceAll(" ", ""); + // no space + if(OtherNames.containsKey(men_id)) + { + OtherNames.put(men_id, OtherNames.get(men_id)+"|"+men_nospace); + } + else + { + OtherNames.put(men_id,men_nospace); + } + } + PrefixTree PT_Others = new PrefixTree(); + PT_Others.Hash2Tree(OtherNames); + + /** + * + * Others: + * 1) Abbreviation + * 2) no space + * + * */ + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) /** Paragraphs : j */ + { + if(GNormPlus.BioCDocobj.PassageContexts.size()>i && + GNormPlus.BioCDocobj.PassageContexts.get(i).size()>j && + GNormPlus.BioCDocobj.Annotations.size()>i && + GNormPlus.BioCDocobj.Annotations.get(i).size()>j + ) + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); // Passage context + ArrayList locations_Abb = PT_Others.SearchMentionLocation(PassageContext,"Species"); /** PT_Abb*/ + for (int k = 0 ; k < locations_Abb.size() ; k++) + { + String anno[]=locations_Abb.get(k).split("\t"); + String start= anno[0]; + String last= anno[1]; + String mention = anno[2]; + String id = anno[3]; + if(!TargetedLocation.contains(j+"\t"+start)) //already exists + { + if(GNormPlus.taxid4gene.contains(id)) // for gene + { + id="*"+id; + } + GNormPlus.BioCDocobj.Annotations.get(i).get(j).add(start+"\t"+last+"\t"+mention+"\tSpecies\t"+id); + String mentions_tmp=mention.toLowerCase(); + mentions_tmp=mentions_tmp.replaceAll("[\\W\\-\\_]",""); + mentions_tmp=mentions_tmp.replaceAll("[0-9]","0"); + GNormPlus.Filtering_hash.put(mentions_tmp,""); + Mention2ID_lc.put(mention.toLowerCase(), id); + IDset.add(id); + for(int s=Integer.parseInt(start);si && GNormPlus.BioCDocobj.PassageContexts.get(i).size()>j && GNormPlus.BioCDocobj.Annotations.size()>i && GNormPlus.BioCDocobj.Annotations.get(i).size()>j) + { + ArrayList remove_anno = new ArrayList (); + for (int a = 0; a < GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); a++) /** Annotations : a */ + { + String SpAnno[]=GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(a).split("\t"); + String start= SpAnno[0]; + String last= SpAnno[1]; + String mention = SpAnno[2]; + String type = SpAnno[3]; + + if(type.matches("Gene|FamilyName")) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(a,start+"\t"+last+"\t"+mention+"\t"+type); + } + else if(type.matches("Species|Genus|Strain|Cell") && SpAnno.length==5) + { + //System.out.println(GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(a)); + /** Abbreviation solution */ + if(GNormPlus.PmidAbb2LF_lc_hash.containsKey(Pmid+"\t"+mention.toLowerCase()) && Mention2ID_lc.containsKey(GNormPlus.PmidAbb2LF_lc_hash.containsKey(Pmid+"\t"+mention.toLowerCase()))) + { + String LF_lc=GNormPlus.PmidAbb2LF_lc_hash.get(Pmid+"\t"+mention.toLowerCase()); + if(Mention2ID_lc.containsKey(LF_lc)) + { + String LF_ID=Mention2ID_lc.get(LF_lc); + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(a, start+"\t"+last+"\t"+mention+"\t"+type+"\t"+LF_ID); + String mentions_tmp=mention.toLowerCase(); + mentions_tmp=mentions_tmp.replaceAll("[\\W\\-\\_]",""); + mentions_tmp=mentions_tmp.replaceAll("[0-9]","0"); + GNormPlus.Filtering_hash.put(mentions_tmp,""); + } + } + else if (SpAnno.length>4) + { + String id = SpAnno[4]; + String id_split[]=id.split(";"); + if(id_split.length>=2) + { + /** Smallest set of tax ids */ + boolean found=false; + for(int x=0;x= 0 ; counter--) + { + int ai=remove_anno.get(counter); + //System.out.println("\n"+ai+"\t"+GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(ai)); + GNormPlus.BioCDocobj.Annotations.get(i).get(j).remove(ai); + } + } + } + } + GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,false,true); //save in BioC file + } + public void SpeciesAssignment(String Filename,String FilenameBioC) throws IOException, XMLStreamException + { + GNormPlus.BioCDocobj.Annotations = new ArrayList(); + GNormPlus.BioCDocobj.BioCReaderWithAnnotation(Filename); + + BreakIterator iterator = BreakIterator.getSentenceInstance(Locale.US); + for (int i = 0; i < GNormPlus.BioCDocobj.Annotations.size(); i++) /** PMIDs : i */ + { + HashMap PrefixIDTarget_hash = new HashMap(); + PrefixIDTarget_hash.put("9606", "h"); + PrefixIDTarget_hash.put("10090", "m"); + PrefixIDTarget_hash.put("10116", "r"); + PrefixIDTarget_hash.put("4932", "y"); + PrefixIDTarget_hash.put("7227", "d"); + PrefixIDTarget_hash.put("7955", "z|zf|Zf|dr|Dr"); + PrefixIDTarget_hash.put("3702", "at|At"); + + HashMap SP2Num_hash = new HashMap(); + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) /** Paragraphs : j */ + { + for (int k = 0; k < GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); k++) // Annotation : k + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + if(anno.length==5) //Species + { + String patt="^\\**([0-9]+)$"; + Pattern ptmp = Pattern.compile(patt); + Matcher mtmp = ptmp.matcher(anno[4]); + if(mtmp.find()) + { + String id = mtmp.group(1); + + if(!PrefixIDTarget_hash.containsKey(id)) + { + PrefixIDTarget_hash.put(id,GNormPlus.PrefixID_hash.get(id)); // taxid -> prefix + } + if(j == 0)//title + { + if(SP2Num_hash.containsKey(id)) + { + SP2Num_hash.put(id, SP2Num_hash.get(id)+2); + } + else + { + if(GNormPlus.TaxFreq_hash.containsKey(id)) + { + SP2Num_hash.put(id, GNormPlus.TaxFreq_hash.get(id)+2); + } + else + { + SP2Num_hash.put(id, 2.0); + } + } + // Virus -> Human (not to double weight human to virus) + /*if(GNormPlus.SP_Virus2Human_hash.containsKey(id)) + { + if(SP2Num_hash.containsKey("9606")) + { + SP2Num_hash.put("9606", SP2Num_hash.get("9606")+2); + } + else + { + SP2Num_hash.put("9606", 2 + GNormPlus.TaxFreq_hash.get("9606")+1); + } + }*/ + } + else + { + if(SP2Num_hash.containsKey(id)) + { + SP2Num_hash.put(id, SP2Num_hash.get(id)+1); + } + else + { + if(GNormPlus.TaxFreq_hash.containsKey(id)) + { + SP2Num_hash.put(id, 1 + GNormPlus.TaxFreq_hash.get(id)); + } + else + { + SP2Num_hash.put(id, 1.0); + } + } + // Virus -> Human + /*if(GNormPlus.SP_Virus2Human_hash.containsKey(id)) + { + if(SP2Num_hash.containsKey("9606")) + { + SP2Num_hash.put("9606", SP2Num_hash.get("9606")+1); + } + else + { + SP2Num_hash.put("9606", GNormPlus.TaxFreq_hash.get("9606")+1); + } + }*/ + } + } + } + } + } + String MajorSP="9606"; + double MaxSP=0; + for(String tid : SP2Num_hash.keySet()) + { + if(SP2Num_hash.get(tid)>MaxSP) + { + MajorSP=tid; + MaxSP=SP2Num_hash.get(tid); + } + } + + for (int j = 0; j < GNormPlus.BioCDocobj.PassageContexts.get(i).size(); j++) /** Paragraphs : j */ + { + String PassageContext = GNormPlus.BioCDocobj.PassageContexts.get(i).get(j); // Passage context + //int PassageOffset = GNormPlus.BioCDocobj.PassageOffsets.get(i).get(j); // Passage offset + iterator.setText(PassageContext); + ArrayList Sentence_offsets = new ArrayList(); + int Sent_start = iterator.first(); + for (int Sent_last = iterator.next(); Sent_last != BreakIterator.DONE; Sent_start = Sent_last, Sent_last = iterator.next()) + { + Sentence_offsets.add(Sent_start); + } + + HashMap Annotations_Gene_hash = new HashMap(); + ArrayList Annotations_Species = new ArrayList(); + if(GNormPlus.BioCDocobj.Annotations.get(i).size()>j) + { + for (int k = 0; k < GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); k++) // Annotation : k + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + if(anno.length==5) //Species + { + Annotations_Species.add(GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k)); + } + else //Gene : if(anno.length==3) + { + //String mention = PassageContext.substring(Integer.parseInt(anno[0]), Integer.parseInt(anno[1])); + Annotations_Gene_hash.put(k,GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k)); // k -> Gene Annotation + } + } + + //Gene --> Species Inference (PMID:28777492) + HashMap> mention2Location2Species_hash = new HashMap>(); + HashMap Location2Species_hash = new HashMap(); + for (int k : Annotations_Gene_hash.keySet()) // k is the index of GNormPlus.BioCDocobj.Annotations.get(i).get(j) + { + boolean SPfound = false; + String anno[] = Annotations_Gene_hash.get(k).split("\t"); + int G_Start= Integer.parseInt(anno[0]); + int G_Last= Integer.parseInt(anno[1]); + String G_mentions = anno[2]; + /** + * 2. Co-occurring word + * boundary : + * Sentence Start: Sentence_offsets.get(Target_Sentence) + * Sentence Last: Sentence_offsets.get(Target_Sentence+1) + */ + //Find the target sentence + int Target_Sentence=0; + if(SPfound == false) // 1. left : Closed to start of the gene mention + { + for(int s=0;s Target_Sentence+1){ Sentence_Last = Sentence_offsets.get(Target_Sentence+1); } + if(SPfound == false) // 1. left : Closed to start of the gene mention + { + int closet_Sp_Start=0; + for(int sp=0;sp= Sentence_Start && Sp_Start >closet_Sp_Start) + { + closet_Sp_Start=Sp_Start; + Location2Species_hash.put(Integer.parseInt(anno[0]), taxid); + + if(mention2Location2Species_hash.containsKey(G_mentions.toLowerCase())) + { + mention2Location2Species_hash.get(G_mentions.toLowerCase()).put(Integer.parseInt(anno[0]), taxid); + } + else + { + mention2Location2Species_hash.put(G_mentions.toLowerCase(),Location2Species_hash); + } + + SPfound=true; + } + } + } + } + if(SPfound == false) // 2. right : Closed to last of the gene mention + { + int closet_Sp_Last=1000000; + for(int sp=0;sp= G_Last && Sp_Last <= Sentence_Last && Sp_Last < closet_Sp_Last) + { + closet_Sp_Last=Sp_Last; + Location2Species_hash.put(Integer.parseInt(anno[0]), taxid); + + if(mention2Location2Species_hash.containsKey(G_mentions.toLowerCase())) + { + mention2Location2Species_hash.get(G_mentions.toLowerCase()).put(Integer.parseInt(anno[0]), taxid); + } + else + { + mention2Location2Species_hash.put(G_mentions.toLowerCase(),Location2Species_hash); + } + + SPfound=true; + } + } + } + } + } + + for (int k : Annotations_Gene_hash.keySet()) // k is the index of GNormPlus.BioCDocobj.Annotations.get(i).get(j) + { + String anno[] = Annotations_Gene_hash.get(k).split("\t"); + int G_Start= Integer.parseInt(anno[0]); + int G_Last= Integer.parseInt(anno[1]); + String G_mentions = anno[2]; + String G_type = anno[3]; + String G_mention_list[]=G_mentions.split("\\|"); + String G_mention=G_mention_list[0]; // only use the first term to detect species ; should be updated after SimConcept + + /** 1. prefix */ + boolean SPfound = false; + for(String taxid: PrefixIDTarget_hash.keySet()) + { + if(GNormPlus.GeneWithoutSPPrefix_hash.containsKey(G_mention.toLowerCase())) + { + //special case, and no need for prefix - SA + } + else + { + Pattern ptmp = Pattern.compile("^("+PrefixIDTarget_hash.get(taxid)+")([A-Z].*)$"); + Matcher mtmp = ptmp.matcher(G_mention); + if(mtmp.find()) + { + String MentionWoPrefix=mtmp.group(2); + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, anno[0]+"\t"+anno[1]+"\t"+anno[2]+"|"+MentionWoPrefix+"\t"+anno[3]+"\tPrefix:"+taxid); + SPfound=true; + break; + } + } + } + + /** + * 2. Co-occurring word + * boundary : + * Sentence Start: Sentence_offsets.get(Target_Sentence) + * Sentence Last: Sentence_offsets.get(Target_Sentence+1) + */ + //Find the target sentence + int Target_Sentence=0; + if(SPfound == false) // 1. left : Closed to start of the gene mention + { + for(int s=0;s Target_Sentence+1){ Sentence_Last = Sentence_offsets.get(Target_Sentence+1); } + if(SPfound == false) // 1. left : Closed to start of the gene mention + { + int closet_Sp_Start=0; + for(int sp=0;sp= Sentence_Start && Sp_Start >closet_Sp_Start) + { + closet_Sp_Start=Sp_Start; + if(GNormPlus.SP_Virus2Human_hash.containsKey(taxid)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tLeft:"+taxid+"&9606"); + } + else + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tLeft:"+taxid); + } + SPfound=true; + } + } + } + } + if(SPfound == false) // 2. right : Closed to last of the gene mention + { + int closet_Sp_Last=1000000; + for(int sp=0;sp= G_Last && Sp_Last <= Sentence_Last && Sp_Last < closet_Sp_Last) + { + closet_Sp_Last=Sp_Last; + if(GNormPlus.SP_Virus2Human_hash.containsKey(taxid)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tRight:"+taxid+"&9606"); + } + else + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tRight:"+taxid); + } + SPfound=true; + } + } + } + } + + /** 3. Focus species */ + if(SPfound == false) // 2. right : Closed to last of the gene mention + { + // 1. only the mentions appeared earlier are inferred + // + if(mention2Location2Species_hash.containsKey(G_mentions.toLowerCase())) + { + int closed_loca=0; + for (int loca_start : mention2Location2Species_hash.get(G_mentions.toLowerCase()).keySet()) + { + if(loca_startclosed_loca) + { + closed_loca=loca_start; + } + } + } + if(closed_loca>0) + { + if(GNormPlus.SP_Virus2Human_hash.containsKey(Location2Species_hash.get(closed_loca))) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tFocus:"+Location2Species_hash.get(closed_loca)+"&9606"); + } + else + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tFocus:"+Location2Species_hash.get(closed_loca)); + } + } + else + { + if(GNormPlus.SP_Virus2Human_hash.containsKey(MajorSP)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tFocus:"+MajorSP+"&9606"); + } + else + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tFocus:"+MajorSP); + } + } + } + else + { + if(GNormPlus.SP_Virus2Human_hash.containsKey(MajorSP)) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tFocus:"+MajorSP+"&9606"); + } + else + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, Annotations_Gene_hash.get(k)+"\tFocus:"+MajorSP); + } + } + } + } + } + } + } + GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,false,true); + } + public void SpeciesAssignment(String Filename,String FilenameBioC,String FocusSpecies) throws IOException, XMLStreamException + { + for (int i = 0; i < GNormPlus.BioCDocobj.Annotations.size(); i++) /** PMIDs : i */ + { + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) /** Paragraphs : j */ + { + for (int k = 0; k < GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); k++) // Annotation : k + { + String anno[] = GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\t"); + if(anno.length==5) //Species + { + String id=anno[4].replaceAll("\\*", ""); + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, anno[0]+"\t"+anno[1]+"\t"+anno[2]+"\t"+anno[3]+"\t"+id); + } + else //Gene : if(anno.length==3) + { + /** 1. prefix */ + boolean SPfound = false; + if(GNormPlus.GeneWithoutSPPrefix_hash.containsKey(anno[2].toLowerCase())) + { + //special case, and no need for prefix - SA + } + else + { + Pattern ptmp = Pattern.compile("^("+GNormPlus.PrefixID_hash.get(FocusSpecies)+")([A-Z].*)$"); + Matcher mtmp = ptmp.matcher(anno[2]); + if(mtmp.find()) + { + String MentionWoPrefix=mtmp.group(2); + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, anno[0]+"\t"+anno[1]+"\t"+anno[2]+"|"+MentionWoPrefix+"\t"+anno[3]+"\tPrefix:"+FocusSpecies); + SPfound=true; + } + } + if(SPfound == false) + { + GNormPlus.BioCDocobj.Annotations.get(i).get(j).set(k, GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k)+"\tFocus:"+FocusSpecies); + } + } + } + } + } + GNormPlus.BioCDocobj.BioCOutput(Filename,FilenameBioC,GNormPlus.BioCDocobj.Annotations,false,true); + } +} \ No newline at end of file diff --git a/src_Java/GNormPluslib/SimConcept.java b/src_Java/GNormPluslib/SimConcept.java new file mode 100644 index 0000000000000000000000000000000000000000..4cc07c6a363437c83bc9b4b9c568b6ebd194fd31 --- /dev/null +++ b/src_Java/GNormPluslib/SimConcept.java @@ -0,0 +1,1524 @@ +/** + * Project: GNormPlus + * Function: SimConcept : Simplify Composite mentions + */ + +package GNormPluslib; + +import bioc.BioCAnnotation; +import bioc.BioCCollection; +import bioc.BioCDocument; +import bioc.BioCLocation; +import bioc.BioCPassage; + +import bioc.io.BioCDocumentWriter; +import bioc.io.BioCFactory; +import bioc.io.woodstox.ConnectorWoodstox; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.text.BreakIterator; +import java.time.LocalDate; +import java.time.ZoneId; +import java.text.DecimalFormat; +import java.math.RoundingMode; + +import javax.xml.stream.XMLStreamException; + +import org.tartarus.snowball.SnowballStemmer; +import org.tartarus.snowball.ext.englishStemmer; + +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; + +public class SimConcept +{ + /* + * Feature Extraction + */ + public void FeatureExtraction_Train(String FilenameData) throws XMLStreamException + { + try + { + /** output files */ + BufferedWriter FileData = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FilenameData), "UTF-8")); // .data + //NLP modules + SnowballStemmer stemmer = new englishStemmer(); + /** PMIDs : i */ + for (int i = 0; i < GNormPlus.BioCDocobj.PMIDs.size(); i++) + { + String Pmid = GNormPlus.BioCDocobj.PMIDs.get(i); + + /** Paragraphs : j */ + for (int j = 0; j < GNormPlus.BioCDocobj.PassageNames.get(i).size(); j++) + { + ArrayList Annotation = GNormPlus.BioCDocobj.Annotations.get(i).get(j); + /** Annotations : k + * 0 start + * 1 last + * 2 mention + * 3 type + * 4 id + */ + int Inital_Annotation_size=Annotation.size(); + for (int k = 0; k < Annotation.size() ; k++) // k : Annotations + { + String anno[]=Annotation.get(k).split("\\t",-1); + int MentionStart= Integer.parseInt(anno[0]); + int MentionLast= Integer.parseInt(anno[1]); + String Mention = anno[2]; + String Type = anno[3]; + if(anno.length>4) + { + String ID = anno[4]; + + String TokenSTR = Mention; + TokenSTR = TokenSTR.replaceAll("([0-9])([A-Za-z])", "$1 $2"); + TokenSTR = TokenSTR.replaceAll("([A-Za-z])([0-9])", "$1 $2"); + TokenSTR = TokenSTR.replaceAll("([A-Z])([a-z])", "$1 $2"); + TokenSTR = TokenSTR.replaceAll("([a-z])([A-Z])", "$1 $2"); + TokenSTR = TokenSTR.replaceAll("([\\W])", " $1 "); + TokenSTR = TokenSTR.replaceAll("[ ]+", " "); + TokenSTR = TokenSTR.replaceAll("^[ ]+", ""); + TokenSTR = TokenSTR.replaceAll("[ ]+$", ""); + + /* + * Only for Gene + */ + if(ID.equals("ASJAS") && kInteger.parseInt(t2)) + { + tmp_ment=t1+" "+t2+" to "+t5; + Annotation.add(MentionStart+"\t"+MentionLast+"\t"+tmp_ment+"\t"+Type+"\tASNS"); + tmp_ment=t1+" "+t2+" to -"+t5; + Annotation.add(MentionStart+"\t"+MentionLast+"\t"+tmp_ment+"\t"+Type+"\tASNOS"); + tmp_ment=t1+" -"+t2+" to -"+t5; + Annotation.add(MentionStart+"\t"+MentionLast+"\t"+tmp_ment+"\t"+Type+"\tAASNOS"); + tmp_ment=t1+" "+t2+" to "+t1+" "+t5; + Annotation.add(MentionStart+"\t"+MentionLast+"\t"+tmp_ment+"\t"+Type+"\tASNAS"); + tmp_ment=t1+" "+t2+"-"+t5; + Annotation.add(MentionStart+"\t"+MentionLast+"\t"+tmp_ment+"\t"+Type+"\tASNS"); + tmp_ment=t1+" "+t2+", "+t5+", and "+(Integer.parseInt(t5)+2); + Annotation.add(MentionStart+"\t"+MentionLast+"\t"+tmp_ment+"\t"+Type+"\tASCSCCS"); + tmp_ment=t1+" -"+t2+", -"+t5+", and -"+(Integer.parseInt(t5)+2); + Annotation.add(MentionStart+"\t"+MentionLast+"\t"+tmp_ment+"\t"+Type+"\tAASC0SCC0S"); + } + } + } + + String Mention_tmp = Mention; + String tokens[]=TokenSTR.split(" ",-1); + + //For Repeat + HashMap Token2Num = new HashMap (); + for(int p=0;p AbbLFStatus_hash = new HashMap (); + for(String Pmid_LF : GNormPlus.PmidLF2Abb_hash.keySet()) + { + String pf[] = Pmid_LF.split("\\t",-1); + if(pf[0].equals(Pmid)) + { + String Abb = GNormPlus.PmidLF2Abb_hash.get(Pmid_LF); + String LF = pf[1]; + + Abb = Abb.replaceAll("([0-9])([A-Za-z])", "$1 $2"); + Abb = Abb.replaceAll("([A-Za-z])([0-9])", "$1 $2"); + Abb = Abb.replaceAll("([A-Z])([a-z])", "$1 $2"); + Abb = Abb.replaceAll("([a-z])([A-Z])", "$1 $2"); + Abb = Abb.replaceAll("([\\W])", " $1 "); + Abb = Abb.replaceAll("[ ]+", " "); + Abb = Abb.replaceAll("^[ ]+", ""); + + LF = LF.replaceAll("([0-9])([A-Za-z])", "$1 $2"); + LF = LF.replaceAll("([A-Za-z])([0-9])", "$1 $2"); + LF = LF.replaceAll("([A-Z])([a-z])", "$1 $2"); + LF = LF.replaceAll("([a-z])([A-Z])", "$1 $2"); + LF = LF.replaceAll("([\\W])", " $1 "); + LF = LF.replaceAll("[ ]+", " "); + LF = LF.replaceAll("^[ ]+", ""); + LF = LF.replaceAll("[ ]+$", ""); + + + Abb=Abb.replaceAll("([^A-Za-z0-9@ ])","\\\\$1"); + LF=LF.replaceAll("([^A-Za-z0-9@ ])","\\\\$1"); + Abb=Abb.toLowerCase(); + LF=LF.toLowerCase(); + Pattern ptmp1 = Pattern.compile("(.*)("+LF+")([ ]*\\([ ]*)("+Abb+")[ ]*\\).*"); + Matcher mtmp1 = ptmp1.matcher(TokenSTR.toLowerCase()); + Pattern ptmp2 = Pattern.compile("(.*)("+Abb+")([ ]*\\([ ]*)("+LF+")[ ]*\\).*"); + Matcher mtmp2 = ptmp2.matcher(TokenSTR.toLowerCase()); + int start_LF=0; + int last_LF=0; + int start_Abb=0; + int last_Abb=0; + if(mtmp1.find()) + { + start_LF = mtmp1.group(1).length(); + last_LF = start_LF+mtmp1.group(2).length(); + start_Abb = last_LF+mtmp1.group(3).length(); + last_Abb = start_Abb+mtmp1.group(4).length(); + } + else if(mtmp2.find()) + { + start_Abb = mtmp2.group(1).length(); + last_Abb = start_LF+mtmp2.group(2).length(); + start_LF = last_LF+mtmp2.group(3).length(); + last_LF = start_Abb+mtmp2.group(4).length(); + } + for(int l=start_LF;l0) + { + String B=tokens[p-1]; + B=B.replaceAll("[A-Za-z]+", "A"); + B=B.replaceAll("[0-9]+", "0"); + WSB="WSB:"+B; + } + if(p3){Num_num="N:4+";}else{Num_num="N:"+ tmp.length();} + + //Number of Uppercase [A-Z] + String Num_Uc=""; + tmp=tokens[p]; + tmp=tmp.replaceAll("[^A-Z]",""); + if(tmp.length()>3){Num_Uc="U:4+";}else{Num_Uc="U:"+ tmp.length();} + + //Number of Lowercase [a-z] + String Num_lc=""; + tmp=tokens[p]; + tmp=tmp.replaceAll("[^a-z]",""); + if(tmp.length()>3){Num_lc="L:4+";}else{Num_lc="L:"+ tmp.length();} + + //Number of ALL char + String Num_All=""; + if(tokens[p].length()>3){Num_All="A:4+";}else{Num_All="A:"+ tokens[p].length();} + + //specific character (;:,.->+_) + String SpecificC="__nil__"; + if(tokens[p].equals(";") || tokens[p].equals(":") || tokens[p].equals(",") || tokens[p].equals(".") || tokens[p].equals("-") || tokens[p].equals(">") || tokens[p].equals("+") || tokens[p].equals("_")) + { + SpecificC="-SpecificC1-"; + } + else if(tokens[p].equals("(") || tokens[p].equals(")")) + { + SpecificC="-SpecificC2-"; + } + else if(tokens[p].equals("{") || tokens[p].equals("}")) + { + SpecificC="-SpecificC3-"; + } + else if(tokens[p].equals("[") || tokens[p].equals("]")) + { + SpecificC="-SpecificC4-"; + } + else if(tokens[p].equals("\\") || tokens[p].equals("/")) + { + SpecificC="-SpecificC5-"; + } + + //Chemical Prefix/Suffix + String ChemPreSuf="__nil__"; + if(tokens[p].matches(".*(yl|ylidyne|oyl|sulfonyl)")){ChemPreSuf="-CHEMinlineSuffix-";} + else if(tokens[p].matches("(meth|eth|prop|tetracos).*")){ChemPreSuf="-CHEMalkaneStem-";} + else if(tokens[p].matches("(di|tri|tetra).*")){ChemPreSuf="-CHEMsimpleMultiplier-";} + else if(tokens[p].matches("(benzen|pyridin|toluen).*")){ChemPreSuf="-CHEMtrivialRing-";} + else if(tokens[p].matches(".*(one|ol|carboxylic|amide|ate|acid|ium|ylium|ide|uide|iran|olan|inan|pyrid|acrid|amid|keten|formazan|fydrazin)(s|)")){ChemPreSuf="-CHEMsuffix-";} + + //MentionType + String MentionType="__nil__"; + if(GNormPlus.SimConceptMention2Type_hash.containsKey(tokens[p])) + { + MentionType = "-"+GNormPlus.SimConceptMention2Type_hash.get(tokens[p])+"-"; + } + + //Protein symbols + String ProteinSym="__nil__"; + if(tokens[p].matches(".*(glutamine|glutamic|leucine|valine|isoleucine|lysine|alanine|glycine|aspartate|methionine|threonine|histidine|aspartic|asparticacid|arginine|asparagine|tryptophan|proline|phenylalanine|cysteine|serine|glutamate|tyrosine|stop|frameshift).*")){ChemPreSuf="-ProteinSymFull-";} + else if(tokens[p].matches("(cys|ile|ser|gln|met|asn|pro|lys|asp|thr|phe|ala|gly|his|leu|arg|trp|val|glu|tyr|fs|fsx)")){ChemPreSuf="-ProteinSymTri-";} + else if(tokens[p].matches("[CISQMNPKDTFAGHLRWVEYX]")){ChemPreSuf="-ProteinSymChar-";} + + //Repeat + String Repeat="__nil__"; + if(Token2Num.get(tokens[p])>1 && tokens[p].length()>1 && (!tokens[p].matches("([\\W\\-\\_0-9]+|and|or|alpha|beta|gamma|theta|zeta|delta|kappa|II|VI|IV|III)"))) + { + Repeat="-Repeat-"; + } + + //Patterns + String Pattern1 = tokens[p]; + if(Pattern1.matches(".*[\\W\\-\\_].*")) + { + Pattern1="__nil__"; + } + else + { + Pattern1=Pattern1.replaceAll("[A-Z]", "A"); + Pattern1=Pattern1.replaceAll("[a-z]", "a"); + Pattern1=Pattern1.replaceAll("[0-9]", "0"); + Pattern1="P1:"+Pattern1; + } + String Pattern2 = tokens[p]; + if(Pattern2.matches(".*[\\W\\-\\_].*")) + { + Pattern2="__nil__"; + } + else + { + Pattern2=Pattern2.replaceAll("[A-Za-z]", "a"); + Pattern2=Pattern2.replaceAll("[0-9]", "0"); + Pattern2="P2:"+Pattern2; + } + String Pattern3 = tokens[p]; + if(Pattern3.matches(".*[\\W\\-\\_].*")) + { + Pattern3="__nil__"; + } + else + { + Pattern3=Pattern3.replaceAll("[A-Z]+", "A"); + Pattern3=Pattern3.replaceAll("[a-z]+", "a"); + Pattern3=Pattern3.replaceAll("[0-9]+", "0"); + Pattern3="P3:"+Pattern3; + } + String Pattern4 = tokens[p]; + if(Pattern4.matches(".*[\\W\\-\\_].*")) + { + Pattern4="__nil__"; + } + else + { + Pattern4=Pattern4.replaceAll("[A-Za-z]+", "a"); + Pattern4=Pattern4.replaceAll("[0-9]+", "0"); + Pattern4="P4:"+Pattern4; + } + + //prefix + String prefix=""; + tmp=tokens[p]; + if(tmp.length()>=1){ prefix=tmp.substring(0, 1);}else{prefix="__nil__";} + if(tmp.length()>=2){ prefix=prefix+" "+tmp.substring(0, 2);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=3){ prefix=prefix+" "+tmp.substring(0, 3);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=4){ prefix=prefix+" "+tmp.substring(0, 4);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=5){ prefix=prefix+" "+tmp.substring(0, 5);}else{prefix=prefix+" __nil__";} + + //suffix + String suffix=""; + tmp=tokens[p]; + if(tmp.length()>=1){ suffix=tmp.substring(tmp.length()-1, tmp.length());}else{suffix="__nil__";} + if(tmp.length()>=2){ suffix=suffix+" "+tmp.substring(tmp.length()-2, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=3){ suffix=suffix+" "+tmp.substring(tmp.length()-3, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=4){ suffix=suffix+" "+tmp.substring(tmp.length()-4, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=5){ suffix=suffix+" "+tmp.substring(tmp.length()-5, tmp.length());}else{suffix=suffix+" __nil__";} + + //Abbreviation & Long Form + String AbbLF="__nil__"; + if(AbbLFStatus_hash.containsKey(Offset)) + { + AbbLF=AbbLFStatus_hash.get(Offset); + } + + String Status = ID.substring(p, p+1); + FileData.write(tokens[p]+" "+WSB+" "+WSF+" "+stem + +" "+Num_num+" "+Num_num+" "+Num_Uc+" "+Num_lc+" "+Num_All+" "+SpecificC + +" "+ChemPreSuf+" "+MentionType+" "+ProteinSym+" "+Repeat + +" "+Pattern1+" "+Pattern2+" "+Pattern3+" "+Pattern4 + +" "+prefix+" "+suffix+" "+AbbLF + +" "+Status+"\n"); + Offset=Offset+tokens[p].length()+1; + if(ID.length()>tokens.length) + { + System.out.println(ID+"\t"+TokenSTR); + } + } + FileData.write("\n"); + } + } + + } + } + FileData.close(); + } + catch(IOException e1){ System.out.println("[MR]: Input file is not exist.");} + } + public void FeatureExtraction_Test(String FilenameData) throws XMLStreamException + { + try + { + /** output files */ + BufferedWriter FileData = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FilenameData), "UTF-8")); // .data + //NLP modules + SnowballStemmer stemmer = new englishStemmer(); + /** PMIDs : i */ + for (int i = 0; i < GNormPlus.BioCDocobj.Annotations.size(); i++) + { + String Pmid = GNormPlus.BioCDocobj.PMIDs.get(i); + + /** Paragraphs : j */ + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) + { + ArrayList Annotation = GNormPlus.BioCDocobj.Annotations.get(i).get(j); + /** Annotations : k + * 0 start + * 1 last + * 2 mention + * 3 type + * 4 id + */ + for (int k = 0; k < Annotation.size() ; k++) // k : Annotations + { + String anno[]=Annotation.get(k).split("\\t",-1); + String Mentions = anno[2]; + String Type = anno[3]; + String MentionArr[]=Mentions.split("\\|",-1); + if(Type.equals("Gene")) + { + for(int m=0;m Token2Num = new HashMap (); + for(int p=0;p AbbLFStatus_hash = new HashMap (); + for(String Pmid_LF : GNormPlus.PmidLF2Abb_hash.keySet()) + { + String pf[] = Pmid_LF.split("\\t",-1); + if(pf[0].equals(Pmid)) + { + String Abb = GNormPlus.PmidLF2Abb_hash.get(Pmid_LF); + String LF = pf[1]; + + Abb = Abb.replaceAll("([0-9])([A-Za-z])", "$1 $2"); + Abb = Abb.replaceAll("([A-Za-z])([0-9])", "$1 $2"); + Abb = Abb.replaceAll("([A-Z])([a-z])", "$1 $2"); + Abb = Abb.replaceAll("([a-z])([A-Z])", "$1 $2"); + Abb = Abb.replaceAll("([\\W])", " $1 "); + Abb = Abb.replaceAll("[ ]+", " "); + Abb = Abb.replaceAll("^[ ]+", ""); + + LF = LF.replaceAll("([0-9])([A-Za-z])", "$1 $2"); + LF = LF.replaceAll("([A-Za-z])([0-9])", "$1 $2"); + LF = LF.replaceAll("([A-Z])([a-z])", "$1 $2"); + LF = LF.replaceAll("([a-z])([A-Z])", "$1 $2"); + LF = LF.replaceAll("([\\W])", " $1 "); + LF = LF.replaceAll("[ ]+", " "); + LF = LF.replaceAll("^[ ]+", ""); + + + Abb=Abb.replaceAll("([\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\-\\=\\[\\]\\;\\'\\,\\.\\/\\{\\}\\|\\:\\?])","\\\\$1"); + LF=LF.replaceAll("([\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\-\\=\\[\\]\\;\\'\\,\\.\\/\\{\\}\\|\\:\\?])","\\\\$1"); + Abb=Abb.toLowerCase(); + LF=LF.toLowerCase(); + Pattern ptmp1 = Pattern.compile("(.*)" + + "("+LF+")" + + "([ ]*\\([ ]*)" + + "("+Abb+")" + + "[ ]*\\).*"); + Matcher mtmp1 = ptmp1.matcher(TokenSTR.toLowerCase()); + Pattern ptmp2 = Pattern.compile("(.*)" + + "("+Abb+")" + + "([ ]*\\([ ]*)" + + "("+LF+")" + + "[ ]*\\).*"); + Matcher mtmp2 = ptmp2.matcher(TokenSTR.toLowerCase()); + int start_LF=0; + int last_LF=0; + int start_Abb=0; + int last_Abb=0; + if(mtmp1.find()) + { + start_LF = mtmp1.group(1).length(); + last_LF = start_LF+mtmp1.group(2).length(); + start_Abb = last_LF+mtmp1.group(3).length(); + last_Abb = start_Abb+mtmp1.group(4).length(); + } + else if(mtmp2.find()) + { + start_Abb = mtmp2.group(1).length(); + last_Abb = start_LF+mtmp2.group(2).length(); + start_LF = last_LF+mtmp2.group(3).length(); + last_LF = start_Abb+mtmp2.group(4).length(); + } + for(int l=start_LF;l0) + { + String B=tokens[p-1]; + B=B.replaceAll("[A-Za-z]+", "A"); + B=B.replaceAll("[0-9]+", "0"); + WSB="WSB:"+B; + } + if(p3){Num_num="N:4+";}else{Num_num="N:"+ tmp.length();} + + //Number of Uppercase [A-Z] + String Num_Uc=""; + tmp=tokens[p]; + tmp=tmp.replaceAll("[^A-Z]",""); + if(tmp.length()>3){Num_Uc="U:4+";}else{Num_Uc="U:"+ tmp.length();} + + //Number of Lowercase [a-z] + String Num_lc=""; + tmp=tokens[p]; + tmp=tmp.replaceAll("[^a-z]",""); + if(tmp.length()>3){Num_lc="L:4+";}else{Num_lc="L:"+ tmp.length();} + + //Number of ALL char + String Num_All=""; + if(tokens[p].length()>3){Num_All="A:4+";}else{Num_All="A:"+ tokens[p].length();} + + //specific character (;:,.->+_) + String SpecificC="__nil__"; + if(tokens[p].equals(";") || tokens[p].equals(":") || tokens[p].equals(",") || tokens[p].equals(".") || tokens[p].equals("-") || tokens[p].equals(">") || tokens[p].equals("+") || tokens[p].equals("_")) + { + SpecificC="-SpecificC1-"; + } + else if(tokens[p].equals("(") || tokens[p].equals(")")) + { + SpecificC="-SpecificC2-"; + } + else if(tokens[p].equals("{") || tokens[p].equals("}")) + { + SpecificC="-SpecificC3-"; + } + else if(tokens[p].equals("[") || tokens[p].equals("]")) + { + SpecificC="-SpecificC4-"; + } + else if(tokens[p].equals("\\") || tokens[p].equals("/")) + { + SpecificC="-SpecificC5-"; + } + + //Chemical Prefix/Suffix + String ChemPreSuf="__nil__"; + if(tokens[p].matches(".*(yl|ylidyne|oyl|sulfonyl)")){ChemPreSuf="-CHEMinlineSuffix-";} + else if(tokens[p].matches("(meth|eth|prop|tetracos).*")){ChemPreSuf="-CHEMalkaneStem-";} + else if(tokens[p].matches("(di|tri|tetra).*")){ChemPreSuf="-CHEMsimpleMultiplier-";} + else if(tokens[p].matches("(benzen|pyridin|toluen).*")){ChemPreSuf="-CHEMtrivialRing-";} + else if(tokens[p].matches(".*(one|ol|carboxylic|amide|ate|acid|ium|ylium|ide|uide|iran|olan|inan|pyrid|acrid|amid|keten|formazan|fydrazin)(s|)")){ChemPreSuf="-CHEMsuffix-";} + + //MentionType + String MentionType="__nil__"; + if(GNormPlus.SimConceptMention2Type_hash.containsKey(tokens[p])) + { + MentionType = "-"+GNormPlus.SimConceptMention2Type_hash.get(tokens[p])+"-"; + } + + //Protein symbols + String ProteinSym="__nil__"; + if(tokens[p].matches(".*(glutamine|glutamic|leucine|valine|isoleucine|lysine|alanine|glycine|aspartate|methionine|threonine|histidine|aspartic|asparticacid|arginine|asparagine|tryptophan|proline|phenylalanine|cysteine|serine|glutamate|tyrosine|stop|frameshift).*")){ChemPreSuf="-ProteinSymFull-";} + else if(tokens[p].matches("(cys|ile|ser|gln|met|asn|pro|lys|asp|thr|phe|ala|gly|his|leu|arg|trp|val|glu|tyr|fs|fsx)")){ChemPreSuf="-ProteinSymTri-";} + else if(tokens[p].matches("[CISQMNPKDTFAGHLRWVEYX]")){ChemPreSuf="-ProteinSymChar-";} + + //Repeat + String Repeat="__nil__"; + if(Token2Num.get(tokens[p])>1 && tokens[p].length()>1 && (!tokens[p].matches("([\\W\\-\\_0-9]+|and|or|alpha|beta|gamma|theta|zeta|delta|kappa|II|VI|IV|III)"))) + { + Repeat="-Repeat-"; + } + + //Patterns + String Pattern1 = tokens[p]; + if(Pattern1.matches(".*[\\W\\-\\_].*")) + { + Pattern1="__nil__"; + } + else + { + Pattern1=Pattern1.replaceAll("[A-Z]", "A"); + Pattern1=Pattern1.replaceAll("[a-z]", "a"); + Pattern1=Pattern1.replaceAll("[0-9]", "0"); + Pattern1="P1:"+Pattern1; + } + String Pattern2 = tokens[p]; + if(Pattern2.matches(".*[\\W\\-\\_].*")) + { + Pattern2="__nil__"; + } + else + { + Pattern2=Pattern2.replaceAll("[A-Za-z]", "a"); + Pattern2=Pattern2.replaceAll("[0-9]", "0"); + Pattern2="P2:"+Pattern2; + } + String Pattern3 = tokens[p]; + if(Pattern3.matches(".*[\\W\\-\\_].*")) + { + Pattern3="__nil__"; + } + else + { + Pattern3=Pattern3.replaceAll("[A-Z]+", "A"); + Pattern3=Pattern3.replaceAll("[a-z]+", "a"); + Pattern3=Pattern3.replaceAll("[0-9]+", "0"); + Pattern3="P3:"+Pattern3; + } + String Pattern4 = tokens[p]; + if(Pattern4.matches(".*[\\W\\-\\_].*")) + { + Pattern4="__nil__"; + } + else + { + Pattern4=Pattern4.replaceAll("[A-Za-z]+", "a"); + Pattern4=Pattern4.replaceAll("[0-9]+", "0"); + Pattern4="P4:"+Pattern4; + } + + //prefix + String prefix=""; + tmp=tokens[p]; + if(tmp.length()>=1){ prefix=tmp.substring(0, 1);}else{prefix="__nil__";} + if(tmp.length()>=2){ prefix=prefix+" "+tmp.substring(0, 2);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=3){ prefix=prefix+" "+tmp.substring(0, 3);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=4){ prefix=prefix+" "+tmp.substring(0, 4);}else{prefix=prefix+" __nil__";} + if(tmp.length()>=5){ prefix=prefix+" "+tmp.substring(0, 5);}else{prefix=prefix+" __nil__";} + + //suffix + String suffix=""; + tmp=tokens[p]; + if(tmp.length()>=1){ suffix=tmp.substring(tmp.length()-1, tmp.length());}else{suffix="__nil__";} + if(tmp.length()>=2){ suffix=suffix+" "+tmp.substring(tmp.length()-2, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=3){ suffix=suffix+" "+tmp.substring(tmp.length()-3, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=4){ suffix=suffix+" "+tmp.substring(tmp.length()-4, tmp.length());}else{suffix=suffix+" __nil__";} + if(tmp.length()>=5){ suffix=suffix+" "+tmp.substring(tmp.length()-5, tmp.length());}else{suffix=suffix+" __nil__";} + + //Abbreviation & Long Form + String AbbLF="__nil__"; + if(AbbLFStatus_hash.containsKey(Offset)) + { + AbbLF=AbbLFStatus_hash.get(Offset); + } + + FileData.write(tokens[p]+" "+WSB+" "+WSF+" "+stem + +" "+Num_num+" "+Num_num+" "+Num_Uc+" "+Num_lc+" "+Num_All+" "+SpecificC + +" "+ChemPreSuf+" "+MentionType+" "+ProteinSym+" "+Repeat + +" "+Pattern1+" "+Pattern2+" "+Pattern3+" "+Pattern4 + +" "+prefix+" "+suffix+" "+AbbLF+"\n"); + Offset=Offset+tokens[p].length()+1; + } + FileData.write("\n"); + } + } + } + + } + } + FileData.close(); + } + catch(IOException e1){ System.out.println("[MR]: Input file is not exist.");} + } + public void CRF_test(String model, String FilenameData,String FilenameOutput) throws IOException + { + File f = new File(FilenameOutput); + BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f), "UTF-8")); + + Runtime runtime = Runtime.getRuntime(); + + String cmd ="CRF/crf_test -m "+model+" -o "+FilenameOutput+" "+FilenameData; + + try { + Process process = runtime.exec(cmd); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is, "UTF-8"); + BufferedReader br = new BufferedReader(isr); + String line=""; + while ( (line = br.readLine()) != null) + { + fr.write(line); + fr.newLine(); + fr.flush(); + } + is.close(); + isr.close(); + br.close(); + fr.close(); + } + catch (IOException e) { + System.out.println(e); + runtime.exit(0); + } + } + public void CRF_learn(String model,String FilenameData) throws IOException + { + Runtime runtime = Runtime.getRuntime(); + + Process process = null; + String line = null; + InputStream is = null; + InputStreamReader isr = null; + BufferedReader br = null; + String cmd = "CRF/crf_learn -f 3 -c 4.0 CRF/template_SimConcept "+FilenameData+" "+model; + + try { + process = runtime.exec(cmd); + is = process.getInputStream(); + isr = new InputStreamReader(is, "UTF-8"); + br = new BufferedReader(isr); + while ( (line = br.readLine()) != null) + { + System.out.println(line); + System.out.flush(); + } + is.close(); + isr.close(); + br.close(); + } + catch (IOException e) { + System.out.println(e); + runtime.exit(0); + } + } + public void ReadCRFresult(String Filename,String FilenameOutput,String FilenameBioC) throws XMLStreamException, IOException + { + /** load CRF output */ + ArrayList outputArr1 = new ArrayList(); + BufferedReader inputfile = new BufferedReader(new InputStreamReader(new FileInputStream(FilenameOutput), "UTF-8")); + String line; + while ((line = inputfile.readLine()) != null) + { + outputArr1.add(line); + } + inputfile.close(); + + /** + * Recognize the mentions which can be simplified + */ + int Count_mention=0; + boolean Simplified=false; + String Mention=""; + String Mention_NoSpace=""; + String States=""; + HashMap Mentions_hash = new HashMap(); + HashMap States_hash = new HashMap(); + HashMap Output_Split_mention_Ind = new HashMap(); + HashMap Output_Split_mention = new HashMap(); + for(int i=0;i Split_mention = new ArrayList(); + ArrayList Split_state = new ArrayList(); + String tmp_mention=""; + String tmp_state=""; + /** + * count = Mentions_count.get(i) : # of the mention in the corpus (543) + * Mentions_hash.get(count) : Original Mention (ORP - 1 to ORP - 6) + * States_hash.get(count) : States (AASNOOS) + */ + + String TokenArr[]=Mentions_hash.get(MNoSpace).split(" ",-1); + String StateArr[]=States_hash.get(MNoSpace).split("",-1); + + //refinement : isn't used + Pattern ptmp1 = Pattern.compile("^([S]+)([CN])([S]+)$"); + Matcher mtmp1 = ptmp1.matcher(States_hash.get(MNoSpace)); + if(mtmp1.find()) + { + States_hash.put(MNoSpace, mtmp1.group(1)+"J"+mtmp1.group(3)); + } + + //Split BE + int len=TokenArr.length; + if(StateArr.length0) + { + Split_mention.add(tmp_mention); + Split_state.add(tmp_state); + } + tmp_mention = ""; + tmp_state = ""; + } + else //CNBF + { + tmp_mention = tmp_mention + TokenArr[s] + " "; + tmp_state = tmp_state + StateArr[s]; + } + } + if(!tmp_mention.equals("")) + { + Split_mention.add(tmp_mention); + Split_state.add(tmp_state); + } + + //Split B/F + for(int m=0;m strainsX = new ArrayList(); + ArrayList STAstrainsX = new ArrayList(); + String each_token[] = Split_mention.get(m).split(" "); + String each_state[] = Split_state.get(m).split(""); + for(int s=0;s strainsCN = new ArrayList(); + String CorN=""; + + String each_token[] = Split_mention.get(m).split(" ",-1); + String each_state[] = Split_state.get(m).split("",-1); + + for(int k=0;k=4) + { + A=A.replace("s $", ""); + } + A=A+"STRAINXXX"; + strainCN=strainCN+each_token[k]+" "; + CNO_continous=0; + } + else if(each_state[k].matches("[CN]") && CNO_continous==0) + { + CorN=each_state[k]; + strainsCN.add(strainCN); + strainCN=""; + CNO_continous++; + } + else if(each_state[k].equals("J")) + { + if(!strainCN.equals("")){strainsCN.add(strainCN);} + + A=A.replaceAll("STRAINXXXSTRAINXXX","STRAINXXX"); + A=A.replaceAll("STRAINXXXSTRAINXXX","STRAINXXX"); + + ptmp1 = Pattern.compile("^(.+)s (.*)$"); + mtmp1 = ptmp1.matcher(A); + if(mtmp1.find() && mtmp1.group(1).length()>=3 ) + { + A = mtmp1.group(1)+ " "+mtmp1.group(2); + } + + if(CorN.equals("C")) + { + for(int x=0;x2 && (tmp.substring(tmp.length()-2, tmp.length()-2).equals(" "))) + { + tmp = tmp.substring(0,tmp.length()-2); + } + if(Output_Split_mention_Ind.containsKey(MNoSpace)) + { + Output_Split_mention_Ind.put(MNoSpace, Output_Split_mention_Ind.get(MNoSpace)+"|"+tmp); + } + else + { + Output_Split_mention_Ind.put(MNoSpace, tmp); + } + } + } + else if(CorN.equals("N")) + { + if(strainsCN.contains(0) && strainsCN.contains(1)) + { + String strain1= strainsCN.get(0).replaceAll(" ", ""); + String strain2= strainsCN.get(1).replaceAll(" ", ""); + if(strain1.matches("[0-9]+") && strain2.matches("[0-9]+")) + { + if(Integer.parseInt(strain2)-Integer.parseInt(strain1)<=20) + { + for(int strCount=Integer.parseInt(strain1);strCount<=Integer.parseInt(strain2);strCount++) + { + String tmp=A; + tmp = tmp.replace("STRAINXXX", Integer.toString(strCount)); + tmp = tmp.replaceAll("[ ]+"," "); + if(tmp.length()>2 && tmp.substring(tmp.length()-2, tmp.length()-2).equals(" ")) + { + tmp = tmp.substring(0,tmp.length()-2); + } + if(Output_Split_mention_Ind.containsKey(MNoSpace)) + { + Output_Split_mention_Ind.put(MNoSpace, Output_Split_mention_Ind.get(MNoSpace)+"|"+tmp); + } + else + { + Output_Split_mention_Ind.put(MNoSpace, tmp); + } + } + } + } + else if(strain1.matches("[A-Z]+ ") && strain2.matches("[A-Z]+ ")) + { + int strInt1 = (int) strain1.replaceAll(" ", "").charAt(0); + int strInt2 = (int) strain2.replaceAll(" ", "").charAt(0); + if(strInt2-strInt1<=20) + { + for(int strCount=strInt1;strCount<=strInt2;strCount++) + { + String tmp=A; + tmp = tmp.replace("STRAINXXX", Integer.toString(strCount)); + tmp = tmp.replaceAll("[ ]+"," "); + if(tmp.length()>2 && tmp.substring(tmp.length()-2, tmp.length()-2).equals(" ")) + { + tmp = tmp.substring(0,tmp.length()-2); + } + if(Output_Split_mention_Ind.containsKey(MNoSpace)) + { + Output_Split_mention_Ind.put(MNoSpace, Output_Split_mention_Ind.get(MNoSpace)+"|"+tmp); + } + else + { + Output_Split_mention_Ind.put(MNoSpace, tmp); + } + } + } + } + else + { + if(Output_Split_mention.containsKey(MNoSpace)) + { + Output_Split_mention.put(MNoSpace, Output_Split_mention.get(MNoSpace)+"|"+Split_mention.get(m)); + } + else + { + Output_Split_mention.put(MNoSpace, Split_mention.get(m)); + } + } + } + } + else + { + if(Output_Split_mention.containsKey(MNoSpace)) + { + Output_Split_mention.put(MNoSpace, Output_Split_mention.get(MNoSpace)+"|"+Split_mention.get(m)); + } + else + { + Output_Split_mention.put(MNoSpace, Split_mention.get(m)); + } + } + + A=""; + strainCN=""; + CNO_continous=0; + strainsCN = new ArrayList(); + CorN=""; + } + } + if(!strainCN.equals("")){strainsCN.add(strainCN);} + + A=A.replaceAll("(STRAINXXX){2,}","STRAINXXX"); + + ptmp1 = Pattern.compile("^(.+)s (.*)$"); + mtmp1 = ptmp1.matcher(A); + if(mtmp1.find() && mtmp1.group(1).length()>=3 ) + { + A = mtmp1.group(1)+ " "+mtmp1.group(2); + } + + if(CorN.equals("C")) + { + for(int x=0;x2 && (tmp.substring(tmp.length()-2, tmp.length()-2).equals(" "))) + { + tmp = tmp.substring(0,tmp.length()-2); + } + if(Output_Split_mention_Ind.containsKey(MNoSpace)) + { + Output_Split_mention_Ind.put(MNoSpace, Output_Split_mention_Ind.get(MNoSpace)+"|"+tmp); + } + else + { + Output_Split_mention_Ind.put(MNoSpace, tmp); + } + } + } + else if(CorN.equals("N")) + { + if(strainsCN.size()==2) + { + String strain1= strainsCN.get(0).replaceAll(" ", ""); + String strain2= strainsCN.get(1).replaceAll(" ", ""); + if(strain1.matches("[0-9]{1,7}") && strain2.matches("[0-9]{1,7}")) + { + if(Integer.parseInt(strain2)-Integer.parseInt(strain1)<=20) + { + for(int strCount=Integer.parseInt(strain1);strCount<=Integer.parseInt(strain2);strCount++) + { + String tmp=A; + tmp = tmp.replace("STRAINXXX", Integer.toString(strCount)); + tmp = tmp.replaceAll("[ ]+"," "); + if(tmp.length()>2 && tmp.substring(tmp.length()-2, tmp.length()-2).equals(" ")) + { + tmp = tmp.substring(0,tmp.length()-2); + } + if(Output_Split_mention_Ind.containsKey(MNoSpace)) + { + Output_Split_mention_Ind.put(MNoSpace, Output_Split_mention_Ind.get(MNoSpace)+"|"+tmp); + } + else + { + Output_Split_mention_Ind.put(MNoSpace, tmp); + } + } + } + } + else if(strain1.matches("[A-Z]+ ") && strain2.matches("[A-Z]+ ")) + { + int strInt1 = (int) strain1.replaceAll(" ", "").charAt(0); + int strInt2 = (int) strain2.replaceAll(" ", "").charAt(0); + if(strInt2-strInt1<=20) + { + for(int strCount=strInt1;strCount<=strInt2;strCount++) + { + String tmp=A; + tmp = tmp.replace("STRAINXXX", Integer.toString(strCount)); + tmp = tmp.replaceAll("[ ]+"," "); + if(tmp.length()>2 && tmp.substring(tmp.length()-2, tmp.length()-2).equals(" ")) + { + tmp = tmp.substring(0,tmp.length()-2); + } + if(Output_Split_mention_Ind.containsKey(MNoSpace)) + { + Output_Split_mention_Ind.put(MNoSpace, Output_Split_mention_Ind.get(MNoSpace)+"|"+tmp); + } + else + { + Output_Split_mention_Ind.put(MNoSpace, tmp); + } + } + } + } + else + { + if(Output_Split_mention.containsKey(MNoSpace)) + { + Output_Split_mention.put(MNoSpace, Output_Split_mention.get(MNoSpace)+"|"+Split_mention.get(m)); + } + else + { + Output_Split_mention.put(MNoSpace, Split_mention.get(m)); + } + } + } + } + else + { + if(Output_Split_mention.containsKey(MNoSpace)) + { + Output_Split_mention.put(MNoSpace, Output_Split_mention.get(MNoSpace)+"|"+Split_mention.get(m)); + } + else + { + Output_Split_mention.put(MNoSpace, Split_mention.get(m)); + } + } + } + } + + for (int i = 0; i < GNormPlus.BioCDocobj.Annotations.size(); i++) + { + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) + { + int Annotation_Num = GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); + for (int k = 0; k < Annotation_Num ; k++) // k : Annotations + { + String anno[]=GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\\t"); //Mention + String MenArr[]=anno[2].split("\\|"); + for(int m=0;m Mentions = new ArrayList(); + for(int m=0;m ii + // ii --> 2 + for (int i = 0; i < GNormPlus.BioCDocobj.Annotations.size(); i++) + { + for (int j = 0; j < GNormPlus.BioCDocobj.Annotations.get(i).size(); j++) + { + int Annotation_Num = GNormPlus.BioCDocobj.Annotations.get(i).get(j).size(); + for (int k = 0; k < Annotation_Num ; k++) // k : Annotations + { + String anno[]=GNormPlus.BioCDocobj.Annotations.get(i).get(j).get(k).split("\\t"); //Mention + String MenArr[]=anno[2].split("\\|"); + HashMap Mentions = new HashMap(); + for(int m=0;m=5: + if lines[i] not in entity_dict.keys(): + entity_dict[lines[i]]=int(segs[1]) + else: + print('entity have in',lines[i]) + if segs[0] not in error_dict.keys(): + error_dict[segs[0]]=[lines[i]] + else: + if lines[i] not in error_dict[segs[0]]: + error_dict[segs[0]].append(lines[i]) + + entity_sort=sorted(entity_dict.items(), key=lambda kv:(kv[1]), reverse=False) + for ele in entity_sort: + fout.write(ele[0]+'\n') + fout.write('\n') + return fout + +def filter_overlap(infile): #nonest + + fin=io.StringIO(infile.getvalue()) + fout=io.StringIO() + + documents=fin.read().strip().split('\n\n') + fin.close() + total_entity=0 + over_entity=0 + nest_entity=0 + for doc in documents: + lines=doc.split('\n') + entity_list=[] + if len(lines)>2: + first_entity=lines[2].split('\t') + nest_list=[first_entity] + max_eid=int(first_entity[2]) + total_entity+=len(lines)-2 + for i in range(3,len(lines)): + segs=lines[i].split('\t') + if int(segs[1])> max_eid: + if len(nest_list)==1: + entity_list.append(nest_list[0]) + nest_list=[] + nest_list.append(segs) + if int(segs[2])>max_eid: + max_eid=int(segs[2]) + else: + # print(nest_list) + nest_entity+=len(nest_list)-1 + tem=find_max_entity(nest_list)#find max entity + # if len(tem)>1: + # print('max nest >1:',tem) + entity_list.extend(tem) + nest_list=[] + nest_list.append(segs) + if int(segs[2])>max_eid: + max_eid=int(segs[2]) + + else: + nest_list.append(segs) + if int(segs[2])>max_eid: + max_eid=int(segs[2]) + if nest_list!=[]: + if len(nest_list)==1: + entity_list.append(nest_list[0]) + + else: + tem=find_max_entity(nest_list)#find max entity + # if len(tem)>1: + # print('max nest >1:',tem) + entity_list.extend(tem) + fout.write(lines[0]+'\n'+lines[1]+'\n') + for ele in entity_list: + fout.write('\t'.join(ele)+'\n') + fout.write('\n') + # print(total_entity,over_entity, nest_entity) + return fout +def find_max_entity(nest_list): #longest entity + max_len=0 + final_tem=[] + max_index=0 + for i in range(0, len(nest_list)): + cur_len=int(nest_list[i][2])-int(nest_list[i][1]) + if cur_len>max_len: + max_len=cur_len + max_index=i + + final_tem.append(nest_list[max_index]) + return final_tem + +# change ori pubtator format to labeled text , entity begin with " ssss", end with 'eeee ' +def pubtator_to_labeltext(infile): + + fin=io.StringIO(infile.getvalue()) + all_context=fin.read().strip().split('\n\n') + fin.close() + fout=io.StringIO() + label_dic={} + + for doc in all_context: + lines=doc.split('\n') + ori_text=lines[0].split('|t|')[1]+' '+lines[1].split('|a|')[1] + pmid=lines[0].split('|t|')[0] + s_index=0 + e_index=0 + new_text='' + for i in range(2,len(lines)): + segs=lines[i].split('\t') + label_dic[segs[4].lower()]=segs[4] + if len(segs)==6: + e_index=int(segs[1]) + new_text+=ori_text[s_index:e_index]+' ssss'+segs[4].lower()+' '+ori_text[int(segs[1]):int(segs[2])]+' eeee'+segs[4].lower()+' ' + s_index=int(segs[2]) + # if ori_text[int(segs[1]):int(segs[2])]!=segs[3]: + # print('error(ori,label):',ori_text[int(segs[1]):int(segs[2])],segs[3]) + + new_text+=ori_text[s_index:] + fout.write(pmid+'\t'+' '.join(new_text.strip().split())+'\n') + return fout, label_dic + + +def pre_token(sentence): + sentence=re.sub("([\=\/\(\)\<\>\+\-\_])"," \\1 ",sentence) + sentence=re.sub("[ ]+"," ",sentence); + return sentence + +# labeltext to conll format (BIO), a token (including features) per line. sentences are split by '\n', or docs are split by '\n' +def labeltext_to_conll_fasttoken(infile,label_dic): + + fin=io.StringIO(infile.getvalue()) + all_context=fin.read().strip().split('\n') + fin.close() + fout=io.StringIO() + + # nlp = stanza.Pipeline(lang='en', processors='tokenize',package='craft') #package='craft' + nlp = stanza.Pipeline(lang='en', processors={'tokenize': 'spacy'},package='None') #package='craft' + + doc_i=0 + for doc in all_context: + doc_text=doc.split('\t')[1] + doc_text=pre_token(doc_text) + doc_stanza = nlp(doc_text) + doc_i+=1 + #print(doc_i) + inentity_flag=0 + last_label='O' + for sent in doc_stanza.sentences: + temp_sent=[] + word_num=0 + for word in sent.words: + word_num+=1 + # print(word.text) + if word.text.strip()=='': + continue + temp_sent.append(word.text) + if word.text.startswith('ssss')==True: + last_label=word.text + inentity_flag=1 + elif word.text.startswith('eeee')==True: + last_label=word.text + inentity_flag=0 + else: + if last_label=='O': + now_label='O' + elif last_label.startswith('ssss')==True: + now_label='B-'+label_dic[last_label[4:]] + + elif last_label.startswith('B-')==True: + now_label='I-'+last_label[2:] + elif last_label.startswith('I-')==True: + now_label='I-'+last_label[2:] + elif last_label.startswith('eeee')==True: + now_label='O' + + fout.write(word.text+'\t'+now_label+'\n') + last_label=now_label + if inentity_flag==1: # if entity is split by sentence, will connate the sentence + # print('sentence error!!!') + # print(word.text,word_num) + # print(temp_sent) + pass + else: + fout.write('\n') + return fout + +def pubtator_to_conll(infile): + + #1.entity sort + input_sort=pubtator_entitysort(infile) + #print(input_sort.getvalue()) + + #2. no overlap, if overlap get longest entity + input_nonest=filter_overlap(input_sort) + # print('......sort.....\n',input_sort.getvalue()) + + #3. pubtator to label text + input_labtext,label_dic=pubtator_to_labeltext(input_nonest) + # print('......label.....\n',input_labtext.getvalue()) + #print(label_dic) + + #4. label text to conll + output = labeltext_to_conll_fasttoken(input_labtext,label_dic) + # print('......output.....\n',output.getvalue()) + # fout=open(outfile,'w',encoding='utf-8') + # fout.write(input_nonest.getvalue()) + # fout.close() + return output + +if __name__=='__main__': + + + infile='../../TrainingSet/No100/NER.Train.txt' + output=pubtator_to_conll(infile) + fout=open('../../TrainingSet/No100/NER.Train.conll','w',encoding='utf-8') + fout.write(output.getvalue()) + fout.close() + output.close() + + + + + + \ No newline at end of file diff --git a/src_python/GeneNER/Evaluation_ner.py b/src_python/GeneNER/Evaluation_ner.py new file mode 100644 index 0000000000000000000000000000000000000000..b1eb140654f7b6a0099c0c4ff8e267e491c7350d --- /dev/null +++ b/src_python/GeneNER/Evaluation_ner.py @@ -0,0 +1,243 @@ +# -*- coding: utf-8 -*- +""" +Created on Mon Mar 1 15:33:54 2021 + +@author: luol2 +""" +# from BIO format to entity +def BIO_tag(tokens): + gold_entity={} + pre_entity={} + gold_start,gold_end=0,0 + pre_start,pre_end=0,0 + for i in range(0,len(tokens)): + segs=tokens[i].split('\t') + + # generate gold entity + if segs[1].startswith('B-')>0: + gold_start=i + gold_type=segs[1][2:] + if i+1>=len(tokens): # the last word + gold_end=i + if gold_type in gold_entity.keys(): + gold_entity[gold_type].append([gold_start,gold_end]) + else: + gold_entity[gold_type]=[[gold_start,gold_end]] + else: # non last word + next_seg=tokens[i+1].split('\t') + if next_seg[1].startswith('B-')>0 or next_seg[1]=='O': + gold_end=i + if gold_type in gold_entity.keys(): + gold_entity[gold_type].append([gold_start,gold_end]) + else: + gold_entity[gold_type]=[[gold_start,gold_end]] + elif next_seg[1].startswith('I-')>0: + pass + elif segs[1].startswith('I-')>0: + if i+1>=len(tokens): # the last word + gold_end=i + if gold_type in gold_entity.keys(): + gold_entity[gold_type].append([gold_start,gold_end]) + else: + gold_entity[gold_type]=[[gold_start,gold_end]] + else: # non last word + next_seg=tokens[i+1].split('\t') + if next_seg[1].startswith('B-')>0 or next_seg[1]=='O': + gold_end=i + if gold_type in gold_entity.keys(): + gold_entity[gold_type].append([gold_start,gold_end]) + else: + gold_entity[gold_type]=[[gold_start,gold_end]] + elif next_seg[1].startswith('I-')>0: + pass + elif segs[1]=='O': + pass + + # generate prediction entity + if segs[2].startswith('B-')>0: + pre_start=i + pre_type=segs[2][2:] + if i+1>=len(tokens): # the last word + pre_end=i + if pre_type in pre_entity.keys(): + pre_entity[pre_type].append([pre_start,pre_end]) + else: + pre_entity[pre_type]=[[pre_start,pre_end]] + else: # non last word + next_seg=tokens[i+1].split('\t') + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + if pre_type in pre_entity.keys(): + pre_entity[pre_type].append([pre_start,pre_end]) + else: + pre_entity[pre_type]=[[pre_start,pre_end]] + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2].startswith('I-')>0: + if i==0 and i+10 or next_seg[2]=='O': + pre_end=i + if pre_type in pre_entity.keys(): + pre_entity[pre_type].append([pre_start,pre_end]) + else: + pre_entity[pre_type]=[[pre_start,pre_end]] + elif next_seg[2].startswith('I-')>0: + pass + elif i==0 and i+1==len(tokens):# only one word: + pre_start=i + pre_type=segs[2][2:] + pre_end=i + if pre_type in pre_entity.keys(): + pre_entity[pre_type].append([pre_start,pre_end]) + else: + pre_entity[pre_type]=[[pre_start,pre_end]] + elif i+1>=len(tokens): # the last word + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + pre_end=i + if pre_type in pre_entity.keys(): + pre_entity[pre_type].append([pre_start,pre_end]) + else: + pre_entity[pre_type]=[[pre_start,pre_end]] + elif i+1< len(tokens): # non last word + next_seg=tokens[i+1].split('\t') + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + if pre_type in pre_entity.keys(): + pre_entity[pre_type].append([pre_start,pre_end]) + else: + pre_entity[pre_type]=[[pre_start,pre_end]] + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2]=='O': + pass + # print(tokens) + # print(gold_entity) + # print(pre_entity) + return gold_entity,pre_entity + +# input: token \t Gold \t Prediction\n, sentence is split "\n" +def NER_Evaluation(): + path='//panfs/pan1/bionlp/lulab/luoling/OpenBioIE_project/models/Kfold/BiLSTM-CRF/' + fin=open(path+'dev_pre.conll_all','r',encoding='utf-8') + all_sentence=fin.read().strip().split('\n\n') + fin.close() + Metrics={} #{'entity_type':[TP,gold_num,pre_num]} + + for sentence in all_sentence: + tokens=sentence.split('\n') + gold_entity,pre_entity=BIO_tag(tokens) + # print(tokens) + for entity_type in gold_entity.keys(): + if entity_type not in Metrics.keys(): + Metrics[entity_type]=[0,len(gold_entity[entity_type]),0] + else: + Metrics[entity_type][1]+=len(gold_entity[entity_type]) + for entity_type in pre_entity.keys(): + if entity_type not in Metrics.keys(): + Metrics[entity_type]=[0,0,len(pre_entity[entity_type])] + else: + Metrics[entity_type][2]+=len(pre_entity[entity_type]) + for mention in pre_entity[entity_type]: + if entity_type in gold_entity.keys(): + if mention in gold_entity[entity_type]: + Metrics[entity_type][0]+=1 + print(Metrics) + TP,Gold_num,Pre_num=0,0,0 + for ele in Metrics.keys(): + if Metrics[ele][2]==0: + p=0 + else: + p=Metrics[ele][0]/Metrics[ele][2] + if Metrics[ele][1]==0: + r=0 + else: + r=Metrics[ele][0]/Metrics[ele][1] + if p+r==0: + f1=0 + else: + f1=2*p*r/(p+r) + TP+=Metrics[ele][0] + Gold_num+=Metrics[ele][1] + Pre_num+=Metrics[ele][2] + print(ele+': P=%.5f, R=%.5f, F1=%.5f' % (p,r,f1)) + # break + if Pre_num==0: + P=0 + else: + P=TP/Pre_num + R=TP/Gold_num + F1=2*P*R/(P+R) + print("Overall: P=%.5f, R=%.5f, F1=%.5f"% (P,R,F1)) + +def NER_Evaluation_fn(file): + + fin=open(file,'r',encoding='utf-8') + all_sentence=fin.read().strip().split('\n\n') + fin.close() + Metrics={} #{'entity_type':[TP,gold_num,pre_num]} + breai=0 + for sentence in all_sentence: + breai+=1 + if breai>5000: + break + tokens=sentence.split('\n') + gold_entity,pre_entity=BIO_tag(tokens) + # print(tokens) + for entity_type in gold_entity.keys(): + if entity_type not in Metrics.keys(): + Metrics[entity_type]=[0,len(gold_entity[entity_type]),0] + else: + Metrics[entity_type][1]+=len(gold_entity[entity_type]) + for entity_type in pre_entity.keys(): + if entity_type not in Metrics.keys(): + Metrics[entity_type]=[0,0,len(pre_entity[entity_type])] + else: + Metrics[entity_type][2]+=len(pre_entity[entity_type]) + for mention in pre_entity[entity_type]: + if entity_type in gold_entity.keys(): + if mention in gold_entity[entity_type]: + Metrics[entity_type][0]+=1 + print(Metrics) + TP,Gold_num,Pre_num=0,0,0 + for ele in Metrics.keys(): + if Metrics[ele][2]==0: + p=0 + else: + p=Metrics[ele][0]/Metrics[ele][2] + if Metrics[ele][1]==0: + r=0 + else: + r=Metrics[ele][0]/Metrics[ele][1] + if p+r==0: + f1=0 + else: + f1=2*p*r/(p+r) + TP+=Metrics[ele][0] + Gold_num+=Metrics[ele][1] + Pre_num+=Metrics[ele][2] + print(ele+': P=%.5f, R=%.5f, F1=%.5f' % (p,r,f1)) + # break + if Pre_num==0: + P=0 + else: + P=TP/Pre_num + R=TP/Gold_num + if P+R==0: + F1=0 + else: + F1=2*P*R/(P+R) + print("Overall: P=%.5f, R=%.5f, F1=%.5f"% (P,R,F1)) + return F1 + +if __name__=='__main__': + NER_Evaluation() diff --git a/src_python/GeneNER/model_ner.py b/src_python/GeneNER/model_ner.py new file mode 100644 index 0000000000000000000000000000000000000000..7e86cea3984d846a7ab509970b34345645ec3e46 --- /dev/null +++ b/src_python/GeneNER/model_ner.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Feb 10 09:08:09 2021 + +@author: luol2 +""" +import tensorflow as tf +from src_python.GeneNER.represent_ner import Hugface_RepresentationLayer +from tensorflow.keras.layers import * +from tensorflow.keras.models import Model +from tensorflow.keras.optimizers import RMSprop, SGD, Adam, Adadelta, Adagrad,Nadam +from transformers import TFBertModel, BertConfig,TFElectraModel,TFAutoModel +import numpy as np +import sys + + +class LRSchedule_LINEAR(tf.keras.optimizers.schedules.LearningRateSchedule): + def __init__( + self, + init_lr=5e-5, + init_warmup_lr=0.0, + final_lr=5e-7, + warmup_steps=0, + decay_steps=0, + ): + super().__init__() + self.init_lr = init_lr + self.init_warmup_lr=init_warmup_lr + self.final_lr = final_lr + self.warmup_steps = warmup_steps + self.decay_steps = decay_steps + + def __call__(self, step): + """ linear warm up - linear decay """ + if self.warmup_steps>0: + warmup_lr = (self.init_lr - self.init_warmup_lr)/self.warmup_steps * step+self.init_warmup_lr + else: + warmup_lr=1000.0 + #print('\n.......warmup_lr:',warmup_lr) + decay_lr = tf.math.maximum( + self.final_lr, + self.init_lr - (step - self.warmup_steps)/self.decay_steps*(self.init_lr - self.final_lr) + ) + #print('\n.....decay_lr:',decay_lr) + return tf.math.minimum(warmup_lr,decay_lr) + + +class HUGFACE_NER(): #huggingface transformers + def __init__(self, model_files): + self.model_type='HUGFACE' + self.maxlen = 256 #sent 256 doc-512,pretrain-sent 128 + self.checkpoint_path = model_files['checkpoint_path'] + self.label_file=model_files['labelfile'] + self.lowercase=model_files['lowercase'] + self.rep = Hugface_RepresentationLayer(self.checkpoint_path, self.label_file, lowercase=self.lowercase) + + + def build_encoder(self): + print('...vocab len:',self.rep.vocab_len) + plm_model = TFAutoModel.from_pretrained(self.checkpoint_path, from_pt=True) + # plm_model.resize_token_embeddings(self.rep.vocab_len) + x1_in = Input(shape=(self.maxlen,),dtype=tf.int32, name='input_ids') + x2_in = Input(shape=(self.maxlen,),dtype=tf.int32, name='token_type_ids') + x3_in = Input(shape=(self.maxlen,),dtype=tf.int32, name='attention_mask') + x = plm_model(x1_in, token_type_ids=x2_in, attention_mask=x3_in)[0] + #dense = TimeDistributed(Dense(512, activation='relu'), name='dense1')(x) + self.encoder = Model (inputs=[x1_in,x2_in,x3_in], outputs=x,name='hugface_encoder') + self.encoder.summary() + + def build_softmax_decoder(self): + + x1_in = Input(shape=(self.maxlen,),dtype=tf.int32) + x2_in = Input(shape=(self.maxlen,),dtype=tf.int32) + x3_in = Input(shape=(self.maxlen,),dtype=tf.int32) + features = self.encoder([x1_in,x2_in,x3_in]) + #features = Dropout(0.4)(features) + features = TimeDistributed(Dense(128, activation='relu'), name='dense2')(features) + features= Dropout(0.1)(features) + output = TimeDistributed(Dense(self.rep.label_table_size, activation='softmax'), name='softmax')(features) + self.model = Model(inputs=[x1_in,x2_in,x3_in], outputs=output, name="hugface_softmax") + + lr_schedule=LRSchedule_LINEAR( + init_lr=1e-5, + init_warmup_lr=1e-7, + final_lr=5e-6, + warmup_steps=0, + decay_steps=1000) + + opt = Adam(learning_rate = lr_schedule) + #opt = Adam(lr=5e-6) + self.model.compile( + optimizer=opt, + loss='sparse_categorical_crossentropy', + metrics=['accuracy'], + ) + self.model.summary() + + + def load_model(self,model_file): + self.model.load_weights(model_file) + self.model.summary() + print('load HUGFACE model done!') diff --git a/src_python/GeneNER/ner_tag.py b/src_python/GeneNER/ner_tag.py new file mode 100644 index 0000000000000000000000000000000000000000..58b81afeae66bb6b4bb08929af4a8ae2f44153c5 --- /dev/null +++ b/src_python/GeneNER/ner_tag.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Jun 8 11:01:23 2022 + +@author: luol2 +""" + + + +import io +import re +from src_python.GeneNER.processing_data_ner import ml_intext_fn,out_BIO_BERT_softmax_fn +from src_python.GeneNER.restore_index_ner import NN_restore_index_fn +import tensorflow as tf +gpu = tf.config.list_physical_devices('GPU') +print("Num GPUs Available: ", len(gpu)) +if len(gpu) > 0: + tf.config.experimental.set_memory_growth(gpu[0], True) + +def pre_token(sentence): + sentence=re.sub("([\W\-\_])"," \\1 ",sentence) + sentence=re.sub("[ ]+"," ",sentence); + return sentence + +def ssplit_token_pos_lemma(in_text,text_level,nlp_token, max_len=400): + #print('max_len:',max_len) + fout=io.StringIO() + + in_text=in_text.strip() + in_text=pre_token(in_text) + doc_stanza = nlp_token(in_text) + strlen=0 + for sent in doc_stanza.sentences: + for word in sent.words: + strlen+=1 + if word.text.strip()=='': + pass + #print('!!!!blank token text!!!') + else: + fout.write(word.text+'\tO\n') + if strlen>=max_len: + #print('long sentence:',strlen) + fout.write('\n') + strlen=0 + if text_level=='SENT': + fout.write('\n') + strlen=0 + if text_level=='DOC': + fout.write('\n') + + return fout.getvalue() + +def ml_tagging(ml_input,nn_model): + + test_list = ml_intext_fn(ml_input) + test_x,test_y, test_bert_text_label=nn_model.rep.load_data_hugface(test_list,word_max_len=nn_model.maxlen,label_type='softmax') + test_pre = nn_model.model.predict(test_x,batch_size=64) + test_decode_temp=out_BIO_BERT_softmax_fn(test_pre,test_bert_text_label,nn_model.rep.index_2_label) + + return test_decode_temp +# only machine learning-based method +def ML_Tag(text,ml_model,nlp_token,text_level='SENT'): + +# startTime=time.time() + ssplit_token=ssplit_token_pos_lemma(text, text_level, nlp_token, max_len=ml_model.maxlen) + #print(ssplit_token) +# print('ssplit token:',time.time()-startTime) + +# startTime=time.time() + ml_tsv=ml_tagging(ssplit_token,ml_model) + #print(ml_tsv) +# print('ml ner:',time.time()-startTime) + + final_result= NN_restore_index_fn(text,ml_tsv) + + # print('final ner:',time.time()-startTime) + + return final_result + + + + + + + diff --git a/src_python/GeneNER/processing_data_ner.py b/src_python/GeneNER/processing_data_ner.py new file mode 100644 index 0000000000000000000000000000000000000000..bebab50c6f966172c4d11400102b4ed11fdea5c1 --- /dev/null +++ b/src_python/GeneNER/processing_data_ner.py @@ -0,0 +1,210 @@ +# -*- coding: utf-8 -*- +""" +Created on Tue Mar 10 16:34:12 2020 + +@author: luol2 +""" +import numpy as np +import io +import sys +#read ner text (word\tlabel), generate the list[[[w1,label],[w2,label]]] +def ml_intext(file): + fin=open(file,'r',encoding='utf-8') + alltexts=fin.read().strip().split('\n\n') + fin.close() + data_list=[] + + for sents in alltexts: + lines=sents.split('\n') + temp_sentece=[] + for i in range(0,len(lines)): + seg=lines[i].split('\t') + temp_sentece.append(seg[:]) + + data_list.append(temp_sentece) + #print(data_list) + #print(label_list) + return data_list + +def ml_intext_fn(ml_input): + fin=io.StringIO(ml_input) + alltexts=fin.read().strip().split('\n\n') + fin.close() + data_list=[] + + for sents in alltexts: + lines=sents.split('\n') + temp_sentece=[] + for i in range(0,len(lines)): + seg=lines[i].split('\t') + temp_sentece.append(seg[:]) + + data_list.append(temp_sentece) + #print(data_list) + #print(label_list) + return data_list + +# model predict result to conll evalute format [token answer predict] +def out_BIO_crf(file,raw_pre,raw_input,label_set): + fout=open(file,'w',encoding='utf-8') + for i in range(len(raw_input)): + + for j in range(len(raw_input[i])): + if jmax_len: + max_len=word_len + print(seg[0]) + for i in range(word_len): + if seg[0][i] not in char_vocab: + char_vocab.append(seg[0][i]) + #else: + # fout.write(line) + fin.close() + #fout.close() + for ele in char_vocab: + fout_char.write(ele+'\n') + fout_char.close() + print('max_len:',max_len) + + +if __name__=='__main__': + # infile='//panfs/pan1/bionlp/lulab/luoling/HPO_project/AutoPhe/data/pubmed_unlabel/mutation_disease_1990.ner_BIO' + # #outfile='//panfs/pan1/bionlp/lulab/luoling/HPO_project/AutoPhe/data/pubmed_unlabel/mutation_disease_1990.ner_BIO_new' + # outfile_char='//panfs/pan1/bionlp/lulab/luoling/HPO_project/AutoPhe/src/nn_model/vocab/char_vocab' + # #processing_text(file) + # char_vocab(infile,outfile_char) + a=[1,2,3] + print(a[:-1]) diff --git a/src_python/GeneNER/represent_ner.py b/src_python/GeneNER/represent_ner.py new file mode 100644 index 0000000000000000000000000000000000000000..15160314c8c5f88062ce86cbca98075a454724c0 --- /dev/null +++ b/src_python/GeneNER/represent_ner.py @@ -0,0 +1,183 @@ +# -*- coding: utf-8 -*- +""" +Created on Mon Aug 30 19:54:17 2021 + +@author: luol2 +""" + + + +import os, sys +import numpy as np +from tensorflow.keras.preprocessing.sequence import pad_sequences +from transformers import AutoTokenizer + + +class Hugface_RepresentationLayer(object): + + + def __init__(self, tokenizer_name_or_path, label_file,lowercase=True): + + + #load vocab + + self.tokenizer = AutoTokenizer.from_pretrained(tokenizer_name_or_path, use_fast=True,do_lower_case=lowercase) + self.label_2_index={} + self.index_2_label={} + self.label_table_size=0 + self.load_label_vocab(label_file,self.label_2_index,self.index_2_label) + self.label_table_size=len(self.label_2_index) + self.vocab_len=len(self.tokenizer) + + def load_label_vocab(self,fea_file,fea_index,index_2_label): + + fin=open(fea_file,'r',encoding='utf-8') + all_text=fin.read().strip().split('\n') + fin.close() + for i in range(0,len(all_text)): + fea_index[all_text[i]]=i + index_2_label[str(i)]=all_text[i] + + + + def generate_label_list(self,ori_tokens,labels,word_index): #the lable of subtoken is the same with the label of first subtoken + label_list=['O']*len(word_index) + + label_list_index=[] + old_new_token_map=[] + ori_i=0 + for i in range(0,len(word_index)): + if word_index[i]==None: + label_list_index.append(self.label_2_index[label_list[i]]) + else: + label_list[i]=labels[word_index[i]] + label_list_index.append(self.label_2_index[label_list[i]]) + if word_index[i]==ori_i: + old_new_token_map.append(i) + ori_i+=1 + + + bert_text_label=[] + for i in range(0,len(ori_tokens)): + bert_text_label.append([ori_tokens[i],labels[i],old_new_token_map[i]]) + + return label_list_index,bert_text_label + + def generate_label_list_B(self,ori_tokens,labels,word_index): #tonly first subtoken is B, other is I + label_list=['O']*len(word_index) + + label_list_index=[] + old_new_token_map=[] + ori_i=0 + first_index=-1 + i=0 + while i max len + break + return label_list_index,bert_text_label + + def load_data_hugface(self,instances, word_max_len=100, label_type='softmax'): + + x_index=[] + x_seg=[] + x_mask=[] + y_list=[] + bert_text_labels=[] + max_len=0 + over_num=0 + maxT=word_max_len + ave_len=0 + + #print('instances:', instances) + #print('labels:',labels) + + + for sentence in instances: + sentence_text_list=[] + label_list=[] + for j in range(0,len(sentence)): + sentence_text_list.append(sentence[j][0]) + label_list.append(sentence[j][-1]) + + token_result=self.tokenizer( + sentence_text_list, + max_length=word_max_len, + truncation=True,is_split_into_words=True) + + bert_tokens=self.tokenizer.convert_ids_to_tokens(token_result['input_ids']) + word_index=token_result.word_ids(batch_index=0) + ave_len+=len(bert_tokens) + if len(sentence_text_list)>max_len: + max_len=len(sentence_text_list) + if len(bert_tokens)==maxT: + over_num+=1 + + x_index.append(token_result['input_ids']) + x_seg.append(token_result['token_type_ids']) + x_mask.append(token_result['attention_mask']) + + #print('\nsentence_text_list:',len(sentence_text_list),sentence_text_list) + #print('\nlabel:',len(label_list),label_list) + #print('\nword_index:',len(word_index),word_index) + #print('\nbert_tokens:',len(bert_tokens),bert_tokens) + label_list,bert_text_label=self.generate_label_list_B(sentence_text_list,label_list,word_index) # the label list after bert token, ori token/lable/new index + #print('\nlabel list:',len(label_list),label_list) + #print('\nbert_text_label:',len(bert_text_label),bert_text_label) + #sys.exit() + y_list.append(label_list) + #print(y_list) + bert_text_labels.append(bert_text_label) + + + x1_np = pad_sequences(x_index, word_max_len, value=0, padding='post',truncating='post') # right padding + x2_np = pad_sequences(x_seg, word_max_len, value=0, padding='post',truncating='post') + x3_np = pad_sequences(x_mask, word_max_len, value=0, padding='post',truncating='post') + y_np = pad_sequences(y_list, word_max_len, value=0, padding='post',truncating='post') + #print('x1_np:',x1_np) + #print('\nx2_np:',x2_np) + #print('\ny_np:',y_np) + #print('\nbert_text:',bert_text_labels) + # print('bert max len:',max_len,',Over',maxT,':',over_num,'ave len:',ave_len/len(instances),'total:',len(instances)) + + if label_type=='softmax': + y_np = np.expand_dims(y_np, 2) + elif label_type=='crf': + pass + + return [x1_np, x2_np,x3_np], y_np,bert_text_labels + + +if __name__ == '__main__': + pass + + + diff --git a/src_python/GeneNER/restore_index_ner.py b/src_python/GeneNER/restore_index_ner.py new file mode 100644 index 0000000000000000000000000000000000000000..d62a612ad333c4adb8aafc13a780111a127e0ecd --- /dev/null +++ b/src_python/GeneNER/restore_index_ner.py @@ -0,0 +1,447 @@ +# -*- coding: utf-8 -*- +""" +Created on Fri Mar 5 10:40:08 2021 + +@author: luol2 +""" + +# -*- coding: utf-8 -*- +""" +Created on Sun Jun 14 17:19:02 2020 + +@author: luol2 +""" + +import io +import sys + +# from BIO format to entity,list line is sentence, follwing the entity(start, end, text, entity, type) +def NN_BIO_tag_entity(pre_BIO): + sentences=pre_BIO.strip().split('\n\n') + + pre_result=[] + #print(sentences) + for sent in sentences: + tokens=sent.split('\n') + pre_entity=[] + pre_start,pre_end=0,0 + sent_text='' + for i in range(0,len(tokens)): + segs=tokens[i].split('\t') + sent_text+=segs[0]+' ' + if len(segs)<3: + continue + #print(tokens) + # generate prediction entity + if segs[2].startswith('B-')>0: + pre_start=i + pre_type=segs[2][2:] + if i+1>=len(tokens): # the last word + pre_end=i + pre_entity.append([pre_start,pre_end,pre_type]) + else: # non last word + next_seg=tokens[i+1].split('\t') + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start,pre_end,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2].startswith('I-')>0: + if i==0 and i+10 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start,pre_end,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif i==0 and i+1==len(tokens):# only one word: + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start,pre_end,pre_type]) + elif i+1>=len(tokens): # the last word + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start,pre_end,pre_type]) + elif i+1< len(tokens): # non last word + next_seg=tokens[i+1].split('\t') + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start,pre_end,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2]=='O': + pass + pre_result.append([sent_text.rstrip(),pre_entity]) + + + # print(pre_entity) + return pre_result + +def NN_restore_index_fn(ori_text,file_pre): + + input_result=NN_BIO_tag_entity(file_pre) + #print(input_result) + + + new_sentence='' + restore_result=[] + + sentence_ori=ori_text.lower() + + for sent_ele in input_result: + + #print(pre_lines) +# print(sentence_ori) + if len(sent_ele[1])>0: + #print(pre_lines) + sentence_pre=sent_ele[0].lower() + sentence_pre=sentence_pre.split() + + pre_result=sent_ele[1] + + + restore_sid=0 + restore_eid=0 + each_word_id=[] + + for i in range(0,len(sentence_pre)): + + temp_id=sentence_ori.find(sentence_pre[i]) + if temp_id<0: + #print('ori:',sentence_ori) + print('resotr index error:',sentence_pre[i]) + new_sentence+=sentence_ori[0:temp_id] + + restore_sid=len(new_sentence) + restore_eid=len(new_sentence)+len(sentence_pre[i]) + each_word_id.append([str(restore_sid),str(restore_eid)]) + new_sentence+=sentence_ori[temp_id:temp_id+len(sentence_pre[i])] + sentence_ori=sentence_ori[temp_id+len(sentence_pre[i]):] +# print('each_word:',each_word_id) + for pre_ele in pre_result: + temp_pre_result=[each_word_id[int(pre_ele[0])][0],each_word_id[int(pre_ele[1])][1],pre_ele[2]] + if temp_pre_result not in restore_result: + restore_result.append(temp_pre_result) + else: + sentence_pre=sent_ele[0].lower() + sentence_pre=sentence_pre.split() + + for i in range(0,len(sentence_pre)): + + temp_id=sentence_ori.find(sentence_pre[i]) + if temp_id<0: + print('resotr index error:',sentence_pre[i]) + new_sentence+=sentence_ori[0:temp_id] + new_sentence+=sentence_ori[temp_id:temp_id+len(sentence_pre[i])] + sentence_ori=sentence_ori[temp_id+len(sentence_pre[i]):] + #print('resotre:',restore_result) + return restore_result + +def BERT_BIO_tag_entity(pre_BIO): + sentences=pre_BIO.strip().split('\n\n') + + pre_result=[] + for sent in sentences: + tokens=sent.split('\n') + pre_entity=[] + pre_start,pre_end=0,0 + sent_text='' + for i in range(1,len(tokens)-1): + segs=tokens[i].split('\t') + sent_text+=segs[0]+' ' + # generate prediction entity + if segs[2].startswith('B-')>0: + pre_start=i + pre_type=segs[2][2:] + if i+1>=len(tokens): # the last word + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + else: # non last word + next_seg=tokens[i+1].split('\t') + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2].startswith('I-')>0: + if i==0 and i+10 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif i==0 and i+1==len(tokens):# only one word: + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif i+1>=len(tokens): # the last word + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif i+1< len(tokens): # non last word + next_seg=tokens[i+1].split('\t') + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2]=='O': + pass + pre_result.append([sent_text.rstrip(),pre_entity]) + + + #print(pre_result) + return pre_result + +def BERT_BIO_tag_entity_revised(pre_BIO): + print('revised version') + sentences=pre_BIO.strip().split('\n\n') + + pre_result=[] + for sent in sentences: + tokens=sent.split('\n') + pre_entity=[] + pre_start,pre_end=0,0 + sent_text='' + for i in range(1,len(tokens)-1): + segs=tokens[i].split('\t') + sent_text+=segs[0]+' ' + # generate prediction entity + if segs[2].startswith('B-')>0: + pre_start=i + pre_type=segs[2][2:] + if i+1>=len(tokens)-1: # the last word + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + else: # non last word + next_seg=tokens[i+1].split('\t') + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2].startswith('I-')>0: + if i==1 and i+10 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif i==1 and i+1==len(tokens)-1:# only one word: + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif i+1>=len(tokens)-1: # the last word + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif i+1< len(tokens)-1: # non last word + next_seg=tokens[i+1].split('\t') + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2]=='O': + pass + pre_result.append([sent_text.rstrip(),pre_entity]) + + + #print(pre_result) + return pre_result + +# only predict on the first token of the ori word +def BERT_BIO_tag_entity_word(pre_BIO): + sentences=pre_BIO.strip().split('\n\n') + + pre_result=[] + for sent in sentences: + tokens=sent.split('\n') + pre_entity=[] + pre_start,pre_end=0,0 + sent_text='' + i=1 + while i< len(tokens)-1: + # for i in range(1,len(tokens)-1): + segs=tokens[i].split('\t') + sent_text+=segs[0]+' ' + # generate prediction entity + if segs[2].startswith('B-')>0: + pre_start=i + pre_type=segs[2][2:] + if i+1>=len(tokens)-1: # the last word + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + else: # non last word + #pass a word + sub_segs=tokens[i+1].split('\t') + while(sub_segs[0].find('##')==0): + i+=1 + sent_text+=sub_segs[0]+' ' + sub_segs=tokens[i+1].split('\t') + + + next_seg=tokens[i+1].split('\t') + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2].startswith('I-')>0: + if i==1 and i+10 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif i==1 and i+1==len(tokens)-1:# only one word: + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif i+1>=len(tokens)-1: # the last word + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif i+1< len(tokens)-1: # non last word + + last_seg=tokens[i-1].split('\t') + if last_seg[2]=='O': + pre_start=i + pre_type=segs[2][2:] + #pass a word + sub_segs=tokens[i+1].split('\t') + while(sub_segs[0].find('##')==0): + i+=1 + sent_text+=sub_segs[0]+' ' + sub_segs=tokens[i+1].split('\t') + next_seg=tokens[i+1].split('\t') + if next_seg[2].startswith('B-')>0 or next_seg[2]=='O': + pre_end=i + pre_entity.append([pre_start-1,pre_end-1,pre_type]) + elif next_seg[2].startswith('I-')>0: + pass + elif segs[2]=='O': + pass + i+=1 + pre_result.append([sent_text.rstrip(),pre_entity]) + + + #print(pre_result) + return pre_result + + +def BERT_restore_index_fn(ori_text,file_pre): + + # input_result=BERT_BIO_tag_entity_revised(file_pre) + input_result=BERT_BIO_tag_entity_word(file_pre) + #print(input_result) + + + new_sentence='' + restore_result=[] + + sentence_ori=ori_text.lower() + + for sent_ele in input_result: + + #print(pre_lines) +# print(sentence_ori) + if len(sent_ele[1])>0: + #print(pre_lines) + sentence_pre=sent_ele[0].lower() + sentence_pre=sentence_pre.split() + + pre_result=sent_ele[1] + + + restore_sid=0 + restore_eid=0 + each_word_id=[] + + + for i in range(0,len(sentence_pre)): + if sentence_pre[i][0:2]=="##": + sentence_pre[i]=sentence_pre[i][2:] + temp_id=sentence_ori.find(sentence_pre[i]) + if temp_id<0: + #print('ori:',sentence_ori) + print('resotr index error:',sentence_pre[i]) + new_sentence+=sentence_ori[0:temp_id] + + restore_sid=len(new_sentence) + restore_eid=len(new_sentence)+len(sentence_pre[i]) + each_word_id.append([str(restore_sid),str(restore_eid)]) + new_sentence+=sentence_ori[temp_id:temp_id+len(sentence_pre[i])] + sentence_ori=sentence_ori[temp_id+len(sentence_pre[i]):] +# print('each_word:',each_word_id) + for pre_ele in pre_result: + temp_pre_result=[each_word_id[int(pre_ele[0])][0],each_word_id[int(pre_ele[1])][1],pre_ele[2]] + if temp_pre_result not in restore_result: + restore_result.append(temp_pre_result) + else: + sentence_pre=sent_ele[0].lower() + sentence_pre=sentence_pre.split() + + for i in range(0,len(sentence_pre)): + if sentence_pre[i][0:2]=="##": + sentence_pre[i]=sentence_pre[i][2:] + temp_id=sentence_ori.find(sentence_pre[i]) + if temp_id<0: + print('resotr index error:',sentence_pre[i]) + new_sentence+=sentence_ori[0:temp_id] + new_sentence+=sentence_ori[temp_id:temp_id+len(sentence_pre[i])] + sentence_ori=sentence_ori[temp_id+len(sentence_pre[i]):] + #print('resotre:',restore_result) + return restore_result +if __name__=='__main__': + path='//panfs/pan1/bionlp/lulab/luoling/OpenBioIE_project/models/' + fin=open(path+'devout_test.txt','r',encoding='utf-8') + file_pre=fin.read() + ori_text="D90A-SOD1 mediated amyotrophic lateral sclerosis: a single founder for all cases with evidence for a Cis-acting disease modifier in the recessive haplotype. More than 100 different heterozygous mutations in copper/zinc superoxide dismutase (SOD1) have been found in patients with amyotrophic lateral sclerosis (ALS), a fatal neurodegenerative disease. Uniquely, D90A-SOD1 has been identified in recessive, dominant and apparently sporadic pedigrees. The phenotype of homozygotes is stereotyped with an extended survival, whereas that of affected heterozygotes varies. The frequency of D90A-SOD1 is 50 times higher in Scandinavia (2.5%) than elsewhere, though ALS prevalence is not raised there. Our earlier study indicated separate founders for recessive and dominant/sporadic ALS and we proposed a disease-modifying factor linked to the recessive mutation. Here we have doubled our sample set and employed novel markers to characterise the mutation's origin and localise any modifying factor. Linkage disequilibrium analysis indicates that D90A homozygotes and heterozygotes share a rare haplotype and are all descended from a single ancient founder (alpha 0.974) c.895 generations ago. Homozygotes arose subsequently only c.63 generations ago (alpha 0.878). Recombination has reduced the region shared by recessive kindreds to 97-265 kb around SOD1, excluding all neighbouring genes. We propose that a cis-acting regulatory polymorphism has arisen close to D90A-SOD1 in the recessive founder, which decreases ALS susceptibility in heterozygotes and slows disease progression." + NN_restore_index_fn(ori_text,file_pre) diff --git a/src_python/SpeAss/Evaluation_sa.py b/src_python/SpeAss/Evaluation_sa.py new file mode 100644 index 0000000000000000000000000000000000000000..02914011a7531e104f8cd375e47b3cd92a30eaea --- /dev/null +++ b/src_python/SpeAss/Evaluation_sa.py @@ -0,0 +1,396 @@ +# -*- coding: utf-8 -*- +""" +Created on Mon Mar 1 15:33:54 2021 + +@author: luol2 +""" +# compute metrics using IO prefile +#ignore arg1 +def Rel_Evaluation(prefile): + fin=open(prefile,'r',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + TP=0 #gold=pre=pos + FP=0 #gold=neg, pre=pos + FN=0 #gold=pos, pre=Neg + for sentence in all_in: + tokens=sentence.split('\n') + entity_id=0 + token_id=0 + temp_gold='O' + temp_pre='O' + while (token_id': + if seg[1]=='O': + temp_gold=seg[1] + else: + temp_gold=seg[1][2:] + if seg[2]=='O': + temp_pre=seg[2] + else: + temp_pre=seg[2][2:] + token_id+=1 + seg=tokens[token_id].split('\t') + while seg[0]!='': + token_id+=1 + seg=tokens[token_id].split('\t') + if seg[1]!='O' and temp_gold=='O': + temp_gold=seg[1][2:] + if seg[2]!='O' and temp_pre=='O': + temp_pre=seg[2][2:] + if temp_pre!='O' and temp_gold!='O' and temp_pre==temp_gold: + TP+=1 + elif temp_pre!='O' and temp_gold!='O' and temp_pre!=temp_gold: + FP+=1 + FN+=1 + elif temp_pre!='O' and temp_gold=='O' : + FP+=1 + elif temp_pre=='O' and temp_gold!='O' : + FN+=1 + temp_pre='O' + temp_gold='O' + + else: + pass + token_id+=1 + # print('TP,FP,FN:',TP,FP,FN) + if TP+FP==0: + P=0 + else: + P=TP/(TP+FP) + if TP+FN==0: + R=0 + else: + R=TP/(TP+FN) + if P+R==0: + F1=0 + else: + F1=2*P*R/(P+R) + print('TP,FP,FN:',TP,FP,FN) + print('P,R,F1:',P,R,F1) + + +def Rel_Evaluation_fn(prefile): + fin=open(prefile,'r',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + TP=0 #gold=pre=pos + FP=0 #gold=neg, pre=pos + FN=0 #gold=pos, pre=Neg + for sentence in all_in: + tokens=sentence.split('\n') + entity_id=0 + token_id=0 + temp_gold='O' + temp_pre='O' + while (token_id': + if seg[1]=='O': + temp_gold=seg[1] + else: + temp_gold=seg[1][2:] + if seg[2]=='O': + temp_pre=seg[2] + else: + temp_pre=seg[2][2:] + token_id+=1 + seg=tokens[token_id].split('\t') + while seg[0]!='': + token_id+=1 + seg=tokens[token_id].split('\t') + if seg[1]!='O' and temp_gold=='O': + temp_gold=seg[1][2:] + if seg[2]!='O' and temp_pre=='O': + temp_pre=seg[2][2:] + if temp_pre!='O' and temp_gold!='O' and temp_pre==temp_gold: + TP+=1 + elif temp_pre!='O' and temp_gold!='O' and temp_pre!=temp_gold: + FP+=1 + elif temp_pre!='O' and temp_gold=='O' : + FP+=1 + elif temp_pre=='O' and temp_gold!='O' : + FN+=1 + temp_pre='O' + temp_gold='O' + + else: + pass + token_id+=1 + print('TP,FP,FN:',TP,FP,FN) + if TP+FP==0: + P=0 + else: + P=TP/(TP+FP) + if TP+FN==0: + R=0 + else: + R=TP/(TP+FN) + if P+R==0: + F1=0 + else: + F1=2*P*R/(P+R) + # print('TP,FP,FN:',TP,FP,FN) + print('P,R,F1:',P,R,F1) + return F1 + +def Rel_Evaluation_Hugface_fn(prefile,ARG2_label='gene1s'): + fin=open(prefile,'r',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + TP=0 #gold=pre=pos + FP=0 #gold=neg, pre=pos + FN=0 #gold=pos, pre=Neg + result_dict={}#{'rel type':[TP,FP,FN],...,} + for sentence in all_in: + tokens=sentence.split('\n') + for token in tokens: + seg=token.split('\t') + if seg[0]==ARG2_label: + if seg[1].find('ARG2')>=0: + if seg[2]==seg[1]: + if seg[1] not in result_dict.keys(): + result_dict[seg[1]]=[1,0,0] + else: + result_dict[seg[1]][0]+=1 + TP+=1 + elif seg[2].find('ARG2')>=0: + if seg[1] not in result_dict.keys(): + result_dict[seg[1]]=[0,0,1] + else: + result_dict[seg[1]][2]+=1 + if seg[2] not in result_dict.keys(): + result_dict[seg[2]]=[0,1,0] + else: + result_dict[seg[2]][1]+=1 + FP+=1 + FN+=1 + else: + if seg[1] not in result_dict.keys(): + result_dict[seg[1]]=[0,0,1] + else: + result_dict[seg[1]][2]+=1 + FN+=1 + + else: + if seg[2].find('ARG2')>=0: + if seg[2] not in result_dict.keys(): + result_dict[seg[2]]=[0,1,0] + else: + result_dict[seg[2]][1]+=1 + FP+=1 + # print('TP,FP,FN:',TP,FP,FN) + rel_metrics={} + for rel_type in result_dict.keys(): + if result_dict[rel_type][0]+result_dict[rel_type][1]==0: + p=0 + else: + p=result_dict[rel_type][0]/(result_dict[rel_type][0]+result_dict[rel_type][1]) + if result_dict[rel_type][0]+result_dict[rel_type][2]==0: + r=0 + else: + r=result_dict[rel_type][0]/(result_dict[rel_type][0]+result_dict[rel_type][2]) + if p+r==0: + f1=0 + else: + f1=2*p*r/(p+r) + rel_metrics[rel_type]=[round(p,4),round(r,4),round(f1,4)] + if TP+FP==0: + P=0 + else: + P=TP/(TP+FP) + if TP+FN==0: + R=0 + else: + R=TP/(TP+FN) + if P+R==0: + F1=0 + else: + F1=2*P*R/(P+R) + P=round(P,4) + R=round(R,4) + F1=round(F1,4) + print('mertics:\n',rel_metrics) + print('\nTP,FP,FN:',TP,FP,FN) + print('Overall P,R,F1:',P,R,F1) + return [P,R,F1],rel_metrics + +def Rel_Evaluation_AIO_fn(prefile): + fin=open(prefile,'r',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + TP=0 #gold=pre=pos + FP=0 #gold=neg, pre=pos + FN=0 #gold=pos, pre=Neg + for sentence in all_in: + tokens=sentence.split('\n') + for token in tokens: + seg=token.split('\t') + if seg[0]=='': + if seg[1].find('ARG2-')>=0: + if seg[2]==seg[1]: + TP+=1 + elif seg[2].find('ARG2-')>=0: + FP+=1 + FN+=1 + else: + FN+=1 + + else: + if seg[2].find('ARG2-')>=0: + FP+=1 + # print('TP,FP,FN:',TP,FP,FN) + if TP+FP==0: + P=0 + else: + P=TP/(TP+FP) + if TP+FN==0: + R=0 + else: + R=TP/(TP+FN) + if P+R==0: + F1=0 + else: + F1=2*P*R/(P+R) + P=round(P,4) + R=round(R,4) + F1=round(F1,4) + print('TP,FP,FN:',TP,FP,FN) + print('P,R,F1:',P,R,F1) + return [P,R,F1] + +def Rel_Evaluation_AIO_GC_fn(prefile): + fin=open(prefile,'r',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + TP=0 #gold=pre=pos + FP=0 #gold=neg, pre=pos + FN=0 #gold=pos, pre=Neg + for sentence in all_in: + tokens=sentence.split('\n') + for token in tokens: + seg=token.split('\t') + if seg[0]=='': + if seg[1].find('ARG2-')>=0: + if seg[2]==seg[1]: + TP+=1 + elif seg[2].find('ARG2-')>=0: + FP+=1 + FN+=1 + else: + FN+=1 + + else: + if seg[2].find('ARG2-')>=0: + FP+=1 + # print('TP,FP,FN:',TP,FP,FN) + if TP+FP==0: + P=0 + else: + P=TP/(TP+FP) + if TP+FN==0: + R=0 + else: + R=TP/(TP+FN) + if P+R==0: + F1=0 + else: + F1=2*P*R/(P+R) + P=round(P,4) + R=round(R,4) + F1=round(F1,4) + print('TP,FP,FN:',TP,FP,FN) + print('P,R,F1:',P,R,F1) + return [P,R,F1] + +def office_evaluation(goldfile,prefile): + fin_gold=open(goldfile,'r',encoding='utf-8') + all_gold=fin_gold.read().strip().split('\n') + fin_gold.close() + fin_pre=open(prefile,'r',encoding='utf-8') + all_pre=fin_pre.read().strip().split('\n') + fin_pre.close() + + gold_result={}#{'relation type':set(line)} + pre_result={} + all_result={} #{'relation type':[tp,fp,fn]} + for line in all_gold: + seg=line.split('\t') + if seg[1] not in all_result.keys(): + all_result[seg[1]]=[0,0,0] + if seg[1] not in gold_result.keys(): + gold_result[seg[1]]=set() + gold_result[seg[1]].add(line) + else: + gold_result[seg[1]].add(line) + + for line in all_pre: + seg=line.split('\t') + if seg[1] not in pre_result.keys(): + pre_result[seg[1]]=set() + pre_result[seg[1]].add(line) + else: + pre_result[seg[1]].add(line) + + for rel_type in gold_result.keys(): + for gold_ele in gold_result[rel_type]: + if rel_type not in pre_result.keys(): + all_result[rel_type][2]+=1 + else: + if gold_ele in pre_result[rel_type]: + all_result[rel_type][0]+=1 + else: + all_result[rel_type][2]+=1 + if rel_type in pre_result.keys(): + for pre_ele in pre_result[rel_type]: + if pre_ele not in gold_result[rel_type]: + all_result[rel_type][1]+=1 + ave_f=0 + TP,FP,FN=0,0,0 + print(all_result) + for rel_type in all_result.keys(): + TP+=all_result[rel_type][0] + FP+=all_result[rel_type][1] + FN+=all_result[rel_type][2] + tem_p,tem_r,tem_f=0,0,0 + if all_result[rel_type][0]+all_result[rel_type][1]==0: + tem_p=0 + else: + tem_p=all_result[rel_type][0]/(all_result[rel_type][0]+all_result[rel_type][1]) + if all_result[rel_type][0]+all_result[rel_type][2]==0: + tem_r=0 + else: + tem_r=all_result[rel_type][0]/(all_result[rel_type][0]+all_result[rel_type][2]) + if tem_p+tem_r==0: + tem_f=0 + else: + tem_f=2*tem_p*tem_r/(tem_p+tem_r) + ave_f+=tem_f + print('%s:p=%.4f,r=%.4f,f=%.4f' % (rel_type,tem_p,tem_r,tem_f)) + + if TP+FP==0: + P=0 + else: + P=TP/(TP+FP) + if TP+FN==0: + R=0 + else: + R=TP/(TP+FN) + if P+R==0: + F1=0 + else: + F1=2*P*R/(P+R) + ave_f+=tem_f + + print('Overall:') + print('ave_f1:',ave_f/len(all_result)) + print('TP=%d, FP=%d, FN=%d'%(TP,FP,FN)) + print('P=%.4f, R=%.4f, F1=%.4f'%(P,R,F1)) + + +if __name__=='__main__': + path='//panfs/pan1/bionlplab/luol2/BC7DrugProt/results/' + office_evaluation(path+'dev/dev_gold_relations.tsv',path+'drugprot_dev_LSTM-CRF-ES_pre.tsv') + print('............') + Rel_Evaluation_check('//panfs/pan1/bionlplab/luol2/BC7DrugProt/check/dev_pre_temp.conll') diff --git a/src_python/SpeAss/SA_Pubtator_Conll.py b/src_python/SpeAss/SA_Pubtator_Conll.py new file mode 100644 index 0000000000000000000000000000000000000000..0f299f3abd6d5371dea70722f17d1138cc1dfec3 --- /dev/null +++ b/src_python/SpeAss/SA_Pubtator_Conll.py @@ -0,0 +1,494 @@ +# -*- coding: utf-8 -*- + +import sys +import io +import stanza +# nlp = stanza.Pipeline(lang='en', processors='tokenize,mwt,pos,lemma',package='craft') #package='craft' +nlp = stanza.Pipeline(lang='en', processors={'tokenize': 'spacy'},package='None') #package='craft' +REL_ENT={'arg1':'Species', + 'arg2':'Gene'} + +ENTITY_TAG={'arg1':['arg1s','arg1e'], + 'arg2':['arg2s','arg2e'], + 'gene':['gene1s','gene1e'], + 'species':['species1s','species1e'] + } + +# ssplit token and revise index +def ssplit_token(infile): + fin=open(infile,'r',encoding='utf-8') + fout=io.StringIO() + all_in=fin.read().strip().split('\n\n') + fin.close() + for doc_text in all_in: + lines=doc_text.split('\n') + ori_text=lines[0].split('|t|')[1]+' '+lines[1].split('|a|')[1] + pmid=lines[0].split('|t|')[0] + # print(pmid) + entity_all=[] #[[seg0,seg1,...,],[]] + for i in range(2,len(lines)): + seg=lines[i].split('\t') + entity_all.append(seg) + + #ssplit token + doc_stanza = nlp(ori_text) + token_text='' + for sent in doc_stanza.sentences: + for word in sent.words: + if word.text==' ': + pass + # print('token is blank!') + else: + token_text+=word.text+' ' + #token_text=token_text+' ' #sentence split by four blank + + #ori_index map token_index + index_map=[-1]*len(ori_text) + j=0 + space_list=[' ',chr(160),chr(8201),chr(8194),chr(8197),chr(8202)] #空格有好几ç§ï¼Œç¬¬ä¸€ä¸ªæ˜¯å¸¸ç”¨32,第二个shi 160,8201,8194,8197 + for i in range(0,len(ori_text)): + if ori_text[i] in space_list: + pass + elif ori_text[i]==token_text[j]: + #if i>0 and i<285: + # print('=i,j:',i,j,ori_text[i-1:i+1],token_text[j-1:j+1]) + index_map[i]=j + j+=1 + else: + #if i==283: + # print('!i,j:',i,j,ori_text[i-1:i+1],token_text[j-1:j+1]) + j+=1 + temp_log=j + try: + while(ori_text[i]!=token_text[j]): + j+=1 + except: + print('doc',doc_text) + print('token_text:',token_text) + print('error:',ori_text[i-10:i+10],'i:',ori_text[i],'j:',token_text[temp_log],',',token_text[temp_log-10:temp_log+10]) + print(ord(ori_text[i]),ord(' ')) + sys.exit() + index_map[i]=j + j+=1 + # print(index_map) + # token_text=token_text.replace(' ','') + # print(token_text) + fout.write(token_text+'\n') + for ele in entity_all: + if index_map[int(ele[1])]==-1: + new_ents=index_map[int(ele[1])+1] + else: + new_ents=index_map[int(ele[1])] + if index_map[int(ele[2])-1]==-1: + new_ente=index_map[int(ele[2])-1-1]+1 + else: + new_ente=index_map[int(ele[2])-1]+1 + new_ent=token_text[new_ents:new_ente] + if ele[4]=='Species' or ele[4]=='Gene': + fout.write(ele[0]+'\t'+str(new_ents)+'\t'+str(new_ente)+'\t'+new_ent+'\t'+ele[4]+'\t'+ele[5]+'\n') + else: + # print(ele[4]) + fout.write(ele[0]+'\t'+str(new_ents)+'\t'+str(new_ente)+'\t'+new_ent+'\t'+'Gene'+'\t'+ele[5]+'\n') + fout.write('\n') + return fout.getvalue() + + +def corpus_noNest(token_input): + + fin=io.StringIO(token_input) + fout=io.StringIO() + + documents=fin.read().strip().split('\n\n') + fin.close() + total_entity=0 + over_entity=0 + nest_entity=0 + for doc in documents: + lines=doc.split('\n') + context=lines[0] + entity_list=[] + if len(lines)>1: + doc_result={} + for i in range(1,len(lines)): + segs=lines[i].split('\t') + doc_result[lines[i]]=[int(segs[1]),int(segs[2])] + doc_result=sorted(doc_result.items(), key=lambda kv:(kv[1]), reverse=False) + doc_result_sort=[] + for ele in doc_result: + doc_result_sort.append(ele[0]) + + first_entity=doc_result_sort[0].split('\t') + nest_list=[first_entity] + max_eid=int(first_entity[2]) + total_entity+=len(lines)-2 + for i in range(1,len(doc_result_sort)): + segs=doc_result_sort[i].split('\t') + if int(segs[1])> max_eid: + if len(nest_list)==1: + entity_list.append(nest_list[0]) + nest_list=[] + nest_list.append(segs) + if int(segs[2])>max_eid: + max_eid=int(segs[2]) + else: + # print(nest_list) + nest_entity+=len(nest_list)-1 + tem=find_max_entity(nest_list,context)#find max entity + # if len(tem)>1: + # print('max nest >1:',tem) + entity_list.extend(tem) + nest_list=[] + nest_list.append(segs) + if int(segs[2])>max_eid: + max_eid=int(segs[2]) + + else: + nest_list.append(segs) + over_entity+=1 + if int(segs[2])>max_eid: + max_eid=int(segs[2]) + if nest_list!=[]: + if len(nest_list)==1: + entity_list.append(nest_list[0]) + + else: + tem=find_max_entity(nest_list,context)#find max entity + # if len(tem)>1: + # print('max nest >1:',tem) + entity_list.extend(tem) + fout.write(context+'\n') + for ele in entity_list: + if ele[4]=='Gene': + temp_gene={} + gene_ids=ele[5].split(',') + for gene_id in gene_ids: + temp_id=gene_id[gene_id.find('Species:'):-1] + spe_id=temp_id[len('Species:'):] + temp_gene[temp_id]=int(spe_id) + temp_gene_sort=sorted(temp_gene.items(), key=lambda kv:(kv[1]), reverse=False) + final_gene_id='' + for temp_ele in temp_gene_sort: + final_gene_id+=temp_ele[0]+',' + fout.write('\t'.join(ele[:-1])+'\t'+final_gene_id[:-1]+'\n') + else: + fout.write('\t'.join(ele)+'\n') + fout.write('\n') + # print(total_entity,over_entity, nest_entity) + return fout.getvalue() + +def find_max_entity(nest_list,text): + max_len=0 + final_tem=[] + max_index=0 + for i in range(0, len(nest_list)): + if nest_list[i][4] =='Species': + final_tem.append(nest_list[i]) + else: + cur_len=int(nest_list[i][2])-int(nest_list[i][1]) + if cur_len>max_len: + max_len=cur_len + max_index=i + final_tem.append(nest_list[max_index]) + return final_tem + + +def generate_seq_input(nonest_input,outfile): + + fin=io.StringIO(nonest_input) + fout=open(outfile,'w',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + + final_input=[] + + for doc in all_in: + lines=doc.split('\n') + token_text=lines[0] + pmid=lines[1].split('\t')[0] + # print(pmid) + #read entity and relation + entity_arg1={} #only entity offset + entity_arg2={} #only entity offset + entity_all=[] #all entity infor + + for i in range(1,len(lines)): + seg=lines[i].split('\t') + if seg[4]==REL_ENT['arg1']: + if seg[-1] in entity_arg1.keys(): + entity_arg1[seg[-1]].append([seg[1],seg[2]]) + else: + entity_arg1[seg[-1]]=[[seg[1],seg[2]]] + elif seg[4]==REL_ENT['arg2']: + temp_spes=seg[-1].split(',') + for ele in temp_spes: + gene_spe_id=ele + if gene_spe_id in entity_arg2.keys(): + entity_arg2[gene_spe_id].append([seg[1],seg[2]]) + else: + entity_arg2[gene_spe_id]=[[seg[1],seg[2]]] + + entity_all.append(seg) + # print('\narg1:',entity_arg1) + # print('\narg2:',entity_arg2) + # print('\nall entity:',entity_all) + # for all arg1 to produce inst + for cur_ele in entity_arg1.keys(): + + #1. ner label text + #check cur_ele in relation? + # print(relation_all.keys()) + if cur_ele in entity_arg2.keys(): #pos instance + rel_ent2=entity_arg2[cur_ele] + ner_text='' + text_sid=0 + #print('nonest:',entity_nonest) + for ele_nonest in entity_all: + ent_id=[ele_nonest[1],ele_nonest[2]] + ent_sid=int(ele_nonest[1]) + ent_eid=int(ele_nonest[2]) + # print('sid,eid:',ent_sid,ent_eid) + ent_text=ele_nonest[3] + ent_type=ele_nonest[4] + if ent_sid>=text_sid: + if ent_id in entity_arg1[cur_ele]: + ner_text+=token_text[text_sid:ent_sid]+' '+ENTITY_TAG['arg1'][0]+' '+ent_text+ ' '+ENTITY_TAG['arg1'][1]+' ' + else: + if ent_id in rel_ent2: #arg2 entity + if ent_type!=REL_ENT['arg2']: + pass + # print('arg2 is error! not ',REL_ENT['arg2'], ele_nonest) + ner_text+=token_text[text_sid:ent_sid]+' '+ENTITY_TAG['arg2'][0]+' '+ent_text+ ' '+ENTITY_TAG['arg2'][1]+' ' + else: + ner_text+=token_text[text_sid:ent_sid]+' '+ENTITY_TAG[ent_type.lower()][0]+' '+ent_text+ ' '+ENTITY_TAG[ent_type.lower()][1]+' ' + text_sid=ent_eid + else: + pass + # print('ner entity error!!!',ele_nonest,text_sid) + ner_text+=token_text[text_sid:] + sen_tokens=ner_text.split() + # print('\nner_text:',ner_text) + + #3 produce pos input + + temp_input=[] + token_id=0 + while token_id =0: + temp_input.append(ENTITY_TAG['arg1'][0]+'\tO') + token_id+=1 + while(sen_tokens[token_id]!=ENTITY_TAG['arg1'][1]): + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + temp_input.append(ENTITY_TAG['arg1'][1]+'\tO') + elif sen_tokens[token_id].find(ENTITY_TAG['arg2'][0])>=0: + temp_input.append(ENTITY_TAG[REL_ENT['arg2'].lower()][0]+'\tARG2') + token_id+=1 + while(sen_tokens[token_id]!=ENTITY_TAG['arg2'][1]): + temp_input.append(sen_tokens[token_id]+'\tARG2') + token_id+=1 + temp_input.append(ENTITY_TAG[REL_ENT['arg2'].lower()][1]+'\tARG2') + elif sen_tokens[token_id].find(ENTITY_TAG['gene'][0])>=0: + temp_input.append(ENTITY_TAG['gene'][0]+'\tO') + token_id+=1 + while(sen_tokens[token_id]!=ENTITY_TAG['gene'][1]): + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + temp_input.append(ENTITY_TAG['gene'][1]+'\tO') + elif sen_tokens[token_id].find(ENTITY_TAG['species'][0])>=0: + temp_input.append(ENTITY_TAG['species'][0]+'\tO') + token_id+=1 + while(sen_tokens[token_id]!=ENTITY_TAG['species'][1]): + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + temp_input.append(ENTITY_TAG['species'][1]+'\tO') + else: + if sen_tokens[token_id]=='': + # print('token is none!error!') + pass + else: + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + + final_input.append('\n'.join(temp_input)) + + else: #neg instance + ner_text='' + text_sid=0 + #print('nonest:',entity_nonest) + for ele_nonest in entity_all: + ent_id=[ele_nonest[1],ele_nonest[2]] + ent_sid=int(ele_nonest[1]) + ent_eid=int(ele_nonest[2]) + # print('sid,eid:',ent_sid,ent_eid) + ent_text=ele_nonest[3] + ent_type=ele_nonest[4] + if ent_sid>=text_sid: + if ent_id in entity_arg1[cur_ele]: + ner_text+=token_text[text_sid:ent_sid]+' '+ENTITY_TAG['arg1'][0]+' '+ent_text+ ' '+ENTITY_TAG['arg1'][1]+' ' + else: + ner_text+=token_text[text_sid:ent_sid]+' '+ENTITY_TAG[ent_type.lower()][0]+' '+ent_text+ ' '+ENTITY_TAG[ent_type.lower()][1]+' ' + text_sid=ent_eid + else: + pass + # print('ner entity error!!!') + ner_text+=token_text[text_sid:] + sen_tokens=ner_text.split() + # print('\nner_text:',ner_text) + # print('ner_Text') + #3 produce NEG input + + temp_input=[] + token_id=0 + while token_id =0: + temp_input.append(ENTITY_TAG['arg1'][0]+'\tO') + token_id+=1 + while(sen_tokens[token_id]!=ENTITY_TAG['arg1'][1]): + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + temp_input.append(ENTITY_TAG['arg1'][1]+'\tO') + elif sen_tokens[token_id].find(ENTITY_TAG['gene'][0])>=0: + temp_input.append(ENTITY_TAG['gene'][0]+'\tO') + token_id+=1 + while(sen_tokens[token_id]!=ENTITY_TAG['gene'][1]): + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + temp_input.append(ENTITY_TAG['gene'][1]+'\tO') + elif sen_tokens[token_id].find(ENTITY_TAG['species'][0])>=0: + temp_input.append(ENTITY_TAG['species'][0]+'\tO') + token_id+=1 + while(sen_tokens[token_id]!=ENTITY_TAG['species'][1]): + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + temp_input.append(ENTITY_TAG['species'][1]+'\tO') + else: + if sen_tokens[token_id]=='': + print('token is none!error!') + else: + temp_input.append(sen_tokens[token_id]+'\tO') + token_id+=1 + + final_input.append('\n'.join(temp_input)) + # print(entity_nonest) + # sys.exit() + fout.write('\n\n'.join(final_input)) + fout.write('\n') + fout.close() + +def check_entity_pos(line,relations): + + seg=line.split(' ') + stack_ent=[] + # print(seg) + entity_num={'arg1':0,'arg2':0, 'gene':0,'chemical':0} + + temp_arg2=[] + for i in range(0,len(seg)): + if seg[i].find(ENTITY_TAG['gene'][0])>=0: + entity_num['gene']+=1 + stack_ent.append(seg[i]) + elif seg[i].find(ENTITY_TAG['chemical'][0])>=0: + entity_num['chemical']+=1 + stack_ent.append(seg[i]) + # print(stack_ent) + elif seg[i].find(ENTITY_TAG['arg1'][0])>=0: + entity_num['arg1']+=1 + stack_ent.append(seg[i]) + elif seg[i].find(ENTITY_TAG['arg2'][0])>=0: + entity_num['arg2']+=1 + temp_arg2.append(seg[i].split('|')[0]) + stack_ent.append(seg[i]) + elif seg[i].find(ENTITY_TAG['arg1'][1])>=0 or seg[i].find(ENTITY_TAG['arg2'][1])>=0 or seg[i].find(ENTITY_TAG['gene'][1])>=0 or seg[i].find(ENTITY_TAG['chemical'][1])>=0: + stack_ent.pop() + if stack_ent!=[]: + # print('entity no match!',stack_ent) + return(-1,seg,entity_num) + + else: + if entity_num['arg1']!=0: + for arg2_id in relations.keys(): + if arg2_id not in temp_arg2: + # print('\ntemp_arg2:',temp_arg2) + # print('\narg2_id:',arg2_id) + return(0,seg,entity_num) #some arg2 not in sentence + if entity_num['arg2']!=0 and entity_num['arg1']==0: + return(0,seg,entity_num) #only arg2, but no arg1 + return(1,seg,entity_num) + +def check_entity_neg(line): + + seg=line.split(' ') + stack_ent=[] + # print(seg) + entity_num={'arg1':0,'gene':0,'chemical':0} + for i in range(0,len(seg)): + if seg[i].find(ENTITY_TAG['gene'][0])>=0: + entity_num['gene']+=1 + stack_ent.append(seg[i]) + elif seg[i].find(ENTITY_TAG['chemical'][0])>=0: + entity_num['chemical']+=1 + stack_ent.append(seg[i]) + # print(stack_ent) + elif seg[i].find(ENTITY_TAG['arg1'][0])>=0: + entity_num['arg1']+=1 + stack_ent.append(seg[i]) + elif seg[i].find(ENTITY_TAG['arg1'][1])>=0 or seg[i].find(ENTITY_TAG['gene'][1])>=0 or seg[i].find(ENTITY_TAG['chemical'][1])>=0: + stack_ent.pop() + if stack_ent!=[]: + # print('entity no match!',stack_ent) + return(-1,seg,entity_num) + + else: + return(1,seg,entity_num) + +def get_one_entity(nest_list,cur_ent,rel_entity2_id): + max_len=0 + max_entity=[] + final_entity=[] + for i in range(0, len(nest_list)): + if nest_list[i][1]==cur_ent:#current entity + final_entity=[] + max_entity=nest_list[i] + final_entity.append(nest_list[i]) + return(final_entity) + if nest_list[i][1] in rel_entity2_id: #invole rel + final_entity.append(nest_list[i]) + continue + length=int(nest_list[i][4])-int(nest_list[i][3]) + if max_entity==[]: #first entity + max_len=length + max_entity=nest_list[i] + else: + if length>max_len: + if max_entity[2]==REL_ENT['arg1']: + max_len=length + max_entity=nest_list[i] + else: + if nest_list[i][2]==REL_ENT['arg2'] and max_entity[1] not in rel_entity2_id: + max_len=length + max_entity=nest_list[i] + + else: + if nest_list[i][1] in rel_entity2_id: + max_len=length + max_entity=nest_list[i] + elif max_entity[2]==REL_ENT['arg1'] and nest_list[i][2]==REL_ENT['arg2']: + max_len=length + max_entity=nest_list[i] + if final_entity==[]: + final_entity.append(max_entity) + return final_entity + +if __name__=='__main__': + + infile='../../TrainingSet/No505/SA.Train.txt' + outfile='../../TrainingSet/No505/SA.Train.conll' + + #tokenizer + token_input=ssplit_token(infile) + + #filter nest entity + nonest_input=corpus_noNest(token_input) + + # to conll + generate_seq_input(nonest_input,outfile) \ No newline at end of file diff --git a/src_python/SpeAss/ml_tagging_score_sa.py b/src_python/SpeAss/ml_tagging_score_sa.py new file mode 100644 index 0000000000000000000000000000000000000000..e396ca0ed8b233103439137d1a017259006f867c --- /dev/null +++ b/src_python/SpeAss/ml_tagging_score_sa.py @@ -0,0 +1,220 @@ +# -*- coding: utf-8 -*- +""" +Created on Fri Jan 7 09:29:46 2022 + +@author: luol2 + +machine learning tagging + +""" + + +import time +import io + +from src_python.SpeAss.processing_data_sa import ml_intext_fn,out_BIO_BERT_softmax_score_fn +import tensorflow as tf +gpu = tf.config.list_physical_devices('GPU') +print("Num GPUs Available: ", len(gpu)) +if len(gpu) > 0: + tf.config.experimental.set_memory_growth(gpu[0], True) +#tf.compat.v1.disable_eager_execution() + +REL_ENT={'arg1':'Species', + 'arg2':'Gene'} + +entity_tag={'arg1':['arg1s','arg1e'], + 'gene':['gene1s','gene1e'], + 'species':['species1s','species1e'] + } + +def input_preprocess_notoken(doc_text): + final_input=[] + final_id=[] + + lines=doc_text.split('\n') + token_text=lines[0] + pmid=lines[1].split('\t')[0] + entity_arg1={} #{species_id:[[spe_sid1,sep_eid1],[...]]} + entity_all=[] + for i in range(1,len(lines)): + seg=lines[i].split('\t') + if seg[6]==REL_ENT['arg1']: + if seg[-1] in entity_arg1.keys(): + entity_arg1[seg[-1]].append([seg[3],seg[4]]) + else: + entity_arg1[seg[-1]]=[[seg[3],seg[4]]] + entity_all.append(seg) + + #print(token_text) + #print(entity_chemical) + #generate input instance + for cur_ele in entity_arg1: + + #2. ner label text + ner_text='' + text_sid=0 + #print('nonest:',entity_nonest) + for ele_nonest in entity_all: + ent_id=[ele_nonest[3],ele_nonest[4]] + ent_spe_id=ele_nonest[-1] + ent_sid=int(ele_nonest[3]) + ent_eid=int(ele_nonest[4]) + # print('sid,eid:',ent_sid,ent_eid) + ent_text=ele_nonest[5] + ent_type=ele_nonest[6] + if ent_sid>=text_sid: + # if token_text[ent_sid:ent_eid]!=ent_text: + # print('error!index_text,entext:',token_text[ent_sid:ent_eid],ent_text) + if ent_id in entity_arg1[cur_ele]: #is species + ner_text+=token_text[text_sid:ent_sid]+' '+ent_spe_id+'|'+entity_tag['arg1'][0]+' '+ent_text+' '+entity_tag['arg1'][1]+' ' + else: + ner_text+=token_text[text_sid:ent_sid]+' '+str(ent_sid)+'-'+str(ent_eid)+'|'+entity_tag[ent_type.lower()][0]+' '+ent_text+' '+entity_tag[ent_type.lower()][1]+' ' + text_sid=ent_eid + ner_text+=token_text[text_sid:] + sen_tokens=ner_text.split() + #print('\nner_text:',ner_text) + + #3. produce input + temp_input=[] + temp_id={'species':'','gene':[]} + for sen_token in sen_tokens: + if sen_token.find(entity_tag['arg1'][0])>=0: + en_id=sen_token.split('|')[0] + temp_id['species']=en_id + temp_input.append(entity_tag['arg1'][0]+'\tO') + elif sen_token.find(entity_tag['gene'][0])>=0: + en_id=sen_token.split('|')[0] + temp_id['gene'].append(en_id) + temp_input.append(entity_tag['gene'][0]+'\tO') + elif sen_token.find(entity_tag['species'][0])>=0: + en_id=sen_token.split('|')[0] + # temp_id.append(en_id) + temp_input.append(entity_tag['species'][0]+'\tO') + else: + if sen_token=='': + # print('token is none!error!') + pass + else: + temp_input.append(sen_token+'\tO') + final_input.append('\n'.join(temp_input)) + final_id.append(temp_id) + + # print(entity_nonest) + return final_input,final_id,entity_all,pmid + + +def ml_tagging(ml_input,nn_model): + + test_set,test_label = ml_intext_fn(ml_input) + test_x,test_y, test_bert_text_label=nn_model.rep.load_data_hugface(test_set,test_label,word_max_len=nn_model.maxlen,label_type='softmax') + test_pre = nn_model.model.predict(test_x) + ml_out=out_BIO_BERT_softmax_score_fn(test_pre,test_bert_text_label,nn_model.rep.index_2_label) + return ml_out + +def output_rel(ml_output,entity_map,pmid): + fin=io.StringIO(ml_output) + alltexts=fin.read().strip().split('\n\n') + fin.close() + final_out={} #{'sid-eid':[spechies id]} + for sen_id,sentence in enumerate(alltexts): + tokens=sentence.split('\n') + gene_entity_id=0 + token_id=0 + arg1='' + arg2_list=[] #[[ID, score],[id,score]] + while (token_id=len(tokens): + break + seg=tokens[token_id].split('\t') + while seg[0]!=entity_tag['arg1'][1]: + token_id+=1 + if token_id >=len(tokens): + break + seg=tokens[token_id].split('\t') + elif seg[0]==entity_tag[REL_ENT['arg2'].lower()][0]: + temp_rel=seg[-2] + temp_score=seg[-1] + arg2_id=entity_map[sen_id]['gene'][gene_entity_id] + gene_entity_id+=1 + token_id+=1 + if token_id >=len(tokens): + break + seg=tokens[token_id].split('\t') + while seg[0]!=entity_tag[REL_ENT['arg2'].lower()][1]: + token_id+=1 + if token_id >=len(tokens): + break + seg=tokens[token_id].split('\t') + if seg[-2].find('ARG2')>=0 and temp_rel.find('ARG2')<0: + temp_rel=seg[-2] + temp_score=seg[-1] + if temp_rel.find('ARG2')>=0: + arg2_list.append([arg2_id,temp_score]) + elif seg[0]==entity_tag[REL_ENT['arg1'].lower()][0]: + token_id+=1 + if token_id >=len(tokens): + break + seg=tokens[token_id].split('\t') + while seg[0]!=entity_tag[REL_ENT['arg1'].lower()][1]: + token_id+=1 + if token_id >=len(tokens): + break + seg=tokens[token_id].split('\t') + + else: + pass + token_id+=1 + #print(arg1,arg2_list) + if arg2_list!=[] and arg1!='': + for arg2_ele in arg2_list: + if arg2_ele[0] not in final_out.keys(): + final_out[arg2_ele[0]]=[arg1+'|'+arg2_ele[1]] + else: + final_out[arg2_ele[0]].append(arg1+'|'+arg2_ele[1]) + return(final_out) + +def NER_Tag(doc_in,nn_model): + + #1. preprocess input, input_text:conllæ ¼å¼, input_entity:相应的实体列表 + #print(doc_in) + input_text,entity_index,entity_all,pmid=input_preprocess_notoken(doc_in) + # print('pmid:',pmid) + # print('\entity_index:',entity_index) + + + #2. ml tagging + if input_text!=[]: + ml_pre=ml_tagging(input_text,nn_model) + #print('\noutput:') + #print(ml_pre) + + #3.generate output + final_output=output_rel(ml_pre,entity_index,pmid) + else: + final_output={} + return final_output,entity_all + + + + + + + + + + + + + + + + + + + + diff --git a/src_python/SpeAss/model_sa.py b/src_python/SpeAss/model_sa.py new file mode 100644 index 0000000000000000000000000000000000000000..b1b857541f7ff138f1685a3d2354bab4e61784b2 --- /dev/null +++ b/src_python/SpeAss/model_sa.py @@ -0,0 +1,105 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Feb 10 09:08:09 2021 + +@author: luol2 + +Model Architecture + +""" +import tensorflow as tf +from src_python.SpeAss.represent_sa import Hugface_RepresentationLayer +from tensorflow.keras.layers import * +from tensorflow.keras.models import Model +from tensorflow.keras.optimizers import RMSprop, SGD, Adam, Adadelta, Adagrad,Nadam +from transformers import TFAutoModel +import numpy as np +import sys + + +class LRSchedule_LINEAR(tf.keras.optimizers.schedules.LearningRateSchedule): + def __init__( + self, + init_lr=5e-5, + init_warmup_lr=0.0, + final_lr=5e-7, + warmup_steps=0, + decay_steps=0, + ): + super().__init__() + self.init_lr = init_lr + self.init_warmup_lr=init_warmup_lr + self.final_lr = final_lr + self.warmup_steps = warmup_steps + self.decay_steps = decay_steps + + def __call__(self, step): + """ linear warm up - linear decay """ + if self.warmup_steps>0: + warmup_lr = (self.init_lr - self.init_warmup_lr)/self.warmup_steps * step+self.init_warmup_lr + else: + warmup_lr=1000.0 + #print('\n.......warmup_lr:',warmup_lr) + decay_lr = tf.math.maximum( + self.final_lr, + self.init_lr - (step - self.warmup_steps)/self.decay_steps*(self.init_lr - self.final_lr) + ) + #print('\n.....decay_lr:',decay_lr) + return tf.math.minimum(warmup_lr,decay_lr) + + + +class HUGFACE_NER(): #huggingface transformers + def __init__(self, model_files): + self.model_type='HUGFACE' + self.maxlen = 512 + self.checkpoint_path = model_files['checkpoint_path'] + self.label_file=model_files['labelfile'] + self.lowercase=model_files['lowercase'] + self.rep = Hugface_RepresentationLayer(self.checkpoint_path, self.label_file, lowercase=self.lowercase) + + + def build_encoder(self): + print('...vocab len:',self.rep.vocab_len) + plm_model = TFAutoModel.from_pretrained(self.checkpoint_path, from_pt=True) + plm_model.resize_token_embeddings(self.rep.vocab_len) + x1_in = Input(shape=(self.maxlen,),dtype=tf.int32, name='input_ids') + x2_in = Input(shape=(self.maxlen,),dtype=tf.int32, name='token_type_ids') + x3_in = Input(shape=(self.maxlen,),dtype=tf.int32, name='attention_mask') + x = plm_model(x1_in, token_type_ids=x2_in, attention_mask=x3_in)[0] + #dense = TimeDistributed(Dense(512, activation='relu'), name='dense1')(x) + self.encoder = Model (inputs=[x1_in,x2_in,x3_in], outputs=x,name='hugface_encoder') + self.encoder.summary() + + def build_softmax_decoder(self): + + x1_in = Input(shape=(self.maxlen,),dtype=tf.int32) + x2_in = Input(shape=(self.maxlen,),dtype=tf.int32) + x3_in = Input(shape=(self.maxlen,),dtype=tf.int32) + features = self.encoder([x1_in,x2_in,x3_in]) + #features = Dropout(0.4)(features) + #features = TimeDistributed(Dense(128, activation='relu'), name='dense2')(features) + features= Dropout(0.1)(features) + output = TimeDistributed(Dense(self.rep.label_table_size, activation='softmax'), name='softmax')(features) + self.model = Model(inputs=[x1_in,x2_in,x3_in], outputs=output, name="hugface_softmax") + + # lr_schedule=LRSchedule_LINEAR( + # init_lr=1e-5, + # init_warmup_lr=1e-7, + # final_lr=1e-6, + # warmup_steps=0, + # decay_steps=40000) + + opt = Adam(learning_rate = 5e-6) + self.model.compile( + optimizer=opt, + loss='sparse_categorical_crossentropy', + metrics=['accuracy'], + ) + self.model.summary() + + + def load_model(self,model_file): + self.model.load_weights(model_file) + self.model.summary() + print('load HUGFACE model done!') diff --git a/src_python/SpeAss/processing_data_sa.py b/src_python/SpeAss/processing_data_sa.py new file mode 100644 index 0000000000000000000000000000000000000000..a80ae827b9486053029f0dcafe3c32993ce4542e --- /dev/null +++ b/src_python/SpeAss/processing_data_sa.py @@ -0,0 +1,201 @@ +# -*- coding: utf-8 -*- +""" +Created on Tue Mar 10 16:34:12 2020 + +@author: luol2 +""" +import numpy as np +import io +import sys +#read ner text (word\tlabel), generate the list[[[w1,label],[w2,label]]] +def ml_intext(file): + fin=open(file,'r',encoding='utf-8') + alltexts=fin.read().strip().split('\n\n') + fin.close() + data_list=[] + label_list=[] + + for sents in alltexts: + lines=sents.split('\n') + temp_sentece=[] + for i in range(0,len(lines)): + seg=lines[i].split('\t') + temp_sentece.append(seg[:]) + label_list.append(seg[-1]) + + data_list.append(temp_sentece) + #print(data_list) + #print(label_list) + return data_list,label_list + +def ml_intext_fn(alltexts): + # fin=io.StringIO(ml_input) + # alltexts=fin.read().strip().split('\n\n') + # fin.close() + data_list=[] + label_list=[] + + for sents in alltexts: + lines=sents.split('\n') + temp_sentece=[] + for i in range(0,len(lines)): + seg=lines[i].split('\t') + temp_sentece.append(seg[:]) + label_list.append(seg[-1]) + + data_list.append(temp_sentece) + #print(data_list) + #print(label_list) + return data_list,label_list + +# model predict result to conll evalute format [token answer predict] +def out_BIO(file,raw_pre,raw_input,label_set): + fout=open(file,'w',encoding='utf-8') + for i in range(len(raw_input)): + + for j in range(len(raw_input[i])): + if jmax_len: + max_len=word_len + print(seg[0]) + for i in range(word_len): + if seg[0][i] not in char_vocab: + char_vocab.append(seg[0][i]) + #else: + # fout.write(line) + fin.close() + #fout.close() + for ele in char_vocab: + fout_char.write(ele+'\n') + fout_char.close() + print('max_len:',max_len) + + +if __name__=='__main__': + # infile='//panfs/pan1/bionlp/lulab/luoling/HPO_project/AutoPhe/data/pubmed_unlabel/mutation_disease_1990.ner_BIO' + # #outfile='//panfs/pan1/bionlp/lulab/luoling/HPO_project/AutoPhe/data/pubmed_unlabel/mutation_disease_1990.ner_BIO_new' + # outfile_char='//panfs/pan1/bionlp/lulab/luoling/HPO_project/AutoPhe/src/nn_model/vocab/char_vocab' + # #processing_text(file) + # char_vocab(infile,outfile_char) + a=[1,2,3] + print(a[:-1]) diff --git a/src_python/SpeAss/represent_sa.py b/src_python/SpeAss/represent_sa.py new file mode 100644 index 0000000000000000000000000000000000000000..608367babee7437c4f9111012c6a694402db4df5 --- /dev/null +++ b/src_python/SpeAss/represent_sa.py @@ -0,0 +1,143 @@ +# -*- coding: utf-8 -*- +""" +Created on Mon Aug 30 19:54:17 2021 + +@author: luol2 + +input representation of model + +""" + +import os, sys +import numpy as np +from tensorflow.keras.preprocessing.sequence import pad_sequences +from transformers import AutoTokenizer + + + +class Hugface_RepresentationLayer(object): + + + def __init__(self, tokenizer_name_or_path, label_file,lowercase=True): + + + #load vocab + + self.model_type='bert' + self.tokenizer = AutoTokenizer.from_pretrained(tokenizer_name_or_path, use_fast=True,do_lower_case=lowercase) + + self.tokenizer.add_tokens(["arg1s","arg1e","gene1s","gene1e","species1s","species1e"]) + + #load label + self.label_2_index={} + self.index_2_label={} + self.label_table_size=0 + self.load_label_vocab(label_file,self.label_2_index,self.index_2_label) + self.label_table_size=len(self.label_2_index) + self.vocab_len=len(self.tokenizer) + + def load_label_vocab(self,fea_file,fea_index,index_2_label): + + fin=open(fea_file,'r',encoding='utf-8') + all_text=fin.read().strip().split('\n') + fin.close() + for i in range(0,len(all_text)): + fea_index[all_text[i]]=i + index_2_label[str(i)]=all_text[i] + + + + def generate_label_list(self,bert_tokens,labels,word_index): + label_list=['O']*len(word_index) + label_i=0 + if len(word_index)!=len(bert_tokens): + print('index != tokens',word_index,bert_tokens) + sys.exit() + last_word_index=0 + for i in range(0,len(word_index)): + if word_index[i]==None: + pass + else: + label_list[i]=labels[word_index[i]] + + label_list_index=[] + bert_text_label=[] + for i in range(0,len(bert_tokens)): + label_list_index.append(self.label_2_index[label_list[i]]) + bert_text_label.append([bert_tokens[i],label_list[i]]) + + return label_list_index,bert_text_label + + + def load_data_hugface(self,instances, labels, word_max_len=100, label_type='softmax'): + + x_index=[] + x_seg=[] + x_mask=[] + y_list=[] + bert_text_labels=[] + max_len=0 + over_num=0 + maxT=word_max_len + ave_len=0 + + + for sentence in instances: + sentence_text_list=[] + label_list=[] + for j in range(0,len(sentence)): + sentence_text_list.append(sentence[j][0]) + label_list.append(sentence[j][-1]) + + token_result=self.tokenizer( + sentence_text_list, + max_length=word_max_len, + truncation=True,is_split_into_words=True) + + bert_tokens=self.tokenizer.convert_ids_to_tokens(token_result['input_ids']) + word_index=token_result.word_ids(batch_index=0) + ave_len+=len(bert_tokens) + if len(sentence_text_list)>max_len: + max_len=len(sentence_text_list) + if len(bert_tokens)>=maxT: + over_num+=1 + + x_index.append(token_result['input_ids']) + if self.model_type in {"gpt2", "roberta"}: + x_seg.append([0]*len(token_result['input_ids'])) + else: + x_seg.append(token_result['token_type_ids']) + x_mask.append(token_result['attention_mask']) + + #print('label:',label_list) + label_list,bert_text_label=self.generate_label_list(bert_tokens,label_list,word_index) + #print('\nlabel list:',label_list) + #print('\nbert_text_label:',bert_text_label) + #sys.exit() + y_list.append(label_list) + #print(y_list) + bert_text_labels.append(bert_text_label) + + + x1_np = pad_sequences(x_index, word_max_len, value=0, padding='post',truncating='post') # right padding + x2_np = pad_sequences(x_seg, word_max_len, value=0, padding='post',truncating='post') + x3_np = pad_sequences(x_mask, word_max_len, value=0, padding='post',truncating='post') + y_np = pad_sequences(y_list, word_max_len, value=0, padding='post',truncating='post') + + # print('bert max len:',max_len,',Over',maxT,':',over_num,'ave len:',ave_len/len(instances),'total:',len(instances)) + if label_type=='onehot': + y_np = np.eye(len(labels), dtype='float32')[y_np] + elif label_type=='softmax': + y_np = np.expand_dims(y_np, 2) + elif label_type=='crf': + pass + + + return [x1_np, x2_np,x3_np], y_np,bert_text_labels + + +if __name__ == '__main__': + pass + + + diff --git a/src_python/SpeAss/sa_tag.py b/src_python/SpeAss/sa_tag.py new file mode 100644 index 0000000000000000000000000000000000000000..d680e2daad7bb8b7a8d3854578a85ce73b10e2f9 --- /dev/null +++ b/src_python/SpeAss/sa_tag.py @@ -0,0 +1,586 @@ +# -*- coding: utf-8 -*- +""" +Created on Wed Jun 8 11:52:42 2022 + +@author: luol2 +""" + +import io +import os +import argparse +import stanza +import sys +import re +import bioc +from src_python.SpeAss.ml_tagging_score_sa import NER_Tag + + +def ssplit_token(infile,nlp_token): + fin=io.StringIO(infile.getvalue()) + fout=io.StringIO() + # fout=open(outfile,'w',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + ori_text_newentity={} #{line[0]+line[1]:[all entity]} + entity_type=set() + token_text_new={}#{pmid:token_text} + for doc_text in all_in: + lines=doc_text.split('\n') + ori_text=lines[0].split('|t|')[1]+' '+lines[1].split('|a|')[1] + pmid=lines[0].split('|t|')[0] + # print(pmid) + entity_all=[] #[[seg0,seg1,...,],[]] + entity_all_ori=[] + entity_num=0 + + #first sort + doc_result={} + for i in range(2,len(lines)): + segs=lines[i].split('\t') + doc_result[lines[i]]=[int(segs[2]),int(segs[3])] + doc_result=sorted(doc_result.items(), key=lambda kv:(kv[1]), reverse=False) + doc_result_sort=[] + for ele in doc_result: + doc_result_sort.append(ele[0]) + + for i in range(0,len(doc_result_sort)): + seg=doc_result_sort[i].strip().split('\t') + entity_type.add(seg[5]) + # print(seg) + if len(seg)<=6:#Gene + entity_all_ori.append([seg[0],seg[1],'M'+str(entity_num),seg[2],seg[3],seg[4],seg[5],'-']) + entity_all.append([seg[0],seg[1],'M'+str(entity_num),seg[2],seg[3],seg[4],'Gene','-']) + entity_num+=1 + elif seg[-1].find('*')>=0:# *Species + entity_all_ori.append([seg[0],seg[1],'M'+str(entity_num),seg[2],seg[3],seg[4],seg[5],seg[6]]) + entity_all.append([seg[0],seg[1],'M'+str(entity_num),seg[2],seg[3],seg[4],'Species',seg[6]]) + entity_num+=1 + ori_text_newentity[lines[0]+'\n'+lines[1]]=entity_all_ori + # sys.exit() + + #ssplit token + doc_stanza = nlp_token(ori_text) + token_text='' + sentence_index=[] #[text_offset] + for sent in doc_stanza.sentences: + for word in sent.words: + if word.text.strip()=='': + # print('token is blank!') + pass + token_text+=word.text+' ' + token_text=token_text+'' #sentence split + sentence_index.append(len(token_text)) + + #ori_index map token_index + index_map=[-1]*len(ori_text) + j=0 + space_list=[' ',chr(160),chr(8201),chr(8194),chr(8197),chr(8202)] #空格有好几ç§ï¼Œç¬¬ä¸€ä¸ªæ˜¯å¸¸ç”¨32,第二个shi 160,8201,8194,8197 + for i in range(0,len(ori_text)): + if ori_text[i] in space_list: + pass + elif ori_text[i]==token_text[j]: + index_map[i]=j + j+=1 + else: + j+=1 + temp_log=j + try: + while(ori_text[i]!=token_text[j]): + j+=1 + except: + print('doc',doc_text) + print('token_text:',token_text) + print('error:',ori_text[i-10:i+10],'i:',ori_text[i],'j:',token_text[temp_log],',',token_text[temp_log-10:temp_log+10]) + print(ord(ori_text[i]),ord(' ')) + sys.exit() + index_map[i]=j + j+=1 + # token_text=token_text.replace(' ','') + # print(token_text) + fout.write(token_text+'\n') + token_text_new[pmid]=token_text + entity_i=0 + cur_sent_i=0 + new_ente=0 + cur_sents=0 + cur_sente=sentence_index[0] + if entity_all!=[]: + bug_new_entity=[] + for entity_i in range(0,len(entity_all)): + new_ents=index_map[int(entity_all[entity_i][3])] + new_ente=index_map[int(entity_all[entity_i][4])-1]+1 + new_ent=token_text[new_ents:new_ente] + old_ent=entity_all[entity_i][5] + cur_sent_i=0 + cur_sents=0 + cur_sente=sentence_index[0] + while (not (max(new_ents,cur_sents) <= min(new_ente,cur_sente))) and (cur_sent_i=cur_sents and new_ente< cur_sente: + + if new_ent.replace(' ','') !=old_ent.replace(' ',''): + # print('entity error:',pmid,old_ent,new_ent,entity_all[entity_i][2],entity_all[entity_i][3]) + pass + fout.write(entity_all[entity_i][0]+'\t'+entity_all[entity_i][1]+'\t'+entity_all[entity_i][2]+'-'+str(cur_sent_i)+'\t'+str(new_ents)+'\t'+str(new_ente)+'\t'+new_ent+'\t'+entity_all[entity_i][6]+'\t'+entity_all[entity_i][7]+'\n') + entity_i+=1 + if entity_i>=len(entity_all): + break + new_ents=index_map[int(entity_all[entity_i][3])] + new_ente=index_map[int(entity_all[entity_i][4])-1]+1 + new_ent=token_text[new_ents:new_ente] + old_ent=entity_all[entity_i][5] + cur_sent_i+=1 + if cur_sent_i >= len(sentence_index): + break + cur_sents=sentence_index[cur_sent_i-1] + cur_sente=sentence_index[cur_sent_i] + """ + fout.write('\n') + # print(entity_type) + # fout.close() + return ori_text_newentity,token_text_new,fout + +def filter_nest(infile): #nonest + + # fin=open(infile,'r',encoding='utf-8') + # fout=open(outfile,'w',encoding='utf-8') + fin=io.StringIO(infile.getvalue()) + fout=io.StringIO() + + documents=fin.read().strip().split('\n\n') + fin.close() + total_entity=0 + over_entity=0 + nest_entity=0 + for doc in documents: + lines=doc.split('\n') + context=lines[0] + entity_list=[] + if len(lines)>1: + first_entity=lines[1].split('\t') + nest_list=[first_entity] + max_eid=int(first_entity[4]) + total_entity+=len(lines)-2 + for i in range(2,len(lines)): + segs=lines[i].split('\t') + if int(segs[3])> max_eid: + if len(nest_list)==1: + entity_list.append(nest_list[0]) + nest_list=[] + nest_list.append(segs) + if int(segs[4])>max_eid: + max_eid=int(segs[4]) + else: + # print(nest_list) + nest_entity+=len(nest_list)-1 + tem=find_max_entity(nest_list)#find max entity + # if len(tem)>1: + # print('max nest >1:',tem) + entity_list.extend(tem) + nest_list=[] + nest_list.append(segs) + if int(segs[4])>max_eid: + max_eid=int(segs[4]) + + else: + nest_list.append(segs) + if int(segs[4])>max_eid: + max_eid=int(segs[4]) + if nest_list!=[]: + if len(nest_list)==1: + entity_list.append(nest_list[0]) + + else: + tem=find_max_entity(nest_list)#find max entity + # if len(tem)>1: + # print('max nest >1:',tem) + entity_list.extend(tem) + fout.write(context+'\n') + for ele in entity_list: + fout.write('\t'.join(ele)+'\n') + fout.write('\n') + # print(total_entity,over_entity, nest_entity) + return fout +def find_max_entity(nest_list): + max_len=0 + final_tem=[] + max_index=0 + for i in range(0, len(nest_list)): + cur_len=int(nest_list[i][4])-int(nest_list[i][3]) + if cur_len>max_len: + max_len=cur_len + max_index=i + elif cur_len==max_len: + if nest_list[i][6] =='Gene': + max_index=i + # elif nest_list[i][5] =='Species': + # final_tem.append(nest_list[i]) + + final_tem.append(nest_list[max_index]) + return final_tem + + +# machine learning species assignment +def ml_tag(infile,nn_model): + + #tagging text + fin=io.StringIO(infile.getvalue()) + fout=io.StringIO() + # fin=open(infile,'r',encoding='utf-8') + all_in=fin.read().strip().split('\n\n') + fin.close() + + for doc in all_in: + pre_result,entity_all=NER_Tag(doc, nn_model) + for ele in entity_all: + ent_id=ele[3]+'-'+ele[4] + if ent_id in pre_result.keys(): + fout.write('\t'.join(ele)+'\t'+','.join(pre_result[ent_id])+'\n') + else: + fout.write('\t'.join(ele)+'\t-\n') + fout.write('\n') + + return fout + + +# details nearest+and +def post_rule1(ori_context,token_text,infile,outfile): + fin=open(infile,'r',encoding='utf-8') + fout=open(outfile,'w',encoding='utf-8') + pred_results={} #{pmid:{'M0':{'sent':'','offset':[sid,eid],'score':[[id,score],[id,score]]}}} #gene + species_index={} #{pmid:{sentid:[[spe_seg1],[spe_seg]]}} + mem_sent={} #{pmid:{'M0':sentid}} + gene_num=0 + gene_none=0 + for line in fin: + seg=line.strip().split('\t') + if len(seg)>1: + if seg[0] not in mem_sent.keys(): + _term_seg=seg[1].split('-') + mem_sent[seg[0]]={_term_seg[0]:_term_seg[1]} + else: + _term_seg=seg[1].split('-') + mem_sent[seg[0]][_term_seg[0]]=_term_seg[1] + if seg[5]=='Species': + if seg[0] not in species_index.keys(): + _sent_id=seg[1].split('-')[1] + species_index[seg[0]]={_sent_id:[seg]} + else: + _sent_id=seg[1].split('-')[1] + if _sent_id in species_index[seg[0]].keys(): + species_index[seg[0]][_sent_id].append(seg) + else: + species_index[seg[0]][_sent_id]=[seg] + else: + _pred_ids=seg[-1].split(',') + _temp_id_score=[] #[[spe_id,score]] + _sent_id=seg[1].split('-')[1] + for _pred_id in _pred_ids: + _temp_id_score.append(_pred_id.split('|')) + if seg[0] not in pred_results.keys(): + pred_results[seg[0]]={seg[1].split('-')[0]:{'sent':_sent_id,'offset':[seg[2],seg[3]],'score':_temp_id_score}} + else: + pred_results[seg[0]][seg[1].split('-')[0]]={'sent':_sent_id,'offset':[seg[2],seg[3]],'score':_temp_id_score} + #print(pred_results) + for pmid_text in ori_context.keys(): + #print(pmid_text) + lines=pmid_text.split('\n') + ori_text=lines[0].split('|t|')[1]+' '+lines[1].split('|a|')[1] + # print(ori_text) + fout.write(pmid_text+'\n') + pmid=lines[0].split('|t|')[0] + before_species=[] #nearest [eid,spe_id] + after_species=[] #nearest [sid,spe_id] + doc_specs=species_index[pmid] + #mul and spe + mul_and_spe=[] + for spe_sent in doc_specs.keys(): + last_id='' + new_diff_spe=[] + _temp_speid=set() + for ele in doc_specs[spe_sent]: + if ele[-2] !=last_id: + new_diff_spe.append(ele) + last_id =ele[-2] + _temp_speid.add(ele[-2]) + else: + + new_diff_spe.pop() + new_diff_spe.append(ele) + _temp_speid.add(ele[-2]) + last_id =ele[-2] + if len(new_diff_spe)==2: + spe_and_text=new_diff_spe[0][4]+' and '+new_diff_spe[1][4] + if ori_text.find(spe_and_text)>=0: + # print('old:',doc_specs[spe_sent]) + # print('new:',new_diff_spe) + # print('\n') + mul_and_spe=list(_temp_speid) + # print(mul_and_spe) + elif len(new_diff_spe)>2: + spe_and_text='' + for i in range(0,len(new_diff_spe)-1): + spe_and_text+=new_diff_spe[i][4]+', ' + spe_and_text1=spe_and_text[0:-2]+' and '+new_diff_spe[-1][4] + spe_and_text2=spe_and_text+'and '+new_diff_spe[-1][4] + if ori_text.find(spe_and_text1)>=0 or ori_text.find(spe_and_text2)>=0: + # print('old:',doc_specs[spe_sent]) + # print('new:',new_diff_spe) + mul_and_spe=list(_temp_speid) + # print(mul_and_spe) + Gene_type_list=['Gene','FamilyName','DomainMotif'] + for i,ele in enumerate(ori_context[pmid_text]): + #print(ele) + + if ele[5] in Gene_type_list: + gene_num+=1 + final_preds=set() + if ele[1] in pred_results[ele[0]].keys(): + temp_preds=pred_results[ele[0]][ele[1]]['score'] + + if temp_preds!=[['-']]: + if len(temp_preds)==1: + final_preds.add(temp_preds[0][0]) + else: + max_id='' + max_score=0 + for _temp_pred in temp_preds: + _score=float(_temp_pred[1]) + _id_ass=_temp_pred[0] + if len(mul_and_spe)>1: + if _score>0.5 and (_id_ass in mul_and_spe): + # print(_score) + final_preds.add(_id_ass) + if _score>max_score: + max_id=_id_ass + max_score=_score + if len(final_preds)==0: + final_preds.add(max_id) + # final_preds.add(multi_id) + else: #'-' nearst rule + gene_none+=1 + # print(mem_sent[ele[0]]) + _sent_id_gene=mem_sent[ele[0]][ele[1]] + + for j in range(i+1,len(ori_context[pmid_text])): + temp_seg=ori_context[pmid_text][j] + if temp_seg[5]=='Species': + after_species=[int(temp_seg[2]),temp_seg[6]] + break + # print(before_species,after_species) + # print(seg) + if before_species!=[] and after_species!=[]: + if len(ori_text[before_species[0]:int(ele[2])].split()) > len(ori_text[int(ele[3]):after_species[0]].split()): + final_preds.add(after_species[1]) + else: + final_preds.add(before_species[1]) + elif before_species==[]: + final_preds.add(after_species[1]) + elif after_species==[]: + final_preds.add(before_species[1]) + if len(final_preds)==0: + print('none pred!!!') + fout.write(ele[0]+'\t'+'\t'.join(ele[2:])+'\t'+','.join(final_preds)+'\n') + else: + # gene_none+=1 + # print(ele) + for j in range(i+1,len(ori_context[pmid_text])): + temp_seg=ori_context[pmid_text][j] + if temp_seg[5]=='Species': + after_species=[int(temp_seg[2]),temp_seg[6]] + break + # print(before_species,after_species) + # print(seg) + if before_species!=[] and after_species!=[]: + if len(ori_text[before_species[0]:int(ele[2])].split()) > len(ori_text[int(ele[3]):after_species[0]].split()): + final_preds.add(after_species[1]) + else: + final_preds.add(before_species[1]) + elif before_species==[]: + final_preds.add(after_species[1]) + elif after_species==[]: + final_preds.add(before_species[1]) + fout.write(ele[0]+'\t'+'\t'.join(ele[2:])+'\t'+','.join(final_preds)+'\n') + else: + fout.write(ele[0]+'\t'+'\t'.join(ele[2:])+'\t-\n') + before_species=[int(ele[3]),ele[6]] + fout.write('\n') + print('gene, none:',gene_num,gene_none) + fout.close() + +# major+and +def post_rule2(ori_context,token_text,infile): + # fin=open(infile,'r',encoding='utf-8') + # fout=open(outfile,'w',encoding='utf-8') + fin=io.StringIO(infile.getvalue()) + fout=io.StringIO() + pred_results={} #{pmid:{'M0':{'sent':'','offset':[sid,eid],'score':[[id,score],[id,score]]}}} #gene + species_index={} #{pmid:{sentid:[[spe_seg1],[spe_seg]]}} + species_count={}#{pmid:{speid:num}} + gene_num=0 + gene_none=0 + for line in fin: + seg=line.strip().split('\t') + if len(seg)>1: + if seg[6]=='Species': + if seg[0] not in species_count.keys(): + species_count[seg[0]]={seg[-2]:1} + else: + if seg[-2] not in species_count[seg[0]].keys(): + species_count[seg[0]][seg[-2]]=1 + else: + species_count[seg[0]][seg[-2]]+=1 + + if seg[0] not in species_index.keys(): + _sent_id=seg[2].split('-')[1] + species_index[seg[0]]={_sent_id:[seg]} + else: + _sent_id=seg[2].split('-')[1] + if _sent_id in species_index[seg[0]].keys(): + species_index[seg[0]][_sent_id].append(seg) + else: + species_index[seg[0]][_sent_id]=[seg] + else: + _pred_ids=seg[-1].split(',') + _temp_id_score=[] #[[spe_id,score]] + _sent_id=seg[2].split('-')[1] + for _pred_id in _pred_ids: + _temp_id_score.append(_pred_id.split('|')) + if seg[0] not in pred_results.keys(): + pred_results[seg[0]]={seg[2].split('-')[0]:{'sent':_sent_id,'offset':[seg[3],seg[4]],'score':_temp_id_score}} + else: + pred_results[seg[0]][seg[2].split('-')[0]]={'sent':_sent_id,'offset':[seg[3],seg[4]],'score':_temp_id_score} + fin.close() + #print(pred_results) + for pmid_text in ori_context.keys(): + #print(pmid_text) + lines=pmid_text.split('\n') + ori_text=lines[0].split('|t|')[1]+' '+lines[1].split('|a|')[1] + # print(ori_text) + fout.write(pmid_text+'\n') + pmid=lines[0].split('|t|')[0] + if pmid in species_count.keys(): + marjor_species = max(zip(species_count[pmid].values(), species_count[pmid].keys())) + else: + marjor_species = (1000,'*9606') + + if pmid in species_index.keys(): + doc_specs=species_index[pmid] + #mul and spe + mul_and_spe=[] + for spe_sent in doc_specs.keys(): + last_id='' + new_diff_spe=[] + _temp_speid=set() + for ele in doc_specs[spe_sent]: + if ele[-2] !=last_id: + new_diff_spe.append(ele) + last_id =ele[-2] + _temp_speid.add(ele[-2]) + else: + + new_diff_spe.pop() + new_diff_spe.append(ele) + _temp_speid.add(ele[-2]) + last_id =ele[-2] + if len(new_diff_spe)==2: + spe_and_text=new_diff_spe[0][5]+' and '+new_diff_spe[1][5] + if ori_text.find(spe_and_text)>=0: + # print('old:',doc_specs[spe_sent]) + # print('new:',new_diff_spe) + # print('\n') + mul_and_spe=list(_temp_speid) + # print(mul_and_spe) + elif len(new_diff_spe)>2: + spe_and_text='' + for i in range(0,len(new_diff_spe)-1): + spe_and_text+=new_diff_spe[i][5]+', ' + spe_and_text1=spe_and_text[0:-2]+' and '+new_diff_spe[-1][5] + spe_and_text2=spe_and_text+'and '+new_diff_spe[-1][5] + if ori_text.find(spe_and_text1)>=0 or ori_text.find(spe_and_text2)>=0: + # print('old:',doc_specs[spe_sent]) + # print('new:',new_diff_spe) + mul_and_spe=list(_temp_speid) + # print(mul_and_spe) + else: + mul_and_spe=[] + + Gene_type_list=['Gene','FamilyName','DomainMotif'] + for i,ele in enumerate(ori_context[pmid_text]): + #print(ele) + + if ele[6] in Gene_type_list: + gene_num+=1 + final_preds=set() + if (ele[0] in pred_results.keys()) and (ele[2] in pred_results[ele[0]].keys()): + temp_preds=pred_results[ele[0]][ele[2]]['score'] + + if temp_preds!=[['-']]: + if len(temp_preds)==1: + final_preds.add(temp_preds[0][0]) + else: + max_id='' + max_score=0 + for _temp_pred in temp_preds: + _score=float(_temp_pred[1]) + _id_ass=_temp_pred[0] + if len(mul_and_spe)>1: + if _score>0.5 and (_id_ass in mul_and_spe): + # print(_score) + final_preds.add(_id_ass) + if _score>max_score: + max_id=_id_ass + max_score=_score + if len(final_preds)==0: + final_preds.add(max_id) + # final_preds.add(multi_id) + else: #'-' major species + gene_none+=1 + # print(mem_sent[ele[0]]) + final_preds.add(marjor_species[1]) + if len(final_preds)==0: + print('none pred!!!') + fout.write(ele[0]+'\t'+ele[1]+'\t'+'\t'.join(ele[3:-1])+'\t'+','.join(final_preds).replace('*','')+'\n') + else: + final_preds.add(marjor_species[1]) + fout.write(ele[0]+'\t'+ele[1]+'\t'+'\t'.join(ele[3:-1])+'\t'+','.join(final_preds).replace('*','')+'\n') + else: + fout.write(ele[0]+'\t'+ele[1]+'\t'+'\t'.join(ele[3:])+'\n') + fout.write('\n') + # print('gene, none:',gene_num,gene_none) + return fout + +def ml_tag_main(fin_pubtator,nlp_token, nn_model): + #print('.......senten split, tokenizer.........') + #print('...in...\n',fin_pubtator.getvalue()) + ori_text_newentity,token_text,token_out=ssplit_token(fin_pubtator,nlp_token) + #print('...token....\n',token_out.getvalue()) + + #2. filter nest entity + nonest_out=filter_nest(token_out) + #print(nonest_out.getvalue()) + + #3.ml tag + #print('.......machine learning-based tagging.........') + + ml_out=ml_tag(nonest_out, nn_model) + #print('.....ml.....\n',ml_out.getvalue()) + + #4. post processing + #print('.......post processing.........') + post_out=post_rule2(ori_text_newentity,token_text,ml_out) + #print('.........ori_text...............\n', ori_text_newentity) + #print('.....post.....\n',post_out.getvalue()) + return post_out + \ No newline at end of file diff --git a/tmBioC.key b/tmBioC.key new file mode 100755 index 0000000000000000000000000000000000000000..67f2f95f7058eca66a3a8ec6ff7902de2d4c4a97 --- /dev/null +++ b/tmBioC.key @@ -0,0 +1,42 @@ +PubTator.key + +A BioC format for PubTator and other NER tools (i.e., tmChem, DNorm, tmVar, SR4GN or GenNorm) developed at the Biomedical Text Mining group at NCBI +The goal of this collection is to provide easy access to the text and bio-concept annotations for PMC articles. + + collection: a group of PubMed documents, each document is organized into title, abstract and other passages + + source: PubMed, PubMed Central, etc. + + date: Document download date + + document: abstract, full-text article, free-text document, etc. + + id: PubMed ID (or other ID in a given collection) of the document + + passage: Title, abstract and other passages + + infon["type"]: "title", "abstract" and other passages + + offset: Title has an offset of zero, while the other passages (e.g., abstract) are assumed to begin after the previous passages and one space + + text: Text of the passage + + annotation: One bio-concept of the passage as determined by the tmChem, DNorm, tmVar, SR4GN or GenNorm + + infon["type"]: The type of bioconcept, e.g. "Gene", "Species", "Disease", "Chemical" or "Mutation" + + infon["MeSH"]: The bio-concept identifier in MeSH as detected by DNorm or tmChem + + infon["OMIM"]: The bio-concept identifier in OMIM as detected by DNorm + + infon["NCBI_Gene"]: The bio-concept identifier in NCBI Gene as detected by GenNorm + + infon["NCBI_Taxonomy"]: The bio-concept identifier in NCBI Taxonomy as detected by SR4GN + + infon["ChEBI"]: The bio-concept identifier in ChEBI as detected by tmChem + + infon["tmVar"]: The intelligent key generated artificially for the mention detected by tmVar (||||) + + location: location of the mention including the global document "offset" where a bio-concept is located and the "length" of the mention + + text: Mention of the bio-concept diff --git a/tmp/PMC5919670.ascii b/tmp/PMC5919670.ascii new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tmp_GNR/PubMed.input.pubtator b/tmp_GNR/PubMed.input.pubtator new file mode 100644 index 0000000000000000000000000000000000000000..28b549438c6f8c3970e925596eb35443fca15665 --- /dev/null +++ b/tmp_GNR/PubMed.input.pubtator @@ -0,0 +1,187 @@ +36206327|t|External Collaboration Results in Student Learning Gains and Positive STEM Attitudes in CUREs. +36206327|a|The implementation of course-based undergraduate research experiences (CUREs) has made it possible to expose large undergraduate populations to research experiences. For these research experiences to be authentic, they should reflect the increasingly collaborative nature of research. While some CUREs have expanded, involving multiple schools across the nation, it is still unclear how a structured extramural collaboration between students and faculty from an outside institution affects student outcomes. In this study, we established three cohorts of students: 1) no-CURE, 2) single-institution CURE (CURE), and 3) external collaborative CURE (ec-CURE), and assessed academic and attitudinal outcomes. The ec-CURE differs from a regular CURE in that students work with faculty member from an external institution to refine their hypotheses and discuss their data. The sharing of ideas, data, and materials with an external faculty member allowed students to experience a level of collaboration not typically found in an undergraduate setting. Students in the ec-CURE had the greatest gains in experimental design; self-reported course benefits; scientific skills; and science, technology, engineering, and mathematics (STEM) importance. Importantly this study occurred in a diverse community of STEM disciplinary faculty from 2- and 4-year institutions, illustrating that exposing students to structured external collaboration is both feasible and beneficial to student learning. + +36206680|t|Deciphering the mechanisms shaping the plastisphere antibiotic resistome on riverine microplastics. +36206680|a|Microplastics in urban rivers provide bacterial niches and serve as dispersal vectors for antibiotic resistant genes (ARGs) dissemination, which may exacerbate risks in the aquatic systems. However, whether MPs in the river would also selectively enrich ARGs and the underlying mechanisms shaping the resistome on MPs remains largely unknown. In this study, we explored the occurrence of ARGs, bacterial communities, and mobile genetic elements (MGEs) on MPs and in waters from the Huangpu River in China. Microplastics were widely distributed in the river (1.78 +- 0.84 items/L), with overwhelming percentages of polyethylene terephthalate fibers. Although reduced ARG abundances were observed on MPs than in waters, MPs selectively enriched the ARGs resistant to Rifamycin and Vancomycin. A clear variation for ARG profiles was elucidated between water and MPs samples. Network analysis suggested that MPs created a unique niche for the genus Afipia to colonize, potentially contributing to the vertical dissemination of ARGs. Additionally, the co-occurrence between ARGs and MGEs revealed that the MPs favor the propagation of some plasmid-associated ARGs mediated by horizontal gene transfer. The null model-based stochasticity ratio and the neutral community model suggested that the ARG assembly on MPs was dominantly driven by stochastic process. The results further indicated that microbial communities and MGEs played significant roles in shaping ARG profiles and dynamics on MPs. Our findings provided new insights into the ecological processes of antibiotic resistome of the aquatic plastisphere. +36206680 766 769 ARG FamilyName + +36207030|t|Exploring the impact of elexacaftor-tezacaftor-ivacaftor treatment on opinions regarding airway clearance techniques and nebulisers: TEMPO a qualitative study in children with cystic fibrosis, their families and healthcare professionals. +36207030|a|BACKGROUND: Cystic fibrosis (CF) is a genetic condition caused by variants in the cystic fibrosis transmembrane conductance regulator (CFTR) gene that primarily impacts the lungs. Treatments historically have been symptomatic to improve airway clearance and treat infection. However, CFTR modulator drugs have recently been developed that target the underlying defect. The triple combination of elexacaftor-tezacaftor-ivacaftor (ETI) was approved in 2020 in England for over 80% of people with CF aged over 12 years and in 2022 extended to those over 6 years. ETI treatment is associated with substantial improvements in lung function. The experience of children with CF starting on ETI or their views regarding future treatments have not been well studied. This study aimed to explore the opinions of children with CF, their parents/carers and healthcare professionals (HCPs) on the impact of ETI, airway clearance techniques (ACTs) and nebulised treatments. METHODS: Semistructured qualitative interviews were performed with 10 children with CF, 7 parents/carers and 10 HCPs. Audio recordings were transcribed and analysed using reflexive thematic analysis. RESULTS: Four main themes were identified: 'Kaftrio changed my life', 'Your entire life is dictated by the CF timetable', 'Simplifying treatment-hopes and fears' and 'Kaftrio is a game-changer' along with several subthemes and an overarching theme of 'I still can't get my head around how three tablets can do what Kaftrio done'. CONCLUSIONS: Despite the highly positive impact of ETI on the health of children with CF some concerns remain about the longer-term outcomes of reducing ACTs or nebulised treatments. ETI has prompted a shift in treatment for many and offers an opportunity to personalise approaches. +36207030 162 170 children Species *9606 +36207030 720 726 people Species *9606 +36207030 892 900 children Species *9606 +36207030 1040 1048 children Species *9606 +36207030 1268 1276 children Species *9606 +36207030 1800 1808 children Species *9606 +36207030 320 371 cystic fibrosis transmembrane conductance regulator Gene +36207030 373 377 CFTR Gene +36207030 522 526 CFTR Gene + +36207381|t|Contribution of perceived loneliness to suicidal thoughts among French university students during the COVID-19 pandemic. +36207381|a|Restrictive measures during the COVID-19 epidemic have led to increased levels of loneliness, especially among university students, although the influence on suicidal thoughts remains unclear. In this cross-sectional study of 1913 French university students, those with the highest level of loneliness had a fourfold increased risk of suicidal thoughts. Perceived loneliness should be incorporated into suicide risk assessment, and assistance in coping with loneliness should be considered as a means of reducing suicidal risk in vulnerable groups, like university students. + +36207733|t|Patient and provider perspectives on polygenic risk scores: implications for clinical reporting and utilization. +36207733|a|BACKGROUND: Polygenic risk scores (PRS), which offer information about genomic risk for common diseases, have been proposed for clinical implementation. The ways in which PRS information may influence a patient's health trajectory depend on how both the patient and their primary care provider (PCP) interpret and act on PRS information. We aimed to probe patient and PCP responses to PRS clinical reporting choices METHODS: Qualitative semi-structured interviews of both patients (N=25) and PCPs (N=21) exploring responses to mock PRS clinical reports of two different designs: binary and continuous representations of PRS. RESULTS: Many patients did not understand the numbers representing risk, with high numeracy patients being the exception. However, all the patients still understood a key takeaway that they should ask their PCP about actions to lower their disease risk. PCPs described a diverse range of heuristics they would use to interpret and act on PRS information. Three separate use cases for PRS emerged: to aid in gray-area clinical decision-making, to encourage patients to do what PCPs think patients should be doing anyway (such as exercising regularly), and to identify previously unrecognized high-risk patients. PCPs indicated that receiving "below average risk" information could be both beneficial and potentially harmful, depending on the use case. For "increased risk" patients, PCPs were favorable towards integrating PRS information into their practice, though some would only act in the presence of evidence-based guidelines. PCPs describe the report as more than a way to convey information, viewing it as something to structure the whole interaction with the patient. Both patients and PCPs preferred the continuous over the binary representation of PRS (23/25 and 17/21, respectively). We offer recommendations for the developers of PRS to consider for PRS clinical report design in the light of these patient and PCP viewpoints. CONCLUSIONS: PCPs saw PRS information as a natural extension of their current practice. The most pressing gap for PRS implementation is evidence for clinical utility. Careful clinical report design can help ensure that benefits are realized and harms are minimized. +36207733 0 7 Patient Species *9606 +36207733 316 323 patient Species *9606 +36207733 367 374 patient Species *9606 +36207733 469 476 patient Species *9606 +36207733 585 593 patients Species *9606 +36207733 752 760 patients Species *9606 +36207733 830 838 patients Species *9606 +36207733 877 885 patients Species *9606 +36207733 1194 1202 patients Species *9606 +36207733 1225 1233 patients Species *9606 +36207733 1339 1347 patients Species *9606 +36207733 1510 1518 patients Species *9606 +36207733 1805 1812 patient Species *9606 +36207733 1819 1827 patients Species *9606 +36207733 2049 2056 patient Species *9606 + +36208084|t|GPR109a Regulates Phenotypic and Functional Alterations in Macrophages and the Progression of Type 1 Diabetes. +36208084|a|SCOPE: Dietary fibers can alter gut microbiota and microbial metabolite profiles. SCFAs are produced by bacterial fermentation of fiber, mediating immune homeostasis through G-protein-coupled receptors (GPCRs). GPR109a, a receptor for niacin and butyrate, expressed by immune cells and non-immune cells, is a key factor regulating immune responses. However, the role and underlying mechanisms of GPR109a in type 1 diabetes (T1D) remain unclear. METHODS AND RESULTS: Experimental T1D was induced by streptozotocin in GPR109a-deficient (Gpr109a-/- ) and wild type mice. We found that Gpr109a-/- mice were more susceptible to T1D with dysregulated immune responses, along with increased M1 macrophage polarization (from 10.55% to 21.48%). Further, an adoptive transfer experiment demonstrated that GPR109a-deficient macrophages promoted the homing of intestine-derived Tc1 cells to pancreas (from 18.91% to 24.24%), thus disturbing the pancreatic immune homeostasis in non-obese diabetic mice. Mechanistically, GPR109a deficiency promoted M1 macrophage polarization may be associated with the activation of suppressor of cytokine signaling 3-signal transducer and activator of transcription 1 signaling pathway. CONCLUSION: Our findings reveal that macrophage GPR109a deficiency accelerates the development of T1D. Activation of GPR109a on macrophage by dietary components may provide a new strategy for preventing or treating T1D. This article is protected by copyright. All rights reserved. +36208084 673 677 mice Species *10090 +36208084 704 708 mice Species *10090 +36208084 1096 1100 mice Species *10090 +36208084 0 7 GPR109a Gene +36208084 285 312 G-protein-coupled receptors FamilyName +36208084 314 319 GPCRs FamilyName +36208084 322 329 GPR109a Gene +36208084 507 514 GPR109a Gene +36208084 627 634 GPR109a Gene +36208084 646 653 Gpr109a Gene +36208084 693 700 Gpr109a Gene +36208084 906 913 GPR109a Gene +36208084 1119 1126 GPR109a Gene +36208084 1215 1249 suppressor of cytokine signaling 3 Gene +36208084 1250 1300 signal transducer and activator of transcription 1 Gene +36208084 1368 1375 GPR109a Gene +36208084 1437 1444 GPR109a Gene + +36208435|t|Evaluating syntactic comprehension during awake intraoperative cortical stimulation mapping. +36208435|a|OBJECTIVE: Electrocortical stimulation mapping (ECS) is widely used to identify essential language areas, but sentence-level processing has rarely been investigated. METHODS: While undergoing awake surgery in the dominant left hemisphere, 6 subjects were asked to comprehend sentences varying in their demands on syntactic processing. RESULTS: In all 6 subjects, stimulation of the inferior frontal gyrus disrupted comprehension of passive sentences, which critically depend on syntactic processing to correctly assign grammatical roles, without disrupting comprehension of simpler tasks. In 4 of the 6 subjects, these sites were localized to the pars opercularis. Sentence comprehension was also disrupted by stimulation of other perisylvian sites, but in a more variable manner. CONCLUSIONS: These findings suggest that there may be language regions that differentially contribute to sentence processing and which therefore are best identified using sentence-level tasks. The functional consequences of resecting these sites remain to be investigated. + +36208787|t|Residence near industrial complex and cancer incidence: A registry-based cohort of 1,022,637 participants with a follow-up of 21 years, Israel. +36208787|a|BACKGROUND: Industrial complex (IC) residence is associated with higher cancer incidence in adults and children. However, the effect on young adults and the residence duration are not well described. Since the beginning of the 20th century, the Haifa bay area (HBA) has a major IC area with petrochemical industry complex and many other industries. The objectives of the current study were to estimate the association between IC residence and cancer incidence and to evaluate the effect of the residence duration. METHODS: This study is a registry-based cohort (N = 1,022,637) with a follow-up of 21 years. Cox regression models were used to evaluate the associations (hazards ratios (HR) and its 95% confidence intervals (CIs)) between HBA residence and incidence of all cancer sites (n = 62,049) and for site-specific cancer types including: lung cancer (n = 5398), bladder cancer (n = 3790), breast cancer (n = 11,310), prostate cancer (n = 6389) skin cancer (n = 4651), pancreatic cancer (n = 2144) and colorectal cancer (n = 8675). We evaluated the effect of the duration of exposure as categories of 7 years for those with 15 years of follow-up. RESULTS: IC residence was associated with higher risk for all cancer sites (HR:1.09, 95% CI: 1.06-1.12), for site-specific cancer incidence including: lung cancer (HR:1.14, 95% CI: 1.04-1.23), bladder cancer (HR:1.11, 95% CI: 1.01-1.23), breast cancer (HR:1.04, 95% CI: 0.98-1.10), prostate cancer (HR:1.07, 95% CI: 0.99-1.16), skin cancer (HR:1.22, 95% CI: 1.12-1.33) and colorectal cancer (HR:1.10, 95%CI: 1.03-1.17). Similar risk was also observed among young adults (HR: 1.10, 95% CI: 1.00-1.20). In the analyses for the duration of exposure, IC residence was associated with higher risk for all cancer site for the longest residence duration (15-21 years: HR: 1.08, 95% CI: 1.04-1.13). CONCLUSIONS: Harmful associations were found between IC residence and incidence of all cancer sites and site-specific cancers types. Our findings add to the limited evidence of associations between IC residence and cancer in young adults. +36208787 93 105 participants Species *9606 +36208787 247 255 children Species *9606 + +36209137|t|Retraction Note: Mesenchymal stem cell-derived exosomal miR-146a reverses diabetic beta-cell dedifferentiation. +36209137|a|-no abstract- +36209137 56 64 miR-146a Gene + +36209489|t|Corticotropin-releasing factor is involved in acute stress-induced analgesia and antipruritus. +36209489|a|BACKGROUND: Under the condition of stress, the hypothalamic-pituitary-adrenal axis (HPA axis) is activated and causes the secretion of corticotropin-releasing factor (CRF). Previous studies have demonstrated that CRF is involved in the regulation of pain and itch. Thus, it remains worthy to explore whether the desensitization of pain and itch under high-intensity acute stress (such as high fear and tension) is related to the sharp increase of CRF. METHODS: Forced swimming was used to simulate acute stress. ELISA and pharmacological methods were conducted to observe the effects of forced swimming on acute pain or itch and the relationship between blood CRF content and itch or pain behavior. Intracerebroventricular (ICV) administration of CRF was conducted to examine the effects of CRF on acute pain or itch. Intrathecal administration of CRF receptor agonist or antagonist was conducted to examine the receptor mechanisms of the regulatory role of CRF in pain and itch. RESULTS: ELISA experiment showed that the serum CRF in mice reached its peak within 5-10 min after acute stress (forced swimming). Behavioral data showed that the scratching behavior induced by itch agents decreased after acute swimming, while the mechanical pain threshold increased significantly. The inhibitory effect of acute stress on pain and itch is mediated by CRF receptor2 (CRFR2). Then, ICV injection of CRF was used to simulate the massive release of CRF under acute stress, and we observed that the scratching behavior induced by histamine or chloroquine was significantly inhibited after ICV injection of CRF. The above effects of CRF are mainly mediated by CRFR2. These results suggest that 5-10 min after acute stress, a large amount of CRF is released into the blood from the hypothalamus, which significantly inhibits acute pain and itch by acting on CRFR2. ICV injection of CRF can replicate the antipruritus effects of acute stress. CONCLUSIONS: The present study investigated the mechanism of acute stress-induced analgesia and antipruritus and provided theoretical support for the treatment of pain and itch. +36209489 1130 1134 mice Species *10090 +36209489 0 30 Corticotropin-releasing factor Gene +36209489 230 260 corticotropin-releasing factor Gene +36209489 262 265 CRF Gene +36209489 308 311 CRF Gene +36209489 755 758 CRF Gene +36209489 842 845 CRF Gene +36209489 886 889 CRF Gene +36209489 943 955 CRF receptor Gene +36209489 1053 1056 CRF Gene +36209489 1123 1126 CRF Gene +36209489 1444 1457 CRF receptor2 Gene +36209489 1459 1464 CRFR2 Gene +36209489 1490 1493 CRF Gene +36209489 1538 1541 CRF Gene +36209489 1694 1697 CRF Gene +36209489 1720 1723 CRF Gene +36209489 1747 1752 CRFR2 Gene +36209489 1828 1831 CRF Gene +36209489 1944 1949 CRFR2 Gene +36209489 1968 1971 CRF Gene + +36209839|t|'Erythritol', a safe natural sweetener exhibits multi-stage anti-malarial activity by permeating into Plasmodium falciparum through aquaglyceroporin channel. +36209839|a|The increased resistance of human malaria parasite Plasmodium falciparum (Pf) to currently used drugs necessities the development of novel anti-malarials. Here, we examine the potential of erythritol, a sugar substitute for therapeutic intervention. Erythritol is a permeant of Plasmodium falciparum aquaglyceroporin (PfAQP) which is a multifunctional channel responsible for maintaining hydro-homeostasis. We show that erythritol effectively inhibited growth and progression of asexual blood stage malaria parasite, and effect invasion and egress processes. It also inhibited the liver stage (sporozoites) and transmission stage parasite (gametocytes) development. Interestingly, erythritol inhibited in vivo growth of malaria parasite in mouse experimental model. It was more effective in inhibiting parasite growth both in vivo and in vitro when tested together with a known anti-malarial 'artesunate'. Additionally, erythritol showed cytokine-modulating effect which suggests its direct effect on the host immune system. Ammonia detection assay demonstrated that erythritol uptake effects the amount of ammonia release across the parasite. Our functional complementation assays suggest that PfAQP expression in yeast mutant restores its growth in hyperosmotic conditions but showed reduced growth in the presence of erythritol. Osmotic lysis assay suggests that erythritol creates osmotic stress for killing the parasite. Overall, our data bestow erythritol as a promising lead compound with an attractive antimalarial profile and could possibly be combined with known drugs without losing its efficacy. We propose the use of erythritol based sweet candies for protection against malaria specially in children living in the endemic area. +36209839 102 123 Plasmodium falciparum Species *5833 +36209839 186 191 human Species *9606 +36209839 209 230 Plasmodium falciparum Species *5833 +36209839 436 457 Plasmodium falciparum Species *5833 +36209839 898 903 mouse Species *10090 +36209839 1373 1378 yeast Species *4932 +36209839 1863 1871 children Species *9606 +36209839 232 234 Pf Species *5833 +36209839 408 418 Erythritol Gene +36209839 458 474 aquaglyceroporin Gene +36209839 476 481 PfAQP Gene +36209839 1353 1358 PfAQP Gene + +36210189|t|Disturbance observer-based prescribed performance super-twisting sliding mode control for autonomous surface vessels. +36210189|a|This paper proposes a disturbance observer-based prescribed performance super-twisting sliding mode control (DOB PPSTSMC) for trajectory tracking of the autonomous surface vessels (ASVs) subject to unknown external disturbances and modeling errors. Both unknown external disturbances and system modeling errors are approximated by the disturbance observer, thus eliminating most of the effect caused by lumped disturbances in the control performance. Based on this, a prescribed performance super-twisting sliding mode controller is explored to further suppress the residual error of disturbance compensation. Prescribed performance constraints are considered in the coming up with the super-twisting sliding mode controller, so that ASVs not only achieve effective tracking of time-varying desired trajectories, but also improve the transient performance of the control system. In addition, the controller is continuous and chatter-free, which has greater practical value. The excellence of the control project design is highlighted through the simulation and comparison results. + +36210539|t|Additional evidence for the vascular disruption defect hypothesis in a novel case of brainstem disconnection syndrome. +36210539|a|INTRODUCTION: Brainstem disconnection syndrome is a rare and severe disease resulting from a midbrain-hindbrain segmental defect. Clinical signs include a severe neurological impairment, an early death (usually during the first year of life), and pathognomonic postnatal brain imaging features. Two major hypotheses are proposed to explain the etiopathogenesis of this syndrome, namely an inborn error of morphogenesis or a vascular disruption defect. CASE REPORT AND LITERATURE REVIEW: Here we report on prenatal (ultrasound; fetal MRI) and postnatal (MRI) neuroimaging findings observed in a full-term female newborn with a brainstem disconnection syndrome. The prenatal and postnatal findings point toward an early fetal vascular disruption defect as the pregnancy was marked by three episodes of hospitalization resulting from a very severe maternal dehydration. The first episode took place as early as the 18th week of gestation. Our clinical follow-up at 1 year age is well in line with the findings observed in 13 other cases reported in the literature. Interestingly, among these 13 cases, a vascular disruption defect was suggested in 8 patients and confirmed by autopsy in at least 2 cases. CONCLUSION: In the present report, we bring objective evidence for the antenatal cause of a brainstem disconnection syndrome resulting from a vascular disruption defect occurring in the context of a severe maternal dehydration. In particular, our neuroimaging findings observed during pregnancy and after birth illustrate the prenatal occurrence of this vascular disruption defect. +36210539 1266 1274 patients Species *9606 + +36210889|t|Profiling planning skills and cognitive flexibility of adults with autism spectrum disorders: Preliminary results from an exploratory service-based study. +36210889|a|Background: Executive functions (EF) impairments have long been observed in children and youths with autism spectrum disorders (ASD). Until very recently, little attention has been paid to examine EF profiles of adults with ASD. Given the importance of EF to cope with the demands of daily life and participate in society (e.g. maintaining an employment), this study reports on a preliminary investigation aimed at exploring planning skills and cognitive flexibility in a sample of adults with ASD and without intellectual disability. A secondary aim was to explore the contribution of both intellectual functioning and socio-demographic variables on efficiency of EF. Method: Twenty-nine autistic adults (age range 18-50) were assessed using the Tower of London (ToL) test and the Wisconsin Card Sorting Test (WCST). Intellectual functioning was assessed with the Wechsler Adult Intelligence Scale - IV. Results: From the evaluations emerged poor performances in sub-processes related to planning skills as assessed by ToL (number of Moves, Correct Reponses, and Execution time). In contrast, WCST performance did not result impaired in any of the indicators considered. Exploratory analyses revealed a strong relationship between the time needed to complete the planning tasks and visuo-spatial reasoning. Further, strong inverse associations were found between global intellectual functioning and chronological age in the WCST. Conclusions: The results of this study highlight mixed EF profiles in a sample of adults with ASD. Future investigations may build on the results of the present study to understand whether evaluating planning abilities of adults with ASD by means of measures that do not require a time-limit would yield different results compared to time-constrained assessment procedures. +36210889 231 239 children Species *9606 + +36211239|t|Progress in adopting bans on tobacco advertising, promotion, and sponsorship in the Americas: lessons from Uruguay and Argentina. +36211239|a|Objective: To assess progress in and barriers to implementing bans on tobacco advertising, promotion and sponsorship (TAPS) in Uruguay, which has a complete ban, and Argentina, with a partial ban. Methods: Legislation on TAPS bans in Uruguay and Argentina was reviewed and relevant published literature, news stories, civil society reports and tobacco industry reports retrieved to analyze progress in implementing TAPS bans. Results: In Uruguay, the complete TAPS ban, which includes standardized tobacco packaging, maintains high compliance and severely limits exposure of TAPS, despite a few problems with corporate social responsibility, social media, and transnational advertising. In Argentina, the partial TAPS ban has more problems with compliance and exposure to TAPS. The most important barriers to implementing TAPS bans in both countries are the tobacco companies. In Uruguay, tobacco companies do not comply in a few areas but the complete ban greatly minimizes this. In Argentina, however, tobacco companies can more easily exploit gaps in the partial TAPS ban, such as advertising at the points of sale, promoting contests, and using influencers on social media. Conclusions: The partial TAPS ban in Argentina illustrates the problems with enforcement and the tobacco industry's ability to exploit loopholes and continue to market their products, especially to young people. A complete TAPS ban, including standardized tobacco packaging, as in Uruguay, is easier to implement and enforce and is effective in reducing exposure to tobacco advertising. Nevertheless, governments should prioritize implementing TAPS bans on social media, which remains a difficult sphere to monitor and allows tobacco companies to continue recruiting and targeting young people. +36211239 29 36 tobacco Species *4097 +36211239 200 207 tobacco Species *4097 +36211239 474 481 tobacco Species *4097 +36211239 628 635 tobacco Species *4097 +36211239 988 995 tobacco Species *4097 +36211239 1019 1026 tobacco Species *4097 +36211239 1134 1141 tobacco Species *4097 +36211239 1405 1412 tobacco Species *4097 +36211239 1512 1518 people Species *9606 +36211239 1564 1571 tobacco Species *4097 +36211239 1674 1681 tobacco Species *4097 +36211239 1834 1841 tobacco Species *4097 +36211239 1895 1901 people Species *9606 + +36211589|t|Brain augmentation and neuroscience technologies: current applications, challenges, ethics and future prospects. +36211589|a|Ever since the dawn of antiquity, people have strived to improve their cognitive abilities. From the advent of the wheel to the development of artificial intelligence, technology has had a profound leverage on civilization. Cognitive enhancement or augmentation of brain functions has become a trending topic both in academic and public debates in improving physical and mental abilities. The last years have seen a plethora of suggestions for boosting cognitive functions and biochemical, physical, and behavioral strategies are being explored in the field of cognitive enhancement. Despite expansion of behavioral and biochemical approaches, various physical strategies are known to boost mental abilities in diseased and healthy individuals. Clinical applications of neuroscience technologies offer alternatives to pharmaceutical approaches and devices for diseases that have been fatal, so far. Importantly, the distinctive aspect of these technologies, which shapes their existing and anticipated participation in brain augmentations, is used to compare and contrast them. As a preview of the next two decades of progress in brain augmentation, this article presents a plausible estimation of the many neuroscience technologies, their virtues, demerits, and applications. The review also focuses on the ethical implications and challenges linked to modern neuroscientific technology. There are times when it looks as if ethics discussions are more concerned with the hypothetical than with the factual. We conclude by providing recommendations for potential future studies and development areas, taking into account future advancements in neuroscience innovation for brain enhancement, analyzing historical patterns, considering neuroethics and looking at other related forecasts. +36211589 147 153 people Species *9606 + +36211939|t|Analysis of the mediating effects of self-efficacy and self-control between physical activity and Internet addiction among Chinese college students. +36211939|a|It explores the roles of self-efficacy and self-control in physical activity and Internet addiction. And it further provides a theoretical basis for the treatment and improvement of Internet addiction among college students. This study employs the whole group sampling method. The questionnaire was conducted on 855 college students from five universities in three provinces using the Physical Activity Level Scale, the General Self-Efficacy Scale, the Self-Control Scale, and the Chinese Internet Addiction Scale (IAS). The analyses yielded three main findings. (1) A large amount of physical activity was helpful in reducing the symptoms of Internet addiction and the problematic status of each dimension among college students. (2) A large or moderate amount of physical activity was helpful in enhancing college students' self-efficacy. Besides, a large amount of physical activity was likely to enhance college students' self-control. (3) The condition of physical activity not only directly has the negative correlation with college students' Internet addiction but also influences college students' Internet addiction through two indirect ways: the mediating role of self-control and the chain mediating role of self-efficacy and self-control. These conclusions provide a deeper understanding of the protective factors of Internet addiction among Chinese college students. + +36212289|t|Performance-guaranteed distributed control for multiple plant protection UAVs with collision avoidance and a directed topology. +36212289|a|The urgent requirement for improving the efficiency of agricultural plant protection operations has spurred considerable interest in multiple plant protection UAV systems. In this study, a performance-guaranteed distributed control scheme is developed in order to address the control of multiple plant protection UAV systems with collision avoidance and a directed topology. First, a novel concept called predetermined time performance function (PTPF) is proposed, such that the tracking error can converge to an arbitrary small preassigned region in finite time. Second, combined with the two-order filter for each UAV, the information estimation from the leader is generated. The distributed protocol avoids the use of an asymmetric Laplace matrix of a directed graph and solves the difficulty of control design. Furthermore, by introducing with a collision prediction mechanism, a repulsive force field is constructed between the dynamic obstacle and the UAV, in order to avoid the collision. Finally, it is rigorously proved that the consensus of the multiple plant protection UAV system can be achieved while guaranteeing the predetermined time performance. A numerical simulation is carried out to verify the effectiveness of the presented method, such that the multiple UAVs system can fulfill time-constrained plant protection tasks. + +36212642|t|Outcome and risk factors of complications after cranioplasty with polyetheretherketone and titanium mesh: A single-center retrospective study. +36212642|a|Background: To compare the incidence of complications and constructive effects of cranioplasty with polyetheretherketone (PEEK) and titanium mesh after decompressive craniectomy, and to further explore potential risk factors of postoperative and post-discharge complications. Methods: A retrospective study was conducted on 211 patients who underwent PEEK or titanium mesh cranioplasty in the Department of Neurosurgery of Zhujiang Hospital, Southern Medical University, between July 2017 and September 2021. Demographic data, imaging data, and postoperative complications were recorded and statistically analyzed. Long-term effects and satisfaction degree were evaluated based on following-up telephone survey. Univariate and multivariate logistic regression models were used to analyze risk factors of postoperative and post-discharge complications of PEEK and titanium cranioplasty. Results: The total postoperative complication rates of the PEEK and titanium mesh groups were 38.7 and 51.4% (p = 0.063), and post-discharge complication rates were 34.7 and 36.0% (p = 0.703), respectively. The incidence of pneumocephalus during hospitalization (33.3% vs. 6.6%, p < 0.001) and epidural effusion in the titanium mesh group were significantly higher than that in the PEEK group (18.0 vs. 6.6%, p = 0.011). Patients in PEEK group were less likely to occur subcutaneous effusion after discharge than in TI group (2.0 vs. 10.5%, p = 0.013). Multivariate logistic regression analysis revealed a history of ventriculoperitoneal shunt (VPS) before CP was an independent risk factor for postoperative overall complications (p = 0.023). Either superficial (p < 0.001) or intracranial infection (p = 0.001) was a risk factor for implant failure. Depressed skull defects (p = 0.024) and cranioplasty with titanium cranioplasty (p < 0.001) were associated with increased incidence of early pneumocephalus. Conclusion: There were no differences in overall postoperative and post-discharge complication rates between the titanium mesh and PEEK. A history of VPS before cranioplasty was an independent risk factor for postoperative overall complications, and infection was a risk factor for implant failure. Finally, depression skull defects and titanium mesh implants increased the incidence of postoperative pneumocephalus. Our results aim to promote a better understanding of PEEK and titanium cranioplasty and to help both clinicians and patients make better choices on implant materials. +36212642 471 479 patients Species *9606 +36212642 1450 1458 Patients Species *9606 +36212642 2572 2580 patients Species *9606 + +36212993|t|Successful outcome of distal radius non-union after open fracture osteomyelitis treated by external fixation and bone grafting in a cat: case report. +36212993|a|A clinical case of non-union in a cat after open fracture repair by intramedullary ostheosynthesis of the radius was described. The patient was presented with non-weight bearing lameness, fistulas with purulent discharge, swelling and severe pain. During the surgical revision, after bone sequestrum removal, the bone defect was filled with cancellous and cortical bone autografts. Osteosynthesis with a modified external bone fixator, made of Duracryl Plus - a rapidly self-curing metacrylate polymer - and 6 Kirschner wires passing perpendicularly through both radial cortices was performed. The post-operative period was smooth, and after 23 weeks the external fixator was removed. Radiography showed very good bone healing, with excellent clinical result. The use of the ulna as a donor bone was very convenient because it allowed collecting a cortical graft of larger size. The extremely light model of external bone fixator provided adequate strength of fixation elements and proved to be an efficient and not expensive technique for osteosynthesis in cat with non-union fractures of the distal radius and ulna. +36212993 282 289 patient Species *9606 + +36213343|t|The Economic Value of Coastal Amenities: Evidence from Beach Capitalization Effects in Peer-to-Peer Markets. +36213343|a|Coastal amenities are public goods that represent an important attraction for tourism activities. This paper studies the capitalization effects of beach characteristics using hedonic pricing methods. We examine the implicit economic value of several beach characteristics like sand type, width, longitude, accessibility, or frontage in the Airbnb rental market. Using data for 16,663 Airbnb listings located in 67 municipalities of the Balearic Islands (Spain) during the summer of 2016, together with detailed information about the attributes of 263 beaches, our modelling approach considers interaction terms between the beach amenities and distance to the closest beach. Controlling for a set of listings' structural characteristics, host attributes and municipality fixed effects, we find that Airbnb guests attach economic value to beach length, the presence of vegetation, the type of coastal frontage and beach accessibility and exclusivity. However, there is no evidence of capitalization effects associated with beach width or the type of sand. Supplementary Information: The online version contains supplementary material available at 10.1007/s10640-022-00735-5. + +36213694|t|Factors affecting worriedness: A study of the COVID-19 pandemic in Japan. +36213694|a|The global effect of COVID-19 is no longer simply a public health issue; it is causing an economic crisis that has a significant impact on the job market and people's lives. The disease has led to 43% of businesses temporarily closing, and almost all these closures are due to COVID-19. Organizations that have temporarily suspended their activities have pointed mainly to a decline in demand and employee health issues as the reasons for closure. In emergency and disaster management, perception often helps shape personality and how people act in certain situations. This study aims to examine personal risk perception of COVID-19 from many viewpoints and whether it affects motivation with regard to improving personal preparedness. We collected data from three major Japanese cities through a questionnaire survey and analyzed the results of the survey through factor analysis and multiple regression analysis by using the Partial Least Square Structural Equation Modeling (PLS-SEM). The three study areas include (1) the most damaged regions from the 2011 Great East Japan earthquake and tsunami, (2) the capital city and surrounding areas of Tokyo, and (3) Kumamoto, which has recently experienced an earthquake. The findings show a correlation between the nature of the information received during COVID-19 and worriedness and the necessity for adequate information. The expected benefit of this study is to provide guidelines for the government or organizations to make a suitable emergency management plan based on pertinent factors for future pandemics. +36213694 232 238 people Species *9606 +36213694 609 615 people Species *9606 + +36214044|t|Myopia - a 21st-century pandemic leaving our children shortsighted? +36214044|a|-no abstract- +36214044 45 53 children Species *9606 + +36214394|t|Ivermectin exposures reported to the Poisons Information Helpline in South Africa during the COVID-19 pandemic. +36214394|a|BACKGROUND: Ivermectin is an antiparasitic drug that has shown in vitro activity against COVID-19. Clinical studies supporting ivermectin for COVID-19 prevention and treatment are conflicting, with important limitations. Public support for ivermectin is significant, with extensive off-label use despite the conflicting views on its efficacy. Ivermectin tablets and injectable formulations are not registered in South Africa for human use by the South African Health Products Regulatory Authority. The National Department of Health does not currently recommend the use of ivermectin for COVID-19. OBJECTIVES: To describe cases of ivermectin exposure reported to the Poisons Information Helpline of the Western Cape (PIHWC) before and after publication of the drug's in vitro activity against SARS-CoV-2. METHODS: In a retrospective review, ivermectin-related calls reported to the PIHWC from 1 June 2015 to 30 June 2020 (period 1) were compared with calls received from 1 July 2020 to 31 July 2021 (period 2), dichotomised according to the first publication indicating ivermectin activity against SARS-CoV-2. RESULTS: Seventy-one cases were screened, and 65 were included for analysis; 19 cases were reported during period 1 and 46 during period 2. During period 2, 25 ivermectin cases (54.3%) were related to COVID-19 use. Of these, 24 cases (52.2%) involved veterinary preparations, 3 (6.5%) human preparations and 19 (41.3%) unknown preparations. Fourteen cases (73.7%) during period 1 and 30 (65.2%) during period 2 were reported to be symptomatic. The most common organ systems involved were the central nervous (n=26 cases; 40.0%), gastrointestinal (n=18; 27.7%), ocular (n=9; 13.8%) and dermatological (n=5; 7.7%) systems. CONCLUSION: Ivermectin-related exposure calls increased during study period 2, probably as a result of ivermectin being used as preventive and definitive therapy for COVID-19 in the absence of robust evidence on efficacy, dosing recommendations or appropriate formulations. +36214394 541 546 human Species *9606 +36214394 904 914 SARS-CoV-2 Species *2697049 +36214394 1209 1219 SARS-CoV-2 Species *2697049 +36214394 1506 1511 human Species *9606 + +36214744|t|Characteristics and management of teeth in the line of mandibular fractures treated with internal fixation. +36214744|a|BACKGROUND/AIMS: The ideal management of teeth in the line of mandibular fractures is unclear and controversial. The aim of this study was to analyze the characteristics and management of teeth in the line of mandibular fractures treated with open reduction and internal fixation. MATERIAL AND METHODS: Medical records of patients with mandibular fractures in the symphysis, body and angle regions seen between July 2019 and January 2021 were evaluated. Personal data, etiology, location of fractures, characteristics of the teeth involved in the fracture lines and management were collected. The relationship between the fracture lines and the periodontium was classified according to Kamboozia & Punnia-Moorthy. Fractures were divided into two groups according to the management of the tooth in the fracture line: removal and retention. The likelihood ratio test was used (p < .050). RESULTS: During the study period, 52 patients with mandibular fractures were seen, of which 42 patients (83.3% men) with a mean age of 29.6 years and 54 fractures were included. The most frequent location was the angle of the mandible (41.3%) (p < .001). The removal group represented 35.2% of the fractures, and the retention group represented 64.8%. The most frequently removed tooth was the third molar (p < .001), and the most frequent classification of dental involvement in the fracture line was type II (p = .047). There was no correlation between age, gender, or etiology and the management of the teeth involved. CONCLUSION: The retention of teeth in the fracture line predominated, and the third molar in angle fractures was the most often removed tooth when the fracture line followed the root surface but did not cross the apical region, probably due to the greater frequency of this type of relationship between the fractures and the periodontium. +36214744 430 438 patients Species *9606 +36214744 1031 1039 patients Species *9606 +36214744 1089 1097 patients Species *9606 +36214744 1105 1108 men Species *9606 + +36215094|t|Capacitive Removal of Pb ions via Electrosorption on Novel Willow Biochar - Manganese Dioxide Composites. +36215094|a|AbstractBiochar derived from lignocellulosic biomass has been used as a low-cost adsorbent in wastewater treatment applications. Due to its rich porous structure and good electrical conductivity, biochar can be used as a cost-effective electrode material for capacitive deionization of water. In this work, willow biochar was prepared through carbonization of shrub willow chips, activated with potassium hydroxide, and loaded with manganese dioxide (WBC-K-MnO2 nanocomposite). The prepared materials were used to electrochemically adsorb Pb2+ from aqueous solutions. Under the applied potential of 1.0 V, the WBC-K-MnO2 electrode exhibited a high Pb2+ specific electrosorption capacity (23.3 mg/g) as compared to raw willow biochar (4.0 mg/g) and activated willow biochar (9.2 mg/g). KOH activation followed by MnO2 loading on the surface of raw biochar enhanced its BET surface area (178.7 m2/g) and mesoporous volume ratio (42.1%). Moreover, the WBC-K-MnO2 nanocomposite exhibited the highest specific capacitance value of 234.3 F/g at a scan rate of 5 mV/s. The electrosorption isotherms and kinetic data were well explained by the Freundlich and pseudo-second order models, respectively. The WBC-K-MnO2 electrode demonstrated excellent reusability with a Pb2+ electrosorption efficiency of 76.3% after 15 cycles. Thus, the WBC-K-MnO2 nanocomposite can serve as a promising candidate for capacitive deionization of heavy metal contaminated water. + diff --git a/tmp_GNR/biocxml.xml b/tmp_GNR/biocxml.xml new file mode 100644 index 0000000000000000000000000000000000000000..9373e47fcaa891f4236185c677dbcfd51dc3d6b4 --- /dev/null +++ b/tmp_GNR/biocxml.xml @@ -0,0 +1,876 @@ + + + PubTator + + BioC.key + + 6127132 + + surname:Finke;given-names:Christy + surname:Howard;given-names:Matthew + surname:Lasho;given-names:Terra + 30190511 + surname:Patnaik;given-names:Mrinal M. + 2018 + 6127132 + 120 + 10.1038/s41408-018-0120-5 + front + TITLE + Blood Cancer J. 2018 Aug 22;8(9):82. doi: 10.1038/s41408-018-0120-5. + 9 + 82 + 8 + Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. + surname:Solary;given-names:Eric + surname:Patnaik;given-names:Mrinal M. + surname:Tefferi;given-names:Ayalew + surname:Gangat;given-names:Naseema + surname:Droin;given-names:Nathalie + surname:Pardanani;given-names:Animesh + surname:Al-Kali;given-names:Aref + Patnaik MM, Lasho T, Howard M, Finke C, Ketterling RL, Al-Kali A, Pardanani A, Droin N, Gangat N, Tefferi A, Solary E + surname:Ketterling;given-names:Rhett L. + 0 + Biallelic inactivation of the retinoblastoma gene results in transformation of chronic myelomonocytic leukemia to a blastic plasmacytoid dendritic cell neoplasm: shared clonal origins of two aggressive neoplasms + + Gene + + retinoblastoma + + + + INTRO + paragraph + 212 + To the Editor, + + + INTRO + paragraph + 227 + Chronic myelomonocytic leukemia (CMML) is a clonal hematopoietic stem cell disorder characterized by sustained peripheral blood (PB) monocytosis, bone marrow (BM) dysplasia, and an inherent risk for transformation to acute myeloid leukemia (AML); ~20-30% over 3-5 years. Patients with CMML have ~10-15 gene mutations in coding DNA regions, with common mutations involving TET2 (~60%), ASXL1 (~40%), SRSF2 (~40%), and the oncogenic RAS pathway (~30%). Blastic plasmacytoid dendritic cell neoplasm (BPDCN) is a rare hematodermic malignancy of dendritic cell origin that is known to infiltrate the blood, BM, skin, and lymph nodes; a diagnosis of which is based on a blast immunophenotype characterized by the expression of CD4, CD43, CD56, CD123, BDCA-2/CD303, TCL1, and CTLA. Cytogenetic studies, array-based comparative genomic hybridization, and gene expression profiling have demonstrated recurrent inactivation/losses/decreased expression of RB1 (retinoblastoma 1; 13q13-q21), LATS2, CDKN1B, CDKN2A, and TP53 genes, while next-generation sequencing (NGS) studies have demonstrated point mutations involving TET2 (~36%), ASXL1 (~32%), NRAS (~30%), ATM (21%), along with deletions involving RB1 and APC (~6%). In addition, recurrent MYB gene rearrangements have been documented in both children and adults, with fusion oncogenes including MYB-ZFAT, MYB-PLEKHO1, and MYB-DCPS. Common clonal origins for CMML and BPDCN have been suggested based on similar genetic and epigenetic deregulations identified, along with sporadic case reports of CMML transformation to BPDCN. We provide the first in-depth whole-exome sequencing (WES) results on a patient with CMML that transformed to BPDCN and provide information with regards to possible mechanisms of transformation. + + *9606 + Species + + Patients + + + *9606 + Species + + children + + + *9606 + Species + + patient + + + Gene + + TET2 + + + Gene + + ASXL1 + + + Gene + + SRSF2 + + + Gene + + RAS + + + Gene + + CD4 + + + Gene + + CD43 + + + Gene + + CD56 + + + Gene + + CD123 + + + Gene + + BDCA-2 + + + Gene + + CD303 + + + Gene + + TCL1 + + + FamilyName + + CTLA + + + Gene + + RB1 + + + Gene + + retinoblastoma 1 + + + Gene + + LATS2 + + + Gene + + CDKN1B + + + Gene + + CDKN2A + + + Gene + + TP53 + + + Gene + + TET2 + + + Gene + + ASXL1 + + + Gene + + NRAS + + + Gene + + ATM + + + Gene + + RB1 + + + Gene + + APC + + + Gene + + MYB + + + Gene + + MYB + + + Gene + + ZFAT + + + Gene + + MYB + + + Gene + + PLEKHO1 + + + Gene + + MYB + + + Gene + + DCPS + + + + FIG + 41408_2018_120_Fig1_HTML.jpg + Fig1 + fig_caption + 1998 + a Peripheral blood smear of the patient with a diagnosis of chronic myelomonocytic leukemia, demonstrating atypical dysplastic granulocytes, atypical monocytes, and a blast. Wright Giemsa stain, x400 magnification. b Bone marrow core biopsy of the patient with chronic myelomonocytic leukemia, demonstrating a hypercellular marrow (90%), with dysplastic megakaryocytes. Hematoxylin and eosin, x100 magnification. c Butyrate esterase (brown) and chloroacetate esterase (blue) cytochemical dual stain, demonstrating increased butyrate esterase monocytes and dual esterase-positive bone marrow monocytes, suggestive of monocytic dysplasia (x400 magnification). d (Left) Bone marrow core biopsy, TCL1 immunohistochemistry, demonstrating TCL1-positive plasmacytoid dendritic cell nodules (x200 magnification). (Right) Bone marrow core biopsy, CD123 immunohistochemistry, demonstrating CD123-positive plasmacytoid dendritic cell nodules (x200 magnification). e (Left) Bone marrow biopsy, TCL1 immunohistochemistry, demonstrating diffusely TCL1-positive blasts, suggestive of a blastic plasmacytoid dendritic cell neoplasm (x100 magnification). (Right) Bone marrow core biopsy, CD123 immunohistochemistry, demonstrating diffusely positive CD123 blasts, suggestive of a blastic plasmacytoid dendritic cell neoplasm (x100 magnification). f Bone marrow aspirate obtained at the time of disease transformation demonstrating hand mirror-shaped blastic cells, characteristic for blastic plasmacytoid dendritic cell neoplasms. Wright Giemsa, x1000 magnification + + *9606 + Species + + patient + + + *9606 + Species + + patient + + + Gene + + esterase + + + Gene + + butyrate esterase + + + Gene + + TCL1 + + + Gene + + TCL1 + + + Gene + + CD123 + + + Gene + + CD123 + + + Gene + + TCL1 + + + Gene + + TCL1 + + + Gene + + CD123 + + + Gene + + CD123 + + + + INTRO + paragraph + 3554 + A 61-year-old male was referred to the hematology clinic in 2014 for sustained PB monocytosis. A BM biopsy was suggestive of CMML-0 (World Health Organization 2016 criteria) with normal cytogenetics (Fig. 1). He did have plasmacytoid dendritic cell nodules comprising ~20% of the BM cellularity. NGS at diagnosis identified mutations involving TET2 (variant allele frequency (VAF) 40%) and SRSF2 (43%). He was conservatively managed with routine blood count checks. In 2017, he presented with worsening constitutional symptoms, a generalized skin rash, and progressive cytopenias. A BM biopsy and skin biopsy were suggestive of BPDCN with normal BM metaphase cytogenetics (Fig. 1). He was treated with AML-like induction chemotherapy using idarubicin and cytarabine and then received salvage chemotherapy with fludarabine, idarubicin, and cytarabine, but was found to have persistent disease and died secondary to infectious complications. BM DNA was available at the time of CMML diagnosis and at transformation to BPDCN. In addition, sorted T lymphocytes at CMML diagnosis were isolated and cultured to serve as a potential germline control for WES. + + Gene + + TET2 + + + Gene + + SRSF2 + + + + INTRO + paragraph + 4706 + Two hundred nanogram of genomic DNA was sheared with the Covaris S2 system (LGC Genomics/KBioscience). DNA fragments were end repaired, extended with an "A" base on the 3' end, ligated with paired-end adaptors with the Bravo Platform (Agilent), and amplified (six cycles). Exome-containing adaptor-ligated libraries were hybridized for 40 h with biotinylated oligo RNA baits, and enriched with streptavidin-conjugated magnetic beads using SureSelect Clinical Research (Agilent). The final libraries were indexed, pooled, and sequenced on Illumina HiSeq-2000 sequencer at the Institute Gustave Roussy (Paris, France). Raw reads in FASTQ format from each exome sequencing lane were aligned to the reference human genome (Hg19) using Burrows Wheeler-Alignment. Aligned reads were processed and sorted with SAMtools and PCR duplicates were removed. Nucleotide variants (single-nucleotide polymorphisms and indels) were called with VarScan and all variants with a Phred-based quality score <30.0 were called low quality and ignored. On an average, 369 million reads were sequenced per sample. A formal copy number variation (CNV) analysis was carried out on the WES data, both at CMML diagnosis and at BPDCN transformation, using the FACETS analysis software (https://sites.google.com/site/mskfacets). + + *9606 + Species + + human + + + + FIG + 41408_2018_120_Fig2_HTML.jpg + Fig2 + fig_caption + 6011 + Paired and germline whole-exome sequencing data obtained at the time of chronic myelomonocytic leukemia (CMML) diagnosis and at CMML transformation to a blastic plasmacytoid dendritic cell neoplasm (BPDCN). a Paired and germline whole-exome sequencing data obtained at the time of CMML diagnosis and at CMML transformation to BPDCN, demonstrating the biallelic inactivation of the RB1 gene. b Whole-exome sequencing data from chromosome 13, demonstrating biallelic inactivation of the RB1 gene secondary to loss of heterozygosity and the acquisition of a nonsense RB1 gene mutation (c.751C>T, p.R251*). c SciClone analysis demonstrating the clonal architecture and mutational evolution spectrum in a patient, at CMML diagnosis and at CMML transformation to BPDCN + + *9606 + Species + + patient + + + Gene + + RB1 + + + Gene + + RB1 + + + Gene + + RB1 + + + + INTRO + paragraph + 6774 + WES results on the DNA specimen obtained at CMML diagnosis identified the following pathogenic variants TET2 (c.1567_1568insA, p.G523Efs*44; VAF 57%), SRSF2 (c.284C>T, p.P95L; VAF 37%), PHF6 (c.753G>T, p.Q251H; VAF 57%), PLCXD3 (c.845C>T, p.T282M, VAF 39%), TRMT61B (c.656A>G, p.T219C, VAF 20%), STK3 (c.618del, p.N207Ifs*3, VAF 42%), SLC25A10 (c.787C>T, R263C, VAF 32%), DIP2A (c.1117C>T, R373W, VAF 35%), SARDH (c.1922G>A, p.G641E, VAF 19%), PLP1 (c.347C>T, T116M, VAF 74%), and IVL (c.706_735dup, P236_L245dup) (Fig. 2). At the time of BPDCN transformation, WES demonstrated acquisition of the following mutations: RB1 (c.751C>T, p.R251*; VAF 68% secondary to loss of heterozygosity of 13.q13-24), CROCC (c.4595C>G, T1532S, VAF 44%), ERCC4 (c.2608G>A, p.V870I, VAF 38%), and CHP2 (c.101G>A, R34Q, VAF 32%), while mutations involving the following genes were no longer detected, IVL and RFPL1. An increase in the VAF burdens in the following genes was also encountered at the time of BPDCN transformation, PHF6 (57-78%), TET2 (57-77%), PLCXD3 (39-43%), TRMT61B (20-40%), SLC25A10 (32-41%), DIP2A (35-40%), SARDH (19-34%), and PLP1 (74-91%). A formal CNV analysis also confirmed loss of heterozygosity of chromosome 13, involving the RB1 gene locus (supplemental figure). + + *105154 + Species + + CHP2 + + + Gene + + TET2 + + + Gene + + VAF + + + Gene + + SRSF2 + + + Gene + + VAF + + + Gene + + PHF6 + + + Gene + + PLCXD3 + + + Gene + + TRMT61B + + + Gene + + STK3 + + + Gene + + SLC25A10 + + + Gene + + DIP2A + + + Gene + + SARDH + + + Gene + + VAF + + + Gene + + PLP1 + + + Gene + + RB1 + + + Gene + + ERCC4 + + + Gene + + VAF + + + Gene + + CHP2 + + + Gene + + VAF + + + Gene + + IVL + + + Gene + + RFPL1 + + + Gene + + PHF6 + + + Gene + + TET2 + + + Gene + + PLCXD3 + + + Gene + + TRMT61B + + + Gene + + SLC25A10 + + + Gene + + DIP2A + + + Gene + + SARDH + + + Gene + + PLP1 + + + Gene + + RB1 + + + + INTRO + paragraph + 8063 + CMML blast transformation morphologically almost always results in an AML phenotype and occurs due to the clonal acquisition of cytogenetic and molecular abnormalities. In a large, two-center study of 171 patients with blast phase CMML, all patients met the morphological criteria for a diagnosis of AML (secondary AML) and cytogenetic clonal evolution was seen in 24% of patients, while molecular clonal evolution was seen in 50% of patients. Blast transformation from CMML to BPDCN is an extremely rare event and is usually associated with CNVs and unique molecular changes. In our patient, the main genetic event identified at BPDCN transformation was a truncating mutation in RB1, along with loss of heterozygosity of the RB1 gene, resulting in biallelic inactivation of RB1 (Fig. 2). The RB1 gene encodes a protein with tumor suppressor function that serves as a G1 checkpoint inhibitor (by inhibiting E2F transcription factors), a regulator of apoptosis and helps maintain permanent cell cycle arrest and chromosomal stability. In addition, RB1 also acts as a transcription cofactor and an adaptor protein promoting the function of critical transcription factors. Loss of RB1 function is associated with progression of human cancers via loss of cellular differentiation and chromosomal instability. While RB1 mutations and deletions are common in BPDCN, they are infrequent in CMML or secondary AML arising from CMML, supporting our hypothesis that in our patient, biallelic loss of RB1 maybe a major contributor of a BPDCN phenotypic transformation. Additional genetic events acquired at the time of BPDCN transformation included mutations involving ERCC4 (Excision Repair 1, Endonuclease Non-Catalytic Subunit) and CHP2 (Calcineurin B Homologous Protein 2). While these genes have important physiological functions and have been implicated in oncogenesis, their contribution to BPDCN transformation needs further elucidation. Increase in mutational frequencies of genes identified at CMML diagnosis, including TET2 and PHF6 are consistent with the process of clonal evolution and disease transformation. Interestingly, the VAF burden of SRSF2, a gene regulating pre-mRNA splicing, remained the same at CMML diagnosis and at BPDCN transformation. + + *9606 + Species + + patients + + + *9606 + Species + + patients + + + *9606 + Species + + patients + + + *9606 + Species + + patients + + + *9606 + Species + + patient + + + *9606 + Species + + human + + + *9606 + Species + + patient + + + *105154 + Species + + CHP2 + + + Gene + + RB1 + + + Gene + + RB1 + + + Gene + + RB1 + + + Gene + + RB1 + + + FamilyName + + E2F transcription factors + + + Gene + + RB1 + + + Gene + + RB1 + + + Gene + + RB1 + + + Gene + + RB1 + + + Gene + + ERCC4 + + + Gene + + Excision Repair 1, + + + Gene + + Endonuclease Non-Catalytic Subunit + + + Gene + + CHP2 + + + Gene + + Calcineurin B Homologous Protein 2 + + + Gene + + TET2 + + + Gene + + PHF6 + + + Gene + + SRSF2 + + + + INTRO + paragraph + 10317 + By performing WES in paired samples and in the germline of a single patient with BPDCN transformation from an underlying CMML, we demonstrate (i) the common clonal origins of CMML and BPDCN, justifying the current inclusion of BPDCN as a myeloid neoplasm, (ii) the fact that the blast phenotype at CMML transformation is heavily dependent on the nature of genetic changes that occur at blast transformation, iii) the importance of the RB1 gene in BPDCN morphology and oncogenesis, and (iv) the role of clonal acquisitions and losses and increases in existing mutational allele burdens in disease progression/blast transformation. + + *9606 + Species + + patient + + + Gene + + RB1 + + + + SUPPL + title_1 + 10947 + Electronic supplementary material + + + SUPPL + footnote + 10981 + Publisher's note: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. + + + SUPPL + title_1 + 11118 + Electronic supplementary material + + + SUPPL + paragraph + 11152 + Supplementary Information accompanies this paper at (10.1038/s41408-018-0120-5). + + + COMP_INT + title_1 + 11233 + Conflict of interest + + + COMP_INT + paragraph + 11254 + The authors declare no competing interests. + + + REF + title + 11298 + References + + + 127 + REF + surname:Arber;given-names:DA + 2391 + 10.1182/blood-2016-03-643544 + 27069254 + 2016 + Blood + ref + 2405 + 11309 + The 2016 revision to the World Health Organization classification of myeloid neoplasms and acute leukemia + + + REF + ref + 11415 + Patnaik M. M. et al. Blast phase chronic myelomonocytic leukemia: Mayo-MDACC Collaborative Study of 171 cases. Leukemia 2018 10.1038/s41375-018-0143-8. + + 162683 + Species + + Mayo + + + + 7 + REF + surname:Merlevede;given-names:J + 10767 + 10.1038/ncomms10767 + 26908133 + 2016 + Nat. Commun. + ref + 11567 + Mutation allele burden remains unchanged in chronic myelomonocytic leukaemia responding to hypomethylating agents + + + 99 + REF + surname:Leroux;given-names:D + 4154 + 10.1182/blood.V99.11.4154 + 12010820 + 2002 + Blood + ref + 4159 + 11681 + CD4(+), CD56(+) DC2 acute leukemia is characterized by recurrent clonal chromosomal changes affecting 6 major targets: a study of 21 cases by the Groupe Francais de Cytogenetique Hematologique + + + 28 + REF + surname:Menezes;given-names:J + 823 + 10.1038/leu.2013.283 + 24072100 + 2014 + Leukemia + ref + 829 + 11874 + Exome sequencing reveals novel and recurrent mutations with clinical impact in blastic plasmacytoid dendritic cell neoplasm + + + 5 + REF + surname:Stenzinger;given-names:A + 6404 + 10.18632/oncotarget.2223 + 25115387 + 2014 + Oncotarget + ref + 6413 + 11998 + Targeted ultra-deep sequencing reveals recurrent and mutually exclusive mutations of cancer genes in blastic plasmacytoid dendritic cell neoplasm + + + 31 + REF + surname:Suzuki;given-names:K + 1629 + 10.1038/leu.2017.101 + 28344318 + 2017 + Leukemia + ref + 1633 + 12144 + Recurrent MYB rearrangement in blastic plasmacytoid dendritic cell neoplasm + + + 31 + REF + surname:Brunetti;given-names:L + 1238 + 10.1038/leu.2017.38 + 28111467 + 2017 + Leukemia + ref + 1240 + 12220 + Blastic plasmacytoid dendritic cell neoplasm and chronic myelomonocytic leukemia: a shared clonal origin + + + 29 + REF + surname:Facchetti;given-names:F + 98 + 10.1038/modpathol.2015.145 + 26743477 + 2016 + Mod. Pathol. + ref + 111 + 12325 + Neoplasms derived from plasmacytoid dendritic cells + + + 90 + REF + surname:Patnaik;given-names:MM + 411 + 10.1002/ajh.23962 + 25645147 + 2015 + Am. J. Hematol. + ref + 416 + 12377 + Blast transformation in chronic myelomonocytic leukemia: risk factors, genetic features, survival, and treatment outcome + + + 8 + surname:Sage;given-names:J + REF + surname:Burkhart;given-names:DL + 671 + 10.1038/nrc2399 + 18650841 + 2008 + Nat. Rev. Cancer + ref + 682 + 12498 + Cellular mechanisms of tumour suppression by the retinoblastoma gene + + + 88 + REF + surname:Patnaik;given-names:MM + 201 + 10.1002/ajh.23373 + 23335386 + 2013 + Am. J. Hematol. + ref + 206 + 12567 + Spliceosome mutations involving SRSF2, SF3B1, and U2AF35 in chronic myelomonocytic leukemia: prevalence, clinical correlates, and prognostic relevance + + + diff --git a/tmp_SA/PubMed.input.pubtator b/tmp_SA/PubMed.input.pubtator new file mode 100644 index 0000000000000000000000000000000000000000..4faf895fbda898d69b264fb3d535ab83e1e46862 --- /dev/null +++ b/tmp_SA/PubMed.input.pubtator @@ -0,0 +1,187 @@ +36206327|t|External Collaboration Results in Student Learning Gains and Positive STEM Attitudes in CUREs. +36206327|a|The implementation of course-based undergraduate research experiences (CUREs) has made it possible to expose large undergraduate populations to research experiences. For these research experiences to be authentic, they should reflect the increasingly collaborative nature of research. While some CUREs have expanded, involving multiple schools across the nation, it is still unclear how a structured extramural collaboration between students and faculty from an outside institution affects student outcomes. In this study, we established three cohorts of students: 1) no-CURE, 2) single-institution CURE (CURE), and 3) external collaborative CURE (ec-CURE), and assessed academic and attitudinal outcomes. The ec-CURE differs from a regular CURE in that students work with faculty member from an external institution to refine their hypotheses and discuss their data. The sharing of ideas, data, and materials with an external faculty member allowed students to experience a level of collaboration not typically found in an undergraduate setting. Students in the ec-CURE had the greatest gains in experimental design; self-reported course benefits; scientific skills; and science, technology, engineering, and mathematics (STEM) importance. Importantly this study occurred in a diverse community of STEM disciplinary faculty from 2- and 4-year institutions, illustrating that exposing students to structured external collaboration is both feasible and beneficial to student learning. + +36206680|t|Deciphering the mechanisms shaping the plastisphere antibiotic resistome on riverine microplastics. +36206680|a|Microplastics in urban rivers provide bacterial niches and serve as dispersal vectors for antibiotic resistant genes (ARGs) dissemination, which may exacerbate risks in the aquatic systems. However, whether MPs in the river would also selectively enrich ARGs and the underlying mechanisms shaping the resistome on MPs remains largely unknown. In this study, we explored the occurrence of ARGs, bacterial communities, and mobile genetic elements (MGEs) on MPs and in waters from the Huangpu River in China. Microplastics were widely distributed in the river (1.78 +- 0.84 items/L), with overwhelming percentages of polyethylene terephthalate fibers. Although reduced ARG abundances were observed on MPs than in waters, MPs selectively enriched the ARGs resistant to Rifamycin and Vancomycin. A clear variation for ARG profiles was elucidated between water and MPs samples. Network analysis suggested that MPs created a unique niche for the genus Afipia to colonize, potentially contributing to the vertical dissemination of ARGs. Additionally, the co-occurrence between ARGs and MGEs revealed that the MPs favor the propagation of some plasmid-associated ARGs mediated by horizontal gene transfer. The null model-based stochasticity ratio and the neutral community model suggested that the ARG assembly on MPs was dominantly driven by stochastic process. The results further indicated that microbial communities and MGEs played significant roles in shaping ARG profiles and dynamics on MPs. Our findings provided new insights into the ecological processes of antibiotic resistome of the aquatic plastisphere. +36206680 766 769 ARG FamilyName Focus:9606 + +36207030|t|Exploring the impact of elexacaftor-tezacaftor-ivacaftor treatment on opinions regarding airway clearance techniques and nebulisers: TEMPO a qualitative study in children with cystic fibrosis, their families and healthcare professionals. +36207030|a|BACKGROUND: Cystic fibrosis (CF) is a genetic condition caused by variants in the cystic fibrosis transmembrane conductance regulator (CFTR) gene that primarily impacts the lungs. Treatments historically have been symptomatic to improve airway clearance and treat infection. However, CFTR modulator drugs have recently been developed that target the underlying defect. The triple combination of elexacaftor-tezacaftor-ivacaftor (ETI) was approved in 2020 in England for over 80% of people with CF aged over 12 years and in 2022 extended to those over 6 years. ETI treatment is associated with substantial improvements in lung function. The experience of children with CF starting on ETI or their views regarding future treatments have not been well studied. This study aimed to explore the opinions of children with CF, their parents/carers and healthcare professionals (HCPs) on the impact of ETI, airway clearance techniques (ACTs) and nebulised treatments. METHODS: Semistructured qualitative interviews were performed with 10 children with CF, 7 parents/carers and 10 HCPs. Audio recordings were transcribed and analysed using reflexive thematic analysis. RESULTS: Four main themes were identified: 'Kaftrio changed my life', 'Your entire life is dictated by the CF timetable', 'Simplifying treatment-hopes and fears' and 'Kaftrio is a game-changer' along with several subthemes and an overarching theme of 'I still can't get my head around how three tablets can do what Kaftrio done'. CONCLUSIONS: Despite the highly positive impact of ETI on the health of children with CF some concerns remain about the longer-term outcomes of reducing ACTs or nebulised treatments. ETI has prompted a shift in treatment for many and offers an opportunity to personalise approaches. +36207030 162 170 children Species *9606 +36207030 720 726 people Species *9606 +36207030 892 900 children Species *9606 +36207030 1040 1048 children Species *9606 +36207030 1268 1276 children Species *9606 +36207030 1800 1808 children Species *9606 +36207030 320 371 cystic fibrosis transmembrane conductance regulator Gene Focus:9606 +36207030 373 377 CFTR Gene Focus:9606 +36207030 522 526 CFTR Gene Focus:9606 + +36207381|t|Contribution of perceived loneliness to suicidal thoughts among French university students during the COVID-19 pandemic. +36207381|a|Restrictive measures during the COVID-19 epidemic have led to increased levels of loneliness, especially among university students, although the influence on suicidal thoughts remains unclear. In this cross-sectional study of 1913 French university students, those with the highest level of loneliness had a fourfold increased risk of suicidal thoughts. Perceived loneliness should be incorporated into suicide risk assessment, and assistance in coping with loneliness should be considered as a means of reducing suicidal risk in vulnerable groups, like university students. + +36207733|t|Patient and provider perspectives on polygenic risk scores: implications for clinical reporting and utilization. +36207733|a|BACKGROUND: Polygenic risk scores (PRS), which offer information about genomic risk for common diseases, have been proposed for clinical implementation. The ways in which PRS information may influence a patient's health trajectory depend on how both the patient and their primary care provider (PCP) interpret and act on PRS information. We aimed to probe patient and PCP responses to PRS clinical reporting choices METHODS: Qualitative semi-structured interviews of both patients (N=25) and PCPs (N=21) exploring responses to mock PRS clinical reports of two different designs: binary and continuous representations of PRS. RESULTS: Many patients did not understand the numbers representing risk, with high numeracy patients being the exception. However, all the patients still understood a key takeaway that they should ask their PCP about actions to lower their disease risk. PCPs described a diverse range of heuristics they would use to interpret and act on PRS information. Three separate use cases for PRS emerged: to aid in gray-area clinical decision-making, to encourage patients to do what PCPs think patients should be doing anyway (such as exercising regularly), and to identify previously unrecognized high-risk patients. PCPs indicated that receiving "below average risk" information could be both beneficial and potentially harmful, depending on the use case. For "increased risk" patients, PCPs were favorable towards integrating PRS information into their practice, though some would only act in the presence of evidence-based guidelines. PCPs describe the report as more than a way to convey information, viewing it as something to structure the whole interaction with the patient. Both patients and PCPs preferred the continuous over the binary representation of PRS (23/25 and 17/21, respectively). We offer recommendations for the developers of PRS to consider for PRS clinical report design in the light of these patient and PCP viewpoints. CONCLUSIONS: PCPs saw PRS information as a natural extension of their current practice. The most pressing gap for PRS implementation is evidence for clinical utility. Careful clinical report design can help ensure that benefits are realized and harms are minimized. +36207733 0 7 Patient Species *9606 +36207733 316 323 patient Species *9606 +36207733 367 374 patient Species *9606 +36207733 469 476 patient Species *9606 +36207733 585 593 patients Species *9606 +36207733 752 760 patients Species *9606 +36207733 830 838 patients Species *9606 +36207733 877 885 patients Species *9606 +36207733 1194 1202 patients Species *9606 +36207733 1225 1233 patients Species *9606 +36207733 1339 1347 patients Species *9606 +36207733 1510 1518 patients Species *9606 +36207733 1805 1812 patient Species *9606 +36207733 1819 1827 patients Species *9606 +36207733 2049 2056 patient Species *9606 + +36208084|t|GPR109a Regulates Phenotypic and Functional Alterations in Macrophages and the Progression of Type 1 Diabetes. +36208084|a|SCOPE: Dietary fibers can alter gut microbiota and microbial metabolite profiles. SCFAs are produced by bacterial fermentation of fiber, mediating immune homeostasis through G-protein-coupled receptors (GPCRs). GPR109a, a receptor for niacin and butyrate, expressed by immune cells and non-immune cells, is a key factor regulating immune responses. However, the role and underlying mechanisms of GPR109a in type 1 diabetes (T1D) remain unclear. METHODS AND RESULTS: Experimental T1D was induced by streptozotocin in GPR109a-deficient (Gpr109a-/- ) and wild type mice. We found that Gpr109a-/- mice were more susceptible to T1D with dysregulated immune responses, along with increased M1 macrophage polarization (from 10.55% to 21.48%). Further, an adoptive transfer experiment demonstrated that GPR109a-deficient macrophages promoted the homing of intestine-derived Tc1 cells to pancreas (from 18.91% to 24.24%), thus disturbing the pancreatic immune homeostasis in non-obese diabetic mice. Mechanistically, GPR109a deficiency promoted M1 macrophage polarization may be associated with the activation of suppressor of cytokine signaling 3-signal transducer and activator of transcription 1 signaling pathway. CONCLUSION: Our findings reveal that macrophage GPR109a deficiency accelerates the development of T1D. Activation of GPR109a on macrophage by dietary components may provide a new strategy for preventing or treating T1D. This article is protected by copyright. All rights reserved. +36208084 673 677 mice Species *10090 +36208084 704 708 mice Species *10090 +36208084 1096 1100 mice Species *10090 +36208084 0 7 GPR109a Gene Focus:10090 +36208084 285 312 G-protein-coupled receptors FamilyName Focus:10090 +36208084 314 319 GPCRs FamilyName Focus:10090 +36208084 322 329 GPR109a Gene Focus:10090 +36208084 507 514 GPR109a Gene Focus:10090 +36208084 627 634 GPR109a Gene Focus:10090 +36208084 646 653 Gpr109a Gene Focus:10090 +36208084 693 700 Gpr109a Gene Focus:10090 +36208084 906 913 GPR109a Gene Focus:10090 +36208084 1119 1126 GPR109a Gene Focus:10090 +36208084 1215 1249 suppressor of cytokine signaling 3 Gene Focus:10090 +36208084 1250 1300 signal transducer and activator of transcription 1 Gene Focus:10090 +36208084 1368 1375 GPR109a Gene Focus:10090 +36208084 1437 1444 GPR109a Gene Focus:10090 + +36208435|t|Evaluating syntactic comprehension during awake intraoperative cortical stimulation mapping. +36208435|a|OBJECTIVE: Electrocortical stimulation mapping (ECS) is widely used to identify essential language areas, but sentence-level processing has rarely been investigated. METHODS: While undergoing awake surgery in the dominant left hemisphere, 6 subjects were asked to comprehend sentences varying in their demands on syntactic processing. RESULTS: In all 6 subjects, stimulation of the inferior frontal gyrus disrupted comprehension of passive sentences, which critically depend on syntactic processing to correctly assign grammatical roles, without disrupting comprehension of simpler tasks. In 4 of the 6 subjects, these sites were localized to the pars opercularis. Sentence comprehension was also disrupted by stimulation of other perisylvian sites, but in a more variable manner. CONCLUSIONS: These findings suggest that there may be language regions that differentially contribute to sentence processing and which therefore are best identified using sentence-level tasks. The functional consequences of resecting these sites remain to be investigated. + +36208787|t|Residence near industrial complex and cancer incidence: A registry-based cohort of 1,022,637 participants with a follow-up of 21 years, Israel. +36208787|a|BACKGROUND: Industrial complex (IC) residence is associated with higher cancer incidence in adults and children. However, the effect on young adults and the residence duration are not well described. Since the beginning of the 20th century, the Haifa bay area (HBA) has a major IC area with petrochemical industry complex and many other industries. The objectives of the current study were to estimate the association between IC residence and cancer incidence and to evaluate the effect of the residence duration. METHODS: This study is a registry-based cohort (N = 1,022,637) with a follow-up of 21 years. Cox regression models were used to evaluate the associations (hazards ratios (HR) and its 95% confidence intervals (CIs)) between HBA residence and incidence of all cancer sites (n = 62,049) and for site-specific cancer types including: lung cancer (n = 5398), bladder cancer (n = 3790), breast cancer (n = 11,310), prostate cancer (n = 6389) skin cancer (n = 4651), pancreatic cancer (n = 2144) and colorectal cancer (n = 8675). We evaluated the effect of the duration of exposure as categories of 7 years for those with 15 years of follow-up. RESULTS: IC residence was associated with higher risk for all cancer sites (HR:1.09, 95% CI: 1.06-1.12), for site-specific cancer incidence including: lung cancer (HR:1.14, 95% CI: 1.04-1.23), bladder cancer (HR:1.11, 95% CI: 1.01-1.23), breast cancer (HR:1.04, 95% CI: 0.98-1.10), prostate cancer (HR:1.07, 95% CI: 0.99-1.16), skin cancer (HR:1.22, 95% CI: 1.12-1.33) and colorectal cancer (HR:1.10, 95%CI: 1.03-1.17). Similar risk was also observed among young adults (HR: 1.10, 95% CI: 1.00-1.20). In the analyses for the duration of exposure, IC residence was associated with higher risk for all cancer site for the longest residence duration (15-21 years: HR: 1.08, 95% CI: 1.04-1.13). CONCLUSIONS: Harmful associations were found between IC residence and incidence of all cancer sites and site-specific cancers types. Our findings add to the limited evidence of associations between IC residence and cancer in young adults. +36208787 93 105 participants Species *9606 +36208787 247 255 children Species *9606 + +36209137|t|Retraction Note: Mesenchymal stem cell-derived exosomal miR-146a reverses diabetic beta-cell dedifferentiation. +36209137|a|-no abstract- +36209137 56 64 miR-146a Gene Focus:9606 + +36209489|t|Corticotropin-releasing factor is involved in acute stress-induced analgesia and antipruritus. +36209489|a|BACKGROUND: Under the condition of stress, the hypothalamic-pituitary-adrenal axis (HPA axis) is activated and causes the secretion of corticotropin-releasing factor (CRF). Previous studies have demonstrated that CRF is involved in the regulation of pain and itch. Thus, it remains worthy to explore whether the desensitization of pain and itch under high-intensity acute stress (such as high fear and tension) is related to the sharp increase of CRF. METHODS: Forced swimming was used to simulate acute stress. ELISA and pharmacological methods were conducted to observe the effects of forced swimming on acute pain or itch and the relationship between blood CRF content and itch or pain behavior. Intracerebroventricular (ICV) administration of CRF was conducted to examine the effects of CRF on acute pain or itch. Intrathecal administration of CRF receptor agonist or antagonist was conducted to examine the receptor mechanisms of the regulatory role of CRF in pain and itch. RESULTS: ELISA experiment showed that the serum CRF in mice reached its peak within 5-10 min after acute stress (forced swimming). Behavioral data showed that the scratching behavior induced by itch agents decreased after acute swimming, while the mechanical pain threshold increased significantly. The inhibitory effect of acute stress on pain and itch is mediated by CRF receptor2 (CRFR2). Then, ICV injection of CRF was used to simulate the massive release of CRF under acute stress, and we observed that the scratching behavior induced by histamine or chloroquine was significantly inhibited after ICV injection of CRF. The above effects of CRF are mainly mediated by CRFR2. These results suggest that 5-10 min after acute stress, a large amount of CRF is released into the blood from the hypothalamus, which significantly inhibits acute pain and itch by acting on CRFR2. ICV injection of CRF can replicate the antipruritus effects of acute stress. CONCLUSIONS: The present study investigated the mechanism of acute stress-induced analgesia and antipruritus and provided theoretical support for the treatment of pain and itch. +36209489 1130 1134 mice Species *10090 +36209489 0 30 Corticotropin-releasing factor Gene Focus:10090 +36209489 230 260 corticotropin-releasing factor Gene Focus:10090 +36209489 262 265 CRF Gene Focus:10090 +36209489 308 311 CRF Gene Focus:10090 +36209489 755 758 CRF Gene Focus:10090 +36209489 842 845 CRF Gene Focus:10090 +36209489 886 889 CRF Gene Focus:10090 +36209489 943 955 CRF receptor Gene Focus:10090 +36209489 1053 1056 CRF Gene Focus:10090 +36209489 1123 1126 CRF Gene Focus:10090 +36209489 1444 1457 CRF receptor2 Gene Focus:10090 +36209489 1459 1464 CRFR2 Gene Focus:10090 +36209489 1490 1493 CRF Gene Focus:10090 +36209489 1538 1541 CRF Gene Focus:10090 +36209489 1694 1697 CRF Gene Focus:10090 +36209489 1720 1723 CRF Gene Focus:10090 +36209489 1747 1752 CRFR2 Gene Focus:10090 +36209489 1828 1831 CRF Gene Focus:10090 +36209489 1944 1949 CRFR2 Gene Focus:10090 +36209489 1968 1971 CRF Gene Focus:10090 + +36209839|t|'Erythritol', a safe natural sweetener exhibits multi-stage anti-malarial activity by permeating into Plasmodium falciparum through aquaglyceroporin channel. +36209839|a|The increased resistance of human malaria parasite Plasmodium falciparum (Pf) to currently used drugs necessities the development of novel anti-malarials. Here, we examine the potential of erythritol, a sugar substitute for therapeutic intervention. Erythritol is a permeant of Plasmodium falciparum aquaglyceroporin (PfAQP) which is a multifunctional channel responsible for maintaining hydro-homeostasis. We show that erythritol effectively inhibited growth and progression of asexual blood stage malaria parasite, and effect invasion and egress processes. It also inhibited the liver stage (sporozoites) and transmission stage parasite (gametocytes) development. Interestingly, erythritol inhibited in vivo growth of malaria parasite in mouse experimental model. It was more effective in inhibiting parasite growth both in vivo and in vitro when tested together with a known anti-malarial 'artesunate'. Additionally, erythritol showed cytokine-modulating effect which suggests its direct effect on the host immune system. Ammonia detection assay demonstrated that erythritol uptake effects the amount of ammonia release across the parasite. Our functional complementation assays suggest that PfAQP expression in yeast mutant restores its growth in hyperosmotic conditions but showed reduced growth in the presence of erythritol. Osmotic lysis assay suggests that erythritol creates osmotic stress for killing the parasite. Overall, our data bestow erythritol as a promising lead compound with an attractive antimalarial profile and could possibly be combined with known drugs without losing its efficacy. We propose the use of erythritol based sweet candies for protection against malaria specially in children living in the endemic area. +36209839 102 123 Plasmodium falciparum Species *5833 +36209839 186 191 human Species *9606 +36209839 209 230 Plasmodium falciparum Species *5833 +36209839 436 457 Plasmodium falciparum Species *5833 +36209839 898 903 mouse Species *10090 +36209839 1373 1378 yeast Species *4932 +36209839 1863 1871 children Species *9606 +36209839 232 234 Pf Species *5833 +36209839 408 418 Erythritol Gene Focus:5833,9606 +36209839 458 474 aquaglyceroporin Gene Focus:5833,9606 +36209839 476 481 PfAQP Gene Focus:5833,9606 +36209839 1353 1358 PfAQP Gene Focus:5833,9606 + +36210189|t|Disturbance observer-based prescribed performance super-twisting sliding mode control for autonomous surface vessels. +36210189|a|This paper proposes a disturbance observer-based prescribed performance super-twisting sliding mode control (DOB PPSTSMC) for trajectory tracking of the autonomous surface vessels (ASVs) subject to unknown external disturbances and modeling errors. Both unknown external disturbances and system modeling errors are approximated by the disturbance observer, thus eliminating most of the effect caused by lumped disturbances in the control performance. Based on this, a prescribed performance super-twisting sliding mode controller is explored to further suppress the residual error of disturbance compensation. Prescribed performance constraints are considered in the coming up with the super-twisting sliding mode controller, so that ASVs not only achieve effective tracking of time-varying desired trajectories, but also improve the transient performance of the control system. In addition, the controller is continuous and chatter-free, which has greater practical value. The excellence of the control project design is highlighted through the simulation and comparison results. + +36210539|t|Additional evidence for the vascular disruption defect hypothesis in a novel case of brainstem disconnection syndrome. +36210539|a|INTRODUCTION: Brainstem disconnection syndrome is a rare and severe disease resulting from a midbrain-hindbrain segmental defect. Clinical signs include a severe neurological impairment, an early death (usually during the first year of life), and pathognomonic postnatal brain imaging features. Two major hypotheses are proposed to explain the etiopathogenesis of this syndrome, namely an inborn error of morphogenesis or a vascular disruption defect. CASE REPORT AND LITERATURE REVIEW: Here we report on prenatal (ultrasound; fetal MRI) and postnatal (MRI) neuroimaging findings observed in a full-term female newborn with a brainstem disconnection syndrome. The prenatal and postnatal findings point toward an early fetal vascular disruption defect as the pregnancy was marked by three episodes of hospitalization resulting from a very severe maternal dehydration. The first episode took place as early as the 18th week of gestation. Our clinical follow-up at 1 year age is well in line with the findings observed in 13 other cases reported in the literature. Interestingly, among these 13 cases, a vascular disruption defect was suggested in 8 patients and confirmed by autopsy in at least 2 cases. CONCLUSION: In the present report, we bring objective evidence for the antenatal cause of a brainstem disconnection syndrome resulting from a vascular disruption defect occurring in the context of a severe maternal dehydration. In particular, our neuroimaging findings observed during pregnancy and after birth illustrate the prenatal occurrence of this vascular disruption defect. +36210539 1266 1274 patients Species *9606 + +36210889|t|Profiling planning skills and cognitive flexibility of adults with autism spectrum disorders: Preliminary results from an exploratory service-based study. +36210889|a|Background: Executive functions (EF) impairments have long been observed in children and youths with autism spectrum disorders (ASD). Until very recently, little attention has been paid to examine EF profiles of adults with ASD. Given the importance of EF to cope with the demands of daily life and participate in society (e.g. maintaining an employment), this study reports on a preliminary investigation aimed at exploring planning skills and cognitive flexibility in a sample of adults with ASD and without intellectual disability. A secondary aim was to explore the contribution of both intellectual functioning and socio-demographic variables on efficiency of EF. Method: Twenty-nine autistic adults (age range 18-50) were assessed using the Tower of London (ToL) test and the Wisconsin Card Sorting Test (WCST). Intellectual functioning was assessed with the Wechsler Adult Intelligence Scale - IV. Results: From the evaluations emerged poor performances in sub-processes related to planning skills as assessed by ToL (number of Moves, Correct Reponses, and Execution time). In contrast, WCST performance did not result impaired in any of the indicators considered. Exploratory analyses revealed a strong relationship between the time needed to complete the planning tasks and visuo-spatial reasoning. Further, strong inverse associations were found between global intellectual functioning and chronological age in the WCST. Conclusions: The results of this study highlight mixed EF profiles in a sample of adults with ASD. Future investigations may build on the results of the present study to understand whether evaluating planning abilities of adults with ASD by means of measures that do not require a time-limit would yield different results compared to time-constrained assessment procedures. +36210889 231 239 children Species *9606 + +36211239|t|Progress in adopting bans on tobacco advertising, promotion, and sponsorship in the Americas: lessons from Uruguay and Argentina. +36211239|a|Objective: To assess progress in and barriers to implementing bans on tobacco advertising, promotion and sponsorship (TAPS) in Uruguay, which has a complete ban, and Argentina, with a partial ban. Methods: Legislation on TAPS bans in Uruguay and Argentina was reviewed and relevant published literature, news stories, civil society reports and tobacco industry reports retrieved to analyze progress in implementing TAPS bans. Results: In Uruguay, the complete TAPS ban, which includes standardized tobacco packaging, maintains high compliance and severely limits exposure of TAPS, despite a few problems with corporate social responsibility, social media, and transnational advertising. In Argentina, the partial TAPS ban has more problems with compliance and exposure to TAPS. The most important barriers to implementing TAPS bans in both countries are the tobacco companies. In Uruguay, tobacco companies do not comply in a few areas but the complete ban greatly minimizes this. In Argentina, however, tobacco companies can more easily exploit gaps in the partial TAPS ban, such as advertising at the points of sale, promoting contests, and using influencers on social media. Conclusions: The partial TAPS ban in Argentina illustrates the problems with enforcement and the tobacco industry's ability to exploit loopholes and continue to market their products, especially to young people. A complete TAPS ban, including standardized tobacco packaging, as in Uruguay, is easier to implement and enforce and is effective in reducing exposure to tobacco advertising. Nevertheless, governments should prioritize implementing TAPS bans on social media, which remains a difficult sphere to monitor and allows tobacco companies to continue recruiting and targeting young people. +36211239 29 36 tobacco Species *4097 +36211239 200 207 tobacco Species *4097 +36211239 474 481 tobacco Species *4097 +36211239 628 635 tobacco Species *4097 +36211239 988 995 tobacco Species *4097 +36211239 1019 1026 tobacco Species *4097 +36211239 1134 1141 tobacco Species *4097 +36211239 1405 1412 tobacco Species *4097 +36211239 1512 1518 people Species *9606 +36211239 1564 1571 tobacco Species *4097 +36211239 1674 1681 tobacco Species *4097 +36211239 1834 1841 tobacco Species *4097 +36211239 1895 1901 people Species *9606 + +36211589|t|Brain augmentation and neuroscience technologies: current applications, challenges, ethics and future prospects. +36211589|a|Ever since the dawn of antiquity, people have strived to improve their cognitive abilities. From the advent of the wheel to the development of artificial intelligence, technology has had a profound leverage on civilization. Cognitive enhancement or augmentation of brain functions has become a trending topic both in academic and public debates in improving physical and mental abilities. The last years have seen a plethora of suggestions for boosting cognitive functions and biochemical, physical, and behavioral strategies are being explored in the field of cognitive enhancement. Despite expansion of behavioral and biochemical approaches, various physical strategies are known to boost mental abilities in diseased and healthy individuals. Clinical applications of neuroscience technologies offer alternatives to pharmaceutical approaches and devices for diseases that have been fatal, so far. Importantly, the distinctive aspect of these technologies, which shapes their existing and anticipated participation in brain augmentations, is used to compare and contrast them. As a preview of the next two decades of progress in brain augmentation, this article presents a plausible estimation of the many neuroscience technologies, their virtues, demerits, and applications. The review also focuses on the ethical implications and challenges linked to modern neuroscientific technology. There are times when it looks as if ethics discussions are more concerned with the hypothetical than with the factual. We conclude by providing recommendations for potential future studies and development areas, taking into account future advancements in neuroscience innovation for brain enhancement, analyzing historical patterns, considering neuroethics and looking at other related forecasts. +36211589 147 153 people Species *9606 + +36211939|t|Analysis of the mediating effects of self-efficacy and self-control between physical activity and Internet addiction among Chinese college students. +36211939|a|It explores the roles of self-efficacy and self-control in physical activity and Internet addiction. And it further provides a theoretical basis for the treatment and improvement of Internet addiction among college students. This study employs the whole group sampling method. The questionnaire was conducted on 855 college students from five universities in three provinces using the Physical Activity Level Scale, the General Self-Efficacy Scale, the Self-Control Scale, and the Chinese Internet Addiction Scale (IAS). The analyses yielded three main findings. (1) A large amount of physical activity was helpful in reducing the symptoms of Internet addiction and the problematic status of each dimension among college students. (2) A large or moderate amount of physical activity was helpful in enhancing college students' self-efficacy. Besides, a large amount of physical activity was likely to enhance college students' self-control. (3) The condition of physical activity not only directly has the negative correlation with college students' Internet addiction but also influences college students' Internet addiction through two indirect ways: the mediating role of self-control and the chain mediating role of self-efficacy and self-control. These conclusions provide a deeper understanding of the protective factors of Internet addiction among Chinese college students. + +36212289|t|Performance-guaranteed distributed control for multiple plant protection UAVs with collision avoidance and a directed topology. +36212289|a|The urgent requirement for improving the efficiency of agricultural plant protection operations has spurred considerable interest in multiple plant protection UAV systems. In this study, a performance-guaranteed distributed control scheme is developed in order to address the control of multiple plant protection UAV systems with collision avoidance and a directed topology. First, a novel concept called predetermined time performance function (PTPF) is proposed, such that the tracking error can converge to an arbitrary small preassigned region in finite time. Second, combined with the two-order filter for each UAV, the information estimation from the leader is generated. The distributed protocol avoids the use of an asymmetric Laplace matrix of a directed graph and solves the difficulty of control design. Furthermore, by introducing with a collision prediction mechanism, a repulsive force field is constructed between the dynamic obstacle and the UAV, in order to avoid the collision. Finally, it is rigorously proved that the consensus of the multiple plant protection UAV system can be achieved while guaranteeing the predetermined time performance. A numerical simulation is carried out to verify the effectiveness of the presented method, such that the multiple UAVs system can fulfill time-constrained plant protection tasks. + +36212642|t|Outcome and risk factors of complications after cranioplasty with polyetheretherketone and titanium mesh: A single-center retrospective study. +36212642|a|Background: To compare the incidence of complications and constructive effects of cranioplasty with polyetheretherketone (PEEK) and titanium mesh after decompressive craniectomy, and to further explore potential risk factors of postoperative and post-discharge complications. Methods: A retrospective study was conducted on 211 patients who underwent PEEK or titanium mesh cranioplasty in the Department of Neurosurgery of Zhujiang Hospital, Southern Medical University, between July 2017 and September 2021. Demographic data, imaging data, and postoperative complications were recorded and statistically analyzed. Long-term effects and satisfaction degree were evaluated based on following-up telephone survey. Univariate and multivariate logistic regression models were used to analyze risk factors of postoperative and post-discharge complications of PEEK and titanium cranioplasty. Results: The total postoperative complication rates of the PEEK and titanium mesh groups were 38.7 and 51.4% (p = 0.063), and post-discharge complication rates were 34.7 and 36.0% (p = 0.703), respectively. The incidence of pneumocephalus during hospitalization (33.3% vs. 6.6%, p < 0.001) and epidural effusion in the titanium mesh group were significantly higher than that in the PEEK group (18.0 vs. 6.6%, p = 0.011). Patients in PEEK group were less likely to occur subcutaneous effusion after discharge than in TI group (2.0 vs. 10.5%, p = 0.013). Multivariate logistic regression analysis revealed a history of ventriculoperitoneal shunt (VPS) before CP was an independent risk factor for postoperative overall complications (p = 0.023). Either superficial (p < 0.001) or intracranial infection (p = 0.001) was a risk factor for implant failure. Depressed skull defects (p = 0.024) and cranioplasty with titanium cranioplasty (p < 0.001) were associated with increased incidence of early pneumocephalus. Conclusion: There were no differences in overall postoperative and post-discharge complication rates between the titanium mesh and PEEK. A history of VPS before cranioplasty was an independent risk factor for postoperative overall complications, and infection was a risk factor for implant failure. Finally, depression skull defects and titanium mesh implants increased the incidence of postoperative pneumocephalus. Our results aim to promote a better understanding of PEEK and titanium cranioplasty and to help both clinicians and patients make better choices on implant materials. +36212642 471 479 patients Species *9606 +36212642 1450 1458 Patients Species *9606 +36212642 2572 2580 patients Species *9606 + +36212993|t|Successful outcome of distal radius non-union after open fracture osteomyelitis treated by external fixation and bone grafting in a cat: case report. +36212993|a|A clinical case of non-union in a cat after open fracture repair by intramedullary ostheosynthesis of the radius was described. The patient was presented with non-weight bearing lameness, fistulas with purulent discharge, swelling and severe pain. During the surgical revision, after bone sequestrum removal, the bone defect was filled with cancellous and cortical bone autografts. Osteosynthesis with a modified external bone fixator, made of Duracryl Plus - a rapidly self-curing metacrylate polymer - and 6 Kirschner wires passing perpendicularly through both radial cortices was performed. The post-operative period was smooth, and after 23 weeks the external fixator was removed. Radiography showed very good bone healing, with excellent clinical result. The use of the ulna as a donor bone was very convenient because it allowed collecting a cortical graft of larger size. The extremely light model of external bone fixator provided adequate strength of fixation elements and proved to be an efficient and not expensive technique for osteosynthesis in cat with non-union fractures of the distal radius and ulna. +36212993 282 289 patient Species *9606 + +36213343|t|The Economic Value of Coastal Amenities: Evidence from Beach Capitalization Effects in Peer-to-Peer Markets. +36213343|a|Coastal amenities are public goods that represent an important attraction for tourism activities. This paper studies the capitalization effects of beach characteristics using hedonic pricing methods. We examine the implicit economic value of several beach characteristics like sand type, width, longitude, accessibility, or frontage in the Airbnb rental market. Using data for 16,663 Airbnb listings located in 67 municipalities of the Balearic Islands (Spain) during the summer of 2016, together with detailed information about the attributes of 263 beaches, our modelling approach considers interaction terms between the beach amenities and distance to the closest beach. Controlling for a set of listings' structural characteristics, host attributes and municipality fixed effects, we find that Airbnb guests attach economic value to beach length, the presence of vegetation, the type of coastal frontage and beach accessibility and exclusivity. However, there is no evidence of capitalization effects associated with beach width or the type of sand. Supplementary Information: The online version contains supplementary material available at 10.1007/s10640-022-00735-5. + +36213694|t|Factors affecting worriedness: A study of the COVID-19 pandemic in Japan. +36213694|a|The global effect of COVID-19 is no longer simply a public health issue; it is causing an economic crisis that has a significant impact on the job market and people's lives. The disease has led to 43% of businesses temporarily closing, and almost all these closures are due to COVID-19. Organizations that have temporarily suspended their activities have pointed mainly to a decline in demand and employee health issues as the reasons for closure. In emergency and disaster management, perception often helps shape personality and how people act in certain situations. This study aims to examine personal risk perception of COVID-19 from many viewpoints and whether it affects motivation with regard to improving personal preparedness. We collected data from three major Japanese cities through a questionnaire survey and analyzed the results of the survey through factor analysis and multiple regression analysis by using the Partial Least Square Structural Equation Modeling (PLS-SEM). The three study areas include (1) the most damaged regions from the 2011 Great East Japan earthquake and tsunami, (2) the capital city and surrounding areas of Tokyo, and (3) Kumamoto, which has recently experienced an earthquake. The findings show a correlation between the nature of the information received during COVID-19 and worriedness and the necessity for adequate information. The expected benefit of this study is to provide guidelines for the government or organizations to make a suitable emergency management plan based on pertinent factors for future pandemics. +36213694 232 238 people Species *9606 +36213694 609 615 people Species *9606 + +36214044|t|Myopia - a 21st-century pandemic leaving our children shortsighted? +36214044|a|-no abstract- +36214044 45 53 children Species *9606 + +36214394|t|Ivermectin exposures reported to the Poisons Information Helpline in South Africa during the COVID-19 pandemic. +36214394|a|BACKGROUND: Ivermectin is an antiparasitic drug that has shown in vitro activity against COVID-19. Clinical studies supporting ivermectin for COVID-19 prevention and treatment are conflicting, with important limitations. Public support for ivermectin is significant, with extensive off-label use despite the conflicting views on its efficacy. Ivermectin tablets and injectable formulations are not registered in South Africa for human use by the South African Health Products Regulatory Authority. The National Department of Health does not currently recommend the use of ivermectin for COVID-19. OBJECTIVES: To describe cases of ivermectin exposure reported to the Poisons Information Helpline of the Western Cape (PIHWC) before and after publication of the drug's in vitro activity against SARS-CoV-2. METHODS: In a retrospective review, ivermectin-related calls reported to the PIHWC from 1 June 2015 to 30 June 2020 (period 1) were compared with calls received from 1 July 2020 to 31 July 2021 (period 2), dichotomised according to the first publication indicating ivermectin activity against SARS-CoV-2. RESULTS: Seventy-one cases were screened, and 65 were included for analysis; 19 cases were reported during period 1 and 46 during period 2. During period 2, 25 ivermectin cases (54.3%) were related to COVID-19 use. Of these, 24 cases (52.2%) involved veterinary preparations, 3 (6.5%) human preparations and 19 (41.3%) unknown preparations. Fourteen cases (73.7%) during period 1 and 30 (65.2%) during period 2 were reported to be symptomatic. The most common organ systems involved were the central nervous (n=26 cases; 40.0%), gastrointestinal (n=18; 27.7%), ocular (n=9; 13.8%) and dermatological (n=5; 7.7%) systems. CONCLUSION: Ivermectin-related exposure calls increased during study period 2, probably as a result of ivermectin being used as preventive and definitive therapy for COVID-19 in the absence of robust evidence on efficacy, dosing recommendations or appropriate formulations. +36214394 541 546 human Species *9606 +36214394 904 914 SARS-CoV-2 Species *2697049 +36214394 1209 1219 SARS-CoV-2 Species *2697049 +36214394 1506 1511 human Species *9606 + +36214744|t|Characteristics and management of teeth in the line of mandibular fractures treated with internal fixation. +36214744|a|BACKGROUND/AIMS: The ideal management of teeth in the line of mandibular fractures is unclear and controversial. The aim of this study was to analyze the characteristics and management of teeth in the line of mandibular fractures treated with open reduction and internal fixation. MATERIAL AND METHODS: Medical records of patients with mandibular fractures in the symphysis, body and angle regions seen between July 2019 and January 2021 were evaluated. Personal data, etiology, location of fractures, characteristics of the teeth involved in the fracture lines and management were collected. The relationship between the fracture lines and the periodontium was classified according to Kamboozia & Punnia-Moorthy. Fractures were divided into two groups according to the management of the tooth in the fracture line: removal and retention. The likelihood ratio test was used (p < .050). RESULTS: During the study period, 52 patients with mandibular fractures were seen, of which 42 patients (83.3% men) with a mean age of 29.6 years and 54 fractures were included. The most frequent location was the angle of the mandible (41.3%) (p < .001). The removal group represented 35.2% of the fractures, and the retention group represented 64.8%. The most frequently removed tooth was the third molar (p < .001), and the most frequent classification of dental involvement in the fracture line was type II (p = .047). There was no correlation between age, gender, or etiology and the management of the teeth involved. CONCLUSION: The retention of teeth in the fracture line predominated, and the third molar in angle fractures was the most often removed tooth when the fracture line followed the root surface but did not cross the apical region, probably due to the greater frequency of this type of relationship between the fractures and the periodontium. +36214744 430 438 patients Species *9606 +36214744 1031 1039 patients Species *9606 +36214744 1089 1097 patients Species *9606 +36214744 1105 1108 men Species *9606 + +36215094|t|Capacitive Removal of Pb ions via Electrosorption on Novel Willow Biochar - Manganese Dioxide Composites. +36215094|a|AbstractBiochar derived from lignocellulosic biomass has been used as a low-cost adsorbent in wastewater treatment applications. Due to its rich porous structure and good electrical conductivity, biochar can be used as a cost-effective electrode material for capacitive deionization of water. In this work, willow biochar was prepared through carbonization of shrub willow chips, activated with potassium hydroxide, and loaded with manganese dioxide (WBC-K-MnO2 nanocomposite). The prepared materials were used to electrochemically adsorb Pb2+ from aqueous solutions. Under the applied potential of 1.0 V, the WBC-K-MnO2 electrode exhibited a high Pb2+ specific electrosorption capacity (23.3 mg/g) as compared to raw willow biochar (4.0 mg/g) and activated willow biochar (9.2 mg/g). KOH activation followed by MnO2 loading on the surface of raw biochar enhanced its BET surface area (178.7 m2/g) and mesoporous volume ratio (42.1%). Moreover, the WBC-K-MnO2 nanocomposite exhibited the highest specific capacitance value of 234.3 F/g at a scan rate of 5 mV/s. The electrosorption isotherms and kinetic data were well explained by the Freundlich and pseudo-second order models, respectively. The WBC-K-MnO2 electrode demonstrated excellent reusability with a Pb2+ electrosorption efficiency of 76.3% after 15 cycles. Thus, the WBC-K-MnO2 nanocomposite can serve as a promising candidate for capacitive deionization of heavy metal contaminated water. + diff --git a/tmp_SA/biocxml.xml b/tmp_SA/biocxml.xml new file mode 100644 index 0000000000000000000000000000000000000000..beb21e6afd6bb198c3abdc4b68b3057ef40e0226 --- /dev/null +++ b/tmp_SA/biocxml.xml @@ -0,0 +1,970 @@ + + + PubTator + + BioC.key + + 6127132 + + surname:Finke;given-names:Christy + surname:Howard;given-names:Matthew + surname:Lasho;given-names:Terra + 30190511 + surname:Patnaik;given-names:Mrinal M. + 2018 + 6127132 + 120 + 10.1038/s41408-018-0120-5 + front + TITLE + Blood Cancer J. 2018 Aug 22;8(9):82. doi: 10.1038/s41408-018-0120-5. + 9 + 82 + 8 + Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. + surname:Solary;given-names:Eric + surname:Patnaik;given-names:Mrinal M. + surname:Tefferi;given-names:Ayalew + surname:Gangat;given-names:Naseema + surname:Droin;given-names:Nathalie + surname:Pardanani;given-names:Animesh + surname:Al-Kali;given-names:Aref + Patnaik MM, Lasho T, Howard M, Finke C, Ketterling RL, Al-Kali A, Pardanani A, Droin N, Gangat N, Tefferi A, Solary E + surname:Ketterling;given-names:Rhett L. + 0 + Biallelic inactivation of the retinoblastoma gene results in transformation of chronic myelomonocytic leukemia to a blastic plasmacytoid dendritic cell neoplasm: shared clonal origins of two aggressive neoplasms + + Gene + Focus:9606 + + retinoblastoma + + + + INTRO + paragraph + 212 + To the Editor, + + + INTRO + paragraph + 227 + Chronic myelomonocytic leukemia (CMML) is a clonal hematopoietic stem cell disorder characterized by sustained peripheral blood (PB) monocytosis, bone marrow (BM) dysplasia, and an inherent risk for transformation to acute myeloid leukemia (AML); ~20-30% over 3-5 years. Patients with CMML have ~10-15 gene mutations in coding DNA regions, with common mutations involving TET2 (~60%), ASXL1 (~40%), SRSF2 (~40%), and the oncogenic RAS pathway (~30%). Blastic plasmacytoid dendritic cell neoplasm (BPDCN) is a rare hematodermic malignancy of dendritic cell origin that is known to infiltrate the blood, BM, skin, and lymph nodes; a diagnosis of which is based on a blast immunophenotype characterized by the expression of CD4, CD43, CD56, CD123, BDCA-2/CD303, TCL1, and CTLA. Cytogenetic studies, array-based comparative genomic hybridization, and gene expression profiling have demonstrated recurrent inactivation/losses/decreased expression of RB1 (retinoblastoma 1; 13q13-q21), LATS2, CDKN1B, CDKN2A, and TP53 genes, while next-generation sequencing (NGS) studies have demonstrated point mutations involving TET2 (~36%), ASXL1 (~32%), NRAS (~30%), ATM (21%), along with deletions involving RB1 and APC (~6%). In addition, recurrent MYB gene rearrangements have been documented in both children and adults, with fusion oncogenes including MYB-ZFAT, MYB-PLEKHO1, and MYB-DCPS. Common clonal origins for CMML and BPDCN have been suggested based on similar genetic and epigenetic deregulations identified, along with sporadic case reports of CMML transformation to BPDCN. We provide the first in-depth whole-exome sequencing (WES) results on a patient with CMML that transformed to BPDCN and provide information with regards to possible mechanisms of transformation. + + *9606 + Species + + Patients + + + *9606 + Species + + children + + + *9606 + Species + + patient + + + Gene + Focus:9606 + + TET2 + + + Gene + Focus:9606 + + ASXL1 + + + Gene + Focus:9606 + + SRSF2 + + + Gene + Focus:9606 + + RAS + + + Gene + Focus:9606 + + CD4 + + + Gene + Focus:9606 + + CD43 + + + Gene + Focus:9606 + + CD56 + + + Gene + Focus:9606 + + CD123 + + + Gene + Focus:9606 + + BDCA-2 + + + Gene + Focus:9606 + + CD303 + + + Gene + Focus:9606 + + TCL1 + + + FamilyName + Focus:9606 + + CTLA + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + retinoblastoma 1 + + + Gene + Focus:9606 + + LATS2 + + + Gene + Focus:9606 + + CDKN1B + + + Gene + Focus:9606 + + CDKN2A + + + Gene + Focus:9606 + + TP53 + + + Gene + Focus:9606 + + TET2 + + + Gene + Focus:9606 + + ASXL1 + + + Gene + Focus:9606 + + NRAS + + + Gene + Focus:9606 + + ATM + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + APC + + + Gene + Focus:9606 + + MYB + + + Gene + Focus:9606 + + MYB + + + Gene + Focus:9606 + + ZFAT + + + Gene + Focus:9606 + + MYB + + + Gene + Focus:9606 + + PLEKHO1 + + + Gene + Focus:9606 + + MYB + + + Gene + Focus:9606 + + DCPS + + + + FIG + 41408_2018_120_Fig1_HTML.jpg + Fig1 + fig_caption + 1998 + a Peripheral blood smear of the patient with a diagnosis of chronic myelomonocytic leukemia, demonstrating atypical dysplastic granulocytes, atypical monocytes, and a blast. Wright Giemsa stain, x400 magnification. b Bone marrow core biopsy of the patient with chronic myelomonocytic leukemia, demonstrating a hypercellular marrow (90%), with dysplastic megakaryocytes. Hematoxylin and eosin, x100 magnification. c Butyrate esterase (brown) and chloroacetate esterase (blue) cytochemical dual stain, demonstrating increased butyrate esterase monocytes and dual esterase-positive bone marrow monocytes, suggestive of monocytic dysplasia (x400 magnification). d (Left) Bone marrow core biopsy, TCL1 immunohistochemistry, demonstrating TCL1-positive plasmacytoid dendritic cell nodules (x200 magnification). (Right) Bone marrow core biopsy, CD123 immunohistochemistry, demonstrating CD123-positive plasmacytoid dendritic cell nodules (x200 magnification). e (Left) Bone marrow biopsy, TCL1 immunohistochemistry, demonstrating diffusely TCL1-positive blasts, suggestive of a blastic plasmacytoid dendritic cell neoplasm (x100 magnification). (Right) Bone marrow core biopsy, CD123 immunohistochemistry, demonstrating diffusely positive CD123 blasts, suggestive of a blastic plasmacytoid dendritic cell neoplasm (x100 magnification). f Bone marrow aspirate obtained at the time of disease transformation demonstrating hand mirror-shaped blastic cells, characteristic for blastic plasmacytoid dendritic cell neoplasms. Wright Giemsa, x1000 magnification + + *9606 + Species + + patient + + + *9606 + Species + + patient + + + Gene + Focus:9606 + + esterase + + + Gene + Focus:9606 + + butyrate esterase + + + Gene + Focus:9606 + + TCL1 + + + Gene + Focus:9606 + + TCL1 + + + Gene + Focus:9606 + + CD123 + + + Gene + Focus:9606 + + CD123 + + + Gene + Focus:9606 + + TCL1 + + + Gene + Focus:9606 + + TCL1 + + + Gene + Focus:9606 + + CD123 + + + Gene + Focus:9606 + + CD123 + + + + INTRO + paragraph + 3554 + A 61-year-old male was referred to the hematology clinic in 2014 for sustained PB monocytosis. A BM biopsy was suggestive of CMML-0 (World Health Organization 2016 criteria) with normal cytogenetics (Fig. 1). He did have plasmacytoid dendritic cell nodules comprising ~20% of the BM cellularity. NGS at diagnosis identified mutations involving TET2 (variant allele frequency (VAF) 40%) and SRSF2 (43%). He was conservatively managed with routine blood count checks. In 2017, he presented with worsening constitutional symptoms, a generalized skin rash, and progressive cytopenias. A BM biopsy and skin biopsy were suggestive of BPDCN with normal BM metaphase cytogenetics (Fig. 1). He was treated with AML-like induction chemotherapy using idarubicin and cytarabine and then received salvage chemotherapy with fludarabine, idarubicin, and cytarabine, but was found to have persistent disease and died secondary to infectious complications. BM DNA was available at the time of CMML diagnosis and at transformation to BPDCN. In addition, sorted T lymphocytes at CMML diagnosis were isolated and cultured to serve as a potential germline control for WES. + + Gene + Focus:9606 + + TET2 + + + Gene + Focus:9606 + + SRSF2 + + + + INTRO + paragraph + 4706 + Two hundred nanogram of genomic DNA was sheared with the Covaris S2 system (LGC Genomics/KBioscience). DNA fragments were end repaired, extended with an "A" base on the 3' end, ligated with paired-end adaptors with the Bravo Platform (Agilent), and amplified (six cycles). Exome-containing adaptor-ligated libraries were hybridized for 40 h with biotinylated oligo RNA baits, and enriched with streptavidin-conjugated magnetic beads using SureSelect Clinical Research (Agilent). The final libraries were indexed, pooled, and sequenced on Illumina HiSeq-2000 sequencer at the Institute Gustave Roussy (Paris, France). Raw reads in FASTQ format from each exome sequencing lane were aligned to the reference human genome (Hg19) using Burrows Wheeler-Alignment. Aligned reads were processed and sorted with SAMtools and PCR duplicates were removed. Nucleotide variants (single-nucleotide polymorphisms and indels) were called with VarScan and all variants with a Phred-based quality score <30.0 were called low quality and ignored. On an average, 369 million reads were sequenced per sample. A formal copy number variation (CNV) analysis was carried out on the WES data, both at CMML diagnosis and at BPDCN transformation, using the FACETS analysis software (https://sites.google.com/site/mskfacets). + + *9606 + Species + + human + + + + FIG + 41408_2018_120_Fig2_HTML.jpg + Fig2 + fig_caption + 6011 + Paired and germline whole-exome sequencing data obtained at the time of chronic myelomonocytic leukemia (CMML) diagnosis and at CMML transformation to a blastic plasmacytoid dendritic cell neoplasm (BPDCN). a Paired and germline whole-exome sequencing data obtained at the time of CMML diagnosis and at CMML transformation to BPDCN, demonstrating the biallelic inactivation of the RB1 gene. b Whole-exome sequencing data from chromosome 13, demonstrating biallelic inactivation of the RB1 gene secondary to loss of heterozygosity and the acquisition of a nonsense RB1 gene mutation (c.751C>T, p.R251*). c SciClone analysis demonstrating the clonal architecture and mutational evolution spectrum in a patient, at CMML diagnosis and at CMML transformation to BPDCN + + *9606 + Species + + patient + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + + INTRO + paragraph + 6774 + WES results on the DNA specimen obtained at CMML diagnosis identified the following pathogenic variants TET2 (c.1567_1568insA, p.G523Efs*44; VAF 57%), SRSF2 (c.284C>T, p.P95L; VAF 37%), PHF6 (c.753G>T, p.Q251H; VAF 57%), PLCXD3 (c.845C>T, p.T282M, VAF 39%), TRMT61B (c.656A>G, p.T219C, VAF 20%), STK3 (c.618del, p.N207Ifs*3, VAF 42%), SLC25A10 (c.787C>T, R263C, VAF 32%), DIP2A (c.1117C>T, R373W, VAF 35%), SARDH (c.1922G>A, p.G641E, VAF 19%), PLP1 (c.347C>T, T116M, VAF 74%), and IVL (c.706_735dup, P236_L245dup) (Fig. 2). At the time of BPDCN transformation, WES demonstrated acquisition of the following mutations: RB1 (c.751C>T, p.R251*; VAF 68% secondary to loss of heterozygosity of 13.q13-24), CROCC (c.4595C>G, T1532S, VAF 44%), ERCC4 (c.2608G>A, p.V870I, VAF 38%), and CHP2 (c.101G>A, R34Q, VAF 32%), while mutations involving the following genes were no longer detected, IVL and RFPL1. An increase in the VAF burdens in the following genes was also encountered at the time of BPDCN transformation, PHF6 (57-78%), TET2 (57-77%), PLCXD3 (39-43%), TRMT61B (20-40%), SLC25A10 (32-41%), DIP2A (35-40%), SARDH (19-34%), and PLP1 (74-91%). A formal CNV analysis also confirmed loss of heterozygosity of chromosome 13, involving the RB1 gene locus (supplemental figure). + + *105154 + Species + + CHP2 + + + Gene + Focus:105154 + + TET2 + + + Gene + Focus:105154 + + VAF + + + Gene + Focus:105154 + + SRSF2 + + + Gene + Focus:105154 + + VAF + + + Gene + Focus:105154 + + PHF6 + + + Gene + Focus:105154 + + PLCXD3 + + + Gene + Focus:105154 + + TRMT61B + + + Gene + Focus:105154 + + STK3 + + + Gene + Focus:105154 + + SLC25A10 + + + Gene + Focus:105154 + + DIP2A + + + Gene + Focus:105154 + + SARDH + + + Gene + Focus:105154 + + VAF + + + Gene + Focus:105154 + + PLP1 + + + Gene + Focus:105154 + + RB1 + + + Gene + Focus:105154 + + ERCC4 + + + Gene + Focus:105154 + + VAF + + + Gene + Focus:105154 + + CHP2 + + + Gene + Focus:105154 + + VAF + + + Gene + Focus:105154 + + IVL + + + Gene + Focus:105154 + + RFPL1 + + + Gene + Focus:105154 + + PHF6 + + + Gene + Focus:105154 + + TET2 + + + Gene + Focus:105154 + + PLCXD3 + + + Gene + Focus:105154 + + TRMT61B + + + Gene + Focus:105154 + + SLC25A10 + + + Gene + Focus:105154 + + DIP2A + + + Gene + Focus:105154 + + SARDH + + + Gene + Focus:105154 + + PLP1 + + + Gene + Focus:105154 + + RB1 + + + + INTRO + paragraph + 8063 + CMML blast transformation morphologically almost always results in an AML phenotype and occurs due to the clonal acquisition of cytogenetic and molecular abnormalities. In a large, two-center study of 171 patients with blast phase CMML, all patients met the morphological criteria for a diagnosis of AML (secondary AML) and cytogenetic clonal evolution was seen in 24% of patients, while molecular clonal evolution was seen in 50% of patients. Blast transformation from CMML to BPDCN is an extremely rare event and is usually associated with CNVs and unique molecular changes. In our patient, the main genetic event identified at BPDCN transformation was a truncating mutation in RB1, along with loss of heterozygosity of the RB1 gene, resulting in biallelic inactivation of RB1 (Fig. 2). The RB1 gene encodes a protein with tumor suppressor function that serves as a G1 checkpoint inhibitor (by inhibiting E2F transcription factors), a regulator of apoptosis and helps maintain permanent cell cycle arrest and chromosomal stability. In addition, RB1 also acts as a transcription cofactor and an adaptor protein promoting the function of critical transcription factors. Loss of RB1 function is associated with progression of human cancers via loss of cellular differentiation and chromosomal instability. While RB1 mutations and deletions are common in BPDCN, they are infrequent in CMML or secondary AML arising from CMML, supporting our hypothesis that in our patient, biallelic loss of RB1 maybe a major contributor of a BPDCN phenotypic transformation. Additional genetic events acquired at the time of BPDCN transformation included mutations involving ERCC4 (Excision Repair 1, Endonuclease Non-Catalytic Subunit) and CHP2 (Calcineurin B Homologous Protein 2). While these genes have important physiological functions and have been implicated in oncogenesis, their contribution to BPDCN transformation needs further elucidation. Increase in mutational frequencies of genes identified at CMML diagnosis, including TET2 and PHF6 are consistent with the process of clonal evolution and disease transformation. Interestingly, the VAF burden of SRSF2, a gene regulating pre-mRNA splicing, remained the same at CMML diagnosis and at BPDCN transformation. + + *9606 + Species + + patients + + + *9606 + Species + + patients + + + *9606 + Species + + patients + + + *9606 + Species + + patients + + + *9606 + Species + + patient + + + *9606 + Species + + human + + + *9606 + Species + + patient + + + *105154 + Species + + CHP2 + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + FamilyName + Focus:9606 + + E2F transcription factors + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + RB1 + + + Gene + Focus:9606 + + ERCC4 + + + Gene + Focus:9606 + + Excision Repair 1, + + + Gene + Focus:9606 + + Endonuclease Non-Catalytic Subunit + + + Gene + Focus:9606 + + CHP2 + + + Gene + Focus:9606 + + Calcineurin B Homologous Protein 2 + + + Gene + Focus:9606 + + TET2 + + + Gene + Focus:9606 + + PHF6 + + + Gene + Focus:9606 + + SRSF2 + + + + INTRO + paragraph + 10317 + By performing WES in paired samples and in the germline of a single patient with BPDCN transformation from an underlying CMML, we demonstrate (i) the common clonal origins of CMML and BPDCN, justifying the current inclusion of BPDCN as a myeloid neoplasm, (ii) the fact that the blast phenotype at CMML transformation is heavily dependent on the nature of genetic changes that occur at blast transformation, iii) the importance of the RB1 gene in BPDCN morphology and oncogenesis, and (iv) the role of clonal acquisitions and losses and increases in existing mutational allele burdens in disease progression/blast transformation. + + *9606 + Species + + patient + + + Gene + Focus:9606 + + RB1 + + + + SUPPL + title_1 + 10947 + Electronic supplementary material + + + SUPPL + footnote + 10981 + Publisher's note: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. + + + SUPPL + title_1 + 11118 + Electronic supplementary material + + + SUPPL + paragraph + 11152 + Supplementary Information accompanies this paper at (10.1038/s41408-018-0120-5). + + + COMP_INT + title_1 + 11233 + Conflict of interest + + + COMP_INT + paragraph + 11254 + The authors declare no competing interests. + + + REF + title + 11298 + References + + + 127 + REF + surname:Arber;given-names:DA + 2391 + 10.1182/blood-2016-03-643544 + 27069254 + 2016 + Blood + ref + 2405 + 11309 + The 2016 revision to the World Health Organization classification of myeloid neoplasms and acute leukemia + + + REF + ref + 11415 + Patnaik M. M. et al. Blast phase chronic myelomonocytic leukemia: Mayo-MDACC Collaborative Study of 171 cases. Leukemia 2018 10.1038/s41375-018-0143-8. + + 162683 + Species + + Mayo + + + + 7 + REF + surname:Merlevede;given-names:J + 10767 + 10.1038/ncomms10767 + 26908133 + 2016 + Nat. Commun. + ref + 11567 + Mutation allele burden remains unchanged in chronic myelomonocytic leukaemia responding to hypomethylating agents + + + 99 + REF + surname:Leroux;given-names:D + 4154 + 10.1182/blood.V99.11.4154 + 12010820 + 2002 + Blood + ref + 4159 + 11681 + CD4(+), CD56(+) DC2 acute leukemia is characterized by recurrent clonal chromosomal changes affecting 6 major targets: a study of 21 cases by the Groupe Francais de Cytogenetique Hematologique + + + 28 + REF + surname:Menezes;given-names:J + 823 + 10.1038/leu.2013.283 + 24072100 + 2014 + Leukemia + ref + 829 + 11874 + Exome sequencing reveals novel and recurrent mutations with clinical impact in blastic plasmacytoid dendritic cell neoplasm + + + 5 + REF + surname:Stenzinger;given-names:A + 6404 + 10.18632/oncotarget.2223 + 25115387 + 2014 + Oncotarget + ref + 6413 + 11998 + Targeted ultra-deep sequencing reveals recurrent and mutually exclusive mutations of cancer genes in blastic plasmacytoid dendritic cell neoplasm + + + 31 + REF + surname:Suzuki;given-names:K + 1629 + 10.1038/leu.2017.101 + 28344318 + 2017 + Leukemia + ref + 1633 + 12144 + Recurrent MYB rearrangement in blastic plasmacytoid dendritic cell neoplasm + + + 31 + REF + surname:Brunetti;given-names:L + 1238 + 10.1038/leu.2017.38 + 28111467 + 2017 + Leukemia + ref + 1240 + 12220 + Blastic plasmacytoid dendritic cell neoplasm and chronic myelomonocytic leukemia: a shared clonal origin + + + 29 + REF + surname:Facchetti;given-names:F + 98 + 10.1038/modpathol.2015.145 + 26743477 + 2016 + Mod. Pathol. + ref + 111 + 12325 + Neoplasms derived from plasmacytoid dendritic cells + + + 90 + REF + surname:Patnaik;given-names:MM + 411 + 10.1002/ajh.23962 + 25645147 + 2015 + Am. J. Hematol. + ref + 416 + 12377 + Blast transformation in chronic myelomonocytic leukemia: risk factors, genetic features, survival, and treatment outcome + + + 8 + surname:Sage;given-names:J + REF + surname:Burkhart;given-names:DL + 671 + 10.1038/nrc2399 + 18650841 + 2008 + Nat. Rev. Cancer + ref + 682 + 12498 + Cellular mechanisms of tumour suppression by the retinoblastoma gene + + + 88 + REF + surname:Patnaik;given-names:MM + 201 + 10.1002/ajh.23373 + 23335386 + 2013 + Am. J. Hematol. + ref + 206 + 12567 + Spliceosome mutations involving SRSF2, SF3B1, and U2AF35 in chronic myelomonocytic leukemia: prevalence, clinical correlates, and prognostic relevance + + + diff --git a/tmp_SR/PubMed.input.pubtator b/tmp_SR/PubMed.input.pubtator new file mode 100644 index 0000000000000000000000000000000000000000..ae3dce2595d167ef6fd2951a47ac656e150554a1 --- /dev/null +++ b/tmp_SR/PubMed.input.pubtator @@ -0,0 +1,144 @@ +36206327|t|External Collaboration Results in Student Learning Gains and Positive STEM Attitudes in CUREs. +36206327|a|The implementation of course-based undergraduate research experiences (CUREs) has made it possible to expose large undergraduate populations to research experiences. For these research experiences to be authentic, they should reflect the increasingly collaborative nature of research. While some CUREs have expanded, involving multiple schools across the nation, it is still unclear how a structured extramural collaboration between students and faculty from an outside institution affects student outcomes. In this study, we established three cohorts of students: 1) no-CURE, 2) single-institution CURE (CURE), and 3) external collaborative CURE (ec-CURE), and assessed academic and attitudinal outcomes. The ec-CURE differs from a regular CURE in that students work with faculty member from an external institution to refine their hypotheses and discuss their data. The sharing of ideas, data, and materials with an external faculty member allowed students to experience a level of collaboration not typically found in an undergraduate setting. Students in the ec-CURE had the greatest gains in experimental design; self-reported course benefits; scientific skills; and science, technology, engineering, and mathematics (STEM) importance. Importantly this study occurred in a diverse community of STEM disciplinary faculty from 2- and 4-year institutions, illustrating that exposing students to structured external collaboration is both feasible and beneficial to student learning. + +36206680|t|Deciphering the mechanisms shaping the plastisphere antibiotic resistome on riverine microplastics. +36206680|a|Microplastics in urban rivers provide bacterial niches and serve as dispersal vectors for antibiotic resistant genes (ARGs) dissemination, which may exacerbate risks in the aquatic systems. However, whether MPs in the river would also selectively enrich ARGs and the underlying mechanisms shaping the resistome on MPs remains largely unknown. In this study, we explored the occurrence of ARGs, bacterial communities, and mobile genetic elements (MGEs) on MPs and in waters from the Huangpu River in China. Microplastics were widely distributed in the river (1.78 +- 0.84 items/L), with overwhelming percentages of polyethylene terephthalate fibers. Although reduced ARG abundances were observed on MPs than in waters, MPs selectively enriched the ARGs resistant to Rifamycin and Vancomycin. A clear variation for ARG profiles was elucidated between water and MPs samples. Network analysis suggested that MPs created a unique niche for the genus Afipia to colonize, potentially contributing to the vertical dissemination of ARGs. Additionally, the co-occurrence between ARGs and MGEs revealed that the MPs favor the propagation of some plasmid-associated ARGs mediated by horizontal gene transfer. The null model-based stochasticity ratio and the neutral community model suggested that the ARG assembly on MPs was dominantly driven by stochastic process. The results further indicated that microbial communities and MGEs played significant roles in shaping ARG profiles and dynamics on MPs. Our findings provided new insights into the ecological processes of antibiotic resistome of the aquatic plastisphere. + +36207030|t|Exploring the impact of elexacaftor-tezacaftor-ivacaftor treatment on opinions regarding airway clearance techniques and nebulisers: TEMPO a qualitative study in children with cystic fibrosis, their families and healthcare professionals. +36207030|a|BACKGROUND: Cystic fibrosis (CF) is a genetic condition caused by variants in the cystic fibrosis transmembrane conductance regulator (CFTR) gene that primarily impacts the lungs. Treatments historically have been symptomatic to improve airway clearance and treat infection. However, CFTR modulator drugs have recently been developed that target the underlying defect. The triple combination of elexacaftor-tezacaftor-ivacaftor (ETI) was approved in 2020 in England for over 80% of people with CF aged over 12 years and in 2022 extended to those over 6 years. ETI treatment is associated with substantial improvements in lung function. The experience of children with CF starting on ETI or their views regarding future treatments have not been well studied. This study aimed to explore the opinions of children with CF, their parents/carers and healthcare professionals (HCPs) on the impact of ETI, airway clearance techniques (ACTs) and nebulised treatments. METHODS: Semistructured qualitative interviews were performed with 10 children with CF, 7 parents/carers and 10 HCPs. Audio recordings were transcribed and analysed using reflexive thematic analysis. RESULTS: Four main themes were identified: 'Kaftrio changed my life', 'Your entire life is dictated by the CF timetable', 'Simplifying treatment-hopes and fears' and 'Kaftrio is a game-changer' along with several subthemes and an overarching theme of 'I still can't get my head around how three tablets can do what Kaftrio done'. CONCLUSIONS: Despite the highly positive impact of ETI on the health of children with CF some concerns remain about the longer-term outcomes of reducing ACTs or nebulised treatments. ETI has prompted a shift in treatment for many and offers an opportunity to personalise approaches. +36207030 162 170 children Species *9606 +36207030 720 726 people Species *9606 +36207030 892 900 children Species *9606 +36207030 1040 1048 children Species *9606 +36207030 1268 1276 children Species *9606 +36207030 1800 1808 children Species *9606 + +36207381|t|Contribution of perceived loneliness to suicidal thoughts among French university students during the COVID-19 pandemic. +36207381|a|Restrictive measures during the COVID-19 epidemic have led to increased levels of loneliness, especially among university students, although the influence on suicidal thoughts remains unclear. In this cross-sectional study of 1913 French university students, those with the highest level of loneliness had a fourfold increased risk of suicidal thoughts. Perceived loneliness should be incorporated into suicide risk assessment, and assistance in coping with loneliness should be considered as a means of reducing suicidal risk in vulnerable groups, like university students. + +36207733|t|Patient and provider perspectives on polygenic risk scores: implications for clinical reporting and utilization. +36207733|a|BACKGROUND: Polygenic risk scores (PRS), which offer information about genomic risk for common diseases, have been proposed for clinical implementation. The ways in which PRS information may influence a patient's health trajectory depend on how both the patient and their primary care provider (PCP) interpret and act on PRS information. We aimed to probe patient and PCP responses to PRS clinical reporting choices METHODS: Qualitative semi-structured interviews of both patients (N=25) and PCPs (N=21) exploring responses to mock PRS clinical reports of two different designs: binary and continuous representations of PRS. RESULTS: Many patients did not understand the numbers representing risk, with high numeracy patients being the exception. However, all the patients still understood a key takeaway that they should ask their PCP about actions to lower their disease risk. PCPs described a diverse range of heuristics they would use to interpret and act on PRS information. Three separate use cases for PRS emerged: to aid in gray-area clinical decision-making, to encourage patients to do what PCPs think patients should be doing anyway (such as exercising regularly), and to identify previously unrecognized high-risk patients. PCPs indicated that receiving "below average risk" information could be both beneficial and potentially harmful, depending on the use case. For "increased risk" patients, PCPs were favorable towards integrating PRS information into their practice, though some would only act in the presence of evidence-based guidelines. PCPs describe the report as more than a way to convey information, viewing it as something to structure the whole interaction with the patient. Both patients and PCPs preferred the continuous over the binary representation of PRS (23/25 and 17/21, respectively). We offer recommendations for the developers of PRS to consider for PRS clinical report design in the light of these patient and PCP viewpoints. CONCLUSIONS: PCPs saw PRS information as a natural extension of their current practice. The most pressing gap for PRS implementation is evidence for clinical utility. Careful clinical report design can help ensure that benefits are realized and harms are minimized. +36207733 0 7 Patient Species *9606 +36207733 316 323 patient Species *9606 +36207733 367 374 patient Species *9606 +36207733 469 476 patient Species *9606 +36207733 585 593 patients Species *9606 +36207733 752 760 patients Species *9606 +36207733 830 838 patients Species *9606 +36207733 877 885 patients Species *9606 +36207733 1194 1202 patients Species *9606 +36207733 1225 1233 patients Species *9606 +36207733 1339 1347 patients Species *9606 +36207733 1510 1518 patients Species *9606 +36207733 1805 1812 patient Species *9606 +36207733 1819 1827 patients Species *9606 +36207733 2049 2056 patient Species *9606 + +36208084|t|GPR109a Regulates Phenotypic and Functional Alterations in Macrophages and the Progression of Type 1 Diabetes. +36208084|a|SCOPE: Dietary fibers can alter gut microbiota and microbial metabolite profiles. SCFAs are produced by bacterial fermentation of fiber, mediating immune homeostasis through G-protein-coupled receptors (GPCRs). GPR109a, a receptor for niacin and butyrate, expressed by immune cells and non-immune cells, is a key factor regulating immune responses. However, the role and underlying mechanisms of GPR109a in type 1 diabetes (T1D) remain unclear. METHODS AND RESULTS: Experimental T1D was induced by streptozotocin in GPR109a-deficient (Gpr109a-/- ) and wild type mice. We found that Gpr109a-/- mice were more susceptible to T1D with dysregulated immune responses, along with increased M1 macrophage polarization (from 10.55% to 21.48%). Further, an adoptive transfer experiment demonstrated that GPR109a-deficient macrophages promoted the homing of intestine-derived Tc1 cells to pancreas (from 18.91% to 24.24%), thus disturbing the pancreatic immune homeostasis in non-obese diabetic mice. Mechanistically, GPR109a deficiency promoted M1 macrophage polarization may be associated with the activation of suppressor of cytokine signaling 3-signal transducer and activator of transcription 1 signaling pathway. CONCLUSION: Our findings reveal that macrophage GPR109a deficiency accelerates the development of T1D. Activation of GPR109a on macrophage by dietary components may provide a new strategy for preventing or treating T1D. This article is protected by copyright. All rights reserved. +36208084 673 677 mice Species *10090 +36208084 704 708 mice Species *10090 +36208084 1096 1100 mice Species *10090 + +36208435|t|Evaluating syntactic comprehension during awake intraoperative cortical stimulation mapping. +36208435|a|OBJECTIVE: Electrocortical stimulation mapping (ECS) is widely used to identify essential language areas, but sentence-level processing has rarely been investigated. METHODS: While undergoing awake surgery in the dominant left hemisphere, 6 subjects were asked to comprehend sentences varying in their demands on syntactic processing. RESULTS: In all 6 subjects, stimulation of the inferior frontal gyrus disrupted comprehension of passive sentences, which critically depend on syntactic processing to correctly assign grammatical roles, without disrupting comprehension of simpler tasks. In 4 of the 6 subjects, these sites were localized to the pars opercularis. Sentence comprehension was also disrupted by stimulation of other perisylvian sites, but in a more variable manner. CONCLUSIONS: These findings suggest that there may be language regions that differentially contribute to sentence processing and which therefore are best identified using sentence-level tasks. The functional consequences of resecting these sites remain to be investigated. + +36208787|t|Residence near industrial complex and cancer incidence: A registry-based cohort of 1,022,637 participants with a follow-up of 21 years, Israel. +36208787|a|BACKGROUND: Industrial complex (IC) residence is associated with higher cancer incidence in adults and children. However, the effect on young adults and the residence duration are not well described. Since the beginning of the 20th century, the Haifa bay area (HBA) has a major IC area with petrochemical industry complex and many other industries. The objectives of the current study were to estimate the association between IC residence and cancer incidence and to evaluate the effect of the residence duration. METHODS: This study is a registry-based cohort (N = 1,022,637) with a follow-up of 21 years. Cox regression models were used to evaluate the associations (hazards ratios (HR) and its 95% confidence intervals (CIs)) between HBA residence and incidence of all cancer sites (n = 62,049) and for site-specific cancer types including: lung cancer (n = 5398), bladder cancer (n = 3790), breast cancer (n = 11,310), prostate cancer (n = 6389) skin cancer (n = 4651), pancreatic cancer (n = 2144) and colorectal cancer (n = 8675). We evaluated the effect of the duration of exposure as categories of 7 years for those with 15 years of follow-up. RESULTS: IC residence was associated with higher risk for all cancer sites (HR:1.09, 95% CI: 1.06-1.12), for site-specific cancer incidence including: lung cancer (HR:1.14, 95% CI: 1.04-1.23), bladder cancer (HR:1.11, 95% CI: 1.01-1.23), breast cancer (HR:1.04, 95% CI: 0.98-1.10), prostate cancer (HR:1.07, 95% CI: 0.99-1.16), skin cancer (HR:1.22, 95% CI: 1.12-1.33) and colorectal cancer (HR:1.10, 95%CI: 1.03-1.17). Similar risk was also observed among young adults (HR: 1.10, 95% CI: 1.00-1.20). In the analyses for the duration of exposure, IC residence was associated with higher risk for all cancer site for the longest residence duration (15-21 years: HR: 1.08, 95% CI: 1.04-1.13). CONCLUSIONS: Harmful associations were found between IC residence and incidence of all cancer sites and site-specific cancers types. Our findings add to the limited evidence of associations between IC residence and cancer in young adults. +36208787 93 105 participants Species *9606 +36208787 247 255 children Species *9606 + +36209137|t|Retraction Note: Mesenchymal stem cell-derived exosomal miR-146a reverses diabetic beta-cell dedifferentiation. +36209137|a|-no abstract- + +36209489|t|Corticotropin-releasing factor is involved in acute stress-induced analgesia and antipruritus. +36209489|a|BACKGROUND: Under the condition of stress, the hypothalamic-pituitary-adrenal axis (HPA axis) is activated and causes the secretion of corticotropin-releasing factor (CRF). Previous studies have demonstrated that CRF is involved in the regulation of pain and itch. Thus, it remains worthy to explore whether the desensitization of pain and itch under high-intensity acute stress (such as high fear and tension) is related to the sharp increase of CRF. METHODS: Forced swimming was used to simulate acute stress. ELISA and pharmacological methods were conducted to observe the effects of forced swimming on acute pain or itch and the relationship between blood CRF content and itch or pain behavior. Intracerebroventricular (ICV) administration of CRF was conducted to examine the effects of CRF on acute pain or itch. Intrathecal administration of CRF receptor agonist or antagonist was conducted to examine the receptor mechanisms of the regulatory role of CRF in pain and itch. RESULTS: ELISA experiment showed that the serum CRF in mice reached its peak within 5-10 min after acute stress (forced swimming). Behavioral data showed that the scratching behavior induced by itch agents decreased after acute swimming, while the mechanical pain threshold increased significantly. The inhibitory effect of acute stress on pain and itch is mediated by CRF receptor2 (CRFR2). Then, ICV injection of CRF was used to simulate the massive release of CRF under acute stress, and we observed that the scratching behavior induced by histamine or chloroquine was significantly inhibited after ICV injection of CRF. The above effects of CRF are mainly mediated by CRFR2. These results suggest that 5-10 min after acute stress, a large amount of CRF is released into the blood from the hypothalamus, which significantly inhibits acute pain and itch by acting on CRFR2. ICV injection of CRF can replicate the antipruritus effects of acute stress. CONCLUSIONS: The present study investigated the mechanism of acute stress-induced analgesia and antipruritus and provided theoretical support for the treatment of pain and itch. +36209489 1130 1134 mice Species *10090 + +36209839|t|'Erythritol', a safe natural sweetener exhibits multi-stage anti-malarial activity by permeating into Plasmodium falciparum through aquaglyceroporin channel. +36209839|a|The increased resistance of human malaria parasite Plasmodium falciparum (Pf) to currently used drugs necessities the development of novel anti-malarials. Here, we examine the potential of erythritol, a sugar substitute for therapeutic intervention. Erythritol is a permeant of Plasmodium falciparum aquaglyceroporin (PfAQP) which is a multifunctional channel responsible for maintaining hydro-homeostasis. We show that erythritol effectively inhibited growth and progression of asexual blood stage malaria parasite, and effect invasion and egress processes. It also inhibited the liver stage (sporozoites) and transmission stage parasite (gametocytes) development. Interestingly, erythritol inhibited in vivo growth of malaria parasite in mouse experimental model. It was more effective in inhibiting parasite growth both in vivo and in vitro when tested together with a known anti-malarial 'artesunate'. Additionally, erythritol showed cytokine-modulating effect which suggests its direct effect on the host immune system. Ammonia detection assay demonstrated that erythritol uptake effects the amount of ammonia release across the parasite. Our functional complementation assays suggest that PfAQP expression in yeast mutant restores its growth in hyperosmotic conditions but showed reduced growth in the presence of erythritol. Osmotic lysis assay suggests that erythritol creates osmotic stress for killing the parasite. Overall, our data bestow erythritol as a promising lead compound with an attractive antimalarial profile and could possibly be combined with known drugs without losing its efficacy. We propose the use of erythritol based sweet candies for protection against malaria specially in children living in the endemic area. +36209839 102 123 Plasmodium falciparum Species *5833 +36209839 186 191 human Species *9606 +36209839 209 230 Plasmodium falciparum Species *5833 +36209839 436 457 Plasmodium falciparum Species *5833 +36209839 898 903 mouse Species *10090 +36209839 1373 1378 yeast Species *4932 +36209839 1863 1871 children Species *9606 +36209839 232 234 Pf Species *5833 + +36210189|t|Disturbance observer-based prescribed performance super-twisting sliding mode control for autonomous surface vessels. +36210189|a|This paper proposes a disturbance observer-based prescribed performance super-twisting sliding mode control (DOB PPSTSMC) for trajectory tracking of the autonomous surface vessels (ASVs) subject to unknown external disturbances and modeling errors. Both unknown external disturbances and system modeling errors are approximated by the disturbance observer, thus eliminating most of the effect caused by lumped disturbances in the control performance. Based on this, a prescribed performance super-twisting sliding mode controller is explored to further suppress the residual error of disturbance compensation. Prescribed performance constraints are considered in the coming up with the super-twisting sliding mode controller, so that ASVs not only achieve effective tracking of time-varying desired trajectories, but also improve the transient performance of the control system. In addition, the controller is continuous and chatter-free, which has greater practical value. The excellence of the control project design is highlighted through the simulation and comparison results. + +36210539|t|Additional evidence for the vascular disruption defect hypothesis in a novel case of brainstem disconnection syndrome. +36210539|a|INTRODUCTION: Brainstem disconnection syndrome is a rare and severe disease resulting from a midbrain-hindbrain segmental defect. Clinical signs include a severe neurological impairment, an early death (usually during the first year of life), and pathognomonic postnatal brain imaging features. Two major hypotheses are proposed to explain the etiopathogenesis of this syndrome, namely an inborn error of morphogenesis or a vascular disruption defect. CASE REPORT AND LITERATURE REVIEW: Here we report on prenatal (ultrasound; fetal MRI) and postnatal (MRI) neuroimaging findings observed in a full-term female newborn with a brainstem disconnection syndrome. The prenatal and postnatal findings point toward an early fetal vascular disruption defect as the pregnancy was marked by three episodes of hospitalization resulting from a very severe maternal dehydration. The first episode took place as early as the 18th week of gestation. Our clinical follow-up at 1 year age is well in line with the findings observed in 13 other cases reported in the literature. Interestingly, among these 13 cases, a vascular disruption defect was suggested in 8 patients and confirmed by autopsy in at least 2 cases. CONCLUSION: In the present report, we bring objective evidence for the antenatal cause of a brainstem disconnection syndrome resulting from a vascular disruption defect occurring in the context of a severe maternal dehydration. In particular, our neuroimaging findings observed during pregnancy and after birth illustrate the prenatal occurrence of this vascular disruption defect. +36210539 1266 1274 patients Species *9606 + +36210889|t|Profiling planning skills and cognitive flexibility of adults with autism spectrum disorders: Preliminary results from an exploratory service-based study. +36210889|a|Background: Executive functions (EF) impairments have long been observed in children and youths with autism spectrum disorders (ASD). Until very recently, little attention has been paid to examine EF profiles of adults with ASD. Given the importance of EF to cope with the demands of daily life and participate in society (e.g. maintaining an employment), this study reports on a preliminary investigation aimed at exploring planning skills and cognitive flexibility in a sample of adults with ASD and without intellectual disability. A secondary aim was to explore the contribution of both intellectual functioning and socio-demographic variables on efficiency of EF. Method: Twenty-nine autistic adults (age range 18-50) were assessed using the Tower of London (ToL) test and the Wisconsin Card Sorting Test (WCST). Intellectual functioning was assessed with the Wechsler Adult Intelligence Scale - IV. Results: From the evaluations emerged poor performances in sub-processes related to planning skills as assessed by ToL (number of Moves, Correct Reponses, and Execution time). In contrast, WCST performance did not result impaired in any of the indicators considered. Exploratory analyses revealed a strong relationship between the time needed to complete the planning tasks and visuo-spatial reasoning. Further, strong inverse associations were found between global intellectual functioning and chronological age in the WCST. Conclusions: The results of this study highlight mixed EF profiles in a sample of adults with ASD. Future investigations may build on the results of the present study to understand whether evaluating planning abilities of adults with ASD by means of measures that do not require a time-limit would yield different results compared to time-constrained assessment procedures. +36210889 231 239 children Species *9606 + +36211239|t|Progress in adopting bans on tobacco advertising, promotion, and sponsorship in the Americas: lessons from Uruguay and Argentina. +36211239|a|Objective: To assess progress in and barriers to implementing bans on tobacco advertising, promotion and sponsorship (TAPS) in Uruguay, which has a complete ban, and Argentina, with a partial ban. Methods: Legislation on TAPS bans in Uruguay and Argentina was reviewed and relevant published literature, news stories, civil society reports and tobacco industry reports retrieved to analyze progress in implementing TAPS bans. Results: In Uruguay, the complete TAPS ban, which includes standardized tobacco packaging, maintains high compliance and severely limits exposure of TAPS, despite a few problems with corporate social responsibility, social media, and transnational advertising. In Argentina, the partial TAPS ban has more problems with compliance and exposure to TAPS. The most important barriers to implementing TAPS bans in both countries are the tobacco companies. In Uruguay, tobacco companies do not comply in a few areas but the complete ban greatly minimizes this. In Argentina, however, tobacco companies can more easily exploit gaps in the partial TAPS ban, such as advertising at the points of sale, promoting contests, and using influencers on social media. Conclusions: The partial TAPS ban in Argentina illustrates the problems with enforcement and the tobacco industry's ability to exploit loopholes and continue to market their products, especially to young people. A complete TAPS ban, including standardized tobacco packaging, as in Uruguay, is easier to implement and enforce and is effective in reducing exposure to tobacco advertising. Nevertheless, governments should prioritize implementing TAPS bans on social media, which remains a difficult sphere to monitor and allows tobacco companies to continue recruiting and targeting young people. +36211239 29 36 tobacco Species *4097 +36211239 200 207 tobacco Species *4097 +36211239 474 481 tobacco Species *4097 +36211239 628 635 tobacco Species *4097 +36211239 988 995 tobacco Species *4097 +36211239 1019 1026 tobacco Species *4097 +36211239 1134 1141 tobacco Species *4097 +36211239 1405 1412 tobacco Species *4097 +36211239 1512 1518 people Species *9606 +36211239 1564 1571 tobacco Species *4097 +36211239 1674 1681 tobacco Species *4097 +36211239 1834 1841 tobacco Species *4097 +36211239 1895 1901 people Species *9606 + +36211589|t|Brain augmentation and neuroscience technologies: current applications, challenges, ethics and future prospects. +36211589|a|Ever since the dawn of antiquity, people have strived to improve their cognitive abilities. From the advent of the wheel to the development of artificial intelligence, technology has had a profound leverage on civilization. Cognitive enhancement or augmentation of brain functions has become a trending topic both in academic and public debates in improving physical and mental abilities. The last years have seen a plethora of suggestions for boosting cognitive functions and biochemical, physical, and behavioral strategies are being explored in the field of cognitive enhancement. Despite expansion of behavioral and biochemical approaches, various physical strategies are known to boost mental abilities in diseased and healthy individuals. Clinical applications of neuroscience technologies offer alternatives to pharmaceutical approaches and devices for diseases that have been fatal, so far. Importantly, the distinctive aspect of these technologies, which shapes their existing and anticipated participation in brain augmentations, is used to compare and contrast them. As a preview of the next two decades of progress in brain augmentation, this article presents a plausible estimation of the many neuroscience technologies, their virtues, demerits, and applications. The review also focuses on the ethical implications and challenges linked to modern neuroscientific technology. There are times when it looks as if ethics discussions are more concerned with the hypothetical than with the factual. We conclude by providing recommendations for potential future studies and development areas, taking into account future advancements in neuroscience innovation for brain enhancement, analyzing historical patterns, considering neuroethics and looking at other related forecasts. +36211589 147 153 people Species *9606 + +36211939|t|Analysis of the mediating effects of self-efficacy and self-control between physical activity and Internet addiction among Chinese college students. +36211939|a|It explores the roles of self-efficacy and self-control in physical activity and Internet addiction. And it further provides a theoretical basis for the treatment and improvement of Internet addiction among college students. This study employs the whole group sampling method. The questionnaire was conducted on 855 college students from five universities in three provinces using the Physical Activity Level Scale, the General Self-Efficacy Scale, the Self-Control Scale, and the Chinese Internet Addiction Scale (IAS). The analyses yielded three main findings. (1) A large amount of physical activity was helpful in reducing the symptoms of Internet addiction and the problematic status of each dimension among college students. (2) A large or moderate amount of physical activity was helpful in enhancing college students' self-efficacy. Besides, a large amount of physical activity was likely to enhance college students' self-control. (3) The condition of physical activity not only directly has the negative correlation with college students' Internet addiction but also influences college students' Internet addiction through two indirect ways: the mediating role of self-control and the chain mediating role of self-efficacy and self-control. These conclusions provide a deeper understanding of the protective factors of Internet addiction among Chinese college students. + +36212289|t|Performance-guaranteed distributed control for multiple plant protection UAVs with collision avoidance and a directed topology. +36212289|a|The urgent requirement for improving the efficiency of agricultural plant protection operations has spurred considerable interest in multiple plant protection UAV systems. In this study, a performance-guaranteed distributed control scheme is developed in order to address the control of multiple plant protection UAV systems with collision avoidance and a directed topology. First, a novel concept called predetermined time performance function (PTPF) is proposed, such that the tracking error can converge to an arbitrary small preassigned region in finite time. Second, combined with the two-order filter for each UAV, the information estimation from the leader is generated. The distributed protocol avoids the use of an asymmetric Laplace matrix of a directed graph and solves the difficulty of control design. Furthermore, by introducing with a collision prediction mechanism, a repulsive force field is constructed between the dynamic obstacle and the UAV, in order to avoid the collision. Finally, it is rigorously proved that the consensus of the multiple plant protection UAV system can be achieved while guaranteeing the predetermined time performance. A numerical simulation is carried out to verify the effectiveness of the presented method, such that the multiple UAVs system can fulfill time-constrained plant protection tasks. + +36212642|t|Outcome and risk factors of complications after cranioplasty with polyetheretherketone and titanium mesh: A single-center retrospective study. +36212642|a|Background: To compare the incidence of complications and constructive effects of cranioplasty with polyetheretherketone (PEEK) and titanium mesh after decompressive craniectomy, and to further explore potential risk factors of postoperative and post-discharge complications. Methods: A retrospective study was conducted on 211 patients who underwent PEEK or titanium mesh cranioplasty in the Department of Neurosurgery of Zhujiang Hospital, Southern Medical University, between July 2017 and September 2021. Demographic data, imaging data, and postoperative complications were recorded and statistically analyzed. Long-term effects and satisfaction degree were evaluated based on following-up telephone survey. Univariate and multivariate logistic regression models were used to analyze risk factors of postoperative and post-discharge complications of PEEK and titanium cranioplasty. Results: The total postoperative complication rates of the PEEK and titanium mesh groups were 38.7 and 51.4% (p = 0.063), and post-discharge complication rates were 34.7 and 36.0% (p = 0.703), respectively. The incidence of pneumocephalus during hospitalization (33.3% vs. 6.6%, p < 0.001) and epidural effusion in the titanium mesh group were significantly higher than that in the PEEK group (18.0 vs. 6.6%, p = 0.011). Patients in PEEK group were less likely to occur subcutaneous effusion after discharge than in TI group (2.0 vs. 10.5%, p = 0.013). Multivariate logistic regression analysis revealed a history of ventriculoperitoneal shunt (VPS) before CP was an independent risk factor for postoperative overall complications (p = 0.023). Either superficial (p < 0.001) or intracranial infection (p = 0.001) was a risk factor for implant failure. Depressed skull defects (p = 0.024) and cranioplasty with titanium cranioplasty (p < 0.001) were associated with increased incidence of early pneumocephalus. Conclusion: There were no differences in overall postoperative and post-discharge complication rates between the titanium mesh and PEEK. A history of VPS before cranioplasty was an independent risk factor for postoperative overall complications, and infection was a risk factor for implant failure. Finally, depression skull defects and titanium mesh implants increased the incidence of postoperative pneumocephalus. Our results aim to promote a better understanding of PEEK and titanium cranioplasty and to help both clinicians and patients make better choices on implant materials. +36212642 471 479 patients Species *9606 +36212642 1450 1458 Patients Species *9606 +36212642 2572 2580 patients Species *9606 + +36212993|t|Successful outcome of distal radius non-union after open fracture osteomyelitis treated by external fixation and bone grafting in a cat: case report. +36212993|a|A clinical case of non-union in a cat after open fracture repair by intramedullary ostheosynthesis of the radius was described. The patient was presented with non-weight bearing lameness, fistulas with purulent discharge, swelling and severe pain. During the surgical revision, after bone sequestrum removal, the bone defect was filled with cancellous and cortical bone autografts. Osteosynthesis with a modified external bone fixator, made of Duracryl Plus - a rapidly self-curing metacrylate polymer - and 6 Kirschner wires passing perpendicularly through both radial cortices was performed. The post-operative period was smooth, and after 23 weeks the external fixator was removed. Radiography showed very good bone healing, with excellent clinical result. The use of the ulna as a donor bone was very convenient because it allowed collecting a cortical graft of larger size. The extremely light model of external bone fixator provided adequate strength of fixation elements and proved to be an efficient and not expensive technique for osteosynthesis in cat with non-union fractures of the distal radius and ulna. +36212993 282 289 patient Species *9606 + +36213343|t|The Economic Value of Coastal Amenities: Evidence from Beach Capitalization Effects in Peer-to-Peer Markets. +36213343|a|Coastal amenities are public goods that represent an important attraction for tourism activities. This paper studies the capitalization effects of beach characteristics using hedonic pricing methods. We examine the implicit economic value of several beach characteristics like sand type, width, longitude, accessibility, or frontage in the Airbnb rental market. Using data for 16,663 Airbnb listings located in 67 municipalities of the Balearic Islands (Spain) during the summer of 2016, together with detailed information about the attributes of 263 beaches, our modelling approach considers interaction terms between the beach amenities and distance to the closest beach. Controlling for a set of listings' structural characteristics, host attributes and municipality fixed effects, we find that Airbnb guests attach economic value to beach length, the presence of vegetation, the type of coastal frontage and beach accessibility and exclusivity. However, there is no evidence of capitalization effects associated with beach width or the type of sand. Supplementary Information: The online version contains supplementary material available at 10.1007/s10640-022-00735-5. + +36213694|t|Factors affecting worriedness: A study of the COVID-19 pandemic in Japan. +36213694|a|The global effect of COVID-19 is no longer simply a public health issue; it is causing an economic crisis that has a significant impact on the job market and people's lives. The disease has led to 43% of businesses temporarily closing, and almost all these closures are due to COVID-19. Organizations that have temporarily suspended their activities have pointed mainly to a decline in demand and employee health issues as the reasons for closure. In emergency and disaster management, perception often helps shape personality and how people act in certain situations. This study aims to examine personal risk perception of COVID-19 from many viewpoints and whether it affects motivation with regard to improving personal preparedness. We collected data from three major Japanese cities through a questionnaire survey and analyzed the results of the survey through factor analysis and multiple regression analysis by using the Partial Least Square Structural Equation Modeling (PLS-SEM). The three study areas include (1) the most damaged regions from the 2011 Great East Japan earthquake and tsunami, (2) the capital city and surrounding areas of Tokyo, and (3) Kumamoto, which has recently experienced an earthquake. The findings show a correlation between the nature of the information received during COVID-19 and worriedness and the necessity for adequate information. The expected benefit of this study is to provide guidelines for the government or organizations to make a suitable emergency management plan based on pertinent factors for future pandemics. +36213694 232 238 people Species *9606 +36213694 609 615 people Species *9606 + +36214044|t|Myopia - a 21st-century pandemic leaving our children shortsighted? +36214044|a|-no abstract- +36214044 45 53 children Species *9606 + +36214394|t|Ivermectin exposures reported to the Poisons Information Helpline in South Africa during the COVID-19 pandemic. +36214394|a|BACKGROUND: Ivermectin is an antiparasitic drug that has shown in vitro activity against COVID-19. Clinical studies supporting ivermectin for COVID-19 prevention and treatment are conflicting, with important limitations. Public support for ivermectin is significant, with extensive off-label use despite the conflicting views on its efficacy. Ivermectin tablets and injectable formulations are not registered in South Africa for human use by the South African Health Products Regulatory Authority. The National Department of Health does not currently recommend the use of ivermectin for COVID-19. OBJECTIVES: To describe cases of ivermectin exposure reported to the Poisons Information Helpline of the Western Cape (PIHWC) before and after publication of the drug's in vitro activity against SARS-CoV-2. METHODS: In a retrospective review, ivermectin-related calls reported to the PIHWC from 1 June 2015 to 30 June 2020 (period 1) were compared with calls received from 1 July 2020 to 31 July 2021 (period 2), dichotomised according to the first publication indicating ivermectin activity against SARS-CoV-2. RESULTS: Seventy-one cases were screened, and 65 were included for analysis; 19 cases were reported during period 1 and 46 during period 2. During period 2, 25 ivermectin cases (54.3%) were related to COVID-19 use. Of these, 24 cases (52.2%) involved veterinary preparations, 3 (6.5%) human preparations and 19 (41.3%) unknown preparations. Fourteen cases (73.7%) during period 1 and 30 (65.2%) during period 2 were reported to be symptomatic. The most common organ systems involved were the central nervous (n=26 cases; 40.0%), gastrointestinal (n=18; 27.7%), ocular (n=9; 13.8%) and dermatological (n=5; 7.7%) systems. CONCLUSION: Ivermectin-related exposure calls increased during study period 2, probably as a result of ivermectin being used as preventive and definitive therapy for COVID-19 in the absence of robust evidence on efficacy, dosing recommendations or appropriate formulations. +36214394 541 546 human Species *9606 +36214394 904 914 SARS-CoV-2 Species *2697049 +36214394 1209 1219 SARS-CoV-2 Species *2697049 +36214394 1506 1511 human Species *9606 + +36214744|t|Characteristics and management of teeth in the line of mandibular fractures treated with internal fixation. +36214744|a|BACKGROUND/AIMS: The ideal management of teeth in the line of mandibular fractures is unclear and controversial. The aim of this study was to analyze the characteristics and management of teeth in the line of mandibular fractures treated with open reduction and internal fixation. MATERIAL AND METHODS: Medical records of patients with mandibular fractures in the symphysis, body and angle regions seen between July 2019 and January 2021 were evaluated. Personal data, etiology, location of fractures, characteristics of the teeth involved in the fracture lines and management were collected. The relationship between the fracture lines and the periodontium was classified according to Kamboozia & Punnia-Moorthy. Fractures were divided into two groups according to the management of the tooth in the fracture line: removal and retention. The likelihood ratio test was used (p < .050). RESULTS: During the study period, 52 patients with mandibular fractures were seen, of which 42 patients (83.3% men) with a mean age of 29.6 years and 54 fractures were included. The most frequent location was the angle of the mandible (41.3%) (p < .001). The removal group represented 35.2% of the fractures, and the retention group represented 64.8%. The most frequently removed tooth was the third molar (p < .001), and the most frequent classification of dental involvement in the fracture line was type II (p = .047). There was no correlation between age, gender, or etiology and the management of the teeth involved. CONCLUSION: The retention of teeth in the fracture line predominated, and the third molar in angle fractures was the most often removed tooth when the fracture line followed the root surface but did not cross the apical region, probably due to the greater frequency of this type of relationship between the fractures and the periodontium. +36214744 430 438 patients Species *9606 +36214744 1031 1039 patients Species *9606 +36214744 1089 1097 patients Species *9606 +36214744 1105 1108 men Species *9606 + +36215094|t|Capacitive Removal of Pb ions via Electrosorption on Novel Willow Biochar - Manganese Dioxide Composites. +36215094|a|AbstractBiochar derived from lignocellulosic biomass has been used as a low-cost adsorbent in wastewater treatment applications. Due to its rich porous structure and good electrical conductivity, biochar can be used as a cost-effective electrode material for capacitive deionization of water. In this work, willow biochar was prepared through carbonization of shrub willow chips, activated with potassium hydroxide, and loaded with manganese dioxide (WBC-K-MnO2 nanocomposite). The prepared materials were used to electrochemically adsorb Pb2+ from aqueous solutions. Under the applied potential of 1.0 V, the WBC-K-MnO2 electrode exhibited a high Pb2+ specific electrosorption capacity (23.3 mg/g) as compared to raw willow biochar (4.0 mg/g) and activated willow biochar (9.2 mg/g). KOH activation followed by MnO2 loading on the surface of raw biochar enhanced its BET surface area (178.7 m2/g) and mesoporous volume ratio (42.1%). Moreover, the WBC-K-MnO2 nanocomposite exhibited the highest specific capacitance value of 234.3 F/g at a scan rate of 5 mV/s. The electrosorption isotherms and kinetic data were well explained by the Freundlich and pseudo-second order models, respectively. The WBC-K-MnO2 electrode demonstrated excellent reusability with a Pb2+ electrosorption efficiency of 76.3% after 15 cycles. Thus, the WBC-K-MnO2 nanocomposite can serve as a promising candidate for capacitive deionization of heavy metal contaminated water. + diff --git a/tmp_SR/biocxml.xml b/tmp_SR/biocxml.xml new file mode 100644 index 0000000000000000000000000000000000000000..1a735dbec54ebb4bb5c18d93621ccb5832eb5ecc --- /dev/null +++ b/tmp_SR/biocxml.xml @@ -0,0 +1 @@ +PubTatorBioC.key6127132surname:Finke;given-names:Christysurname:Howard;given-names:Matthewsurname:Lasho;given-names:Terra30190511surname:Patnaik;given-names:Mrinal M.2018612713212010.1038/s41408-018-0120-5frontTITLEBlood Cancer J. 2018 Aug 22;8(9):82. doi: 10.1038/s41408-018-0120-5.9828Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.surname:Solary;given-names:Ericsurname:Patnaik;given-names:Mrinal M.surname:Tefferi;given-names:Ayalewsurname:Gangat;given-names:Naseemasurname:Droin;given-names:Nathaliesurname:Pardanani;given-names:Animeshsurname:Al-Kali;given-names:ArefPatnaik MM, Lasho T, Howard M, Finke C, Ketterling RL, Al-Kali A, Pardanani A, Droin N, Gangat N, Tefferi A, Solary Esurname:Ketterling;given-names:Rhett L.0Biallelic inactivation of the retinoblastoma gene results in transformation of chronic myelomonocytic leukemia to a blastic plasmacytoid dendritic cell neoplasm: shared clonal origins of two aggressive neoplasmsINTROparagraph212To the Editor,INTROparagraph227Chronic myelomonocytic leukemia (CMML) is a clonal hematopoietic stem cell disorder characterized by sustained peripheral blood (PB) monocytosis, bone marrow (BM) dysplasia, and an inherent risk for transformation to acute myeloid leukemia (AML); ~20-30% over 3-5 years. Patients with CMML have ~10-15 gene mutations in coding DNA regions, with common mutations involving TET2 (~60%), ASXL1 (~40%), SRSF2 (~40%), and the oncogenic RAS pathway (~30%). Blastic plasmacytoid dendritic cell neoplasm (BPDCN) is a rare hematodermic malignancy of dendritic cell origin that is known to infiltrate the blood, BM, skin, and lymph nodes; a diagnosis of which is based on a blast immunophenotype characterized by the expression of CD4, CD43, CD56, CD123, BDCA-2/CD303, TCL1, and CTLA. Cytogenetic studies, array-based comparative genomic hybridization, and gene expression profiling have demonstrated recurrent inactivation/losses/decreased expression of RB1 (retinoblastoma 1; 13q13-q21), LATS2, CDKN1B, CDKN2A, and TP53 genes, while next-generation sequencing (NGS) studies have demonstrated point mutations involving TET2 (~36%), ASXL1 (~32%), NRAS (~30%), ATM (21%), along with deletions involving RB1 and APC (~6%). In addition, recurrent MYB gene rearrangements have been documented in both children and adults, with fusion oncogenes including MYB-ZFAT, MYB-PLEKHO1, and MYB-DCPS. Common clonal origins for CMML and BPDCN have been suggested based on similar genetic and epigenetic deregulations identified, along with sporadic case reports of CMML transformation to BPDCN. We provide the first in-depth whole-exome sequencing (WES) results on a patient with CMML that transformed to BPDCN and provide information with regards to possible mechanisms of transformation.*9606SpeciesPatients*9606Specieschildren*9606SpeciespatientFIG41408_2018_120_Fig1_HTML.jpgFig1fig_caption1998a Peripheral blood smear of the patient with a diagnosis of chronic myelomonocytic leukemia, demonstrating atypical dysplastic granulocytes, atypical monocytes, and a blast. Wright Giemsa stain, x400 magnification. b Bone marrow core biopsy of the patient with chronic myelomonocytic leukemia, demonstrating a hypercellular marrow (90%), with dysplastic megakaryocytes. Hematoxylin and eosin, x100 magnification. c Butyrate esterase (brown) and chloroacetate esterase (blue) cytochemical dual stain, demonstrating increased butyrate esterase monocytes and dual esterase-positive bone marrow monocytes, suggestive of monocytic dysplasia (x400 magnification). d (Left) Bone marrow core biopsy, TCL1 immunohistochemistry, demonstrating TCL1-positive plasmacytoid dendritic cell nodules (x200 magnification). (Right) Bone marrow core biopsy, CD123 immunohistochemistry, demonstrating CD123-positive plasmacytoid dendritic cell nodules (x200 magnification). e (Left) Bone marrow biopsy, TCL1 immunohistochemistry, demonstrating diffusely TCL1-positive blasts, suggestive of a blastic plasmacytoid dendritic cell neoplasm (x100 magnification). (Right) Bone marrow core biopsy, CD123 immunohistochemistry, demonstrating diffusely positive CD123 blasts, suggestive of a blastic plasmacytoid dendritic cell neoplasm (x100 magnification). f Bone marrow aspirate obtained at the time of disease transformation demonstrating hand mirror-shaped blastic cells, characteristic for blastic plasmacytoid dendritic cell neoplasms. Wright Giemsa, x1000 magnification*9606Speciespatient*9606SpeciespatientINTROparagraph3554A 61-year-old male was referred to the hematology clinic in 2014 for sustained PB monocytosis. A BM biopsy was suggestive of CMML-0 (World Health Organization 2016 criteria) with normal cytogenetics (Fig. 1). He did have plasmacytoid dendritic cell nodules comprising ~20% of the BM cellularity. NGS at diagnosis identified mutations involving TET2 (variant allele frequency (VAF) 40%) and SRSF2 (43%). He was conservatively managed with routine blood count checks. In 2017, he presented with worsening constitutional symptoms, a generalized skin rash, and progressive cytopenias. A BM biopsy and skin biopsy were suggestive of BPDCN with normal BM metaphase cytogenetics (Fig. 1). He was treated with AML-like induction chemotherapy using idarubicin and cytarabine and then received salvage chemotherapy with fludarabine, idarubicin, and cytarabine, but was found to have persistent disease and died secondary to infectious complications. BM DNA was available at the time of CMML diagnosis and at transformation to BPDCN. In addition, sorted T lymphocytes at CMML diagnosis were isolated and cultured to serve as a potential germline control for WES.INTROparagraph4706Two hundred nanogram of genomic DNA was sheared with the Covaris S2 system (LGC Genomics/KBioscience). DNA fragments were end repaired, extended with an "A" base on the 3' end, ligated with paired-end adaptors with the Bravo Platform (Agilent), and amplified (six cycles). Exome-containing adaptor-ligated libraries were hybridized for 40 h with biotinylated oligo RNA baits, and enriched with streptavidin-conjugated magnetic beads using SureSelect Clinical Research (Agilent). The final libraries were indexed, pooled, and sequenced on Illumina HiSeq-2000 sequencer at the Institute Gustave Roussy (Paris, France). Raw reads in FASTQ format from each exome sequencing lane were aligned to the reference human genome (Hg19) using Burrows Wheeler-Alignment. Aligned reads were processed and sorted with SAMtools and PCR duplicates were removed. Nucleotide variants (single-nucleotide polymorphisms and indels) were called with VarScan and all variants with a Phred-based quality score <30.0 were called low quality and ignored. On an average, 369 million reads were sequenced per sample. A formal copy number variation (CNV) analysis was carried out on the WES data, both at CMML diagnosis and at BPDCN transformation, using the FACETS analysis software (https://sites.google.com/site/mskfacets).*9606SpecieshumanFIG41408_2018_120_Fig2_HTML.jpgFig2fig_caption6011Paired and germline whole-exome sequencing data obtained at the time of chronic myelomonocytic leukemia (CMML) diagnosis and at CMML transformation to a blastic plasmacytoid dendritic cell neoplasm (BPDCN). a Paired and germline whole-exome sequencing data obtained at the time of CMML diagnosis and at CMML transformation to BPDCN, demonstrating the biallelic inactivation of the RB1 gene. b Whole-exome sequencing data from chromosome 13, demonstrating biallelic inactivation of the RB1 gene secondary to loss of heterozygosity and the acquisition of a nonsense RB1 gene mutation (c.751C>T, p.R251*). c SciClone analysis demonstrating the clonal architecture and mutational evolution spectrum in a patient, at CMML diagnosis and at CMML transformation to BPDCN*9606SpeciespatientINTROparagraph6774WES results on the DNA specimen obtained at CMML diagnosis identified the following pathogenic variants TET2 (c.1567_1568insA, p.G523Efs*44; VAF 57%), SRSF2 (c.284C>T, p.P95L; VAF 37%), PHF6 (c.753G>T, p.Q251H; VAF 57%), PLCXD3 (c.845C>T, p.T282M, VAF 39%), TRMT61B (c.656A>G, p.T219C, VAF 20%), STK3 (c.618del, p.N207Ifs*3, VAF 42%), SLC25A10 (c.787C>T, R263C, VAF 32%), DIP2A (c.1117C>T, R373W, VAF 35%), SARDH (c.1922G>A, p.G641E, VAF 19%), PLP1 (c.347C>T, T116M, VAF 74%), and IVL (c.706_735dup, P236_L245dup) (Fig. 2). At the time of BPDCN transformation, WES demonstrated acquisition of the following mutations: RB1 (c.751C>T, p.R251*; VAF 68% secondary to loss of heterozygosity of 13.q13-24), CROCC (c.4595C>G, T1532S, VAF 44%), ERCC4 (c.2608G>A, p.V870I, VAF 38%), and CHP2 (c.101G>A, R34Q, VAF 32%), while mutations involving the following genes were no longer detected, IVL and RFPL1. An increase in the VAF burdens in the following genes was also encountered at the time of BPDCN transformation, PHF6 (57-78%), TET2 (57-77%), PLCXD3 (39-43%), TRMT61B (20-40%), SLC25A10 (32-41%), DIP2A (35-40%), SARDH (19-34%), and PLP1 (74-91%). A formal CNV analysis also confirmed loss of heterozygosity of chromosome 13, involving the RB1 gene locus (supplemental figure).*105154SpeciesCHP2INTROparagraph8063CMML blast transformation morphologically almost always results in an AML phenotype and occurs due to the clonal acquisition of cytogenetic and molecular abnormalities. In a large, two-center study of 171 patients with blast phase CMML, all patients met the morphological criteria for a diagnosis of AML (secondary AML) and cytogenetic clonal evolution was seen in 24% of patients, while molecular clonal evolution was seen in 50% of patients. Blast transformation from CMML to BPDCN is an extremely rare event and is usually associated with CNVs and unique molecular changes. In our patient, the main genetic event identified at BPDCN transformation was a truncating mutation in RB1, along with loss of heterozygosity of the RB1 gene, resulting in biallelic inactivation of RB1 (Fig. 2). The RB1 gene encodes a protein with tumor suppressor function that serves as a G1 checkpoint inhibitor (by inhibiting E2F transcription factors), a regulator of apoptosis and helps maintain permanent cell cycle arrest and chromosomal stability. In addition, RB1 also acts as a transcription cofactor and an adaptor protein promoting the function of critical transcription factors. Loss of RB1 function is associated with progression of human cancers via loss of cellular differentiation and chromosomal instability. While RB1 mutations and deletions are common in BPDCN, they are infrequent in CMML or secondary AML arising from CMML, supporting our hypothesis that in our patient, biallelic loss of RB1 maybe a major contributor of a BPDCN phenotypic transformation. Additional genetic events acquired at the time of BPDCN transformation included mutations involving ERCC4 (Excision Repair 1, Endonuclease Non-Catalytic Subunit) and CHP2 (Calcineurin B Homologous Protein 2). While these genes have important physiological functions and have been implicated in oncogenesis, their contribution to BPDCN transformation needs further elucidation. Increase in mutational frequencies of genes identified at CMML diagnosis, including TET2 and PHF6 are consistent with the process of clonal evolution and disease transformation. Interestingly, the VAF burden of SRSF2, a gene regulating pre-mRNA splicing, remained the same at CMML diagnosis and at BPDCN transformation.*9606Speciespatients*9606Speciespatients*9606Speciespatients*9606Speciespatients*9606Speciespatient*9606Specieshuman*9606Speciespatient*105154SpeciesCHP2INTROparagraph10317By performing WES in paired samples and in the germline of a single patient with BPDCN transformation from an underlying CMML, we demonstrate (i) the common clonal origins of CMML and BPDCN, justifying the current inclusion of BPDCN as a myeloid neoplasm, (ii) the fact that the blast phenotype at CMML transformation is heavily dependent on the nature of genetic changes that occur at blast transformation, iii) the importance of the RB1 gene in BPDCN morphology and oncogenesis, and (iv) the role of clonal acquisitions and losses and increases in existing mutational allele burdens in disease progression/blast transformation.*9606SpeciespatientSUPPLtitle_110947Electronic supplementary materialSUPPLfootnote10981Publisher's note: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.SUPPLtitle_111118Electronic supplementary materialSUPPLparagraph11152Supplementary Information accompanies this paper at (10.1038/s41408-018-0120-5).COMP_INTtitle_111233Conflict of interestCOMP_INTparagraph11254The authors declare no competing interests.REFtitle11298References127REFsurname:Arber;given-names:DA239110.1182/blood-2016-03-643544270692542016Bloodref240511309The 2016 revision to the World Health Organization classification of myeloid neoplasms and acute leukemiaREFref11415Patnaik M. M. et al. Blast phase chronic myelomonocytic leukemia: Mayo-MDACC Collaborative Study of 171 cases. Leukemia 2018 10.1038/s41375-018-0143-8.162683SpeciesMayo7REFsurname:Merlevede;given-names:J1076710.1038/ncomms10767269081332016Nat. Commun.ref11567Mutation allele burden remains unchanged in chronic myelomonocytic leukaemia responding to hypomethylating agents99REFsurname:Leroux;given-names:D415410.1182/blood.V99.11.4154120108202002Bloodref415911681CD4(+), CD56(+) DC2 acute leukemia is characterized by recurrent clonal chromosomal changes affecting 6 major targets: a study of 21 cases by the Groupe Francais de Cytogenetique Hematologique28REFsurname:Menezes;given-names:J82310.1038/leu.2013.283240721002014Leukemiaref82911874Exome sequencing reveals novel and recurrent mutations with clinical impact in blastic plasmacytoid dendritic cell neoplasm5REFsurname:Stenzinger;given-names:A640410.18632/oncotarget.2223251153872014Oncotargetref641311998Targeted ultra-deep sequencing reveals recurrent and mutually exclusive mutations of cancer genes in blastic plasmacytoid dendritic cell neoplasm31REFsurname:Suzuki;given-names:K162910.1038/leu.2017.101283443182017Leukemiaref163312144Recurrent MYB rearrangement in blastic plasmacytoid dendritic cell neoplasm31REFsurname:Brunetti;given-names:L123810.1038/leu.2017.38281114672017Leukemiaref124012220Blastic plasmacytoid dendritic cell neoplasm and chronic myelomonocytic leukemia: a shared clonal origin29REFsurname:Facchetti;given-names:F9810.1038/modpathol.2015.145267434772016Mod. Pathol.ref11112325Neoplasms derived from plasmacytoid dendritic cells90REFsurname:Patnaik;given-names:MM41110.1002/ajh.23962256451472015Am. J. Hematol.ref41612377Blast transformation in chronic myelomonocytic leukemia: risk factors, genetic features, survival, and treatment outcome8surname:Sage;given-names:JREFsurname:Burkhart;given-names:DL67110.1038/nrc2399186508412008Nat. Rev. Cancerref68212498Cellular mechanisms of tumour suppression by the retinoblastoma gene88REFsurname:Patnaik;given-names:MM20110.1002/ajh.23373233353862013Am. J. Hematol.ref20612567Spliceosome mutations involving SRSF2, SF3B1, and U2AF35 in chronic myelomonocytic leukemia: prevalence, clinical correlates, and prognostic relevance \ No newline at end of file diff --git a/vocab/GeneNER_label.vocab b/vocab/GeneNER_label.vocab new file mode 100644 index 0000000000000000000000000000000000000000..a9ffab70e6ce1b49ca6376f83e2bf3479db78cd9 --- /dev/null +++ b/vocab/GeneNER_label.vocab @@ -0,0 +1,5 @@ +O +B-FamilyName +I-FamilyName +B-Gene +I-Gene diff --git a/vocab/SpeAss_IO_label.vocab b/vocab/SpeAss_IO_label.vocab new file mode 100644 index 0000000000000000000000000000000000000000..3d1ef489a75fdb3c01dcc70fe7a25177a34d7326 --- /dev/null +++ b/vocab/SpeAss_IO_label.vocab @@ -0,0 +1,2 @@ +O +ARG2