%%
%% This is file `l3bootstrap.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% l3bootstrap.dtx  (with options: `package')
%% 
%% EXPERIMENTAL CODE
%% 
%% Do not distribute this file without also distributing the
%% source files specified above.
%% 
%% Do not distribute a modified version of this file.
%% 
%% File: l3bootstrap.dtx Copyright (C) 2011 The LaTeX3 project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
%% license or (at your option) any later version.  The latest version
%% of this license is in the file
%%
%%    http://www.latex-project.org/lppl.txt
%%
%% This file is part of the "expl3 bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
%% The released version of this bundle is available from CTAN.
%%
%% -----------------------------------------------------------------------
%%
%% The development version of the bundle can be found at
%%
%%    http://www.latex-project.org/svnroot/experimental/trunk/
%%
%% for those people who are interested.
%%
%%%%%%%%%%%
%% NOTE: %%
%%%%%%%%%%%
%%
%%   Snapshots taken from the repository represent work in progress and may
%%   not work or may contain conflicting material!  We therefore ask
%%   people _not_ to put them into distributions, archives, etc. without
%%   prior consultation with the LaTeX3 Project.
%%
%% -----------------------------------------------------------------------
\protected\def\GetIdInfo
  {
    \begingroup
    \catcode 32 = 10 \relax
    \GetIdInfoAuxI
  }
\protected\def\GetIdInfoAuxI$#1$#2%
  {
    \def\tempa{#1}%
    \def\tempb{Id}%
    \ifx\tempa\tempb
      \def\tempa
        {%
          \endgroup
          \def\ExplFileDate{9999/99/99}%
          \def\ExplFileDescription{#2}%
          \def\ExplFileName{[unknown name]}%
          \def\ExplFileExtension{[unknown extension]}%
          \def\ExplFileVersion{999}%
        }%
    \else
      \def\tempa
        {%
          \endgroup
          \GetIdInfoAuxII$#1${#2}%
        }%
    \fi
    \tempa
  }
\protected\def\GetIdInfoAuxII$#1 #2.#3 #4 #5 #6 #7 #8$#9%
  {%
    \def\ExplFileName{#2}%
    \def\ExplFileExtension{#3}%
    \def\ExplFileVersion{#4}%
    \def\ExplFileDescription{#9}%
    \GetIdInfoAuxIII#5\relax#3\relax#5\relax#6\relax
  }
\protected\def\GetIdInfoAuxIII#1#2#3#4#5#6\relax
  {%
    \ifx#5/%
      \expandafter\GetIdInfoAuxCVS
    \else
      \expandafter\GetIdInfoAuxSVN
    \fi
  }
\protected\def\GetIdInfoAuxCVS#1,v\relax#2\relax#3\relax
  {\def\ExplFileDate{#2}}
\protected\def\GetIdInfoAuxSVN#1\relax#2-#3-#4\relax#5Z\relax
  {\def\ExplFileDate{#2/#3/#4}}
\GetIdInfo$Id: l3bootstrap.dtx 2558 2011-08-13 06:32:00Z joseph $
  {L3 experimental bootstrap code}
\ProvidesPackage{l3bootstrap}
  [%
    \ExplFileDate\space v\ExplFileVersion\space
    L3 Experimental bootstrap code%
  ]
\def\@tempa%
  {%
    \def\@tempa{}%
    \RequirePackage{luatex}%
    \RequirePackage{pdftexcmds}%
    \let\pdfstrcmp\pdf@strcmp
  }
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname directlua\endcsname\relax
\else
  \expandafter\@tempa
\fi
\protected\edef\ExplSyntaxOff
  {%
    \catcode   9 = \the\catcode   9\relax
    \catcode  32 = \the\catcode  32\relax
    \catcode  34 = \the\catcode  34\relax
    \catcode  38 = \the\catcode  38\relax
    \catcode  58 = \the\catcode  58\relax
    \catcode  94 = \the\catcode  94\relax
    \catcode  95 = \the\catcode  95\relax
    \catcode 124 = \the\catcode 124\relax
    \catcode 126 = \the\catcode 126\relax
    \endlinechar = \the\endlinechar\relax
    \chardef\csname\detokenize{l_expl_status_bool}\endcsname = 0 \relax
  }
\protected\edef\ExplSyntaxOn
  {
    \catcode 9   = 9  \relax
    \catcode 32  = 9  \relax
    \catcode 34  = 12 \relax
    \catcode 58  = 11 \relax
    \catcode 94  = 7  \relax
    \catcode 95  = 11 \relax
    \catcode 124 = 12 \relax
    \catcode 126 = 10 \relax
    \endlinechar = 32 \relax
    \chardef\csname\detokenize{l_expl_status_bool}\endcsname = 1 \relax
  }
\expandafter\chardef\csname\detokenize{l_expl_status_bool}\endcsname = 0 \relax
\protected\def\GetIdInfo
  {
    \begingroup
    \catcode 32 = 10 \relax
    \GetIdInfoAuxI
  }
\protected\def\GetIdInfoAuxI$#1$#2%
  {
    \def\tempa{#1}%
    \def\tempb{Id}%
    \ifx\tempa\tempb
      \def\tempa
        {%
          \endgroup
          \def\ExplFileDate{9999/99/99}%
          \def\ExplFileDescription{#2}%
          \def\ExplFileName{[unknown name]}%
          \def\ExplFileVersion{999}%
        }%
    \else
      \def\tempa
        {%
          \endgroup
          \GetIdInfoAuxII$#1${#2}%
        }%
    \fi
    \tempa
  }
\protected\def\GetIdInfoAuxII$#1 #2.#3 #4 #5 #6 #7 #8$#9%
  {%
    \def\ExplFileName{#2}%
    \def\ExplFileVersion{#4}%
    \def\ExplFileDescription{#9}%
    \GetIdInfoAuxIII#5\relax#3\relax#5\relax#6\relax
  }
\protected\def\GetIdInfoAuxIII#1#2#3#4#5#6\relax
  {%
    \ifx#5/%
      \expandafter\GetIdInfoAuxCVS
    \else
      \expandafter\GetIdInfoAuxSVN
    \fi
  }
\protected\def\GetIdInfoAuxCVS#1,v\relax#2\relax#3\relax
  {\def\ExplFileDate{#2}}
\protected\def\GetIdInfoAuxSVN#1\relax#2-#3-#4\relax#5Z\relax
  {\def\ExplFileDate{#2/#3/#4}}
\protected\def\ProvidesExplPackage#1#2#3#4%
  {%
    \ProvidesPackage{#1}[#2 v#3 #4]%
    \ExplSyntaxOn
  }
\protected\def\ProvidesExplClass#1#2#3#4%
  {%
    \ProvidesClass{#1}[#2 v#3 #4]%
    \ExplSyntaxOn
  }
\protected\def\ProvidesExplFile#1#2#3#4%
  {%
    \ProvidesFile{#1}[#2 v#3 #4]%
    \ExplSyntaxOn
  }
\edef\@pushfilename
  {%
    \edef\expandafter\noexpand
      \csname\detokenize{l_expl_status_stack_tl}\endcsname
      {%
        \noexpand\ifodd\expandafter\noexpand
          \csname\detokenize{l_expl_status_bool}\endcsname
          1%
        \noexpand\else
          0%
        \noexpand\fi
        \expandafter\noexpand
          \csname\detokenize{l_expl_status_stack_tl}\endcsname
      }%
    \ExplSyntaxOff
    \unexpanded\expandafter{\@pushfilename}%
  }
\edef\@popfilename
  {%
    \unexpanded\expandafter{\@popfilename}%
    \noexpand\if a\expandafter\noexpand\csname
      \detokenize{l_expl_status_stack_tl}\endcsname a%
      \ExplSyntaxOff
    \noexpand\else
      \noexpand\expandafter
        \expandafter\noexpand\csname
          \detokenize{expl_status_pop:w}\endcsname
          \expandafter\noexpand\csname
            \detokenize{l_expl_status_stack_tl}\endcsname
          \noexpand\@nil
   \noexpand\fi
  }
\@namedef{\detokenize{l_expl_status_stack_tl}}{0}
\expandafter\edef\csname\detokenize{expl_status_pop:w}\endcsname#1#2\@nil
  {%
    \def\expandafter\noexpand
      \csname\detokenize{l_expl_status_stack_tl}\endcsname{#2}%
    \noexpand\ifodd#1\space
      \noexpand\expandafter\noexpand\ExplSyntaxOn
    \noexpand\else
      \noexpand\expandafter\ExplSyntaxOff
    \noexpand\fi
  }
\expandafter\protected\expandafter\def
  \csname\detokenize{package_check_loaded_expl:}\endcsname
  {%
    \@ifpackageloaded{expl3}
      {}
      {%
        \PackageError{expl3}
          {Cannot load the expl3 modules separately}
          {%
            The expl3 modules cannot be loaded separately;\MessageBreak
            please \string\usepackage\string{expl3\string} instead.
          }%
      }%
  }
\begingroup\expandafter\expandafter\expandafter\endgroup
  \expandafter\ifx\csname pdfstrcmp\endcsname\relax
  \let\pdfstrcmp\strcmp
\fi
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdfstrcmp\endcsname\relax
  \PackageError{l3names}{Required primitive not found: \protect\pdfstrcmp}
    {%
      LaTeX3 requires the e-TeX primitives and
        \string\pdfstrcmp.\MessageBreak
      These are available in engine versions: \MessageBreak
      - pdfTeX 1.30 \MessageBreak
      - XeTeX 0.9994 \MessageBreak
      - LuaTeX 0.60 \MessageBreak
      or later. \MessageBreak
      \MessageBreak
      Loading of expl3 will abort!
    }
  \expandafter\endinput
\fi
\protected\edef\ExplSyntaxNamesOn
  {%
    \expandafter\noexpand
      \csname\detokenize{char_set_catcode_letter:n}\endcsname{58}%
    \expandafter\noexpand
      \csname\detokenize{char_set_catcode_letter:n}\endcsname{95}%
  }
\protected\edef\ExplSyntaxNamesOff
  {%
    \expandafter\noexpand
      \csname\detokenize{char_set_catcode_other:n}\endcsname{58}%
    \expandafter\noexpand
      \csname\detokenize{char_set_catcode_math_subscript:n}\endcsname{95}%
  }
%% 
%%
%% End of file `l3bootstrap.sty'.
