# Copyright (c) 2004 International Business Machines 
# Corporation and others. All Rights Reserved.
# ICU4C files that don't need an IBM copyright
as_is/os400/configure
debian/changelog
debian/control
debian/icu-doc.doc-base
debian/icu.conffiles.in
source/config.guess
source/config.sub
source/configure
source/data/brkitr/thaidict.brk
source/extra/uconv/pkgdatain.txt
source/extra/uconv/samples/danish-ISO-8859-1.txt
source/extra/uconv/samples/eucJP.txt
source/extra/uconv/samples/hangul-eucKR.txt
source/extra/uconv/samples/hania-eucKR.txt
source/extra/uconv/samples/ISO-8859-2.txt
source/extra/uconv/samples/ISO-8859-3.txt
source/extra/uconv/samples/iso8859-1.txt
source/extra/uconv/samples/koi8r.txt
source/extra/uconv/samples/utf8/armenian.txt
source/extra/uconv/samples/utf8/banviet.txt
source/extra/uconv/samples/utf8/chinese-ulysses.txt
source/extra/uconv/samples/utf8/croat.txt
source/extra/uconv/samples/utf8/danish.txt
source/extra/uconv/samples/utf8/greek.txt
source/extra/uconv/samples/utf8/hangul.txt
source/extra/uconv/samples/utf8/hania.txt
source/extra/uconv/samples/utf8/jap.txt
source/extra/uconv/samples/utf8/korean.txt
source/extra/uconv/samples/utf8/linji.txt
source/extra/uconv/samples/utf8/many.txt
source/extra/uconv/samples/utf8/maopoem.txt
source/extra/uconv/samples/utf8/russian.txt
source/extra/uconv/samples/utf8/simplechinese.txt
source/extra/uconv/samples/utf8/turkish.txt
source/extra/uconv/samples/utf8/utf-8-demo.txt
source/install-sh
source/samples/layout/Sample.txt
source/samples/ucnv/data01.txt
source/samples/ufortune/resources/res-file-list.txt
source/test/testdata/CollationTest_NON_IGNORABLE_STUB.txt
source/test/testdata/CollationTest_SHIFTED_STUB.txt
source/test/testdata/re_tests.txt
source/test/testdata/riwords.txt
source/test/thaitest/space.txt
source/test/unalignedtest/unaligned.c
source/tools/gendraft/DeprecatedApi.txt
source/tools/gendraft/DraftApi.txt
source/tools/gendraft/ObsoleteApi.txt
source/tools/tzcode/patch-icu-tzcode
#ICU4JNI files that don't need an IBM copyright
src/classes/com/ibm/icu4jni/test/text/NormalizationTest.txt
src/native/converter/ConverterInterface.h
#ICU4J files that don't need an IBM copyright
src/com/ibm/icu/dev/data/holidays_jp.ucs
src/com/ibm/icu/dev/data/rbbi/english.dict
src/com/ibm/icu/dev/data/rbbi/words.txt
src/com/ibm/icu/dev/data/riwords.txt
src/com/ibm/icu/dev/data/thai6.ucs
src/com/ibm/icu/dev/data/ThaiWordFreq.xls
src/com/ibm/icu/dev/data/unicode/CompositionExclusions.txt
src/com/ibm/icu/dev/data/unicode/NormalizationCorrections.txt
src/com/ibm/icu/dev/data/unicode/NormalizationTest-3.2.0.txt
src/com/ibm/icu/dev/data/unicode/NormalizationTest.txt
src/com/ibm/icu/dev/data/unicode/SpecialCasing.txt
src/com/ibm/icu/dev/data/unicode/ucdterms.txt
src/com/ibm/icu/dev/data/unicode/UnicodeData.txt
src/com/ibm/icu/dev/tool/docs/icu4j28.api.gz
src/com/ibm/icu/dev/tool/docs/icu4j30.api.gz
src/com/ibm/icu/dev/tool/ime/indic/services/java.awt.im.spi.InputMethodDescriptor
src/com/ibm/icu/dev/tool/ime/translit/services/java.awt.im.spi.InputMethodDescriptor
src/com/ibm/icu/impl/data/th.brk
src/com/ibm/richtext/textapps/resources/unicode.arabic.red
src/com/ibm/richtext/textapps/resources/unicode.hebrew.red
