<code_set_name> INIS-CYRILLIC
<comment_char> %
<escape_char> /
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Licensed to the Apache Software  Foundation (ASF) under one or more
% contributor  license agreements.  See  the NOTICE  file distributed
% with  this  work  for  additional information  regarding  copyright
% ownership.   The ASF  licenses this  file to  you under  the Apache
% License, Version  2.0 (the  License); you may  not use  this file  
% except in  compliance with the License.   You may obtain  a copy of
% the License at
%
% http://www.apache.org/licenses/LICENSE-2.0
%
% Unless required by applicable law or agreed to in writing, software
% distributed under the  License is distributed on an  "AS IS" BASIS,
% WITHOUT  WARRANTIES OR CONDITIONS  OF ANY  KIND, either  express or
% implied.   See  the License  for  the  specific language  governing
% permissions and limitations under the License.
%
% Copyright 1999-2007 Rogue Wave Software, Inc.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% version: 1.0
%  source: ECMA registry

% alias ISO-IR-51
CHARMAP
<U0000>     /x00         NULL (NUL)
<U0001>     /x01         START OF HEADING (SOH)
<U0002>     /x02         START OF TEXT (STX)
<U0003>     /x03         END OF TEXT (ETX)
<U0004>     /x04         END OF TRANSMISSION (EOT)
<U0005>     /x05         ENQUIRY (ENQ)
<U0006>     /x06         ACKNOWLEDGE (ACK)
<U0007>     /x07         BELL (BEL)
<U0008>     /x08         BACKSPACE (BS)
<U0009>     /x09         CHARACTER TABULATION (HT)
<U000A>     /x0a         LINE FEED (LF)
<U000B>     /x0b         LINE TABULATION (VT)
<U000C>     /x0c         FORM FEED (FF)
<U000D>     /x0d         CARRIAGE RETURN (CR)
<U000E>     /x0e         SHIFT OUT (SO)
<U000F>     /x0f         SHIFT IN (SI)
<U0010>     /x10         DATALINK ESCAPE (DLE)
<U0011>     /x11         DEVICE CONTROL ONE (DC1)
<U0012>     /x12         DEVICE CONTROL TWO (DC2)
<U0013>     /x13         DEVICE CONTROL THREE (DC3)
<U0014>     /x14         DEVICE CONTROL FOUR (DC4)
<U0015>     /x15         NEGATIVE ACKNOWLEDGE (NAK)
<U0016>     /x16         SYNCHRONOUS IDLE (SYN)
<U0017>     /x17         END OF TRANSMISSION BLOCK (ETB)
<U0018>     /x18         CANCEL (CAN)
<U0019>     /x19         END OF MEDIUM (EM)
<U001A>     /x1a         SUBSTITUTE (SUB)
<U001B>     /x1b         ESCAPE (ESC)
<U001C>     /x1c         FILE SEPARATOR (IS4)
<U001D>     /x1d         GROUP SEPARATOR (IS3)
<U001E>     /x1e         RECORD SEPARATOR (IS2)
<U001F>     /x1f         UNIT SEPARATOR (IS1)
<U0020>     /x20         SPACE
<U221A>     /x2c         SQUARE ROOT
<U2192>     /x2e         RIGHTWARDS ARROW
<U222B>     /x2f         INTEGRAL
<U03B1>     /x30         GREEK SMALL LETTER ALPHA
<U03B2>     /x31         GREEK SMALL LETTER BETA
<U03B3>     /x32         GREEK SMALL LETTER GAMMA
<U03B4>     /x33         GREEK SMALL LETTER DELTA
<U03A3>     /x34         GREEK CAPITAL LETTER SIGMA
<U03BC>     /x35         GREEK SMALL LETTER MU
<U03BD>     /x36         GREEK SMALL LETTER NU
<U03C9>     /x37         GREEK SMALL LETTER OMEGA
<U03C0>     /x38         GREEK SMALL LETTER PI
<U039E>     /x39         GREEK CAPITAL LETTER XI
<U0394>     /x3a         GREEK CAPITAL LETTER DELTA
<U039B>     /x3b         GREEK CAPITAL LETTER LAMDA
<U03A9>     /x3c         GREEK CAPITAL LETTER OMEGA
<U042A>     /x3d         CYRILLIC CAPITAL LETTER HARD SIGN
<U207B>     /x3e         SUPERSCRIPT MINUS
<U207A>     /x3f         SUPERSCRIPT PLUS SIGN
<U044E>     /x40         CYRILLIC SMALL LETTER YU
<U0430>     /x41         CYRILLIC SMALL LETTER A
<U0431>     /x42         CYRILLIC SMALL LETTER BE
<U0446>     /x43         CYRILLIC SMALL LETTER TSE
<U0434>     /x44         CYRILLIC SMALL LETTER DE
<U0435>     /x45         CYRILLIC SMALL LETTER IE
<U0444>     /x46         CYRILLIC SMALL LETTER EF
<U0433>     /x47         CYRILLIC SMALL LETTER GHE
<U0445>     /x48         CYRILLIC SMALL LETTER HA
<U0438>     /x49         CYRILLIC SMALL LETTER I
<U0439>     /x4a         CYRILLIC SMALL LETTER SHORT I
<U043A>     /x4b         CYRILLIC SMALL LETTER KA
<U043B>     /x4c         CYRILLIC SMALL LETTER EL
<U043C>     /x4d         CYRILLIC SMALL LETTER EM
<U043D>     /x4e         CYRILLIC SMALL LETTER EN
<U043E>     /x4f         CYRILLIC SMALL LETTER O
<U043F>     /x50         CYRILLIC SMALL LETTER PE
<U044F>     /x51         CYRILLIC SMALL LETTER YA
<U0440>     /x52         CYRILLIC SMALL LETTER ER
<U0441>     /x53         CYRILLIC SMALL LETTER ES
<U0442>     /x54         CYRILLIC SMALL LETTER TE
<U0443>     /x55         CYRILLIC SMALL LETTER U
<U0436>     /x56         CYRILLIC SMALL LETTER ZHE
<U0432>     /x57         CYRILLIC SMALL LETTER VE
<U044C>     /x58         CYRILLIC SMALL LETTER SOFT SIGN
<U044B>     /x59         CYRILLIC SMALL LETTER YERU
<U0437>     /x5a         CYRILLIC SMALL LETTER ZE
<U0448>     /x5b         CYRILLIC SMALL LETTER SHA
<U044D>     /x5c         CYRILLIC SMALL LETTER E
<U0449>     /x5d         CYRILLIC SMALL LETTER SHCHA
<U0447>     /x5e         CYRILLIC SMALL LETTER CHE
<U044A>     /x5f         CYRILLIC SMALL LETTER HARD SIGN
<U042E>     /x60         CYRILLIC CAPITAL LETTER YU
<U0410>     /x61         CYRILLIC CAPITAL LETTER A
<U0411>     /x62         CYRILLIC CAPITAL LETTER BE
<U0426>     /x63         CYRILLIC CAPITAL LETTER TSE
<U0414>     /x64         CYRILLIC CAPITAL LETTER DE
<U0415>     /x65         CYRILLIC CAPITAL LETTER IE
<U0424>     /x66         CYRILLIC CAPITAL LETTER EF
<U0413>     /x67         CYRILLIC CAPITAL LETTER GHE
<U0425>     /x68         CYRILLIC CAPITAL LETTER HA
<U0418>     /x69         CYRILLIC CAPITAL LETTER I
<U0419>     /x6a         CYRILLIC CAPITAL LETTER SHORT I
<U041A>     /x6b         CYRILLIC CAPITAL LETTER KA
<U041B>     /x6c         CYRILLIC CAPITAL LETTER EL
<U041C>     /x6d         CYRILLIC CAPITAL LETTER EM
<U041D>     /x6e         CYRILLIC CAPITAL LETTER EN
<U041E>     /x6f         CYRILLIC CAPITAL LETTER O
<U041F>     /x70         CYRILLIC CAPITAL LETTER PE
<U042F>     /x71         CYRILLIC CAPITAL LETTER YA
<U0420>     /x72         CYRILLIC CAPITAL LETTER ER
<U0421>     /x73         CYRILLIC CAPITAL LETTER ES
<U0422>     /x74         CYRILLIC CAPITAL LETTER TE
<U0423>     /x75         CYRILLIC CAPITAL LETTER U
<U0416>     /x76         CYRILLIC CAPITAL LETTER ZHE
<U0412>     /x77         CYRILLIC CAPITAL LETTER VE
<U042C>     /x78         CYRILLIC CAPITAL LETTER SOFT SIGN
<U042B>     /x79         CYRILLIC CAPITAL LETTER YERU
<U0417>     /x7a         CYRILLIC CAPITAL LETTER ZE
<U0428>     /x7b         CYRILLIC CAPITAL LETTER SHA
<U042D>     /x7c         CYRILLIC CAPITAL LETTER E
<U0429>     /x7d         CYRILLIC CAPITAL LETTER SHCHA
<U0427>     /x7e         CYRILLIC CAPITAL LETTER CHE
<U007F>     /x7f         DELETE (DEL)
END CHARMAP
