# ***************************************************************************
# *
# *   Copyright (C) 1995-2002, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ***************************************************************************
#
# File created by rptp2ucm (compiled on Dec  3 2002)
# from source files 44B0046C.RPMAP100 and 046C44B0.TPMAP100
#
<code_set_name>               "ibm-1132_P100-1998"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
<icu:charsetFamily>           "EBCDIC"
<icu:alias>                   "ibm-1132_STD"

CHARMAP
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x37 |0
<U0005> \x2D |0
<U0006> \x2E |0
<U0007> \x2F |0
<U0008> \x16 |0
<U0009> \x05 |0
<U000A> \x25 |0
<U000B> \x0B |0
<U000C> \x0C |0
<U000D> \x0D |0
<U000E> \x0E |0
<U000F> \x0F |0
<U0010> \x10 |0
<U0011> \x11 |0
<U0012> \x12 |0
<U0013> \x13 |0
<U0014> \x3C |0
<U0015> \x3D |0
<U0016> \x32 |0
<U0017> \x26 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x3F |0
<U001B> \x27 |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x40 |0
<U0021> \x5A |0
<U0022> \x7F |0
<U0023> \x7B |0
<U0024> \x5B |0
<U0025> \x6C |0
<U0026> \x50 |0
<U0027> \x7D |0
<U0028> \x4D |0
<U0029> \x5D |0
<U002A> \x5C |0
<U002B> \x4E |0
<U002C> \x6B |0
<U002D> \x60 |0
<U002E> \x4B |0
<U002F> \x61 |0
<U0030> \xF0 |0
<U0031> \xF1 |0
<U0032> \xF2 |0
<U0033> \xF3 |0
<U0034> \xF4 |0
<U0035> \xF5 |0
<U0036> \xF6 |0
<U0037> \xF7 |0
<U0038> \xF8 |0
<U0039> \xF9 |0
<U003A> \x7A |0
<U003B> \x5E |0
<U003C> \x4C |0
<U003D> \x7E |0
<U003E> \x6E |0
<U003F> \x6F |0
<U0040> \x7C |0
<U0041> \xC1 |0
<U0042> \xC2 |0
<U0043> \xC3 |0
<U0044> \xC4 |0
<U0045> \xC5 |0
<U0046> \xC6 |0
<U0047> \xC7 |0
<U0048> \xC8 |0
<U0049> \xC9 |0
<U004A> \xD1 |0
<U004B> \xD2 |0
<U004C> \xD3 |0
<U004D> \xD4 |0
<U004E> \xD5 |0
<U004F> \xD6 |0
<U0050> \xD7 |0
<U0051> \xD8 |0
<U0052> \xD9 |0
<U0053> \xE2 |0
<U0054> \xE3 |0
<U0055> \xE4 |0
<U0056> \xE5 |0
<U0057> \xE6 |0
<U0058> \xE7 |0
<U0059> \xE8 |0
<U005A> \xE9 |0
<U005B> \x49 |0
<U005C> \xE0 |0
<U005D> \x59 |0
<U005E> \x69 |0
<U005F> \x6D |0
<U0060> \x79 |0
<U0061> \x81 |0
<U0062> \x82 |0
<U0063> \x83 |0
<U0064> \x84 |0
<U0065> \x85 |0
<U0066> \x86 |0
<U0067> \x87 |0
<U0068> \x88 |0
<U0069> \x89 |0
<U006A> \x91 |0
<U006B> \x92 |0
<U006C> \x93 |0
<U006D> \x94 |0
<U006E> \x95 |0
<U006F> \x96 |0
<U0070> \x97 |0
<U0071> \x98 |0
<U0072> \x99 |0
<U0073> \xA2 |0
<U0074> \xA3 |0
<U0075> \xA4 |0
<U0076> \xA5 |0
<U0077> \xA6 |0
<U0078> \xA7 |0
<U0079> \xA8 |0
<U007A> \xA9 |0
<U007B> \xC0 |0
<U007C> \x4F |0
<U007D> \xD0 |0
<U007E> \xA1 |0
<U007F> \x07 |0
<U0080> \x20 |0
<U0081> \x21 |0
<U0082> \x22 |0
<U0083> \x23 |0
<U0084> \x24 |0
<U0085> \x15 |0
<U0086> \x06 |0
<U0087> \x17 |0
<U0088> \x28 |0
<U0089> \x29 |0
<U008A> \x2A |0
<U008B> \x2B |0
<U008C> \x2C |0
<U008D> \x09 |0
<U008E> \x0A |0
<U008F> \x1B |0
<U0090> \x30 |0
<U0091> \x31 |0
<U0092> \x1A |0
<U0093> \x33 |0
<U0094> \x34 |0
<U0095> \x35 |0
<U0096> \x36 |0
<U0097> \x08 |0
<U0098> \x38 |0
<U0099> \x39 |0
<U009A> \x3A |0
<U009B> \x3B |0
<U009C> \x04 |0
<U009D> \x14 |0
<U009E> \x3E |0
<U009F> \xFF |0
<U00A0> \x41 |0
<U00A2> \x4A |0
<U00A6> \x6A |0
<U00AC> \x5F |0
<U0E81> \x42 |0
<U0E82> \x43 |0
<U0E84> \x44 |0
<U0E87> \x45 |0
<U0E88> \x46 |0
<U0E8A> \x48 |0
<U0E8D> \x52 |0
<U0E94> \x53 |0
<U0E95> \x54 |0
<U0E96> \x55 |0
<U0E97> \x56 |0
<U0E99> \x57 |0
<U0E9A> \x58 |0
<U0E9B> \x62 |0
<U0E9C> \x63 |0
<U0E9D> \x64 |0
<U0E9E> \x65 |0
<U0E9F> \x66 |0
<U0EA1> \x67 |0
<U0EA2> \x68 |0
<U0EA3> \x72 |0
<U0EA5> \x73 |0
<U0EA7> \x74 |0
<U0EAA> \x47 |0
<U0EAB> \x75 |0
<U0EAD> \x76 |0
<U0EAE> \x77 |0
<U0EAF> \x8C |0
<U0EB0> \x8D |0
<U0EB1> \xAB |0
<U0EB2> \x8E |0
<U0EB3> \x8F |0
<U0EB4> \x9A |0
<U0EB5> \x9B |0
<U0EB6> \x9C |0
<U0EB7> \x9D |0
<U0EB8> \x9E |0
<U0EB9> \x9F |0
<U0EBB> \xAC |0
<U0EBC> \xAA |0
<U0EBD> \xAD |0
<U0EC0> \xBB |0
<U0EC1> \xBC |0
<U0EC2> \xBD |0
<U0EC3> \xBE |0
<U0EC4> \xBF |0
<U0EC6> \xDB |0
<U0EC8> \xCB |0
<U0EC9> \xCC |0
<U0ECA> \xCD |0
<U0ECB> \xCE |0
<U0ECC> \xCF |0
<U0ECD> \xDA |0
<U0ED0> \xB0 |0
<U0ED1> \xB1 |0
<U0ED2> \xB2 |0
<U0ED3> \xB3 |0
<U0ED4> \xB4 |0
<U0ED5> \xB5 |0
<U0ED6> \xB6 |0
<U0ED7> \xB7 |0
<U0ED8> \xB8 |0
<U0ED9> \xB9 |0
<U0EDC> \xDD |0
<U0EDD> \xDE |0
<U20AD> \x70 |0
<UFF01> \x5A |1
<UFF02> \x7F |1
<UFF03> \x7B |1
<UFF04> \x5B |1
<UFF05> \x6C |1
<UFF06> \x50 |1
<UFF07> \x7D |1
<UFF08> \x4D |1
<UFF09> \x5D |1
<UFF0A> \x5C |1
<UFF0B> \x4E |1
<UFF0C> \x6B |1
<UFF0D> \x60 |1
<UFF0E> \x4B |1
<UFF0F> \x61 |1
<UFF10> \xF0 |1
<UFF11> \xF1 |1
<UFF12> \xF2 |1
<UFF13> \xF3 |1
<UFF14> \xF4 |1
<UFF15> \xF5 |1
<UFF16> \xF6 |1
<UFF17> \xF7 |1
<UFF18> \xF8 |1
<UFF19> \xF9 |1
<UFF1A> \x7A |1
<UFF1B> \x5E |1
<UFF1C> \x4C |1
<UFF1D> \x7E |1
<UFF1E> \x6E |1
<UFF1F> \x6F |1
<UFF20> \x7C |1
<UFF21> \xC1 |1
<UFF22> \xC2 |1
<UFF23> \xC3 |1
<UFF24> \xC4 |1
<UFF25> \xC5 |1
<UFF26> \xC6 |1
<UFF27> \xC7 |1
<UFF28> \xC8 |1
<UFF29> \xC9 |1
<UFF2A> \xD1 |1
<UFF2B> \xD2 |1
<UFF2C> \xD3 |1
<UFF2D> \xD4 |1
<UFF2E> \xD5 |1
<UFF2F> \xD6 |1
<UFF30> \xD7 |1
<UFF31> \xD8 |1
<UFF32> \xD9 |1
<UFF33> \xE2 |1
<UFF34> \xE3 |1
<UFF35> \xE4 |1
<UFF36> \xE5 |1
<UFF37> \xE6 |1
<UFF38> \xE7 |1
<UFF39> \xE8 |1
<UFF3A> \xE9 |1
<UFF3B> \x49 |1
<UFF3C> \xE0 |1
<UFF3D> \x59 |1
<UFF3E> \x69 |1
<UFF3F> \x6D |1
<UFF40> \x79 |1
<UFF41> \x81 |1
<UFF42> \x82 |1
<UFF43> \x83 |1
<UFF44> \x84 |1
<UFF45> \x85 |1
<UFF46> \x86 |1
<UFF47> \x87 |1
<UFF48> \x88 |1
<UFF49> \x89 |1
<UFF4A> \x91 |1
<UFF4B> \x92 |1
<UFF4C> \x93 |1
<UFF4D> \x94 |1
<UFF4E> \x95 |1
<UFF4F> \x96 |1
<UFF50> \x97 |1
<UFF51> \x98 |1
<UFF52> \x99 |1
<UFF53> \xA2 |1
<UFF54> \xA3 |1
<UFF55> \xA4 |1
<UFF56> \xA5 |1
<UFF57> \xA6 |1
<UFF58> \xA7 |1
<UFF59> \xA8 |1
<UFF5A> \xA9 |1
<UFF5B> \xC0 |1
<UFF5C> \x4F |1
<UFF5D> \xD0 |1
<UFF5E> \xA1 |1
END CHARMAP
