%%
%% This is file `stringenc.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% stringenc.dtx  (with options: `package')
%% 
%% This is a generated file.
%% 
%% Project: stringenc
%% Version: 2011/12/02 v1.10
%% 
%% Copyright (C) 2007-2011 by
%%    Heiko Oberdiek <heiko.oberdiek at googlemail.com>
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%%    http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status "maintained".
%% 
%% This Current Maintainer of this work is Heiko Oberdiek.
%% 
%% The Base Interpreter refers to any `TeX-Format',
%% because some files are installed in TDS:tex/generic//.
%% 
%% This work consists of the main source file stringenc.dtx
%% and the derived files
%%    stringenc.sty, stringenc.pdf, stringenc.ins, stringenc.drv,
%%    se-utf32be.def, se-utf32le.def, se-utf8.def, se-utf16le.def,
%%    se-pdfdoc.def, se-iso-8859-1.def, se-cp1252.def,
%%    se-ascii.def, se-ascii-print.def, se-clean7bit.def,
%%    se-iso-8859-2.def, se-iso-8859-3.def, se-iso-8859-4.def,
%%    se-iso-8859-5.def, se-iso-8859-6.def, se-iso-8859-7.def,
%%    se-iso-8859-8.def, se-iso-8859-9.def, se-iso-8859-10.def,
%%    se-iso-8859-11.def, se-iso-8859-13.def, se-iso-8859-14.def,
%%    se-iso-8859-15.def, se-iso-8859-16.def, se-koi8-r.def,
%%    se-nextstep.def, se-mac-centeuro.def, se-mac-cyrillic.def,
%%    se-mac-roman.def, se-dec-mcs.def, se-cp437.def,
%%    se-cp850.def, se-cp852.def, se-cp855.def, se-cp858.def,
%%    se-cp865.def, se-cp866.def, se-cp1250.def, se-cp1251.def,
%%    se-cp1257.def, stringenc-test1.tex, stringenc-test2.tex.
%% 
\begingroup\catcode61\catcode48\catcode32=10\relax%
  \catcode13=5 % ^^M
  \endlinechar=13 %
  \catcode35=6 % #
  \catcode39=12 % '
  \catcode44=12 % ,
  \catcode45=12 % -
  \catcode46=12 % .
  \catcode58=12 % :
  \catcode64=11 % @
  \catcode123=1 % {
  \catcode125=2 % }
  \expandafter\let\expandafter\x\csname ver@stringenc.sty\endcsname
  \ifx\x\relax % plain-TeX, first loading
  \else
    \def\empty{}%
    \ifx\x\empty % LaTeX, first loading,
      % variable is initialized, but \ProvidesPackage not yet seen
    \else
      \expandafter\ifx\csname PackageInfo\endcsname\relax
        \def\x#1#2{%
          \immediate\write-1{Package #1 Info: #2.}%
        }%
      \else
        \def\x#1#2{\PackageInfo{#1}{#2, stopped}}%
      \fi
      \x{stringenc}{The package is already loaded}%
      \aftergroup\endinput
    \fi
  \fi
\endgroup%
\begingroup\catcode61\catcode48\catcode32=10\relax%
  \catcode13=5 % ^^M
  \endlinechar=13 %
  \catcode35=6 % #
  \catcode39=12 % '
  \catcode40=12 % (
  \catcode41=12 % )
  \catcode44=12 % ,
  \catcode45=12 % -
  \catcode46=12 % .
  \catcode47=12 % /
  \catcode58=12 % :
  \catcode64=11 % @
  \catcode91=12 % [
  \catcode93=12 % ]
  \catcode123=1 % {
  \catcode125=2 % }
  \expandafter\ifx\csname ProvidesPackage\endcsname\relax
    \def\x#1#2#3[#4]{\endgroup
      \immediate\write-1{Package: #3 #4}%
      \xdef#1{#4}%
    }%
  \else
    \def\x#1#2[#3]{\endgroup
      #2[{#3}]%
      \ifx#1\@undefined
        \xdef#1{#3}%
      \fi
      \ifx#1\relax
        \xdef#1{#3}%
      \fi
    }%
  \fi
\expandafter\x\csname ver@stringenc.sty\endcsname
\ProvidesPackage{stringenc}%
  [2011/12/02 v1.10 Convert strings between diff. encodings (HO)]%
\begingroup\catcode61\catcode48\catcode32=10\relax%
  \catcode13=5 % ^^M
  \endlinechar=13 %
  \catcode123 1 % {
  \catcode125 2 % }
  \catcode64 11 %
  \def\x{\endgroup
    \expandafter\edef\csname SE@AtEnd\endcsname{%
      \endlinechar=\the\endlinechar\relax
      \catcode13=\the\catcode13\relax
      \catcode32=\the\catcode32\relax
      \catcode35=\the\catcode35\relax
      \catcode61=\the\catcode61\relax
      \catcode64=\the\catcode64\relax
      \catcode123=\the\catcode123\relax
      \catcode125=\the\catcode125\relax
    }%
  }%
\x\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode35=6 % #
\catcode64=11 % @
\catcode123=1 % {
\catcode125=2 % }
\def\TMP@EnsureCode#1#2#3{%
  \edef\SE@AtEnd{%
    \SE@AtEnd
    #1#2=\the#1#2\relax
  }%
  #1#2=#3\relax
}
\TMP@EnsureCode\catcode{34}{12}% "
\TMP@EnsureCode\catcode{36}{3}% $
\TMP@EnsureCode\catcode{38}{4}% &
\TMP@EnsureCode\catcode{39}{12}% '
\TMP@EnsureCode\catcode{40}{12}% (
\TMP@EnsureCode\catcode{41}{12}% )
\TMP@EnsureCode\catcode{42}{12}% *
\TMP@EnsureCode\catcode{43}{12}% +
\TMP@EnsureCode\catcode{44}{12}% ,
\TMP@EnsureCode\catcode{45}{12}% -
\TMP@EnsureCode\catcode{46}{12}% .
\TMP@EnsureCode\catcode{47}{12}% /
\TMP@EnsureCode\catcode{58}{12}% :
\TMP@EnsureCode\catcode{60}{12}% <
\TMP@EnsureCode\catcode{62}{12}% >
\TMP@EnsureCode\catcode{91}{12}% [
\TMP@EnsureCode\catcode{93}{12}% ]
\TMP@EnsureCode\catcode{94}{7}% ^
\TMP@EnsureCode\catcode{96}{12}% `
\TMP@EnsureCode\uccode{34}{0}% "
\TMP@EnsureCode\uccode{48}{0}% 0
\TMP@EnsureCode\uccode{61}{0}% =
\edef\SE@AtEnd{\SE@AtEnd\noexpand\endinput}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
  \input infwarerr.sty\relax
  \input ltxcmds.sty\relax
  \input pdfescape.sty\relax
\else
  \RequirePackage{infwarerr}[2007/09/09]%
  \RequirePackage{ltxcmds}[2010/03/01]%
  \RequirePackage{pdfescape}[2010/03/01]%
\fi
\long\def\SE@GobbleEight#1#2#3#4#5#6#7#8{}
\long\def\SE@CarTwo#1#2#3\@nil{#1#2}
\def\SE@PrefixFrom{SE<}
\def\SE@PrefixSurrogateFrom{SE<<}
\def\SE@PrefixTo{SE>}
\def\SE@PrefixSurrogateTo{SE>>}
\def\SE@ResultAdd#1{%
  \edef\SE@result{\SE@result#1}%
}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname newif\endcsname\relax
  \def\SE@newif#1{%
    \begingroup
      \escapechar=-1 %
    \expandafter\endgroup
    \expandafter\SE@@newif\string#1\@nil
  }%
  \def\SE@@newif#1#2#3\@nil{%
    \expandafter\edef\csname#3true\endcsname{%
      \let
      \expandafter\noexpand\csname if#3\endcsname
      \expandafter\noexpand\csname iftrue\endcsname
    }%
    \expandafter\edef\csname#3false\endcsname{%
      \let
      \expandafter\noexpand\csname if#3\endcsname
      \expandafter\noexpand\csname iffalse\endcsname
    }%
    \csname#3false\endcsname
  }%
\else
  \expandafter\let\expandafter\SE@newif\csname newif\endcsname
\fi
\SE@newif\ifSE@invalid
\def\SE@InvalidCharacter{%
  \SE@invalidtrue
}
\def\SE@ConvertTo#1#2#3{%
  \let\SE@result\ltx@empty
  \EdefSanitize\SE@encoding{#3}%
  \expandafter\ifx\csname\SE@PrefixTo\SE@encoding\endcsname\relax
    \StringEncodingLoad\SE@encoding
  \fi
  \expandafter\ifx\csname\SE@PrefixTo\SE@encoding\endcsname\relax
    \@PackageError{stringenc}{%
      Conversion to encoding `\SE@encoding'\MessageBreak
      is not supported%
    }\@ehc
  \else
    \expandafter\let\expandafter\SE@ConvertNormal
        \csname\SE@PrefixTo\SE@encoding\endcsname
    \expandafter\let\expandafter\SE@ConvertSurrogate
        \csname\SE@PrefixSurrogateTo\SE@encoding\endcsname
    \SE@@ConvertTo#2\relax\relax\relax\relax
  \fi
  \let#1\SE@result
}
\def\SE@@ConvertTo#1#2#3#4{%
  \ifx#1\relax
    \let\SE@next\relax
  \else
    \ifx#4\relax
      \let\SE@next\relax
      \SE@InvalidCharacter
    \else
      \let\SE@next\SE@@ConvertTo
      \ifnum"#1#2#3#4<"D800 %
        \SE@ConvertNormal#1#2#3#4%
      \else
        \ifnum"#1#2#3#4>"DFFF %
          \SE@ConvertNormal#1#2#3#4%
        \else
          \ifnum"#1#2#3#4>"DBFF %
            \SE@InvalidCharacter
          \else
            \def\SE@high{#1#2#3#4}%
            \let\SE@next\SE@@ScanLow
          \fi
        \fi
      \fi
      \ifSE@TestMode
        \ifSE@invalid
          \let\SE@next\SE@SkipRemaining
        \fi
      \fi
    \fi
  \fi
  \SE@next
}
\def\SE@SkipRemaining#1\relax{}
\def\SE@@ScanLow#1#2#3#4{%
  \ifx#4\relax
    \SE@InvalidCharacter
    \let\SE@next\relax
  \else
    \ifcase\ifnum"#1#2#3#4<"DC00 %
             \ltx@zero
            \else
              \ifnum"#1#2#3#4>"DFFF %
                \ltx@zero
              \else
                \ltx@one
              \fi
            \fi
      \SE@InvalidCharacter
      \ifSE@TestMode
        \let\SE@next\SE@SkipRemaining
      \else
        \def\SE@next{SE@@ConvertTo#1#2#3#4}%
      \fi
    \else
      \ifx\SE@ConvertSurrogate\relax
      \else
        \expandafter\SE@ConvertSurrogate\SE@high#1#2#3#4%
      \fi
      \let\SE@next\SE@@ConvertTo
      \ifSE@TestMode
        \ifSE@invalid
          \let\SE@next\SE@SkipRemaining
        \fi
      \fi
    \fi
  \fi
  \SE@next
}
\def\SE@ConvertFrom#1#2#3{%
  \let\SE@result\ltx@empty
  \EdefSanitize\SE@encoding{#3}%
  \expandafter\ifx\csname\SE@PrefixFrom\SE@encoding\endcsname\relax
    \StringEncodingLoad\SE@encoding
  \fi
  \expandafter\ifx\csname\SE@PrefixFrom\SE@encoding\endcsname\relax
    \@PackageError{stringenc}{%
      Conversion from encoding `\SE@encoding'\MessageBreak
      is not supported%
    }\@ehc
  \else
    \csname\SE@PrefixFrom\SE@encoding\endcsname{#2}%
  \fi
  \let#1\SE@result
}
\def\StringEncodingLoad#1{%
  \begingroup
    \catcode32=10 % space/space
    \catcode35=6  % #/parameter
    \catcode37=14 % percent/comment character
    \catcode92=0  % backslash/escape character
    \catcode123=1 % {/beginning of group
    \catcode125=2 % }/end of group
    \endlinechar=-1 %
    \SE@MakeLetters @ABCDEFGHIKLMNOPRSTU%
                    abcdefghiklmnoprstuvwxyz\relax
    \SE@MakeOthers "-./:<=>[]0123456789\relax
    \expandafter\ifx\csname ProvidesFile\endcsname\relax
      \def\ProvidesFile##1[##2]{%
        \immediate\write-1{File: ##1 ##2}%
      }%
    \fi
    \SE@InputIfFileExists{se-#1.def}%
  \endgroup
}
\def\SE@MakeLetters#1{%
  \ifx#1\relax
  \else
    \catcode`#1=11 %
    \expandafter\SE@MakeLetters
  \fi
}
\def\SE@MakeOthers#1{%
  \ifx#1\relax
  \else
    \catcode`#1=12 %
    \expandafter\SE@MakeOthers
  \fi
}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname IfFileExists\endcsname\relax
  \input pdftexcmds.sty\relax
  \begingroup\expandafter\expandafter\expandafter\endgroup
  \expandafter\ifx\csname pdf@filesize\endcsname\relax
    \def\SE@InputIfFileExists#1{%
      \expandafter\ifx\csname @inputcheck\endcsname\relax
        \csname newread\endcsname\@inputcheck
      \fi
      \openin\@inputcheck#1\relax
      \ifeof\@inputcheck
        \SE@FileNotFound{#1}%
      \else
        \SE@Input{#1}%
      \fi
    }%
  \else
    \def\SE@InputIfFileExists#1{%
      \expandafter\expandafter\expandafter
      \ifx\expandafter\expandafter\expandafter\\\pdf@filesize{#1}\\%
        \SE@FileNotFound{#1}%
      \else
        \SE@Input{#1}%
      \fi
    }%
  \fi
\else
  \def\SE@InputIfFileExists#1{%
    \IfFileExists{#1}{%
      \SE@Input{#1}%
    }{%
      \SE@FileNotFound{#1}%
    }%
  }%
\fi
\def\SE@FileNotFound#1{%
  \@PackageWarning{stringenc}{%
    Encoding file `#1'\MessageBreak
    not found%
  }%
}
\def\SE@Input{%
  \@ifnextchar\bgroup\@iinput\@@input
}
\ifx\input\SE@Input
  \def\SE@Input#1{%
    \input{#1}%
  }%
\else
  \def\SE@Input#1{%
    \input#1\relax
  }%
\fi
\SE@newif\ifSE@numexpr
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname numexpr\endcsname\relax
\else
  \SE@numexprtrue
\fi
\ifSE@numexpr
  \catcode36=9  % $ ignore
  \catcode38=14 % & comment
\else
  \catcode36=14 % $ comment
  \catcode38=9  % & ignore
\fi
\def\SE@Nibble@NumToHex#1{%
$ \ifcase\numexpr#1\relax
& \ifcase\expandafter\ltx@firstofone\expandafter{\number#1} %
    0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or
    8\or 9\or A\or B\or C\or D\or E\or F%
  \fi
}
\def\SE@Nibble@NumToBin#1{%
$ \ifcase\numexpr#1\relax
& \ifcase\expandafter\ltx@firstofone\expandafter{\number#1} %
    0000\or
    0001\or
    0010\or
    0011\or
    0100\or
    0101\or
    0110\or
    0111\or
    1000\or
    1001\or
    1010\or
    1011\or
    1100\or
    1101\or
    1110\or
    1111%
  \fi
}
\def\SE@Nibbles@BinToHex#1{%
  \expandafter\SE@@Nibbles@BinToHex#1\ltx@empty\ltx@empty
                                     \ltx@empty\ltx@empty
}
\def\SE@@Nibbles@BinToHex#1#2#3#4{%
  \ifx#1\ltx@empty
  \else
$   \SE@Nibble@NumToHex{%
$     \numexpr#4+2*(#3+2*(#2+2*#1))\relax
$   }%
&   \ifnum#1>\ltx@zero
&     \ifnum#2>\ltx@zero
&       \ifnum#3>\ltx@zero
&         \ifnum#4>\ltx@zero
&           F%
&         \else
&           E%
&         \fi
&       \else
&         \ifnum#4>\ltx@zero
&           D%
&         \else
&           C%
&         \fi
&       \fi
&     \else
&       \ifnum#3>\ltx@zero
&         \ifnum#4>\ltx@zero
&           B%
&         \else
&           A%
&         \fi
&       \else
&         \ifnum#4>\ltx@zero
&           9%
&         \else
&           8%
&         \fi
&       \fi
&     \fi
&   \else
&     \ifnum#2>\ltx@zero
&       \ifnum#3>\ltx@zero
&         \ifnum#4>\ltx@zero
&           7%
&         \else
&           6%
&         \fi
&       \else
&         \ifnum#4>\ltx@zero
&           5%
&         \else
&           4%
&         \fi
&       \fi
&     \else
&       \ifnum#3>\ltx@zero
&         \ifnum#4>\ltx@zero
&           3%
&         \else
&           2%
&         \fi
&       \else
&         \ifnum#4>\ltx@zero
&           1%
&         \else
&           0%
&         \fi
&       \fi
&     \fi
&   \fi
    \expandafter\SE@@Nibbles@BinToHex
  \fi
}
\def\SE@Add#1#2#3{%
$ \edef#1{\the\numexpr(#2)+(#3)\relax}%
& \begingroup
&   \count\ltx@zero=#2\relax
&   \advance\count\ltx@zero by#3\relax
&   \edef\x{\endgroup
&     \def\noexpand#1{\the\count\ltx@zero}%
&   }%
& \x
}
\def\SE@MapDeclare#1#2#3{%
  \SE@MapDeclareFrom{#1}{#2}{#3}%
  \SE@MapDeclareTo{#1}{#2}{#3}%
}
\def\SE@MapDeclareFrom#1#2#3{%
  \expandafter\gdef\csname SE->#1@#2\endcsname{#3}%
}
\def\SE@MapDeclareTo#1#2#3{%
  \expandafter\gdef\csname SE<-#1@#3\endcsname{#2}%
}
\def\SE@MapConvertFrom#1#2{%
$ \ifcsname SE->#1@#2\endcsname
$   \SE@ResultAdd{\csname SE->#1@#2\endcsname}%
$ \else
$   \SE@InvalidCharacter
$   \ifSE@TestMode
$     \let\SE@next\SE@SkipRemaining
$   \fi
$ \fi
& \begingroup\expandafter\expandafter\expandafter\endgroup
& \expandafter\ifx\csname SE->#1@#2\endcsname\relax
&   \SE@InvalidCharacter
&   \ifSE@TestMode
&     \let\SE@next\SE@SkipRemaining
&   \fi
& \else
&   \SE@ResultAdd{\csname SE->#1@#2\endcsname}%
& \fi
}
\def\SE@MapConvertTo#1#2{%
$ \ifcsname SE<-#1@#2\endcsname
$   \SE@ResultAdd{\csname SE<-#1@#2\endcsname}%
$ \else
$   \SE@InvalidCharacter
$ \fi
& \begingroup\expandafter\expandafter\expandafter\endgroup
& \expandafter\ifx\csname SE<-#1@#2\endcsname\relax
&   \SE@InvalidCharacter
& \else
&   \SE@ResultAdd{\csname SE<-#1@#2\endcsname}%
& \fi
}
\def\StringEncodingConvert#1#2#3#4{%
  \EdefSanitize\SE@from{#3}%
  \EdefSanitize\SE@to{#4}%
  \expandafter\ifx\csname SE@alias@\SE@from\endcsname\relax
  \else
    \EdefSanitize\SE@from{\csname SE@alias@\SE@from\endcsname}%
  \fi
  \expandafter\ifx\csname SE@alias@\SE@to\endcsname\relax
  \else
    \EdefSanitize\SE@to{\csname SE@alias@\SE@to\endcsname}%
  \fi
  \ifx\SE@to\SE@utfxvi
    \let\SE@to\SE@utfxvibe
  \else
    \ifx\SE@to\SE@utfxxxii
      \let\SE@to\SE@utfxxxiibe
    \fi
  \fi
  \SE@invalidfalse
  \EdefEscapeHex\SE@result{#2}%
  \ifx\SE@from\SE@utfxvi
    \SE@CheckByteOrderTwo
  \else
    \ifx\SE@from\SE@utfxvibe
      \SE@RemoveByteOrderTwo{FEFF}%
    \else
      \ifx\SE@from\SE@utfxvile
        \SE@RemoveByteOrderTwo{FFFE}%
      \else
        \ifx\SE@from\SE@utfxxxii
          \SE@CheckByteOrderFour
        \else
          \ifx\SE@from\SE@utfxxxiibe
            \SE@RemoveByteOrderFour{0}{FEFF}%
          \else
            \ifx\SE@from\SE@utfxxxiile
              \SE@RemoveByteOrderFour{FFFE}{0}%
            \fi
          \fi
        \fi
      \fi
    \fi
  \fi
  \ifx\SE@from\SE@to
  \else
    \ifx\SE@from\SE@utfxvibe
    \else
      \expandafter\SE@ConvertFrom\expandafter\SE@result
          \expandafter{\SE@result}\SE@from
    \fi
    \ifx\SE@to\SE@utfxvibe
    \else
      \expandafter\SE@ConvertTo\expandafter\SE@result
          \expandafter{\SE@result}\SE@to
    \fi
  \fi
  \EdefUnescapeHex#1\SE@result
}
\def\StringEncodingSuccessFailure{%
  \ifSE@invalid
    \expandafter\ltx@secondoftwo
  \else
    \expandafter\ltx@firstoftwo
  \fi
}
\def\StringEncodingConvertTest#1#2#3#4{%
  \SE@TestModetrue
  \StringEncodingConvert{#1}{#2}{#3}{#4}%
  \SE@TestModefalse
  \StringEncodingSuccessFailure
}
\SE@newif\ifSE@TestMode
\EdefSanitize\SE@utfxvi{utf16}
\EdefSanitize\SE@utfxvibe{utf16be}
\EdefSanitize\SE@utfxvile{utf16le}
\EdefSanitize\SE@utfxxxii{utf32}
\EdefSanitize\SE@utfxxxiibe{utf32be}
\EdefSanitize\SE@utfxxxiile{utf32le}
\def\SE@CheckByteOrderTwo{%
  \expandafter\SE@@CheckByteOrderTwo\SE@result0000\@nil
}
\def\SE@@CheckByteOrderTwo#1#2#3#4#5\@nil{%
  \ifnum"#1#2#3#4="FEFF %
    \let\SE@from\SE@utfxvibe
    \edef\SE@result{\expandafter\ltx@gobblefour\SE@result}%
  \else
    \ifnum"#3#4#1#2="FEFF %
      \let\SE@from\SE@utfxvile
      \edef\SE@result{\expandafter\ltx@gobblefour\SE@result}%
    \else
      \let\SE@from\SE@utfxvibe
    \fi
  \fi
}
\def\SE@CheckByteOrderFour{%
  \expandafter\SE@@CheckByteOrderFour\SE@result00000000\@nil
}
\def\SE@@CheckByteOrderFour#1#2#3#4#5#6#7#8#9\@nil{%
  \let\SE@from\SE@utfxxxiibe
  \ifnum"#1#2#3#4=\ltx@zero
    \ifnum"#5#6#7#8="FEFF %
      \edef\SE@result{\expandafter\SE@GobbleEight\SE@result}%
    \fi
  \else
    \ifnum"#7#8#5#6=\ltx@zero
      \ifnum"#3#4#1#2="FEFF %
        \let\SE@from\SE@utfxxxiile
        \edef\SE@result{\expandafter\SE@GobbleEight\SE@result}%
      \fi
    \fi
  \fi
}
\def\SE@RemoveByteOrderTwo{%
  \expandafter\SE@@RemoveByteOrderTwo\SE@result
      \ltx@empty\ltx@empty\ltx@empty\ltx@empty\@nil
}
\def\SE@@RemoveByteOrderTwo#1#2#3#4#5\@nil#6{%
  \ifnum"0#1#2#3#4="#6 %
    \edef\SE@result{#5}%
  \fi
}
\def\SE@RemoveByteOrderFour#1#2{%
  \def\SE@a{"#1 }%
  \def\SE@b{"#2 }%
  \expandafter\SE@@RemoveByteOrderFour\SE@result
      \ltx@empty\ltx@empty\ltx@empty\ltx@empty
      \ltx@empty\ltx@empty\ltx@empty\ltx@empty
      \@nil
}
\def\SE@@RemoveByteOrderFour#1#2#3#4#5#6#7#8#9\@nil{%
  \ifnum"0#1#2#3#4=\SE@a
    \ifnum"0#5#6#7#8=\SE@b
      \edef\SE@result{#9}%
    \fi
  \fi
}
\def\SE@EncodingAlias#1#2{%
  \expandafter\def\csname SE@alias@#1\endcsname{#2}%
}
\SE@EncodingAlias{ansinew}{cp1252}
\SE@EncodingAlias{applemac}{mac-roman}
\SE@EncodingAlias{ascii-printable}{ascii-print}
\SE@EncodingAlias{cp437de}{cp437}
\SE@EncodingAlias{decmulti}{dec-mcs}
\SE@EncodingAlias{latin1}{iso-8859-1}
\SE@EncodingAlias{latin2}{iso-8859-2}
\SE@EncodingAlias{latin3}{iso-8859-3}
\SE@EncodingAlias{latin4}{iso-8859-4}
\SE@EncodingAlias{latin5}{iso-8859-9}
\SE@EncodingAlias{latin6}{iso-8859-10}
\SE@EncodingAlias{latin7}{iso-8859-13}
\SE@EncodingAlias{latin8}{iso-8859-14}
\SE@EncodingAlias{latin9}{iso-8859-15}
\SE@EncodingAlias{latin10}{iso-8859-16}
\SE@EncodingAlias{mac-ce}{mac-centeuro}
\SE@EncodingAlias{mac-ukrainian}{mac-cyrillic}
\SE@EncodingAlias{macce}{mac-centeuro}
\SE@EncodingAlias{maccyr}{mac-cyrillic}
\SE@EncodingAlias{macukr}{mac-cyrillic}
\SE@EncodingAlias{next}{nextstep}
\SE@EncodingAlias{us-ascii}{ascii}
\SE@EncodingAlias{utf-8}{utf8}
\SE@EncodingAlias{utf-16}{utf16}
\SE@EncodingAlias{utf-16be}{utf16be}
\SE@EncodingAlias{utf-16le}{utf16le}
\SE@EncodingAlias{utf-32}{utf32}
\SE@EncodingAlias{utf-32be}{utf32be}
\SE@EncodingAlias{utf-32le}{utf32le}
\def\SE@temp#1{%
  \SE@EncodingAlias{x-#1}{#1}%
}
\SE@temp{ascii}
\SE@temp{ascii-print}
\SE@temp{clean7bit}
\SE@temp{cp437}
\SE@temp{cp850}
\SE@temp{cp852}
\SE@temp{cp855}
\SE@temp{cp858}
\SE@temp{cp865}
\SE@temp{cp866}
\SE@temp{cp1250}
\SE@temp{cp1251}
\SE@temp{cp1252}
\SE@temp{cp1257}
\SE@temp{dec-mcs}
\SE@temp{koi8-r}
\SE@temp{iso-8859-1}
\SE@temp{iso-8859-2}
\SE@temp{iso-8859-3}
\SE@temp{iso-8859-4}
\SE@temp{iso-8859-5}
\SE@temp{iso-8859-6}
\SE@temp{iso-8859-7}
\SE@temp{iso-8859-8}
\SE@temp{iso-8859-9}
\SE@temp{iso-8859-10}
\SE@temp{iso-8859-11}
\SE@temp{iso-8859-13}
\SE@temp{iso-8859-14}
\SE@temp{iso-8859-15}
\SE@temp{iso-8859-16}
\SE@temp{mac-centeuro}
\SE@temp{mac-cyrillic}
\SE@temp{mac-roman}
\SE@temp{nextstep}
\def\StringEncodingList{%
  ascii,%
  ascii-print,%
  clean7bit,%
  cp437,%
  cp850,%
  cp852,%
  cp855,%
  cp858,%
  cp865,%
  cp866,%
  cp1250,%
  cp1251,%
  cp1252,%
  cp1257,%
  dec-mcs,%
  iso-8859-1,%
  iso-8859-2,%
  iso-8859-3,%
  iso-8859-4,%
  iso-8859-5,%
  iso-8859-6,%
  iso-8859-7,%
  iso-8859-8,%
  iso-8859-9,%
  iso-8859-10,%
  iso-8859-11,%
  iso-8859-13,%
  iso-8859-14,%
  iso-8859-15,%
  iso-8859-16,%
  koi8-r,%
  mac-centeuro,%
  mac-cyrillic,%
  mac-roman,%
  nextstep,%
  pdfdoc,%
  utf8,%
  utf16le,%
  utf32be,%
  utf32le%
}
\def\SE@to@general#1#2#3#4{%
  \ifnum"#1#2#3#4<128 %
    \SE@ResultAdd{#3#4}%
  \else
    \SE@MapConvertTo\SE@encoding{#1#2#3#4}%
  \fi
}
\def\SE@to@general@surrogate#1#2#3#4#5#6#7#8{%
  \SE@InvalidCharacter
}
\def\SE@from@general#1{%
  \let\SE@next\SE@@from@general
  \expandafter\SE@@from@general#1\relax\relax
}
\def\SE@@from@general#1#2{%
  \ifx#1\relax
    \let\SE@next\relax
  \else
    \ifnum"#1<8 % "#1#2<128
      \SE@ResultAdd{00#1#2}%
    \else
      \SE@MapConvertFrom\SE@encoding{#1#2}%
    \fi
  \fi
  \SE@next
}
\SE@AtEnd%
\endinput
%%
%% End of file `stringenc.sty'.
